forked from OSchip/llvm-project
[SCCP] Re-generate check lines using --function-signature. (NFC)
This commit is contained in:
parent
272d35aef5
commit
43874c365f
|
@ -1,4 +1,4 @@
|
|||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
|
||||
; RUN: opt -ipsccp -S %s | FileCheck %s
|
||||
|
||||
%t1 = type opaque
|
||||
|
@ -8,9 +8,10 @@
|
|||
; Test that we a skip unknown values depending on a unknown tracked call, until the call gets resolved. The @test1 and @test2 variants are very similar, they just check 2 different kinds of users (icmp and zext)
|
||||
|
||||
define i32 @test1_m(i32 %h) {
|
||||
; CHECK-LABEL: define i32 @test1_m(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test1_m
|
||||
; CHECK-SAME: (i32 [[H:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[CONV:%.*]] = trunc i32 [[H:%.*]] to i8
|
||||
; CHECK-NEXT: [[CONV:%.*]] = trunc i32 [[H]] to i8
|
||||
; CHECK-NEXT: [[CALL:%.*]] = call i32 @test1_k(i8 [[CONV]], i32 0)
|
||||
; CHECK-NEXT: [[CONV1:%.*]] = sext i32 [[H]] to i64
|
||||
; CHECK-NEXT: [[TMP0:%.*]] = inttoptr i64 [[CONV1]] to %t1*
|
||||
|
@ -32,7 +33,8 @@ entry:
|
|||
declare void @use.1(i1)
|
||||
|
||||
define internal i32 @test1_k(i8 %h, i32 %i) {
|
||||
; CHECK-LABEL: define {{.*}} @test1_k(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test1_k
|
||||
; CHECK-SAME: (i8 [[H:%.*]], i32 [[I:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[TMP0:%.*]] = load i32, i32* @e, align 4
|
||||
; CHECK-NEXT: [[CONV:%.*]] = sext i32 [[TMP0]] to i64
|
||||
|
@ -55,9 +57,10 @@ entry:
|
|||
}
|
||||
|
||||
define internal i1 @test1_g(%t1* %h, i32 %i) #0 {
|
||||
; CHECK-LABEL: define {{.*}} @test1_g(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test1_g
|
||||
; CHECK-SAME: (%t1* [[H:%.*]], i32 [[I:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne i32 [[I:%.*]], 0
|
||||
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne i32 [[I]], 0
|
||||
; CHECK-NEXT: br i1 [[TOBOOL]], label [[LAND_RHS:%.*]], label [[LAND_END:%.*]]
|
||||
; CHECK: land.rhs:
|
||||
; CHECK-NEXT: [[CALL:%.*]] = call i32 (...) @test1_j()
|
||||
|
@ -84,9 +87,10 @@ land.end: ; preds = %land.rhs, %entry
|
|||
declare i32 @test1_j(...)
|
||||
|
||||
define i32 @test2_m(i32 %h) #0 {
|
||||
; CHECK-LABEL: define {{.*}} @test2_m(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test2_m
|
||||
; CHECK-SAME: (i32 [[H:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[CONV:%.*]] = trunc i32 [[H:%.*]] to i8
|
||||
; CHECK-NEXT: [[CONV:%.*]] = trunc i32 [[H]] to i8
|
||||
; CHECK-NEXT: [[CALL:%.*]] = call i32 @test2_k(i8 [[CONV]], i32 0)
|
||||
; CHECK-NEXT: [[CONV1:%.*]] = sext i32 [[H]] to i64
|
||||
; CHECK-NEXT: [[TMP0:%.*]] = inttoptr i64 [[CONV1]] to %t1*
|
||||
|
@ -108,7 +112,8 @@ entry:
|
|||
; TODO: We could do better for the return value of call i1 @test3_g, if we
|
||||
; resolve the unknown values there first.
|
||||
define internal i32 @test2_k(i8 %h, i32 %i) {
|
||||
; CHECK-LABEL: define {{.*}} @test2_k(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test2_k
|
||||
; CHECK-SAME: (i8 [[H:%.*]], i32 [[I:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[TMP0:%.*]] = load i32, i32* @e, align 4
|
||||
; CHECK-NEXT: [[CONV:%.*]] = sext i32 [[TMP0]] to i64
|
||||
|
@ -132,7 +137,8 @@ entry:
|
|||
}
|
||||
|
||||
define internal i1 @test2_g(%t1* %h, i32 %i) {
|
||||
; CHECK-LABEL: define {{.*}} @test2_g(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test2_g
|
||||
; CHECK-SAME: (%t1* [[H:%.*]], i32 [[I:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: br i1 true, label [[LAND_RHS:%.*]], label [[LAND_END:%.*]]
|
||||
; CHECK: land.rhs:
|
||||
|
@ -163,9 +169,10 @@ declare i32 @test2_j(...)
|
|||
|
||||
; Same as test_2*, but with a PHI node depending on a tracked call result.
|
||||
define i32 @test3_m(i32 %h) #0 {
|
||||
; CHECK-LABEL: define {{.*}} @test3_m(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test3_m
|
||||
; CHECK-SAME: (i32 [[H:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[CONV:%.*]] = trunc i32 [[H:%.*]] to i8
|
||||
; CHECK-NEXT: [[CONV:%.*]] = trunc i32 [[H]] to i8
|
||||
; CHECK-NEXT: [[CALL:%.*]] = call i32 @test3_k(i8 [[CONV]], i32 0)
|
||||
; CHECK-NEXT: [[CONV1:%.*]] = sext i32 [[H]] to i64
|
||||
; CHECK-NEXT: [[TMP0:%.*]] = inttoptr i64 [[CONV1]] to %t1*
|
||||
|
@ -185,7 +192,8 @@ entry:
|
|||
}
|
||||
|
||||
define internal i32 @test3_k(i8 %h, i32 %i) {
|
||||
; CHECK-LABEL: define {{.*}} @test3_k(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test3_k
|
||||
; CHECK-SAME: (i8 [[H:%.*]], i32 [[I:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[TMP0:%.*]] = load i32, i32* @e, align 4
|
||||
; CHECK-NEXT: [[CONV:%.*]] = sext i32 [[TMP0]] to i64
|
||||
|
@ -218,9 +226,10 @@ exit:
|
|||
}
|
||||
|
||||
define internal i1 @test3_g(%t1* %h, i32 %i) {
|
||||
; CHECK-LABEL: define {{.*}} @test3_g(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test3_g
|
||||
; CHECK-SAME: (%t1* [[H:%.*]], i32 [[I:%.*]])
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne i32 [[I:%.*]], 0
|
||||
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne i32 [[I]], 0
|
||||
; CHECK-NEXT: br i1 [[TOBOOL]], label [[LAND_RHS:%.*]], label [[LAND_END:%.*]]
|
||||
; CHECK: land.rhs:
|
||||
; CHECK-NEXT: [[CALL:%.*]] = call i32 (...) @test3_j()
|
||||
|
@ -254,7 +263,7 @@ declare void @use.16(i16*)
|
|||
declare void @use.8(i8*)
|
||||
|
||||
define void @test4_a() {
|
||||
; CHECK-LABEL: define {{.*}} @test4_a(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test4_a()
|
||||
; CHECK-NEXT: bb:
|
||||
; CHECK-NEXT: [[TMP:%.*]] = call i8* @test4_c(i8* null)
|
||||
; CHECK-NEXT: call void @test4_b(i8* null)
|
||||
|
@ -267,7 +276,8 @@ bb:
|
|||
}
|
||||
|
||||
define internal void @test4_b(i8* %arg) {
|
||||
; CHECK-LABEL: define {{.*}} @test4_b(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test4_b
|
||||
; CHECK-SAME: (i8* [[ARG:%.*]])
|
||||
; CHECK-NEXT: bb:
|
||||
; CHECK-NEXT: [[TMP:%.*]] = bitcast i8* null to i16*
|
||||
; CHECK-NEXT: call void @use.16(i16* [[TMP]])
|
||||
|
@ -283,7 +293,8 @@ bb:
|
|||
}
|
||||
|
||||
define internal i8* @test4_c(i8* %arg) {
|
||||
; CHECK-LABEL: define {{.*}} @test4_c(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test4_c
|
||||
; CHECK-SAME: (i8* [[ARG:%.*]])
|
||||
; CHECK-NEXT: bb1:
|
||||
; CHECK-NEXT: [[TMP:%.*]] = and i1 undef, undef
|
||||
; CHECK-NEXT: br i1 [[TMP]], label [[BB3:%.*]], label [[BB2:%.*]]
|
||||
|
@ -306,7 +317,7 @@ bb3: ; preds = %bb1
|
|||
; TODO: Same as test4, but with a select instead of a bitcast.
|
||||
|
||||
define void @test5_a() {
|
||||
; CHECK-LABEL: define {{.*}} @test5_a(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test5_a()
|
||||
; CHECK-NEXT: bb:
|
||||
; CHECK-NEXT: [[TMP:%.*]] = call i8* @test5_c(i8* null)
|
||||
; CHECK-NEXT: call void @test5_b(i8* null)
|
||||
|
@ -319,7 +330,8 @@ bb:
|
|||
}
|
||||
|
||||
define internal void @test5_b(i8* %arg) {
|
||||
; CHECK-LABEL: define {{.*}} @test5_b(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test5_b
|
||||
; CHECK-SAME: (i8* [[ARG:%.*]])
|
||||
; CHECK-NEXT: bb:
|
||||
; CHECK-NEXT: [[SEL:%.*]] = select i1 false, i8* null, i8* null
|
||||
; CHECK-NEXT: call void @use.8(i8* [[SEL]])
|
||||
|
@ -332,7 +344,8 @@ bb:
|
|||
}
|
||||
|
||||
define internal i8* @test5_c(i8* %arg) {
|
||||
; CHECK-LABEL: define {{.*}} @test5_c(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test5_c
|
||||
; CHECK-SAME: (i8* [[ARG:%.*]])
|
||||
; CHECK-NEXT: bb1:
|
||||
; CHECK-NEXT: [[TMP:%.*]] = and i1 undef, undef
|
||||
; CHECK-NEXT: br i1 [[TMP]], label [[BB3:%.*]], label [[BB2:%.*]]
|
||||
|
@ -359,7 +372,7 @@ bb3: ; preds = %bb1
|
|||
@maxposslen = external dso_local local_unnamed_addr global i32, align 4
|
||||
|
||||
define void @test3() {
|
||||
; CHECK-LABEL: define {{.*}} @test3(
|
||||
; CHECK-LABEL: define {{[^@]+}}@test3()
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: br label [[IF_END16:%.*]]
|
||||
; CHECK: if.end16:
|
||||
|
|
Loading…
Reference in New Issue