1// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s 2 3llvm.comdat @__llvm_comdat { 4 // CHECK-DAG: $[[ANY:.*]] = comdat any 5 llvm.comdat_selector @any any 6 // CHECK-DAG: $[[EXACT:.*]] = comdat exactmatch 7 llvm.comdat_selector @exactmatch exactmatch 8 // CHECK-DAG: $[[LARGEST:.*]] = comdat largest 9 llvm.comdat_selector @largest largest 10 // CHECK-DAG: $[[NODEDUP:.*]] = comdat nodeduplicate 11 llvm.comdat_selector @nodeduplicate nodeduplicate 12 // CHECK-DAG: $[[SAME:.*]] = comdat samesize 13 llvm.comdat_selector @samesize samesize 14} 15 16// CHECK: @any = internal constant i64 1, comdat 17llvm.mlir.global internal constant @any(1 : i64) comdat(@__llvm_comdat::@any) : i64 18// CHECK: @any_global = internal constant i64 1, comdat($[[ANY]]) 19llvm.mlir.global internal constant @any_global(1 : i64) comdat(@__llvm_comdat::@any) : i64 20// CHECK: @exact_global = internal constant i64 1, comdat($[[EXACT]]) 21llvm.mlir.global internal constant @exact_global(1 : i64) comdat(@__llvm_comdat::@exactmatch) : i64 22// CHECK: @largest_global = internal constant i64 1, comdat($[[LARGEST]]) 23llvm.mlir.global internal constant @largest_global(1 : i64) comdat(@__llvm_comdat::@largest) : i64 24 25// CHECK: define void @nodeduplicate() comdat 26llvm.func @nodeduplicate() comdat(@__llvm_comdat::@nodeduplicate) { llvm.return } 27// CHECK: define void @nodeduplicate_func() comdat($[[NODEDUP]]) 28llvm.func @nodeduplicate_func() comdat(@__llvm_comdat::@nodeduplicate) { llvm.return } 29// CHECK: define void @samesize_func() comdat($[[SAME]]) 30llvm.func @samesize_func() comdat(@__llvm_comdat::@samesize) { llvm.return } 31