Index: lib/IR/ValueSymbolTable.cpp =================================================================== --- lib/IR/ValueSymbolTable.cpp +++ lib/IR/ValueSymbolTable.cpp @@ -53,7 +53,7 @@ while (1) { // Trim any suffix off and append the next number. UniqueName.resize(BaseSize); - raw_svector_ostream(UniqueName) << ++LastUnique; + raw_svector_ostream(UniqueName) << "." << ++LastUnique; // Try insert the vmap entry with this suffix. auto IterBool = vmap.insert(std::make_pair(UniqueName, V)); Index: test/CodeGen/AArch64/arm64-promote-const.ll =================================================================== --- test/CodeGen/AArch64/arm64-promote-const.ll +++ test/CodeGen/AArch64/arm64-promote-const.ll @@ -40,7 +40,7 @@ entry: ; PROMOTED-LABEL: test2: ; In stress mode, constant vector are promoted -; PROMOTED: adrp [[PAGEADDR:x[0-9]+]], [[CSTV1:__PromotedConst[0-9]+]]@PAGE +; PROMOTED: adrp [[PAGEADDR:x[0-9]+]], [[CSTV1:__PromotedConst.[0-9]+]]@PAGE ; PROMOTED: ldr q[[REGNUM:[0-9]+]], {{\[}}[[PAGEADDR]], [[CSTV1]]@PAGEOFF] ; Destination register is defined by ABI ; PROMOTED-NEXT: add.16b v0, v0, v[[REGNUM]] Index: test/CodeGen/AArch64/global-merge-group-by-use.ll =================================================================== --- test/CodeGen/AArch64/global-merge-group-by-use.ll +++ test/CodeGen/AArch64/global-merge-group-by-use.ll @@ -12,7 +12,7 @@ ; CHECK-LABEL: f1: define void @f1(i32 %a1, i32 %a2) #0 { -; CHECK-NEXT: adrp x8, [[SET1:__MergedGlobals[0-9]*]]@PAGE +; CHECK-NEXT: adrp x8, [[SET1:__MergedGlobals.[0-9]*]]@PAGE ; CHECK-NEXT: add x8, x8, [[SET1]]@PAGEOFF ; CHECK-NEXT: stp w0, w1, [x8] ; CHECK-NEXT: ret @@ -27,7 +27,7 @@ ; CHECK-LABEL: f2: define void @f2(i32 %a1, i32 %a2, i32 %a3) #0 { -; CHECK-NEXT: adrp x8, [[SET2:__MergedGlobals[0-9]*]]@PAGE +; CHECK-NEXT: adrp x8, [[SET2:__MergedGlobals.[0-9]*]]@PAGE ; CHECK-NEXT: add x8, x8, [[SET2]]@PAGEOFF ; CHECK-NEXT: stp w0, w1, [x8] ; CHECK-NEXT: str w2, [x8, #8] Index: test/CodeGen/ARM/global-merge-addrspace.ll =================================================================== --- test/CodeGen/ARM/global-merge-addrspace.ll +++ test/CodeGen/ARM/global-merge-addrspace.ll @@ -7,6 +7,6 @@ @g2 = internal addrspace(1) global i32 2 -; CHECK: _MergedGlobals1: +; CHECK: _MergedGlobals.1: @g3 = internal addrspace(2) global i32 3 @g4 = internal addrspace(2) global i32 4 Index: test/CodeGen/ARM/global-merge.ll =================================================================== --- test/CodeGen/ARM/global-merge.ll +++ test/CodeGen/ARM/global-merge.ll @@ -59,16 +59,16 @@ ; Make sure that the complete variable fits within the range of the maximum ; offset. Having the starting offset in range is not sufficient. ; When this works properly, @g3 is placed in a separate chunk of merged globals. -; CHECK: _MergedGlobals1: +; CHECK: _MergedGlobals.1: @g3 = internal global [30 x i32] [ i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10 ], align 4 ; Global variables that can be placed in BSS should be kept together in a ; separate pool of merged globals. -; CHECK: _MergedGlobals2 +; CHECK: _MergedGlobals.2 @g4 = internal global i32 0 @g5 = internal global i32 0 ; Global variables that are constant can be merged together -; CHECK: _MergedGlobals3 +; CHECK: _MergedGlobals.3 @g6 = internal constant [12 x i32] zeroinitializer, align 4 @g7 = internal constant [12 x i32] zeroinitializer, align 4 Index: test/CodeGen/WinEH/cppeh-catch-unwind.ll =================================================================== --- test/CodeGen/WinEH/cppeh-catch-unwind.ll +++ test/CodeGen/WinEH/cppeh-catch-unwind.ll @@ -97,7 +97,7 @@ ; CHECK: [[LPAD3_VAL:\%.+]] = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) ; CHECK-NEXT: cleanup ; CHECK-NEXT: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*) -; CHECK-NEXT: [[RECOVER3:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 2, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1", i32 0, void (i8*, i8*)* @"\01?test@@YAXXZ.cleanup") +; CHECK-NEXT: [[RECOVER3:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 2, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1", i32 0, void (i8*, i8*)* @"\01?test@@YAXXZ.cleanup") ; CHECK-NEXT: indirectbr i8* [[RECOVER3]], [label %try.cont] lpad3: ; preds = %invoke.cont2 @@ -191,7 +191,7 @@ ; CHECK: ret void ; CHECK: } -; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch1"(i8*, i8*) +; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch.1"(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_TMP0:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @"\01?test@@YAXXZ" to i8*), i8* %1, i32 2) ; CHECK: [[TMP0_PTR:\%.+]] = bitcast i8* [[RECOVER_TMP0]] to i32* Index: test/CodeGen/WinEH/cppeh-multi-catch.ll =================================================================== --- test/CodeGen/WinEH/cppeh-multi-catch.ll +++ test/CodeGen/WinEH/cppeh-multi-catch.ll @@ -76,9 +76,9 @@ ; CHECK-NEXT: catch i8* null ; CHECK-NEXT: [[RECOVER:\%.+]] = call i8* (...) @llvm.eh.actions( ; CHECK-SAME: i32 1, i8* bitcast (%eh.HandlerMapEntry* @llvm.eh.handlermapentry.H to i8*), i32 0, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch", -; CHECK-SAME: i32 1, i8* bitcast (%eh.HandlerMapEntry* @llvm.eh.handlermapentry._J to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1", -; CHECK-SAME: i32 1, i8* bitcast (%eh.HandlerMapEntry* @"llvm.eh.handlermapentry.reference.?AVSomeClass@@" to i8*), i32 2, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch2", -; CHECK-SAME: i32 1, i8* null, i32 -1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch3") +; CHECK-SAME: i32 1, i8* bitcast (%eh.HandlerMapEntry* @llvm.eh.handlermapentry._J to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1", +; CHECK-SAME: i32 1, i8* bitcast (%eh.HandlerMapEntry* @"llvm.eh.handlermapentry.reference.?AVSomeClass@@" to i8*), i32 2, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.2", +; CHECK-SAME: i32 1, i8* null, i32 -1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.3") ; CHECK-NEXT: indirectbr i8* [[RECOVER]], [label %ret] lpad: ; preds = %entry @@ -168,7 +168,7 @@ ; CHECK: ret i8* blockaddress(@"\01?test@@YAXXZ", %ret) ; CHECK: } -; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch1"(i8*, i8*) +; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch.1"(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_LL:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @"\01?test@@YAXXZ" to i8*), i8* %1, i32 1) ; CHECK: [[LL_PTR:\%.+]] = bitcast i8* [[RECOVER_LL]] to i64* @@ -177,7 +177,7 @@ ; CHECK: ret i8* blockaddress(@"\01?test@@YAXXZ", %ret) ; CHECK: } -; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch2"(i8*, i8*) +; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch.2"(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_OBJ:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @"\01?test@@YAXXZ" to i8*), i8* %1, i32 2) ; CHECK: [[OBJ_PTR:\%.+]] = bitcast i8* [[RECOVER_OBJ]] to %class.SomeClass** @@ -186,7 +186,7 @@ ; CHECK: ret i8* blockaddress(@"\01?test@@YAXXZ", %ret) ; CHECK: } -; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch3"(i8*, i8*) +; CHECK-LABEL: define internal i8* @"\01?test@@YAXXZ.catch.3"(i8*, i8*) ; CHECK: entry: ; CHECK: call void @"\01?handle_exception@@YAXXZ"() ; CHECK: ret i8* blockaddress(@"\01?test@@YAXXZ", %ret) Index: test/CodeGen/WinEH/cppeh-nested-1.ll =================================================================== --- test/CodeGen/WinEH/cppeh-nested-1.ll +++ test/CodeGen/WinEH/cppeh-nested-1.ll @@ -55,7 +55,7 @@ ; CHECK: landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*) -; CHECK: [[RECOVER:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 0, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch", i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1") +; CHECK: [[RECOVER:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 0, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch", i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1") ; CHECK: indirectbr i8* [[RECOVER]], [label %try.cont, label %try.cont10] lpad: ; preds = %entry @@ -148,12 +148,12 @@ ; CHECK: [[LPAD1_LABEL]]:{{[ ]+}}; preds = %entry ; CHECK: [[LPAD1_VAL:\%.+]] = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*) -; CHECK: [[RECOVER1:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1") +; CHECK: [[RECOVER1:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1") ; CHECK: indirectbr i8* [[RECOVER1]], [] ; ; CHECK: } -; CHECK: define internal i8* @"\01?test@@YAXXZ.catch1"(i8*, i8*) +; CHECK: define internal i8* @"\01?test@@YAXXZ.catch.1"(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_F1:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @"\01?test@@YAXXZ" to i8*), i8* %1, i32 1) ; CHECK: [[F_PTR1:\%.+]] = bitcast i8* [[RECOVER_F1]] to float* Index: test/CodeGen/WinEH/cppeh-nested-2.ll =================================================================== --- test/CodeGen/WinEH/cppeh-nested-2.ll +++ test/CodeGen/WinEH/cppeh-nested-2.ll @@ -111,7 +111,7 @@ ; CHECK-NEXT: catch i8* bitcast (i8** @_ZTIi to i8*) ; CHECK-NEXT: catch i8* bitcast (i8** @_ZTIf to i8*) ; CHECK-NEXT: [[RECOVER1:\%.+]] = call i8* (...) @llvm.eh.actions( -; CHECK-SAME: i32 1, i8* bitcast (i8** @_ZTIi to i8*), i32 1, i8* (i8*, i8*)* @_Z4testv.catch1, +; CHECK-SAME: i32 1, i8* bitcast (i8** @_ZTIi to i8*), i32 1, i8* (i8*, i8*)* @_Z4testv.catch.1, ; CHECK-SAME: i32 0, void (i8*, i8*)* @_Z4testv.cleanup, ; CHECK-SAME: i32 1, i8* bitcast (i8** @_ZTIf to i8*), i32 0, i8* (i8*, i8*)* @_Z4testv.catch) ; CHECK-NEXT: indirectbr i8* [[RECOVER1]], [label %try.cont, label %try.cont19] @@ -133,8 +133,8 @@ ; CHECK-NEXT: catch i8* bitcast (i8** @_ZTIi to i8*) ; CHECK-NEXT: catch i8* bitcast (i8** @_ZTIf to i8*) ; CHECK-NEXT: [[RECOVER3:\%.+]] = call i8* (...) @llvm.eh.actions( -; CHECK-SAME: i32 0, void (i8*, i8*)* @_Z4testv.cleanup2, -; CHECK-SAME: i32 1, i8* bitcast (i8** @_ZTIi to i8*), i32 1, i8* (i8*, i8*)* @_Z4testv.catch1, +; CHECK-SAME: i32 0, void (i8*, i8*)* @_Z4testv.cleanup.2, +; CHECK-SAME: i32 1, i8* bitcast (i8** @_ZTIi to i8*), i32 1, i8* (i8*, i8*)* @_Z4testv.catch.1, ; CHECK-SAME: i32 0, void (i8*, i8*)* @_Z4testv.cleanup, ; CHECK-SAME: i32 1, i8* bitcast (i8** @_ZTIf to i8*), i32 0, i8* (i8*, i8*)* @_Z4testv.catch) ; CHECK-NEXT: indirectbr i8* [[RECOVER3]], [label %try.cont, label %try.cont19] @@ -251,7 +251,7 @@ ; CHECK: } ; This catch handler should be outlined. -; CHECK: define internal i8* @_Z4testv.catch1(i8*, i8*) +; CHECK: define internal i8* @_Z4testv.catch.1(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_I:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @_Z4testv to i8*), i8* %1, i32 1) ; CHECK: [[I_PTR:\%.+]] = bitcast i8* [[RECOVER_I]] to i32* @@ -277,7 +277,7 @@ ; CHECK: } ; This cleanup handler should be outlined. -; CHECK: define internal void @_Z4testv.cleanup2(i8*, i8*) +; CHECK: define internal void @_Z4testv.cleanup.2(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_INNER:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @_Z4testv to i8*), i8* %1, i32 3) ; CHECK: [[INNER_PTR:\%.+]] = bitcast i8* [[RECOVER_INNER]] to %class.Inner* Index: test/CodeGen/WinEH/cppeh-nested-3.ll =================================================================== --- test/CodeGen/WinEH/cppeh-nested-3.ll +++ test/CodeGen/WinEH/cppeh-nested-3.ll @@ -63,7 +63,7 @@ ; CHECK: landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*) -; CHECK: [[RECOVER:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 0, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch", i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1") +; CHECK: [[RECOVER:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 0, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch", i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1") ; CHECK: indirectbr i8* [[RECOVER]], [label %try.cont10, label %try.cont19] lpad: ; preds = %entry @@ -195,7 +195,7 @@ ; CHECK: [[LPAD1_VAL:\%.+]] = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*) -; CHECK: [[RECOVER1:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 2, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch2", i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1") +; CHECK: [[RECOVER1:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0H@8" to i8*), i32 2, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.2", i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1") ; CHECK: indirectbr i8* [[RECOVER1]], [label %invoke.cont2] ; ; CHECK: invoke.cont9: @@ -204,12 +204,12 @@ ; CHECK: [[LPAD8_LABEL]]:{{[ ]+}}; preds = %invoke.cont2 ; CHECK: [[LPAD8_VAL:\%.+]] = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) ; CHECK: catch i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*) -; CHECK: [[RECOVER2:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch1") +; CHECK: [[RECOVER2:\%.+]] = call i8* (...) @llvm.eh.actions(i32 1, i8* bitcast (%rtti.TypeDescriptor2* @"\01??_R0M@8" to i8*), i32 1, i8* (i8*, i8*)* @"\01?test@@YAXXZ.catch.1") ; CHECK: indirectbr i8* [[RECOVER2]], [] ; ; CHECK: } -; CHECK: define internal i8* @"\01?test@@YAXXZ.catch1"(i8*, i8*) +; CHECK: define internal i8* @"\01?test@@YAXXZ.catch.1"(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_F:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @"\01?test@@YAXXZ" to i8*), i8* %1, i32 1) ; CHECK: [[F_PTR:\%.+]] = bitcast i8* [[RECOVER_F]] to float* @@ -218,7 +218,7 @@ ; CHECK: ret i8* blockaddress(@"\01?test@@YAXXZ", %try.cont19) ; CHECK: } -; CHECK: define internal i8* @"\01?test@@YAXXZ.catch2"(i8*, i8*) +; CHECK: define internal i8* @"\01?test@@YAXXZ.catch.2"(i8*, i8*) ; CHECK: entry: ; CHECK: [[RECOVER_J:\%.+]] = call i8* @llvm.framerecover(i8* bitcast (void ()* @"\01?test@@YAXXZ" to i8*), i8* %1, i32 2) ; CHECK: [[J_PTR:\%.+]] = bitcast i8* [[RECOVER_J]] to i32* Index: test/Instrumentation/AddressSanitizer/global_metadata.ll =================================================================== --- test/Instrumentation/AddressSanitizer/global_metadata.ll +++ test/Instrumentation/AddressSanitizer/global_metadata.ll @@ -16,9 +16,9 @@ ; CHECK: @.str = internal unnamed_addr constant { [14 x i8], [50 x i8] } { [14 x i8] c"Hello, world!\00", [50 x i8] zeroinitializer }, align 32 ; Check emitted location descriptions: -; CHECK: [[VARNAME:@__asan_gen_[0-9]+]] = private unnamed_addr constant [7 x i8] c"global\00", align 1 -; CHECK: [[FILENAME:@__asan_gen_[0-9]+]] = private unnamed_addr constant [22 x i8] c"/tmp/asan-globals.cpp\00", align 1 -; CHECK: [[LOCDESCR:@__asan_gen_[0-9]+]] = private unnamed_addr constant { [22 x i8]*, i32, i32 } { [22 x i8]* [[FILENAME]], i32 5, i32 5 } +; CHECK: [[VARNAME:@__asan_gen_.[0-9]+]] = private unnamed_addr constant [7 x i8] c"global\00", align 1 +; CHECK: [[FILENAME:@__asan_gen_.[0-9]+]] = private unnamed_addr constant [22 x i8] c"/tmp/asan-globals.cpp\00", align 1 +; CHECK: [[LOCDESCR:@__asan_gen_.[0-9]+]] = private unnamed_addr constant { [22 x i8]*, i32, i32 } { [22 x i8]* [[FILENAME]], i32 5, i32 5 } ; Check that location decriptors and global names were passed into __asan_register_globals: ; CHECK: i64 ptrtoint ([7 x i8]* [[VARNAME]] to i64) Index: test/Linker/2011-08-04-Metadata.ll =================================================================== --- test/Linker/2011-08-04-Metadata.ll +++ test/Linker/2011-08-04-Metadata.ll @@ -7,7 +7,7 @@ ; CHECK-SAME: variable: i32* @x{{[,)]}} ; CHECK: !DIGlobalVariable(name: "x", ; CHECK-NOT: linkageName: -; CHECK-SAME: variable: i32* @x1{{[,)]}} +; CHECK-SAME: variable: i32* @x.1{{[,)]}} target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-macosx10.7.0" Index: test/Linker/override-with-internal-linkage-2.ll =================================================================== --- test/Linker/override-with-internal-linkage-2.ll +++ test/Linker/override-with-internal-linkage-2.ll @@ -11,7 +11,7 @@ ret i32 %add } -; CHECK-LABEL: define internal i32 @foo1 +; CHECK-LABEL: define internal i32 @foo.1 ; CHECK-NEXT: entry: ; CHECK-NEXT: ret i32 4 Index: test/Linker/testlink.ll =================================================================== --- test/Linker/testlink.ll +++ test/Linker/testlink.ll @@ -61,7 +61,7 @@ @AConst = linkonce constant i32 123 ; Renamed version of Intern1. -; CHECK-DAG: @Intern1{{[0-9]+}} = internal constant i32 52 +; CHECK-DAG: @Intern1.{{[0-9]+}} = internal constant i32 52 ; Globals linked from testlink2. Index: test/Transforms/BBVectorize/simple3.ll =================================================================== --- test/Transforms/BBVectorize/simple3.ll +++ test/Transforms/BBVectorize/simple3.ll @@ -4,12 +4,12 @@ ; Basic depth-3 chain define double @test1(double %A1, double %A2, double %A3, double %B1, double %B2, double %B3) { ; CHECK-LABEL: @test1( -; CHECK: %X1.v.i1.11 = insertelement <3 x double> undef, double %B1, i32 0 -; CHECK: %X1.v.i1.22 = insertelement <3 x double> %X1.v.i1.11, double %B2, i32 1 -; CHECK: %X1.v.i1 = insertelement <3 x double> %X1.v.i1.22, double %B3, i32 2 -; CHECK: %X1.v.i0.13 = insertelement <3 x double> undef, double %A1, i32 0 -; CHECK: %X1.v.i0.24 = insertelement <3 x double> %X1.v.i0.13, double %A2, i32 1 -; CHECK: %X1.v.i0 = insertelement <3 x double> %X1.v.i0.24, double %A3, i32 2 +; CHECK: %X1.v.i1.1.1 = insertelement <3 x double> undef, double %B1, i32 0 +; CHECK: %X1.v.i1.2.2 = insertelement <3 x double> %X1.v.i1.1.1, double %B2, i32 1 +; CHECK: %X1.v.i1 = insertelement <3 x double> %X1.v.i1.2.2, double %B3, i32 2 +; CHECK: %X1.v.i0.1.3 = insertelement <3 x double> undef, double %A1, i32 0 +; CHECK: %X1.v.i0.2.4 = insertelement <3 x double> %X1.v.i0.1.3, double %A2, i32 1 +; CHECK: %X1.v.i0 = insertelement <3 x double> %X1.v.i0.2.4, double %A3, i32 2 %X1 = fsub double %A1, %B1 %X2 = fsub double %A2, %B2 %X3 = fsub double %A3, %B3 @@ -24,11 +24,11 @@ ; CHECK: %Z1 = fadd <3 x double> %Y1, %X1.v.i1 %R1 = fmul double %Z1, %Z2 %R = fmul double %R1, %Z3 -; CHECK: %Z1.v.r210 = extractelement <3 x double> %Z1, i32 2 +; CHECK: %Z1.v.r2.10 = extractelement <3 x double> %Z1, i32 2 ; CHECK: %Z1.v.r1 = extractelement <3 x double> %Z1, i32 0 ; CHECK: %Z1.v.r2 = extractelement <3 x double> %Z1, i32 1 ; CHECK: %R1 = fmul double %Z1.v.r1, %Z1.v.r2 -; CHECK: %R = fmul double %R1, %Z1.v.r210 +; CHECK: %R = fmul double %R1, %Z1.v.r2.10 ret double %R ; CHECK: ret double %R } Index: test/Transforms/Inline/noalias-cs.ll =================================================================== --- test/Transforms/Inline/noalias-cs.ll +++ test/Transforms/Inline/noalias-cs.ll @@ -34,13 +34,13 @@ ; CHECK: %arrayidx.i = getelementptr inbounds float, float* %a, i64 7 ; CHECK: store float %1, float* %arrayidx.i, align 4, !noalias !16 ; CHECK: %2 = load float, float* %a, align 4, !alias.scope !16, !noalias !17 -; CHECK: %arrayidx.i.i1 = getelementptr inbounds float, float* %b, i64 5 -; CHECK: store float %2, float* %arrayidx.i.i1, align 4, !alias.scope !21, !noalias !22 -; CHECK: %arrayidx1.i.i2 = getelementptr inbounds float, float* %b, i64 8 -; CHECK: store float %2, float* %arrayidx1.i.i2, align 4, !alias.scope !23, !noalias !24 +; CHECK: %arrayidx.i.i.1 = getelementptr inbounds float, float* %b, i64 5 +; CHECK: store float %2, float* %arrayidx.i.i.1, align 4, !alias.scope !21, !noalias !22 +; CHECK: %arrayidx1.i.i.2 = getelementptr inbounds float, float* %b, i64 8 +; CHECK: store float %2, float* %arrayidx1.i.i.2, align 4, !alias.scope !23, !noalias !24 ; CHECK: %3 = load float, float* %a, align 4, !alias.scope !16 -; CHECK: %arrayidx.i3 = getelementptr inbounds float, float* %b, i64 7 -; CHECK: store float %3, float* %arrayidx.i3, align 4, !alias.scope !16 +; CHECK: %arrayidx.i.3 = getelementptr inbounds float, float* %b, i64 7 +; CHECK: store float %3, float* %arrayidx.i.3, align 4, !alias.scope !16 ; CHECK: ret void ; CHECK: } Index: test/Transforms/Inline/noalias2.ll =================================================================== --- test/Transforms/Inline/noalias2.ll +++ test/Transforms/Inline/noalias2.ll @@ -61,8 +61,8 @@ ; CHECK: %arrayidx.i = getelementptr inbounds float, float* %a, i64 7 ; CHECK: store float %1, float* %arrayidx.i, align 4, !alias.scope !14, !noalias !13 ; CHECK: %2 = load float, float* %c, align 4, !noalias !15 -; CHECK: %arrayidx.i1 = getelementptr inbounds float, float* %a, i64 6 -; CHECK: store float %2, float* %arrayidx.i1, align 4, !alias.scope !19, !noalias !20 +; CHECK: %arrayidx.i.1 = getelementptr inbounds float, float* %a, i64 6 +; CHECK: store float %2, float* %arrayidx.i.1, align 4, !alias.scope !19, !noalias !20 ; CHECK: %arrayidx1.i = getelementptr inbounds float, float* %b, i64 8 ; CHECK: store float %2, float* %arrayidx1.i, align 4, !alias.scope !20, !noalias !19 ; CHECK: %3 = load float, float* %c, align 4 Index: test/Transforms/InstCombine/cast.ll =================================================================== --- test/Transforms/InstCombine/cast.ll +++ test/Transforms/InstCombine/cast.ll @@ -187,8 +187,8 @@ %c2 = sext i8 %c1 to i32 ; [#uses=1] %RV = and i32 %c2, 255 ; [#uses=1] ret i32 %RV -; CHECK: %c21 = and i32 %X, 255 -; CHECK: ret i32 %c21 +; CHECK: %c2.1 = and i32 %X, 255 +; CHECK: ret i32 %c2.1 } define i32 @test22(i32 %X) { Index: test/Transforms/InstCombine/shift.ll =================================================================== --- test/Transforms/InstCombine/shift.ll +++ test/Transforms/InstCombine/shift.ll @@ -575,7 +575,7 @@ ; CHECK: %0 = shl i8 %tmp4, 2 ; CHECK: %tmp54 = and i8 %0, 16 %tmp55 = xor i8 %tmp54, %tmp51 -; CHECK: ret i8 %tmp551 +; CHECK: ret i8 %tmp55.1 ret i8 %tmp55 } @@ -743,7 +743,7 @@ %or = or i32 %shl, 7 ret i32 %or ; CHECK-LABEL: @test57( -; CHECK: %shl = shl i32 %shr1, 4 +; CHECK: %shl = shl i32 %shr.1, 4 } Index: test/Transforms/InstCombine/xor.ll =================================================================== --- test/Transforms/InstCombine/xor.ll +++ test/Transforms/InstCombine/xor.ll @@ -63,8 +63,8 @@ ; CHECK-LABEL: @test7( ; CHECK-NEXT: %A1 = and i32 %A, 7 ; CHECK-NEXT: %B1 = and i32 %B, 128 -; CHECK-NEXT: %C11 = or i32 %A1, %B1 -; CHECK-NEXT: ret i32 %C11 +; CHECK-NEXT: %C1.1 = or i32 %A1, %B1 +; CHECK-NEXT: ret i32 %C1.1 %A1 = and i32 %A, 7 ; [#uses=1] %B1 = and i32 %B, 128 ; [#uses=1] %C1 = xor i32 %A1, %B1 ; [#uses=1] @@ -96,8 +96,8 @@ define i8 @test10(i8 %A) { ; CHECK-LABEL: @test10( ; CHECK-NEXT: %B = and i8 %A, 3 -; CHECK-NEXT: %C1 = or i8 %B, 4 -; CHECK-NEXT: ret i8 %C1 +; CHECK-NEXT: %C.1 = or i8 %B, 4 +; CHECK-NEXT: ret i8 %C.1 %B = and i8 %A, 3 ; [#uses=1] %C = xor i8 %B, 4 ; [#uses=1] ret i8 %C Index: test/Transforms/LoopIdiom/basic.ll =================================================================== --- test/Transforms/LoopIdiom/basic.ll +++ test/Transforms/LoopIdiom/basic.ll @@ -5,7 +5,7 @@ ; CHECK: @.memset_pattern = private unnamed_addr constant [4 x i32] [i32 1, i32 1, i32 1, i32 1] ; For @test13_pattern -; CHECK: @.memset_pattern1 = private unnamed_addr constant [2 x i32*] [i32* @G, i32* @G] +; CHECK: @.memset_pattern.1 = private unnamed_addr constant [2 x i32*] [i32* @G, i32* @G] target triple = "x86_64-apple-darwin10.0.0" Index: test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll =================================================================== --- test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll +++ test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll @@ -34,7 +34,7 @@ ; CHECK-NEXT: br label %loop_begin.us1 ; CHECK: loop_begin.us1: ; preds = %loop_begin.backedge.us5, %.split.split.us -; CHECK-NEXT: %var_val.us2 = load i32, i32* %var +; CHECK-NEXT: %var_val.us.2 = load i32, i32* %var ; CHECK-NEXT: switch i32 2, label %default.us-lcssa.us-lcssa.us [ ; CHECK-NEXT: i32 1, label %inc.us4 ; CHECK-NEXT: i32 2, label %dec.us3 Index: test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll =================================================================== --- test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll +++ test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll @@ -65,7 +65,7 @@ ; CHECK-NEXT: br label %loop_begin.us1 ; CHECK: loop_begin.us1: ; preds = %loop_begin.backedge.us6, %.split.split.us -; CHECK-NEXT: %var_val.us2 = load i32, i32* %var +; CHECK-NEXT: %var_val.us.2 = load i32, i32* %var ; CHECK-NEXT: switch i32 %c, label %second_switch.us3 [ ; CHECK-NEXT: i32 1, label %loop_begin.inc_crit_edge.us ; CHECK-NEXT: ] Index: test/Transforms/LowerBitSets/simple.ll =================================================================== --- test/Transforms/LowerBitSets/simple.ll +++ test/Transforms/LowerBitSets/simple.ll @@ -39,8 +39,8 @@ !llvm.bitsets = !{ !0, !1, !2, !3, !4, !5, !6, !7 } ; CHECK: @bits_use{{[0-9]*}} = private alias i8* @bits{{[0-9]*}} -; CHECK: @bits_use{{[0-9]*}} = private alias i8* @bits{{[0-9]*}} -; CHECK: @bits_use{{[0-9]*}} = private alias i8* @bits{{[0-9]*}} +; CHECK: @bits_use.{{[0-9]*}} = private alias i8* @bits{{[0-9]*}} +; CHECK: @bits_use.{{[0-9]*}} = private alias i8* @bits{{[0-9]*}} ; CHECK: @a = alias getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 0) ; CHECK: @b = alias getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 2) @@ -62,7 +62,7 @@ ; CHECK-DARWIN: [[G]] = private constant ; CHECK: @bits{{[0-9]*}} = private alias getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0) -; CHECK: @bits{{[0-9]*}} = private alias getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0) +; CHECK: @bits.{{[0-9]*}} = private alias getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0) declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone @@ -80,7 +80,7 @@ ; CHECK: [[R6:%[^ ]*]] = icmp ult i32 [[R5]], 68 ; CHECK: br i1 [[R6]] - ; CHECK: [[R8:%[^ ]*]] = getelementptr i8, i8* @bits_use{{[0-9]*}}, i32 [[R5]] + ; CHECK: [[R8:%[^ ]*]] = getelementptr i8, i8* @bits_use.{{[0-9]*}}, i32 [[R5]] ; CHECK: [[R9:%[^ ]*]] = load i8, i8* [[R8]] ; CHECK: [[R10:%[^ ]*]] = and i8 [[R9]], 1 ; CHECK: [[R11:%[^ ]*]] = icmp ne i8 [[R10]], 0 @@ -123,7 +123,7 @@ ; CHECK: [[T6:%[^ ]*]] = icmp ult i32 [[T5]], 66 ; CHECK: br i1 [[T6]] - ; CHECK: [[T8:%[^ ]*]] = getelementptr i8, i8* @bits_use{{[0-9]*}}, i32 [[T5]] + ; CHECK: [[T8:%[^ ]*]] = getelementptr i8, i8* @bits_use.{{[0-9]*}}, i32 [[T5]] ; CHECK: [[T9:%[^ ]*]] = load i8, i8* [[T8]] ; CHECK: [[T10:%[^ ]*]] = and i8 [[T9]], 2 ; CHECK: [[T11:%[^ ]*]] = icmp ne i8 [[T10]], 0 Index: test/Transforms/LowerSwitch/feature.ll =================================================================== --- test/Transforms/LowerSwitch/feature.ll +++ test/Transforms/LowerSwitch/feature.ll @@ -4,49 +4,49 @@ ; On output we should got binary comparison tree. Check that all is fine. ;CHECK: entry: -;CHECK-NEXT: br label %NodeBlock19 +;CHECK-NEXT: br label %NodeBlock.19 -;CHECK: NodeBlock19: ; preds = %entry -;CHECK-NEXT: %Pivot20 = icmp slt i32 %tmp158, 10 -;CHECK-NEXT: br i1 %Pivot20, label %NodeBlock5, label %NodeBlock17 +;CHECK: NodeBlock.19: ; preds = %entry +;CHECK-NEXT: %Pivot.20 = icmp slt i32 %tmp158, 10 +;CHECK-NEXT: br i1 %Pivot.20, label %NodeBlock.5, label %NodeBlock.17 -;CHECK: NodeBlock17: ; preds = %NodeBlock19 -;CHECK-NEXT: %Pivot18 = icmp slt i32 %tmp158, 13 -;CHECK-NEXT: br i1 %Pivot18, label %NodeBlock9, label %NodeBlock15 +;CHECK: NodeBlock.17: ; preds = %NodeBlock.19 +;CHECK-NEXT: %Pivot.18 = icmp slt i32 %tmp158, 13 +;CHECK-NEXT: br i1 %Pivot.18, label %NodeBlock.9, label %NodeBlock.15 -;CHECK: NodeBlock15: ; preds = %NodeBlock17 -;CHECK-NEXT: %Pivot16 = icmp slt i32 %tmp158, 14 -;CHECK-NEXT: br i1 %Pivot16, label %bb330, label %NodeBlock13 +;CHECK: NodeBlock.15: ; preds = %NodeBlock.17 +;CHECK-NEXT: %Pivot.16 = icmp slt i32 %tmp158, 14 +;CHECK-NEXT: br i1 %Pivot.16, label %bb330, label %NodeBlock.13 -;CHECK: NodeBlock13: ; preds = %NodeBlock15 -;CHECK-NEXT: %Pivot14 = icmp slt i32 %tmp158, 15 -;CHECK-NEXT: br i1 %Pivot14, label %bb332, label %LeafBlock11 +;CHECK: NodeBlock.13: ; preds = %NodeBlock.15 +;CHECK-NEXT: %Pivot.14 = icmp slt i32 %tmp158, 15 +;CHECK-NEXT: br i1 %Pivot.14, label %bb332, label %LeafBlock.11 -;CHECK: LeafBlock11: ; preds = %NodeBlock13 +;CHECK: LeafBlock.11: ; preds = %NodeBlock.13 ;CHECK-NEXT: %SwitchLeaf12 = icmp eq i32 %tmp158, 15 ;CHECK-NEXT: br i1 %SwitchLeaf12, label %bb334, label %NewDefault -;CHECK: NodeBlock9: ; preds = %NodeBlock17 -;CHECK-NEXT: %Pivot10 = icmp slt i32 %tmp158, 11 -;CHECK-NEXT: br i1 %Pivot10, label %bb324, label %NodeBlock7 - -;CHECK: NodeBlock7: ; preds = %NodeBlock9 -;CHECK-NEXT: %Pivot8 = icmp slt i32 %tmp158, 12 -;CHECK-NEXT: br i1 %Pivot8, label %bb326, label %bb328 - -;CHECK: NodeBlock5: ; preds = %NodeBlock19 -;CHECK-NEXT: %Pivot6 = icmp slt i32 %tmp158, 7 -;CHECK-NEXT: br i1 %Pivot6, label %NodeBlock, label %NodeBlock3 - -;CHECK: NodeBlock3: ; preds = %NodeBlock5 -;CHECK-NEXT: %Pivot4 = icmp slt i32 %tmp158, 8 -;CHECK-NEXT: br i1 %Pivot4, label %bb, label %NodeBlock1 - -;CHECK: NodeBlock1: ; preds = %NodeBlock3 -;CHECK-NEXT: %Pivot2 = icmp slt i32 %tmp158, 9 -;CHECK-NEXT: br i1 %Pivot2, label %bb338, label %bb322 +;CHECK: NodeBlock.9: ; preds = %NodeBlock.17 +;CHECK-NEXT: %Pivot.10 = icmp slt i32 %tmp158, 11 +;CHECK-NEXT: br i1 %Pivot.10, label %bb324, label %NodeBlock.7 + +;CHECK: NodeBlock.7: ; preds = %NodeBlock.9 +;CHECK-NEXT: %Pivot.8 = icmp slt i32 %tmp158, 12 +;CHECK-NEXT: br i1 %Pivot.8, label %bb326, label %bb328 + +;CHECK: NodeBlock.5: ; preds = %NodeBlock.19 +;CHECK-NEXT: %Pivot.6 = icmp slt i32 %tmp158, 7 +;CHECK-NEXT: br i1 %Pivot.6, label %NodeBlock, label %NodeBlock.3 + +;CHECK: NodeBlock.3: ; preds = %NodeBlock.5 +;CHECK-NEXT: %Pivot.4 = icmp slt i32 %tmp158, 8 +;CHECK-NEXT: br i1 %Pivot.4, label %bb, label %NodeBlock.1 + +;CHECK: NodeBlock.1: ; preds = %NodeBlock.3 +;CHECK-NEXT: %Pivot.2 = icmp slt i32 %tmp158, 9 +;CHECK-NEXT: br i1 %Pivot.2, label %bb338, label %bb322 -;CHECK: NodeBlock: ; preds = %NodeBlock5 +;CHECK: NodeBlock: ; preds = %NodeBlock.5 ;CHECK-NEXT: %Pivot = icmp slt i32 %tmp158, 0 ;CHECK-NEXT: br i1 %Pivot, label %LeafBlock, label %bb338 Index: test/Transforms/PlaceSafepoints/basic.ll =================================================================== --- test/Transforms/PlaceSafepoints/basic.ll +++ test/Transforms/PlaceSafepoints/basic.ll @@ -74,7 +74,7 @@ ; CHECK: gc.statepoint.p0f_isVoidf ; CHECK: gc.statepoint.p0f_i1i1f ; CHECK: (i1 (i1)* @i1_return_i1, i32 1, i32 0, i1 false, i32 0) -; CHECK: %call12 = call i1 @llvm.experimental.gc.result.i1 +; CHECK: %call1.2 = call i1 @llvm.experimental.gc.result.i1 entry: %call1 = tail call i1 (i1) @i1_return_i1(i1 false) ret i1 %call1 Index: test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll =================================================================== --- test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll +++ test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll @@ -7,22 +7,22 @@ ; CHECK: @switch.table = private unnamed_addr constant [7 x i32] [i32 55, i32 123, i32 0, i32 -1, i32 27, i32 62, i32 1] ; The float table for @h -; CHECK: @switch.table1 = private unnamed_addr constant [4 x float] [float 0x40091EB860000000, float 0x3FF3BE76C0000000, float 0x4012449BA0000000, float 0x4001AE1480000000] +; CHECK: @switch.table.1 = private unnamed_addr constant [4 x float] [float 0x40091EB860000000, float 0x3FF3BE76C0000000, float 0x4012449BA0000000, float 0x4001AE1480000000] ; The table for @foostring -; CHECK: @switch.table2 = private unnamed_addr constant [4 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str1, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str2, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str3, i64 0, i64 0)] +; CHECK: @switch.table.2 = private unnamed_addr constant [4 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str1, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str2, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str3, i64 0, i64 0)] ; The table for @earlyreturncrash -; CHECK: @switch.table3 = private unnamed_addr constant [4 x i32] [i32 42, i32 9, i32 88, i32 5] +; CHECK: @switch.table.3 = private unnamed_addr constant [4 x i32] [i32 42, i32 9, i32 88, i32 5] ; The table for @large. -; CHECK: @switch.table4 = private unnamed_addr constant [199 x i32] [i32 1, i32 4, i32 9, +; CHECK: @switch.table.4 = private unnamed_addr constant [199 x i32] [i32 1, i32 4, i32 9, ; The table for @cprop -; CHECK: @switch.table5 = private unnamed_addr constant [7 x i32] [i32 5, i32 42, i32 126, i32 -452, i32 128, i32 6, i32 7] +; CHECK: @switch.table.5 = private unnamed_addr constant [7 x i32] [i32 5, i32 42, i32 126, i32 -452, i32 128, i32 6, i32 7] ; The table for @unreachable_case -; CHECK: @switch.table6 = private unnamed_addr constant [9 x i32] [i32 0, i32 0, i32 0, i32 2, i32 -1, i32 1, i32 1, i32 1, i32 1] +; CHECK: @switch.table.6 = private unnamed_addr constant [9 x i32] [i32 0, i32 0, i32 0, i32 2, i32 -1, i32 1, i32 1, i32 1, i32 1] ; A simple int-to-int selection switch. ; It is dense enough to be replaced by table lookup. @@ -97,7 +97,7 @@ ; CHECK-NEXT: %switch.shiftamt = mul i32 %switch.tableidx, 8 ; CHECK-NEXT: %switch.downshift = lshr i32 89655594, %switch.shiftamt ; CHECK-NEXT: %switch.masked = trunc i32 %switch.downshift to i8 -; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x float], [4 x float]* @switch.table1, i32 0, i32 %switch.tableidx +; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x float], [4 x float]* @switch.table.1, i32 0, i32 %switch.tableidx ; CHECK-NEXT: %switch.load = load float, float* %switch.gep ; CHECK-NEXT: br label %sw.epilog ; CHECK: sw.epilog: @@ -144,7 +144,7 @@ ; CHECK-NEXT: %0 = icmp ult i32 %switch.tableidx, 4 ; CHECK-NEXT: br i1 %0, label %switch.lookup, label %return ; CHECK: switch.lookup: -; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i8*], [4 x i8*]* @switch.table2, i32 0, i32 %switch.tableidx +; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i8*], [4 x i8*]* @switch.table.2, i32 0, i32 %switch.tableidx ; CHECK-NEXT: %switch.load = load i8*, i8** %switch.gep ; CHECK-NEXT: ret i8* %switch.load } @@ -173,7 +173,7 @@ ; CHECK-LABEL: @earlyreturncrash( ; CHECK: switch.lookup: -; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i32], [4 x i32]* @switch.table3, i32 0, i32 %switch.tableidx +; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i32], [4 x i32]* @switch.table.3, i32 0, i32 %switch.tableidx ; CHECK-NEXT: %switch.load = load i32, i32* %switch.gep ; CHECK-NEXT: ret i32 %switch.load ; CHECK: sw.epilog: @@ -749,7 +749,7 @@ ; CHECK-LABEL: @cprop( ; CHECK: switch.lookup: -; CHECK: %switch.gep = getelementptr inbounds [7 x i32], [7 x i32]* @switch.table5, i32 0, i32 %switch.tableidx +; CHECK: %switch.gep = getelementptr inbounds [7 x i32], [7 x i32]* @switch.table.5, i32 0, i32 %switch.tableidx } define i32 @unreachable_case(i32 %x) { @@ -778,7 +778,7 @@ ; CHECK-LABEL: @unreachable_case( ; CHECK: switch.lookup: -; CHECK: getelementptr inbounds [9 x i32], [9 x i32]* @switch.table6, i32 0, i32 %switch.tableidx +; CHECK: getelementptr inbounds [9 x i32], [9 x i32]* @switch.table.6, i32 0, i32 %switch.tableidx } define i32 @unreachable_default(i32 %x) { @@ -805,7 +805,7 @@ ; CHECK-NEXT: %switch.tableidx = sub i32 %x, 0 ; CHECK-NOT: icmp ; CHECK-NOT: br 1i -; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i32], [4 x i32]* @switch.table7, i32 0, i32 %switch.tableidx +; CHECK-NEXT: %switch.gep = getelementptr inbounds [4 x i32], [4 x i32]* @switch.table.7, i32 0, i32 %switch.tableidx ; CHECK-NEXT: %switch.load = load i32, i32* %switch.gep ; CHECK-NEXT: ret i32 %switch.load } Index: test/Transforms/Util/lowerswitch.ll =================================================================== --- test/Transforms/Util/lowerswitch.ll +++ test/Transforms/Util/lowerswitch.ll @@ -3,7 +3,7 @@ ; Test that we don't crash and have a different basic block for each incoming edge. define void @test0() { ; CHECK-LABEL: @test0 -; CHECK: %merge = phi i64 [ 1, %BB3 ], [ 0, %NewDefault ], [ 0, %NodeBlock5 ], [ 0, %LeafBlock1 ] +; CHECK: %merge = phi i64 [ 1, %BB3 ], [ 0, %NewDefault ], [ 0, %NodeBlock.5 ], [ 0, %LeafBlock.1 ] BB1: switch i32 undef, label %BB2 [ i32 3, label %BB2 @@ -43,9 +43,9 @@ bb3: ; CHECK-LABEL: bb3 -; CHECK: %tmp = phi i32 [ 1, %NodeBlock ], [ 0, %bb2 ], [ 1, %LeafBlock3 ] +; CHECK: %tmp = phi i32 [ 1, %NodeBlock ], [ 0, %bb2 ], [ 1, %LeafBlock.3 ] %tmp = phi i32 [ 1, %bb1 ], [ 0, %bb2 ], [ 1, %bb1 ], [ 1, %bb1 ] -; CHECK-NEXT: %tmp2 = phi i32 [ 2, %NodeBlock ], [ 5, %bb2 ], [ 2, %LeafBlock3 ] +; CHECK-NEXT: %tmp2 = phi i32 [ 2, %NodeBlock ], [ 5, %bb2 ], [ 2, %LeafBlock.3 ] %tmp2 = phi i32 [ 2, %bb1 ], [ 2, %bb1 ], [ 5, %bb2 ], [ 2, %bb1 ] br label %exit