brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · e6ec77a Raw
55 lines · plain
1; RUN: mlir-translate -import-llvm -split-input-file %s | FileCheck %s2 3; CHECK: llvm.comdat @__llvm_global_comdat {4; CHECK: llvm.comdat_selector @foo any5$foo = comdat any6; CHECK: }7 8; CHECK: llvm.mlir.global external @foo(42 : i64) comdat(@__llvm_global_comdat::@foo)9@foo = global i64 42, comdat10; CHECK: llvm.mlir.global external @bar(42 : i64) comdat(@__llvm_global_comdat::@foo)11@bar = global i64 42, comdat($foo)12 13; // -----14 15; CHECK: llvm.comdat @__llvm_global_comdat {16; CHECK: llvm.comdat_selector @foo any17$foo = comdat any18; CHECK: }19 20 21; CHECK: llvm.func @foo() comdat(@__llvm_global_comdat::@foo)22define void @foo() comdat {23  ret void24}25; CHECK: llvm.func @bar() comdat(@__llvm_global_comdat::@foo)26define void @bar() comdat($foo) {27  ret void28}29 30; // -----31 32; CHECK: llvm.comdat @__llvm_global_comdat {33; CHECK: llvm.comdat_selector @exact exactmatch34$exact = comdat exactmatch35; CHECK: llvm.comdat_selector @largest largest36$largest = comdat largest37; CHECK: llvm.comdat_selector @nodedup nodeduplicate38$nodedup = comdat nodeduplicate39; CHECK: llvm.comdat_selector @same samesize40$same = comdat samesize41; CHECK: }42 43@exact = global i64 42, comdat44@largest = global i64 42, comdat45@nodedup = global i64 42, comdat46@same = global i64 42, comdat47 48; // -----49 50; Verify a global comdat operation is only created if there are comdats to import.51; CHECK-NOT: llvm.comdat52; CHECK: llvm.mlir.global external @foobar53; CHECK-NOT: llvm.comdat54@foobar = global i64 4255