| // RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s |
| |
| llvm.comdat @__llvm_comdat { |
| // CHECK-DAG: $[[ANY:.*]] = comdat any |
| llvm.comdat_selector @any any |
| // CHECK-DAG: $[[EXACT:.*]] = comdat exactmatch |
| llvm.comdat_selector @exactmatch exactmatch |
| // CHECK-DAG: $[[LARGEST:.*]] = comdat largest |
| llvm.comdat_selector @largest largest |
| // CHECK-DAG: $[[NODEDUP:.*]] = comdat nodeduplicate |
| llvm.comdat_selector @nodeduplicate nodeduplicate |
| // CHECK-DAG: $[[SAME:.*]] = comdat samesize |
| llvm.comdat_selector @samesize samesize |
| } |
| |
| // CHECK: @any = internal constant i64 1, comdat |
| llvm.mlir.global internal constant @any(1 : i64) comdat(@__llvm_comdat::@any) : i64 |
| // CHECK: @any_global = internal constant i64 1, comdat($[[ANY]]) |
| llvm.mlir.global internal constant @any_global(1 : i64) comdat(@__llvm_comdat::@any) : i64 |
| // CHECK: @exact_global = internal constant i64 1, comdat($[[EXACT]]) |
| llvm.mlir.global internal constant @exact_global(1 : i64) comdat(@__llvm_comdat::@exactmatch) : i64 |
| // CHECK: @largest_global = internal constant i64 1, comdat($[[LARGEST]]) |
| llvm.mlir.global internal constant @largest_global(1 : i64) comdat(@__llvm_comdat::@largest) : i64 |
| |
| // CHECK: define void @nodeduplicate() comdat |
| llvm.func @nodeduplicate() comdat(@__llvm_comdat::@nodeduplicate) { llvm.return } |
| // CHECK: define void @nodeduplicate_func() comdat($[[NODEDUP]]) |
| llvm.func @nodeduplicate_func() comdat(@__llvm_comdat::@nodeduplicate) { llvm.return } |
| // CHECK: define void @samesize_func() comdat($[[SAME]]) |
| llvm.func @samesize_func() comdat(@__llvm_comdat::@samesize) { llvm.return } |