[llvm] 602e1cb - [SCCP] Regenerate check lines for some tests.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 23 06:29:49 PST 2023


Author: Florian Hahn
Date: 2023-01-23T14:29:33Z
New Revision: 602e1cbc0f753ec92089e3530eb29ebfd5215f6e

URL: https://github.com/llvm/llvm-project/commit/602e1cbc0f753ec92089e3530eb29ebfd5215f6e
DIFF: https://github.com/llvm/llvm-project/commit/602e1cbc0f753ec92089e3530eb29ebfd5215f6e.diff

LOG: [SCCP] Regenerate check lines for some tests.

Added: 
    

Modified: 
    llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    llvm/test/Transforms/SCCP/ip-constant-ranges.ll
    llvm/test/Transforms/SCCP/ip-ranges-binaryops.ll
    llvm/test/Transforms/SCCP/ip-ranges-phis.ll
    llvm/test/Transforms/SCCP/return-constants.ll
    llvm/test/Transforms/SCCP/widening.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/SCCP/ip-add-range-to-call.ll b/llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
index 9c5b73c8164c0..c114b7a956395 100644
--- a/llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
+++ b/llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt -passes=ipsccp -S %s | FileCheck %s
 
 ; Test 1.
@@ -12,8 +13,8 @@ define internal noundef i32 @callee(i32 %x) {
 
 define i32 @caller1() {
 ; CHECK-LABEL: @caller1(
-; CHECK-NEXT:    [[C1:%.*]] = call i32 @callee(i32 10), !range [[RANGE_10_21:![0-9]+]]
-; CHECK-NEXT:    [[C2:%.*]] = call i32 @callee(i32 20), !range [[RANGE_10_21]]
+; CHECK-NEXT:    [[C1:%.*]] = call i32 @callee(i32 10), !range [[RNG0:![0-9]+]]
+; CHECK-NEXT:    [[C2:%.*]] = call i32 @callee(i32 20), !range [[RNG0]]
 ; CHECK-NEXT:    [[A:%.*]] = add i32 [[C1]], [[C2]]
 ; CHECK-NEXT:    ret i32 [[A]]
 ;
@@ -26,7 +27,7 @@ define i32 @caller1() {
 define i32 @caller2(i32 %x) {
 ; CHECK-LABEL: @caller2(
 ; CHECK-NEXT:    [[X_15:%.*]] = and i32 [[X:%.*]], 15
-; CHECK-NEXT:    [[C:%.*]] = call i32 @callee(i32 [[X_15]]), !range [[RANGE_10_21]]
+; CHECK-NEXT:    [[C:%.*]] = call i32 @callee(i32 [[X_15]]), !range [[RNG0]]
 ; CHECK-NEXT:    ret i32 [[C]]
 ;
   %x.15 = and i32 %x, 15
@@ -51,9 +52,7 @@ define internal noundef i32 @callee2(i32 %x) {
 define void @caller_cb1() {
 ; CHECK-LABEL: @caller_cb1(
 ; CHECK-NEXT:    [[C1:%.*]] = call i32 @callee2(i32 9)
-; CHECK-NOT:   !range
 ; CHECK-NEXT:    [[C2:%.*]] = call i32 @callee2(i32 10)
-; CHECK-NOT:   !range
 ; CHECK-NEXT:    call void @use_cb1(ptr @callee2)
 ; CHECK-NEXT:    ret void
 ;
@@ -83,8 +82,8 @@ define internal noundef i32 @callee3(i32 %x) {
 
 define void @caller_cb2() {
 ; CHECK-LABEL: @caller_cb2(
-; CHECK-NEXT:    [[C1:%.*]] = call i32 @callee3(i32 9), !range [[RANGE_500_601:![0-9]+]]
-; CHECK-NEXT:    [[C2:%.*]] = call i32 @callee3(i32 10), !range [[RANGE_500_601]]
+; CHECK-NEXT:    [[C1:%.*]] = call i32 @callee3(i32 9), !range [[RNG1:![0-9]+]]
+; CHECK-NEXT:    [[C2:%.*]] = call i32 @callee3(i32 10), !range [[RNG1]]
 ; CHECK-NEXT:    call void @use_cb2(ptr @callee3)
 ; CHECK-NEXT:    ret void
 ;
@@ -170,5 +169,5 @@ define i32 @caller5() {
   ret i32 %a
 }
 
-; CHECK: [[RANGE_10_21]] = !{i32 0, i32 21}
-; CHECK: [[RANGE_500_601]] = !{i32 500, i32 601}
+; CHECK: [[RNG0]] = !{i32 0, i32 21}
+; CHECK: [[RNG1]] = !{i32 500, i32 601}

diff  --git a/llvm/test/Transforms/SCCP/ip-constant-ranges.ll b/llvm/test/Transforms/SCCP/ip-constant-ranges.ll
index 572f07137b9ab..72f308bcd7ce4 100644
--- a/llvm/test/Transforms/SCCP/ip-constant-ranges.ll
+++ b/llvm/test/Transforms/SCCP/ip-constant-ranges.ll
@@ -1,9 +1,13 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
 ; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
 
 ; Constant range for %a is [1, 48) and for %b is [301, 1000)
-; CHECK-LABEL: f1
-; CHECK: ret i32 undef
 define internal i32 @f1(i32 %a, i32 %b) {
+; CHECK-LABEL: define {{[^@]+}}@f1
+; CHECK-SAME: (i32 [[A:%.*]], i32 [[B:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    ret i32 undef
+;
 entry:
   %cmp.a = icmp sgt i32 %a, 300
   %cmp.b = icmp sgt i32 %b, 300
@@ -21,15 +25,19 @@ entry:
 }
 
 ; Constant range for %x is [47, 302)
-; CHECK-LABEL: f2
-; CHECK: %cmp = icmp sgt i32 %x, 300
-; CHECK: %res1 = select i1 %cmp, i32 1, i32 2
-; CHECK-NEXT: %res4 = select i1 %cmp4, i32 3, i32 4
-; CHECK-NEXT: %res6 = add i32 %res1, 3
-; CHECK-NEXT: %res7 = add i32 5, %res4
-; CHECK-NEXT: %res = add i32 %res6, 5
-; CHECK-NEXT: ret i32 %res
 define internal i32 @f2(i32 %x) {
+; CHECK-LABEL: define {{[^@]+}}@f2
+; CHECK-SAME: (i32 [[X:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X]], 300
+; CHECK-NEXT:    [[CMP4:%.*]] = icmp ugt i32 [[X]], 300
+; CHECK-NEXT:    [[RES1:%.*]] = select i1 [[CMP]], i32 1, i32 2
+; CHECK-NEXT:    [[RES4:%.*]] = select i1 [[CMP4]], i32 3, i32 4
+; CHECK-NEXT:    [[RES6:%.*]] = add i32 [[RES1]], 3
+; CHECK-NEXT:    [[RES7:%.*]] = add i32 5, [[RES4]]
+; CHECK-NEXT:    [[RES:%.*]] = add i32 [[RES6]], 5
+; CHECK-NEXT:    ret i32 [[RES]]
+;
 entry:
   %cmp = icmp sgt i32 %x, 300
   %cmp2 = icmp ne i32 %x, 10
@@ -49,6 +57,16 @@ entry:
 }
 
 define i32 @caller1() {
+; CHECK-LABEL: define {{[^@]+}}@caller1() {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CALL1:%.*]] = tail call i32 @f1(i32 1, i32 301)
+; CHECK-NEXT:    [[CALL2:%.*]] = tail call i32 @f1(i32 47, i32 999)
+; CHECK-NEXT:    [[CALL3:%.*]] = tail call i32 @f2(i32 47)
+; CHECK-NEXT:    [[CALL4:%.*]] = tail call i32 @f2(i32 301)
+; CHECK-NEXT:    [[RES_1:%.*]] = add nsw i32 12, [[CALL3]]
+; CHECK-NEXT:    [[RES_2:%.*]] = add nsw i32 [[RES_1]], [[CALL4]]
+; CHECK-NEXT:    ret i32 [[RES_2]]
+;
 entry:
   %call1 = tail call i32 @f1(i32 1, i32 301)
   %call2 = tail call i32 @f1(i32 47, i32 999)
@@ -59,10 +77,12 @@ entry:
   ret i32 %res.2
 }
 
-; CHECK-LABEL: f3
-; CHECK-LABEL: entry:
-; CHECK: ret i32 undef
 define internal i32 @f3(i32 %x) {
+; CHECK-LABEL: define {{[^@]+}}@f3
+; CHECK-SAME: (i32 [[X:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    ret i32 undef
+;
 entry:
   %cmp = icmp sgt i32 %x, 300
   %res = select i1 %cmp, i32 1, i32 2
@@ -71,6 +91,17 @@ entry:
 
 ; The phi node could be converted in a ConstantRange.
 define i32 @caller2(i1 %cmp) {
+; CHECK-LABEL: define {{[^@]+}}@caller2
+; CHECK-SAME: (i1 [[CMP:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br i1 [[CMP]], label [[IF_TRUE:%.*]], label [[END:%.*]]
+; CHECK:       if.true:
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[RES:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 1, [[IF_TRUE]] ]
+; CHECK-NEXT:    [[CALL1:%.*]] = tail call i32 @f3(i32 [[RES]])
+; CHECK-NEXT:    ret i32 2
+;
 entry:
   br i1 %cmp, label %if.true, label %end
 
@@ -83,9 +114,12 @@ end:
   ret i32 2
 }
 
-; CHECK-LABEL: f4
-; CHECK:  ret i32 undef
 define internal i32 @f4(i32 %x) {
+; CHECK-LABEL: define {{[^@]+}}@f4
+; CHECK-SAME: (i32 [[X:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    ret i32 undef
+;
 entry:
   %cmp = icmp sgt i32 %x, 300
   %res = select i1 %cmp, i32 1, i32 2
@@ -94,10 +128,17 @@ entry:
 
 ; ICmp introduces bounds on ConstantRanges.
 define i32 @caller3(i32 %x) {
-; CHECK-LABEL: define i32 @caller3(i32 %x)
-; CHECK-LABEL: end:
-; CHECK-NEXT:    %res = phi i32 [ 0, %entry ], [ 1, %if.true ]
-; CHECK-NEXT:    ret i32 %res
+; CHECK-LABEL: define {{[^@]+}}@caller3
+; CHECK-SAME: (i32 [[X:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X]], 300
+; CHECK-NEXT:    br i1 [[CMP]], label [[IF_TRUE:%.*]], label [[END:%.*]]
+; CHECK:       if.true:
+; CHECK-NEXT:    [[X_1:%.*]] = tail call i32 @f4(i32 [[X]])
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[RES:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 1, [[IF_TRUE]] ]
+; CHECK-NEXT:    ret i32 [[RES]]
 ;
 entry:
   %cmp = icmp sgt i32 %x, 300
@@ -115,6 +156,12 @@ end:
 ; Check to make sure we do not attempt to access lattice values in unreachable
 ; blocks.
 define i32 @test_unreachable() {
+; CHECK-LABEL: define {{[^@]+}}@test_unreachable() {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[TMP0:%.*]] = call i1 @test_unreachable_callee(i32 1)
+; CHECK-NEXT:    [[TMP1:%.*]] = call i1 @test_unreachable_callee(i32 2)
+; CHECK-NEXT:    ret i32 1
+;
 entry:
   call i1 @test_unreachable_callee(i32 1)
   call i1 @test_unreachable_callee(i32 2)
@@ -122,6 +169,11 @@ entry:
 }
 
 define internal i1 @test_unreachable_callee(i32 %a) {
+; CHECK-LABEL: define {{[^@]+}}@test_unreachable_callee
+; CHECK-SAME: (i32 [[A:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    ret i1 undef
+;
 entry:
   ret i1 true
 
@@ -133,21 +185,29 @@ unreachablebb:
 ; Check that we do not attempt to get range info for non-integer types and
 ; crash.
 define double @test_struct({ double, double } %test) {
-    %v = extractvalue { double, double } %test, 0
-    %r = fmul double %v, %v
-    ret double %r
+; CHECK-LABEL: define {{[^@]+}}@test_struct
+; CHECK-SAME: ({ double, double } [[TEST:%.*]]) {
+; CHECK-NEXT:    [[V:%.*]] = extractvalue { double, double } [[TEST]], 0
+; CHECK-NEXT:    [[R:%.*]] = fmul double [[V]], [[V]]
+; CHECK-NEXT:    ret double [[R]]
+;
+  %v = extractvalue { double, double } %test, 0
+  %r = fmul double %v, %v
+  ret double %r
 }
 
 ; Constant range for %x is [47, 302)
-; CHECK-LABEL: @f5
-; CHECK-NEXT: entry:
-; CHECK-NEXT:   %cmp = icmp sgt i32 %x, undef
-; CHECK-NEXT:   %cmp2 = icmp ne i32 undef, %x
-; CHECK-NEXT:   %res1 = select i1 %cmp, i32 1, i32 2
-; CHECK-NEXT:   %res2 = select i1 %cmp2, i32 3, i32 4
-; CHECK-NEXT:   %res = add i32 %res1, %res2
-; CHECK-NEXT:   ret i32 %res
 define internal i32 @f5(i32 %x) {
+; CHECK-LABEL: define {{[^@]+}}@f5
+; CHECK-SAME: (i32 [[X:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X]], undef
+; CHECK-NEXT:    [[CMP2:%.*]] = icmp ne i32 undef, [[X]]
+; CHECK-NEXT:    [[RES1:%.*]] = select i1 [[CMP]], i32 1, i32 2
+; CHECK-NEXT:    [[RES2:%.*]] = select i1 [[CMP2]], i32 3, i32 4
+; CHECK-NEXT:    [[RES:%.*]] = add i32 [[RES1]], [[RES2]]
+; CHECK-NEXT:    ret i32 [[RES]]
+;
 entry:
   %cmp = icmp sgt i32 %x, undef
   %cmp2 = icmp ne i32 undef, %x
@@ -159,6 +219,13 @@ entry:
 }
 
 define i32 @caller4() {
+; CHECK-LABEL: define {{[^@]+}}@caller4() {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CALL1:%.*]] = tail call i32 @f5(i32 47)
+; CHECK-NEXT:    [[CALL2:%.*]] = tail call i32 @f5(i32 301)
+; CHECK-NEXT:    [[RES:%.*]] = add nsw i32 [[CALL1]], [[CALL2]]
+; CHECK-NEXT:    ret i32 [[RES]]
+;
 entry:
   %call1 = tail call i32 @f5(i32 47)
   %call2 = tail call i32 @f5(i32 301)
@@ -167,11 +234,23 @@ entry:
 }
 
 ; Make sure we do re-evaluate the function after ParamState changes.
-; CHECK-LABEL: @recursive_f
-; CHECK-LABEL: entry:
-; CHECK:  %cmp = icmp eq i32 %i, 0
-; CHECK-NEXT: br i1 %cmp, label %if.then, label %if.else
 define internal i32 @recursive_f(i32 %i) {
+; CHECK-LABEL: define {{[^@]+}}@recursive_f
+; CHECK-SAME: (i32 [[I:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CMP:%.*]] = icmp eq i32 [[I]], 0
+; CHECK-NEXT:    br i1 [[CMP]], label [[IF_THEN:%.*]], label [[IF_ELSE:%.*]]
+; CHECK:       if.then:
+; CHECK-NEXT:    br label [[RETURN:%.*]]
+; CHECK:       if.else:
+; CHECK-NEXT:    [[SUB:%.*]] = sub nsw i32 [[I]], 1
+; CHECK-NEXT:    [[CALL:%.*]] = call i32 @recursive_f(i32 [[SUB]])
+; CHECK-NEXT:    [[ADD:%.*]] = add i32 [[I]], [[CALL]]
+; CHECK-NEXT:    br label [[RETURN]]
+; CHECK:       return:
+; CHECK-NEXT:    [[RETVAL_0:%.*]] = phi i32 [ 0, [[IF_THEN]] ], [ [[ADD]], [[IF_ELSE]] ]
+; CHECK-NEXT:    ret i32 [[RETVAL_0]]
+;
 entry:
   %cmp = icmp eq i32 %i, 0
   br i1 %cmp, label %if.then, label %if.else
@@ -190,18 +269,21 @@ return:                                           ; preds = %if.else, %if.then
   ret i32 %retval.0
 }
 
-; CHECK-LABEL: @caller5
-; CHECK: %call = call i32 @recursive_f(i32 42)
-; CHECK-NEXT: ret i32 %call
 define i32 @caller5() {
+; CHECK-LABEL: define {{[^@]+}}@caller5() {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[CALL:%.*]] = call i32 @recursive_f(i32 42)
+; CHECK-NEXT:    ret i32 [[CALL]]
+;
 entry:
   %call = call i32 @recursive_f(i32 42)
   ret i32 %call
 }
 
 define internal i32 @callee6.1(i32 %i) {
-; CHECK-LABEL: define internal i32 @callee6.1(
-; CHECK-NEXT:    %res = call i32 @callee6.2(i32 %i)
+; CHECK-LABEL: define {{[^@]+}}@callee6.1
+; CHECK-SAME: (i32 [[I:%.*]]) {
+; CHECK-NEXT:    [[RES:%.*]] = call i32 @callee6.2(i32 [[I]])
 ; CHECK-NEXT:    ret i32 undef
 ;
   %res = call i32 @callee6.2(i32 %i)
@@ -209,12 +291,13 @@ define internal i32 @callee6.1(i32 %i) {
 }
 
 define internal i32 @callee6.2(i32 %i) {
-; CHECK-LABEL: define internal i32 @callee6.2(i32 %i) {
-; CHECK-NEXT:    br label %if.then
-
-; CHECK-LABEL: if.then:
+; CHECK-LABEL: define {{[^@]+}}@callee6.2
+; CHECK-SAME: (i32 [[I:%.*]]) {
+; CHECK-NEXT:    br label [[IF_THEN:%.*]]
+; CHECK:       if.then:
 ; CHECK-NEXT:    ret i32 undef
 ;
+
   %cmp = icmp ne i32 %i, 0
   br i1 %cmp, label %if.then, label %if.else
 
@@ -226,9 +309,9 @@ if.else:                                          ; preds = %entry
 }
 
 define i32 @caller6() {
-; CHECK-LABEL: define i32 @caller6() {
-; CHECK-NEXT:    %call.1 = call i32 @callee6.1(i32 30)
-; CHECK-NEXT:    %call.2 = call i32 @callee6.1(i32 43)
+; CHECK-LABEL: define {{[^@]+}}@caller6() {
+; CHECK-NEXT:    [[CALL_1:%.*]] = call i32 @callee6.1(i32 30)
+; CHECK-NEXT:    [[CALL_2:%.*]] = call i32 @callee6.1(i32 43)
 ; CHECK-NEXT:    ret i32 2
 ;
   %call.1 = call i32 @callee6.1(i32 30)

diff  --git a/llvm/test/Transforms/SCCP/ip-ranges-binaryops.ll b/llvm/test/Transforms/SCCP/ip-ranges-binaryops.ll
index 7fa4807802fdd..ab57d7aef4b9a 100644
--- a/llvm/test/Transforms/SCCP/ip-ranges-binaryops.ll
+++ b/llvm/test/Transforms/SCCP/ip-ranges-binaryops.ll
@@ -1,20 +1,21 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
 
 ; x = [10, 21), y = [100, 201)
 ; x + y = [110, 221)
 define internal i1 @f.add(i32 %x, i32 %y) {
-; CHECK-LABEL: define internal i1 @f.add(i32 %x, i32 %y) {
-; CHECK-NEXT:    %a.1 = add i32 %x, %y
-; CHECK-NEXT:    %c.2 = icmp sgt i32 %a.1, 219
-; CHECK-NEXT:    %c.4 = icmp slt i32 %a.1, 111
-; CHECK-NEXT:    %c.5 = icmp eq i32 %a.1, 150
-; CHECK-NEXT:    %c.6 = icmp slt i32 %a.1, 150
-; CHECK-NEXT:    %res.1 = add i1 false, %c.2
-; CHECK-NEXT:    %res.2 = add i1 %res.1, false
-; CHECK-NEXT:    %res.3 = add i1 %res.2, %c.4
-; CHECK-NEXT:    %res.4 = add i1 %res.3, %c.5
-; CHECK-NEXT:    %res.5 = add i1 %res.4, %c.6
-; CHECK-NEXT:    ret i1 %res.5
+; CHECK-LABEL: @f.add(
+; CHECK-NEXT:    [[A_1:%.*]] = add i32 [[X:%.*]], [[Y:%.*]]
+; CHECK-NEXT:    [[C_2:%.*]] = icmp sgt i32 [[A_1]], 219
+; CHECK-NEXT:    [[C_4:%.*]] = icmp slt i32 [[A_1]], 111
+; CHECK-NEXT:    [[C_5:%.*]] = icmp eq i32 [[A_1]], 150
+; CHECK-NEXT:    [[C_6:%.*]] = icmp slt i32 [[A_1]], 150
+; CHECK-NEXT:    [[RES_1:%.*]] = add i1 false, [[C_2]]
+; CHECK-NEXT:    [[RES_2:%.*]] = add i1 [[RES_1]], false
+; CHECK-NEXT:    [[RES_3:%.*]] = add i1 [[RES_2]], [[C_4]]
+; CHECK-NEXT:    [[RES_4:%.*]] = add i1 [[RES_3]], [[C_5]]
+; CHECK-NEXT:    [[RES_5:%.*]] = add i1 [[RES_4]], [[C_6]]
+; CHECK-NEXT:    ret i1 [[RES_5]]
 ;
   %a.1 = add i32 %x, %y
   %c.1 = icmp sgt i32 %a.1, 220
@@ -32,11 +33,11 @@ define internal i1 @f.add(i32 %x, i32 %y) {
 }
 
 define i1 @caller.add() {
-; CHECK-LABEL:  define i1 @caller.add() {
-; CHECK-NEXT:    %call.1 = tail call i1 @f.add(i32 10, i32 100)
-; CHECK-NEXT:    %call.2 = tail call i1 @f.add(i32 20, i32 200)
-; CHECK-NEXT:    %res = and i1 %call.1, %call.2
-; CHECK-NEXT:    ret i1 %res
+; CHECK-LABEL: @caller.add(
+; CHECK-NEXT:    [[CALL_1:%.*]] = tail call i1 @f.add(i32 10, i32 100)
+; CHECK-NEXT:    [[CALL_2:%.*]] = tail call i1 @f.add(i32 20, i32 200)
+; CHECK-NEXT:    [[RES:%.*]] = and i1 [[CALL_1]], [[CALL_2]]
+; CHECK-NEXT:    ret i1 [[RES]]
 ;
   %call.1 = tail call i1 @f.add(i32 10, i32 100)
   %call.2 = tail call i1 @f.add(i32 20, i32 200)
@@ -48,18 +49,18 @@ define i1 @caller.add() {
 ; x = [10, 21), y = [100, 201)
 ; x - y = [-190, -79)
 define internal i1 @f.sub(i32 %x, i32 %y) {
-; CHECK-LABEL: define internal i1 @f.sub(i32 %x, i32 %y) {
-; CHECK-NEXT:    %a.1 = sub i32 %x, %y
-; CHECK-NEXT:    %c.2 = icmp sgt i32 %a.1, -81
-; CHECK-NEXT:    %c.4 = icmp slt i32 %a.1, -189
-; CHECK-NEXT:    %c.5 = icmp eq i32 %a.1, -150
-; CHECK-NEXT:    %c.6 = icmp slt i32 %a.1, -150
-; CHECK-NEXT:    %res.1 = add i1 false, %c.2
-; CHECK-NEXT:    %res.2 = add i1 %res.1, false
-; CHECK-NEXT:    %res.3 = add i1 %res.2, %c.4
-; CHECK-NEXT:    %res.4 = add i1 %res.3, %c.5
-; CHECK-NEXT:    %res.5 = add i1 %res.4, %c.6
-; CHECK-NEXT:    ret i1 %res.5
+; CHECK-LABEL: @f.sub(
+; CHECK-NEXT:    [[A_1:%.*]] = sub i32 [[X:%.*]], [[Y:%.*]]
+; CHECK-NEXT:    [[C_2:%.*]] = icmp sgt i32 [[A_1]], -81
+; CHECK-NEXT:    [[C_4:%.*]] = icmp slt i32 [[A_1]], -189
+; CHECK-NEXT:    [[C_5:%.*]] = icmp eq i32 [[A_1]], -150
+; CHECK-NEXT:    [[C_6:%.*]] = icmp slt i32 [[A_1]], -150
+; CHECK-NEXT:    [[RES_1:%.*]] = add i1 false, [[C_2]]
+; CHECK-NEXT:    [[RES_2:%.*]] = add i1 [[RES_1]], false
+; CHECK-NEXT:    [[RES_3:%.*]] = add i1 [[RES_2]], [[C_4]]
+; CHECK-NEXT:    [[RES_4:%.*]] = add i1 [[RES_3]], [[C_5]]
+; CHECK-NEXT:    [[RES_5:%.*]] = add i1 [[RES_4]], [[C_6]]
+; CHECK-NEXT:    ret i1 [[RES_5]]
 ;
   %a.1 = sub i32 %x, %y
   %c.1 = icmp sgt i32 %a.1, -80
@@ -77,11 +78,11 @@ define internal i1 @f.sub(i32 %x, i32 %y) {
 }
 
 define i1 @caller.sub() {
-; CHECK-LABEL:  define i1 @caller.sub() {
-; CHECK-NEXT:    %call.1 = tail call i1 @f.sub(i32 10, i32 100)
-; CHECK-NEXT:    %call.2 = tail call i1 @f.sub(i32 20, i32 200)
-; CHECK-NEXT:    %res = and i1 %call.1, %call.2
-; CHECK-NEXT:    ret i1 %res
+; CHECK-LABEL: @caller.sub(
+; CHECK-NEXT:    [[CALL_1:%.*]] = tail call i1 @f.sub(i32 10, i32 100)
+; CHECK-NEXT:    [[CALL_2:%.*]] = tail call i1 @f.sub(i32 20, i32 200)
+; CHECK-NEXT:    [[RES:%.*]] = and i1 [[CALL_1]], [[CALL_2]]
+; CHECK-NEXT:    ret i1 [[RES]]
 ;
   %call.1 = tail call i1 @f.sub(i32 10, i32 100)
   %call.2 = tail call i1 @f.sub(i32 20, i32 200)
@@ -92,18 +93,18 @@ define i1 @caller.sub() {
 ; x = [10, 21), y = [100, 201)
 ; x * y = [1000, 4001)
 define internal i1 @f.mul(i32 %x, i32 %y) {
-; CHECK-LABEL: define internal i1 @f.mul(i32 %x, i32 %y) {
-; CHECK-NEXT:    %a.1 = mul i32 %x, %y
-; CHECK-NEXT:    %c.2 = icmp sgt i32 %a.1, 3999
-; CHECK-NEXT:    %c.4 = icmp slt i32 %a.1, 1001
-; CHECK-NEXT:    %c.5 = icmp eq i32 %a.1, 1500
-; CHECK-NEXT:    %c.6 = icmp slt i32 %a.1, 1500
-; CHECK-NEXT:    %res.1 = add i1 false, %c.2
-; CHECK-NEXT:    %res.2 = add i1 %res.1, false
-; CHECK-NEXT:    %res.3 = add i1 %res.2, %c.4
-; CHECK-NEXT:    %res.4 = add i1 %res.3, %c.5
-; CHECK-NEXT:    %res.5 = add i1 %res.4, %c.6
-; CHECK-NEXT:    ret i1 %res.5
+; CHECK-LABEL: @f.mul(
+; CHECK-NEXT:    [[A_1:%.*]] = mul i32 [[X:%.*]], [[Y:%.*]]
+; CHECK-NEXT:    [[C_2:%.*]] = icmp sgt i32 [[A_1]], 3999
+; CHECK-NEXT:    [[C_4:%.*]] = icmp slt i32 [[A_1]], 1001
+; CHECK-NEXT:    [[C_5:%.*]] = icmp eq i32 [[A_1]], 1500
+; CHECK-NEXT:    [[C_6:%.*]] = icmp slt i32 [[A_1]], 1500
+; CHECK-NEXT:    [[RES_1:%.*]] = add i1 false, [[C_2]]
+; CHECK-NEXT:    [[RES_2:%.*]] = add i1 [[RES_1]], false
+; CHECK-NEXT:    [[RES_3:%.*]] = add i1 [[RES_2]], [[C_4]]
+; CHECK-NEXT:    [[RES_4:%.*]] = add i1 [[RES_3]], [[C_5]]
+; CHECK-NEXT:    [[RES_5:%.*]] = add i1 [[RES_4]], [[C_6]]
+; CHECK-NEXT:    ret i1 [[RES_5]]
 ;
   %a.1 = mul i32 %x, %y
   %c.1 = icmp sgt i32 %a.1, 4000
@@ -121,11 +122,11 @@ define internal i1 @f.mul(i32 %x, i32 %y) {
 }
 
 define i1 @caller.mul() {
-; CHECK-LABEL:  define i1 @caller.mul() {
-; CHECK-NEXT:    %call.1 = tail call i1 @f.mul(i32 10, i32 100)
-; CHECK-NEXT:    %call.2 = tail call i1 @f.mul(i32 20, i32 200)
-; CHECK-NEXT:    %res = and i1 %call.1, %call.2
-; CHECK-NEXT:    ret i1 %res
+; CHECK-LABEL: @caller.mul(
+; CHECK-NEXT:    [[CALL_1:%.*]] = tail call i1 @f.mul(i32 10, i32 100)
+; CHECK-NEXT:    [[CALL_2:%.*]] = tail call i1 @f.mul(i32 20, i32 200)
+; CHECK-NEXT:    [[RES:%.*]] = and i1 [[CALL_1]], [[CALL_2]]
+; CHECK-NEXT:    ret i1 [[RES]]
 ;
   %call.1 = tail call i1 @f.mul(i32 10, i32 100)
   %call.2 = tail call i1 @f.mul(i32 20, i32 200)

diff  --git a/llvm/test/Transforms/SCCP/ip-ranges-phis.ll b/llvm/test/Transforms/SCCP/ip-ranges-phis.ll
index 6372d3c58af56..42a4bd9cf227f 100644
--- a/llvm/test/Transforms/SCCP/ip-ranges-phis.ll
+++ b/llvm/test/Transforms/SCCP/ip-ranges-phis.ll
@@ -1,7 +1,9 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
 ; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
 
 define internal i32 @f1(i32 %x) {
-; CHECK-LABEL: define internal i32 @f1(
+; CHECK-LABEL: define {{[^@]+}}@f1
+; CHECK-SAME: (i32 [[X:%.*]]) {
 ; CHECK-NEXT:    ret i32 undef
 ;
   %cmp = icmp sgt i32 %x, 300
@@ -11,18 +13,19 @@ define internal i32 @f1(i32 %x) {
 
 ; %res is a constant range [0, 2) from a PHI node.
 define i32 @caller1(i1 %cmp) {
-; CHECK-LABEL: define i32 @caller1(
-; CHECK-LABEL: entry:
-; CHECK-NEXT:    br i1 %cmp, label %if.true, label %end
-
-; CHECK-LABEL: if.true:
-; CHECK-NEXT:    br label %end
-
-; CHECK-LABEL: end:
-; CHECK-NEXT:    %res = phi i32 [ 0, %entry ], [ 1, %if.true ]
-; CHECK-NEXT:    %call1 = tail call i32 @f1(i32 %res)
+; CHECK-LABEL: define {{[^@]+}}@caller1
+; CHECK-SAME: (i1 [[CMP:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br i1 [[CMP]], label [[IF_TRUE:%.*]], label [[END:%.*]]
+; CHECK:       if.true:
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[RES:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 1, [[IF_TRUE]] ]
+; CHECK-NEXT:    [[CALL1:%.*]] = tail call i32 @f1(i32 [[RES]])
 ; CHECK-NEXT:    ret i32 2
 ;
+
+
 entry:
   br i1 %cmp, label %if.true, label %end
 
@@ -36,32 +39,33 @@ end:
 }
 
 define internal i32 @f2(i32 %x, i32 %y, i32 %z, i1 %cmp.1, i1 %cmp.2) {
-; CHECK-LABEL: define internal i32 @f2(
-; CHECK-LABEL: entry:
-; CHECK-NEXT:    br i1 %cmp.1, label %if.true.1, label %end
-
-; CHECK-LABEL: if.true.1:
-; CHECK-NEXT:    br i1 %cmp.2, label %if.true.2, label %end
-
-; CHECK-LABEL: if.true.2:
-; CHECK-NEXT:    br label %end
-
-; CHECK-LABEL: end:
-; CHECK-NEXT:    %p = phi i32 [ %x, %entry ], [ %y, %if.true.1 ], [ %z, %if.true.2 ]
-; CHECK-NEXT:    %c.1 = icmp sgt i32 %p, 5
-; CHECK-NEXT:    %c.2 = icmp eq i32 %p, 0
-; CHECK-NEXT:    %c.3 = icmp slt i32 %p, 0
-; CHECK-NEXT:    %v.1 = select i1 %c.1, i32 10, i32 100
-; CHECK-NEXT:    %v.2 = select i1 %c.2, i32 20, i32 200
-; CHECK-NEXT:    %v.3 = select i1 %c.3, i32 30, i32 300
-; CHECK-NEXT:    %r.1 = add i32 %v.1, %v.2
-; CHECK-NEXT:    %r.2 = add i32 %r.1, %v.3
-; CHECK-NEXT:    %r.3 = add i32 %r.2, 400
-; CHECK-NEXT:    %r.4 = add i32 %r.3, 50
-; CHECK-NEXT:    %r.5 = add i32 %r.4, 60
-; CHECK-NEXT:    %r.6 = add i32 %r.4, 700
-; CHECK-NEXT:    ret i32 %r.6
+; CHECK-LABEL: define {{[^@]+}}@f2
+; CHECK-SAME: (i32 [[X:%.*]], i32 [[Y:%.*]], i32 [[Z:%.*]], i1 [[CMP_1:%.*]], i1 [[CMP_2:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br i1 [[CMP_1]], label [[IF_TRUE_1:%.*]], label [[END:%.*]]
+; CHECK:       if.true.1:
+; CHECK-NEXT:    br i1 [[CMP_2]], label [[IF_TRUE_2:%.*]], label [[END]]
+; CHECK:       if.true.2:
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[P:%.*]] = phi i32 [ [[X]], [[ENTRY:%.*]] ], [ [[Y]], [[IF_TRUE_1]] ], [ [[Z]], [[IF_TRUE_2]] ]
+; CHECK-NEXT:    [[C_1:%.*]] = icmp sgt i32 [[P]], 5
+; CHECK-NEXT:    [[C_2:%.*]] = icmp eq i32 [[P]], 0
+; CHECK-NEXT:    [[C_3:%.*]] = icmp slt i32 [[P]], 0
+; CHECK-NEXT:    [[V_1:%.*]] = select i1 [[C_1]], i32 10, i32 100
+; CHECK-NEXT:    [[V_2:%.*]] = select i1 [[C_2]], i32 20, i32 200
+; CHECK-NEXT:    [[V_3:%.*]] = select i1 [[C_3]], i32 30, i32 300
+; CHECK-NEXT:    [[R_1:%.*]] = add i32 [[V_1]], [[V_2]]
+; CHECK-NEXT:    [[R_2:%.*]] = add i32 [[R_1]], [[V_3]]
+; CHECK-NEXT:    [[R_3:%.*]] = add i32 [[R_2]], 400
+; CHECK-NEXT:    [[R_4:%.*]] = add i32 [[R_3]], 50
+; CHECK-NEXT:    [[R_5:%.*]] = add i32 [[R_4]], 60
+; CHECK-NEXT:    [[R_6:%.*]] = add i32 [[R_4]], 700
+; CHECK-NEXT:    ret i32 [[R_6]]
 ;
+
+
+
 entry:
   br i1 %cmp.1, label %if.true.1, label %end
 
@@ -97,21 +101,22 @@ end:
 }
 
 define i32 @caller2(i1 %cmp.1, i1 %cmp.2) {
-; CHECK-LABEL: define i32 @caller2(i1 %cmp.1, i1 %cmp.2) {
-; CHECK-LABEL: entry:
-; CHECK-NEXT:    br i1 %cmp.1, label %if.true, label %end
-
-; CHECK-LABEL: if.true:                                          ; preds = %entry
-; CHECK-NEXT:    br label %end
-
-; CHECK-LABEL: end:                                              ; preds = %if.true, %entry
-; CHECK-NEXT:    %p1 = phi i32 [ 0, %entry ], [ 1, %if.true ]
-; CHECK-NEXT:    %p2 = phi i32 [ 1, %entry ], [ -10, %if.true ]
-; CHECK-NEXT:    %p3 = phi i32 [ 1, %entry ], [ 10, %if.true ]
-; CHECK-NEXT:    %call1 = tail call i32 @f2(i32 %p1, i32 %p2, i32 %p3, i1 %cmp.1, i1 %cmp.2)
-; CHECK-NEXT:    ret i32 %call1
+; CHECK-LABEL: define {{[^@]+}}@caller2
+; CHECK-SAME: (i1 [[CMP_1:%.*]], i1 [[CMP_2:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br i1 [[CMP_1]], label [[IF_TRUE:%.*]], label [[END:%.*]]
+; CHECK:       if.true:
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[P1:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 1, [[IF_TRUE]] ]
+; CHECK-NEXT:    [[P2:%.*]] = phi i32 [ 1, [[ENTRY]] ], [ -10, [[IF_TRUE]] ]
+; CHECK-NEXT:    [[P3:%.*]] = phi i32 [ 1, [[ENTRY]] ], [ 10, [[IF_TRUE]] ]
+; CHECK-NEXT:    [[CALL1:%.*]] = tail call i32 @f2(i32 [[P1]], i32 [[P2]], i32 [[P3]], i1 [[CMP_1]], i1 [[CMP_2]])
+; CHECK-NEXT:    ret i32 [[CALL1]]
 ;
 
+
+
 entry:
   br i1 %cmp.1, label %if.true, label %end
 
@@ -127,37 +132,38 @@ end:
 }
 
 define internal i32 @f3(i32 %x, i32 %y, i1 %cmp.1) {
-; CHECK-LABEL: define internal i32 @f3(i32 %x, i32 %y, i1 %cmp.1) {
-; CHECK-LABEL: entry:
-; CHECK-NEXT:    br i1 %cmp.1, label %if.true.1, label %end
-
-; CHECK-LABEL: if.true.1:                                        ; preds = %entry
-; CHECK-NEXT:    br label %end
-
-; CHECK-LABEL: end:                                              ; preds = %if.true.1, %entry
-; CHECK-NEXT:    %p = phi i32 [ %x, %entry ], [ %y, %if.true.1 ]
-; CHECK-NEXT:    %c.1 = icmp sgt i32 %p, 5
-; CHECK-NEXT:    %c.2 = icmp eq i32 %p, 0
-; CHECK-NEXT:    %c.3 = icmp slt i32 %p, 0
-; CHECK-NEXT:    %c.4 = icmp sgt i32 %p, 10
-; CHECK-NEXT:    %c.5 = icmp sle i32 %p, 10
-; CHECK-NEXT:    %c.6 = icmp sgt i32 %p, -11
-; CHECK-NEXT:    %c.7 = icmp slt i32 %p, -11
-; CHECK-NEXT:    %v.1 = select i1 %c.1, i32 10, i32 100
-; CHECK-NEXT:    %v.2 = select i1 %c.2, i32 20, i32 200
-; CHECK-NEXT:    %v.3 = select i1 %c.3, i32 30, i32 300
-; CHECK-NEXT:    %v.4 = select i1 %c.4, i32 40, i32 400
-; CHECK-NEXT:    %v.5 = select i1 %c.5, i32 50, i32 500
-; CHECK-NEXT:    %v.6 = select i1 %c.6, i32 60, i32 600
-; CHECK-NEXT:    %v.7 = select i1 %c.7, i32 70, i32 700
-; CHECK-NEXT:    %r.1 = add i32 %v.1, %v.2
-; CHECK-NEXT:    %r.2 = add i32 %r.1, %v.3
-; CHECK-NEXT:    %r.3 = add i32 %r.2, %v.4
-; CHECK-NEXT:    %r.4 = add i32 %r.3, %v.5
-; CHECK-NEXT:    %r.5 = add i32 %r.4, %v.6
-; CHECK-NEXT:    %r.6 = add i32 %r.4, %v.7
-; CHECK-NEXT:    ret i32 %r.6
+; CHECK-LABEL: define {{[^@]+}}@f3
+; CHECK-SAME: (i32 [[X:%.*]], i32 [[Y:%.*]], i1 [[CMP_1:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br i1 [[CMP_1]], label [[IF_TRUE_1:%.*]], label [[END:%.*]]
+; CHECK:       if.true.1:
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[P:%.*]] = phi i32 [ [[X]], [[ENTRY:%.*]] ], [ [[Y]], [[IF_TRUE_1]] ]
+; CHECK-NEXT:    [[C_1:%.*]] = icmp sgt i32 [[P]], 5
+; CHECK-NEXT:    [[C_2:%.*]] = icmp eq i32 [[P]], 0
+; CHECK-NEXT:    [[C_3:%.*]] = icmp slt i32 [[P]], 0
+; CHECK-NEXT:    [[C_4:%.*]] = icmp sgt i32 [[P]], 10
+; CHECK-NEXT:    [[C_5:%.*]] = icmp sle i32 [[P]], 10
+; CHECK-NEXT:    [[C_6:%.*]] = icmp sgt i32 [[P]], -11
+; CHECK-NEXT:    [[C_7:%.*]] = icmp slt i32 [[P]], -11
+; CHECK-NEXT:    [[V_1:%.*]] = select i1 [[C_1]], i32 10, i32 100
+; CHECK-NEXT:    [[V_2:%.*]] = select i1 [[C_2]], i32 20, i32 200
+; CHECK-NEXT:    [[V_3:%.*]] = select i1 [[C_3]], i32 30, i32 300
+; CHECK-NEXT:    [[V_4:%.*]] = select i1 [[C_4]], i32 40, i32 400
+; CHECK-NEXT:    [[V_5:%.*]] = select i1 [[C_5]], i32 50, i32 500
+; CHECK-NEXT:    [[V_6:%.*]] = select i1 [[C_6]], i32 60, i32 600
+; CHECK-NEXT:    [[V_7:%.*]] = select i1 [[C_7]], i32 70, i32 700
+; CHECK-NEXT:    [[R_1:%.*]] = add i32 [[V_1]], [[V_2]]
+; CHECK-NEXT:    [[R_2:%.*]] = add i32 [[R_1]], [[V_3]]
+; CHECK-NEXT:    [[R_3:%.*]] = add i32 [[R_2]], [[V_4]]
+; CHECK-NEXT:    [[R_4:%.*]] = add i32 [[R_3]], [[V_5]]
+; CHECK-NEXT:    [[R_5:%.*]] = add i32 [[R_4]], [[V_6]]
+; CHECK-NEXT:    [[R_6:%.*]] = add i32 [[R_4]], [[V_7]]
+; CHECK-NEXT:    ret i32 [[R_6]]
 ;
+
+
 entry:
   br i1 %cmp.1, label %if.true.1, label %end
 
@@ -190,18 +196,19 @@ end:
 }
 
 define i32 @caller3(i32 %y, i1 %cmp.1) {
-; CHECK-LABEL: define i32 @caller3(i32 %y, i1 %cmp.1) {
-; CHECK-LABEL: entry:
-; CHECK-NEXT:    br i1 %cmp.1, label %if.true, label %end
+; CHECK-LABEL: define {{[^@]+}}@caller3
+; CHECK-SAME: (i32 [[Y:%.*]], i1 [[CMP_1:%.*]]) {
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br i1 [[CMP_1]], label [[IF_TRUE:%.*]], label [[END:%.*]]
+; CHECK:       if.true:
+; CHECK-NEXT:    br label [[END]]
+; CHECK:       end:
+; CHECK-NEXT:    [[P1:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 5, [[IF_TRUE]] ]
+; CHECK-NEXT:    [[CALL1:%.*]] = tail call i32 @f3(i32 [[P1]], i32 [[Y]], i1 [[CMP_1]])
+; CHECK-NEXT:    ret i32 [[CALL1]]
+;
 
-; CHECK-LABEL: if.true:
-; CHECK-NEXT:    br label %end
 
-; CHECK-LABEL: end:
-; CHECK-NEXT:    %p1 = phi i32 [ 0, %entry ], [ 5, %if.true ]
-; CHECK-NEXT:    %call1 = tail call i32 @f3(i32 %p1, i32 %y, i1 %cmp.1)
-; CHECK-NEXT:    ret i32 %call1
-;
 entry:
   br i1 %cmp.1, label %if.true, label %end
 

diff  --git a/llvm/test/Transforms/SCCP/return-constants.ll b/llvm/test/Transforms/SCCP/return-constants.ll
index 70a41860ba6ce..9f48844c02255 100644
--- a/llvm/test/Transforms/SCCP/return-constants.ll
+++ b/llvm/test/Transforms/SCCP/return-constants.ll
@@ -47,11 +47,11 @@ F:                                                ; preds = %0
 define %0 @caller(i1 %Q) {
 ; CHECK-LABEL: @caller(
 ; CHECK-NEXT:    [[X:%.*]] = call [[TMP0:%.*]] @foo(i1 [[Q:%.*]])
-; CHECK-NEXT:    [[B:%.*]] = extractvalue [[TMP0]] %X, 1
+; CHECK-NEXT:    [[B:%.*]] = extractvalue [[TMP0]] [[X]], 1
 ; CHECK-NEXT:    [[Y:%.*]] = call [[TMP0]] @bar(i1 [[Q]])
-; CHECK-NEXT:    [[D:%.*]] = extractvalue [[TMP0]] %Y, 1
+; CHECK-NEXT:    [[D:%.*]] = extractvalue [[TMP0]] [[Y]], 1
 ; CHECK-NEXT:    [[N:%.*]] = add i32 [[B]], [[D]]
-; CHECK-NEXT:    ret [[TMP0]] %X
+; CHECK-NEXT:    ret [[TMP0]] [[X]]
 ;
   %X = call %0 @foo(i1 %Q)
   %A = extractvalue %0 %X, 0

diff  --git a/llvm/test/Transforms/SCCP/widening.ll b/llvm/test/Transforms/SCCP/widening.ll
index c5bf3417d687a..68158654185f6 100644
--- a/llvm/test/Transforms/SCCP/widening.ll
+++ b/llvm/test/Transforms/SCCP/widening.ll
@@ -601,7 +601,7 @@ define ptr @wobble(ptr %arg, i32 %arg1) align 2 {
 ; SCCP-NEXT:    br label [[BB8:%.*]]
 ; SCCP:       bb8:
 ; SCCP-NEXT:    [[TMP9:%.*]] = phi ptr [ undef, [[BB:%.*]] ], [ [[TMP17:%.*]], [[BB29:%.*]] ]
-; SCCP-NEXT:    [[TMP10:%.*]] = phi ptr [ undef, [[BB]] ], [ [[TMP18:%.*]], [[BB29]] ]
+; SCCP-NEXT:    [[TMP10:%.*]] = phi ptr [ undef, [[BB]] ], [ [[TMP17]], [[BB29]] ]
 ; SCCP-NEXT:    [[TMP11:%.*]] = phi i32 [ 0, [[BB]] ], [ [[TMP30:%.*]], [[BB29]] ]
 ; SCCP-NEXT:    [[C_1:%.*]] = icmp slt i32 [[TMP11]], 8
 ; SCCP-NEXT:    br i1 [[C_1]], label [[BB13:%.*]], label [[BB31:%.*]]
@@ -683,7 +683,7 @@ define ptr @wobble(ptr %arg, i32 %arg1) align 2 {
 ; IPSCCP-NEXT:    br label [[BB8:%.*]]
 ; IPSCCP:       bb8:
 ; IPSCCP-NEXT:    [[TMP9:%.*]] = phi ptr [ undef, [[BB:%.*]] ], [ [[TMP17:%.*]], [[BB29:%.*]] ]
-; IPSCCP-NEXT:    [[TMP10:%.*]] = phi ptr [ undef, [[BB]] ], [ [[TMP18:%.*]], [[BB29]] ]
+; IPSCCP-NEXT:    [[TMP10:%.*]] = phi ptr [ undef, [[BB]] ], [ [[TMP17]], [[BB29]] ]
 ; IPSCCP-NEXT:    [[TMP11:%.*]] = phi i32 [ 0, [[BB]] ], [ [[TMP30:%.*]], [[BB29]] ]
 ; IPSCCP-NEXT:    [[C_1:%.*]] = icmp slt i32 [[TMP11]], 8
 ; IPSCCP-NEXT:    br i1 [[C_1]], label [[BB13:%.*]], label [[BB31:%.*]]


        


More information about the llvm-commits mailing list