diff --git a/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp b/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp --- a/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp +++ b/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp @@ -1153,7 +1153,7 @@ // to make it visible to thin LTO objects. We can only get here during the // ThinLTO export phase. if (TheFn->hasLocalLinkage()) { - std::string NewName = (TheFn->getName() + "$merged").str(); + std::string NewName = (TheFn->getName() + ".llvm.merged").str(); // Since we are renaming the function, any comdats with the same name must // also be renamed. This is required when targeting COFF, as the comdat name diff --git a/llvm/lib/Transforms/Utils/ModuleUtils.cpp b/llvm/lib/Transforms/Utils/ModuleUtils.cpp --- a/llvm/lib/Transforms/Utils/ModuleUtils.cpp +++ b/llvm/lib/Transforms/Utils/ModuleUtils.cpp @@ -289,7 +289,7 @@ SmallString<32> Str; MD5::stringifyResult(R, Str); - return ("$" + Str).str(); + return ("." + Str).str(); } void VFABI::setVectorVariantNames( diff --git a/llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll b/llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll --- a/llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll +++ b/llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll @@ -25,18 +25,18 @@ ; COMDAT: $global = comdat any ; COMDAT: $dyn_init_global = comdat any -; COMDAT: $"_ZZ4funcvE10static_var${{[01-9a-f]+}}" = comdat any -; COMDAT: $".str${{[01-9a-f]+}}" = comdat any +; COMDAT: $_ZZ4funcvE10static_var.{{[01-9a-f]+}} = comdat any +; COMDAT: $.str.{{[01-9a-f]+}} = comdat any ; NOCOMDAT-NOT: $global = comdat any ; NOCOMDAT-NOT: $dyn_init_global = comdat any -; NOCOMDAT-NOT: $"_ZZ4funcvE10static_var${{[01-9a-f]+}}" = comdat any -; NOCOMDAT-NOT: $".str${{[01-9a-f]+}}" = comdat any +; NOCOMDAT-NOT: $_ZZ4funcvE10static_var.{{[01-9a-f]+}} = comdat any +; NOCOMDAT-NOT: $.str.{{[01-9a-f]+}} = comdat any ; COMDAT: @global = global { i32, [60 x i8] } zeroinitializer, comdat, align 32 ; COMDAT: @dyn_init_global = global { i32, [60 x i8] } zeroinitializer, comdat, align 32 -; COMDAT: @_ZZ4funcvE10static_var = internal global { i32, [60 x i8] } zeroinitializer, comdat($"_ZZ4funcvE10static_var${{[01-9a-f]+}}"), align 32 -; COMDAT: @.str = internal constant { [14 x i8], [50 x i8] } { [14 x i8] c"Hello, world!\00", [50 x i8] zeroinitializer }, comdat($".str${{[01-9a-f]+}}"), align 32 +; COMDAT: @_ZZ4funcvE10static_var = internal global { i32, [60 x i8] } zeroinitializer, comdat($_ZZ4funcvE10static_var.{{[01-9a-f]+}}), align 32 +; COMDAT: @.str = internal constant { [14 x i8], [50 x i8] } { [14 x i8] c"Hello, world!\00", [50 x i8] zeroinitializer }, comdat($.str.{{[01-9a-f]+}}), align 32 ; NOCOMDAT: @global = global { i32, [60 x i8] } zeroinitializer, align 32 ; NOCOMDAT: @dyn_init_global = global { i32, [60 x i8] } zeroinitializer, align 32 diff --git a/llvm/test/ThinLTO/X86/devirt.ll b/llvm/test/ThinLTO/X86/devirt.ll --- a/llvm/test/ThinLTO/X86/devirt.ll +++ b/llvm/test/ThinLTO/X86/devirt.ll @@ -31,7 +31,7 @@ ; NOENABLESPLITFLAG-DAG: typeidCompatibleVTable: (name: "_ZTS1B", summary: ((offset: 16, [[B]]))) ; NOENABLESPLITFLAG-DAG: typeidCompatibleVTable: (name: "_ZTS1C", summary: ((offset: 16, [[C]]))) ; Type Id on _ZTV1D should have been promoted -; NOENABLESPLITFLAG-DAG: typeidCompatibleVTable: (name: "1${{.*}}", summary: ((offset: 16, [[D]]))) +; NOENABLESPLITFLAG-DAG: typeidCompatibleVTable: (name: "1.{{.*}}", summary: ((offset: 16, [[D]]))) ; Legacy PM, Index based WPD ; RUN: llvm-lto2 run %t2.o -save-temps -pass-remarks=. \ diff --git a/llvm/test/ThinLTO/X86/devirt2.ll b/llvm/test/ThinLTO/X86/devirt2.ll --- a/llvm/test/ThinLTO/X86/devirt2.ll +++ b/llvm/test/ThinLTO/X86/devirt2.ll @@ -190,12 +190,12 @@ ; RUN: llvm-nm %t5.1 | FileCheck %s --check-prefix=NM-HYBRID1 ; RUN: llvm-nm %t5.2 | FileCheck %s --check-prefix=NM-HYBRID2 -; NM-HYBRID1-DAG: U _ZN1A1nEi$ -; NM-HYBRID1-DAG: U _ZN1E1mEi$ +; NM-HYBRID1-DAG: U _ZN1A1nEi.{{[0-9a-f]*}} +; NM-HYBRID1-DAG: U _ZN1E1mEi.{{[0-9a-f]*}} ; NM-HYBRID1-DAG: U _ZN1D1mEi -; NM-HYBRID2-DAG: T _ZN1A1nEi$ -; NM-HYBRID2-DAG: T _ZN1E1mEi$ +; NM-HYBRID2-DAG: T _ZN1A1nEi.{{[0-9a-f]*}} +; NM-HYBRID2-DAG: T _ZN1E1mEi.{{[0-9a-f]*}} ; NM-HYBRID2-DAG: W _ZN1D1mEi ; NM-HYBRID2-DAG: T _ZN1B1fEi ; NM-HYBRID2-DAG: T _ZN1C1fEi diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll @@ -19,9 +19,9 @@ ; M0: define void @f() ; M1-NOT: @f() define void @f() { - ; M0: llvm.type.test{{.*}}metadata !"1$f50b51a12bb012bebbeff978335e34cf" + ; M0: llvm.type.test{{.*}}metadata !"1.f50b51a12bb012bebbeff978335e34cf" %p = call i1 @llvm.type.test(i8* null, metadata !0) - ; M0: llvm.type.checked.load{{.*}}metadata !"2$f50b51a12bb012bebbeff978335e34cf" + ; M0: llvm.type.checked.load{{.*}}metadata !"2.f50b51a12bb012bebbeff978335e34cf" %q = call {i8*, i1} @llvm.type.checked.load(i8* null, i32 0, metadata !3) ret void } @@ -30,11 +30,11 @@ declare {i8*, i1} @llvm.type.checked.load(i8*, i32, metadata) !0 = distinct !{} -; M1: !0 = !{i32 0, !"1$f50b51a12bb012bebbeff978335e34cf"} +; M1: !0 = !{i32 0, !"1.f50b51a12bb012bebbeff978335e34cf"} !1 = !{i32 0, !0} -; M1: !1 = !{i32 1, !"1$f50b51a12bb012bebbeff978335e34cf"} +; M1: !1 = !{i32 1, !"1.f50b51a12bb012bebbeff978335e34cf"} !2 = !{i32 1, !0} !3 = distinct !{} -; M1: !2 = !{i32 0, !"2$f50b51a12bb012bebbeff978335e34cf"} +; M1: !2 = !{i32 0, !"2.f50b51a12bb012bebbeff978335e34cf"} !4 = !{i32 0, !3} diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll @@ -12,14 +12,14 @@ ; BCA0: