Index: lib/Transforms/Utils/SimplifyCFG.cpp =================================================================== --- lib/Transforms/Utils/SimplifyCFG.cpp +++ lib/Transforms/Utils/SimplifyCFG.cpp @@ -2034,7 +2034,7 @@ if (Invert) std::swap(TrueV, FalseV); Value *S = Builder.CreateSelect( - BrCond, TrueV, FalseV, TrueV->getName() + "." + FalseV->getName(), BI); + BrCond, TrueV, FalseV, "spec.store.select", BI); SpeculatedStore->setOperand(0, S); SpeculatedStore->applyMergedLocation(BI->getDebugLoc(), SpeculatedStore->getDebugLoc()); @@ -2069,7 +2069,7 @@ if (Invert) std::swap(TrueV, FalseV); Value *V = Builder.CreateSelect( - BrCond, TrueV, FalseV, TrueV->getName() + "." + FalseV->getName(), BI); + BrCond, TrueV, FalseV, "spec.select", BI); PN->setIncomingValue(OrigI, V); PN->setIncomingValue(ThenI, V); } Index: test/Transforms/SimplifyCFG/SpeculativeExec.ll =================================================================== --- test/Transforms/SimplifyCFG/SpeculativeExec.ll +++ test/Transforms/SimplifyCFG/SpeculativeExec.ll @@ -85,7 +85,7 @@ ; CHECK-NEXT: load i32*, i32** %ptr3 ; CHECK-NOT: dereferenceable ; CHECK-NEXT: select i1 %tmp2, i32* %tmp3, i32* %ptr2 -; CHECK-NEXT: ret i32* %tmp3.ptr2 +; CHECK-NEXT: ret i32* %spec.select bb2: ; preds = bb1 %tmp3 = load i32*, i32** %ptr3, !dereferenceable !{i64 10} Index: test/Transforms/SimplifyCFG/guards.ll =================================================================== --- test/Transforms/SimplifyCFG/guards.ll +++ test/Transforms/SimplifyCFG/guards.ll @@ -81,6 +81,6 @@ ; CHECK: merge_block: ; CHECK-NEXT: %c1 = load volatile i1, i1* %c -; CHECK-NEXT: [[VAL:%[^ ]]] = select i1 %c1, i32 50, i32 100 +; CHECK-NEXT: [[VAL:%[^ ]+]] = select i1 %c1, i32 50, i32 100 ; CHECK-NEXT: ret i32 [[VAL]] } Index: test/Transforms/SimplifyCFG/merge-cond-stores-2.ll =================================================================== --- test/Transforms/SimplifyCFG/merge-cond-stores-2.ll +++ test/Transforms/SimplifyCFG/merge-cond-stores-2.ll @@ -9,23 +9,23 @@ ; CHECK-LABEL: @f ; Exactly 15 phis, as there are 15 in the original test case. -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK: select -; CHECK-NOT: select +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK: select i1 +; CHECK-NOT: select i1 ; CHECK: br i1 {{.*}}, label %[[L:.*]], label %[[R:.*]] ; CHECK: [[L]]: ; preds = ; CHECK-NEXT: store Index: test/Transforms/SimplifyCFG/multiple-phis.ll =================================================================== --- test/Transforms/SimplifyCFG/multiple-phis.ll +++ test/Transforms/SimplifyCFG/multiple-phis.ll @@ -4,8 +4,8 @@ ; the other behind, because that still requires a branch. If ; SimplifyCFG if-converts one of the phis, it should do both. -; CHECK: %div.high.addr.0 = select i1 %cmp1, i32 %div, i32 %high.addr.0 -; CHECK-NEXT: %low.0.add2 = select i1 %cmp1, i32 %low.0, i32 %add2 +; CHECK: %spec.select = select i1 %cmp1, i32 %div, i32 %high.addr.0 +; CHECK-NEXT: %spec.select1 = select i1 %cmp1, i32 %low.0, i32 %add2 ; CHECK-NEXT: br label %while.cond define i32 @upper_bound(i32* %r, i32 %high, i32 %k) nounwind { Index: test/Transforms/SimplifyCFG/select-gep.ll =================================================================== --- test/Transforms/SimplifyCFG/select-gep.ll +++ test/Transforms/SimplifyCFG/select-gep.ll @@ -16,6 +16,6 @@ ret i8* %x.addr ; CHECK-LABEL: @test1( -; CHECK: %incdec.ptr.y = select i1 %cmp, i8* %incdec.ptr, i8* %y -; CHECK: ret i8* %incdec.ptr.y +; CHECK: %spec.select = select i1 %cmp, i8* %incdec.ptr, i8* %y +; CHECK: ret i8* %spec.select }