diff --git a/tools/cgeist/Lib/clang-mlir.cc b/tools/cgeist/Lib/clang-mlir.cc index ea0850d8a9f0..6c5cecac2c47 100644 --- a/tools/cgeist/Lib/clang-mlir.cc +++ b/tools/cgeist/Lib/clang-mlir.cc @@ -844,8 +844,9 @@ ValueCategory MLIRScanner::VisitVarDecl(clang::VarDecl *decl) { auto name = Glob.CGM.getMangledName(decl); auto globalOp = gbuilder.create( module->getLoc(), - builder.getStringAttr(function.getName() + "@static@" + name + - "@init"), + builder.getStringAttr( + function.getName() + "@static@" + name + "@init@" + + to_string(reinterpret_cast(decl))), /*sym_visibility*/ mlir::StringAttr(), mlir::TypeAttr::get(mr), init_value, mlir::UnitAttr(), /*alignment*/ nullptr); SymbolTable::setSymbolVisibility(globalOp, diff --git a/tools/cgeist/Test/Verification/staticint.c b/tools/cgeist/Test/Verification/staticint.c index 90b87b2d857f..594702e18acd 100644 --- a/tools/cgeist/Test/Verification/staticint.c +++ b/tools/cgeist/Test/Verification/staticint.c @@ -6,13 +6,13 @@ int adder(int x) { return cur; } -// CHECK: memref.global "private" @"adder@static@cur@init" : memref<1xi1> = dense +// CHECK: memref.global "private" @"adder@static@cur@init@{{.*}}" : memref<1xi1> = dense // CHECK: memref.global "private" @"adder@static@cur" : memref<1xi32> = uninitialized // CHECK: func @adder(%arg0: i32) -> i32 attributes {llvm.linkage = #llvm.linkage} { // CHECK-DAG: %false = arith.constant false // CHECK-DAG: %c0_i32 = arith.constant 0 : i32 // CHECK-DAG: %0 = memref.get_global @"adder@static@cur" : memref<1xi32> -// CHECK-DAG: %1 = memref.get_global @"adder@static@cur@init" : memref<1xi1> +// CHECK-DAG: %1 = memref.get_global @"adder@static@cur@init@{{.*}}" : memref<1xi1> // CHECK-NEXT: %2 = affine.load %1[0] : memref<1xi1> // CHECK-NEXT: scf.if %2 { // CHECK-NEXT: affine.store %false, %1[0] : memref<1xi1>