diff options
Diffstat (limited to 'test/Transforms/InstCombine/strlen-1.ll')
-rw-r--r-- | test/Transforms/InstCombine/strlen-1.ll | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/test/Transforms/InstCombine/strlen-1.ll b/test/Transforms/InstCombine/strlen-1.ll index f3287c0de35f1..1e0dfb6a3088f 100644 --- a/test/Transforms/InstCombine/strlen-1.ll +++ b/test/Transforms/InstCombine/strlen-1.ll @@ -64,13 +64,14 @@ define i1 @test_simplify5() { ret i1 %eq_hello } -define i1 @test_simplify6() { +define i1 @test_simplify6(i8* %str_p) { ; CHECK-LABEL: @test_simplify6( -; CHECK-NEXT: ret i1 true +; CHECK-NEXT: [[STRLENFIRST:%.*]] = load i8, i8* [[STR_P:%.*]], align 1 +; CHECK-NEXT: [[EQ_NULL:%.*]] = icmp eq i8 [[STRLENFIRST]], 0 +; CHECK-NEXT: ret i1 [[EQ_NULL]] ; - %null_p = getelementptr [1 x i8], [1 x i8]* @null, i32 0, i32 0 - %null_l = call i32 @strlen(i8* %null_p) - %eq_null = icmp eq i32 %null_l, 0 + %str_l = call i32 @strlen(i8* %str_p) + %eq_null = icmp eq i32 %str_l, 0 ret i1 %eq_null } @@ -86,13 +87,14 @@ define i1 @test_simplify7() { ret i1 %ne_hello } -define i1 @test_simplify8() { +define i1 @test_simplify8(i8* %str_p) { ; CHECK-LABEL: @test_simplify8( -; CHECK-NEXT: ret i1 false +; CHECK-NEXT: [[STRLENFIRST:%.*]] = load i8, i8* [[STR_P:%.*]], align 1 +; CHECK-NEXT: [[NE_NULL:%.*]] = icmp ne i8 [[STRLENFIRST]], 0 +; CHECK-NEXT: ret i1 [[NE_NULL]] ; - %null_p = getelementptr [1 x i8], [1 x i8]* @null, i32 0, i32 0 - %null_l = call i32 @strlen(i8* %null_p) - %ne_null = icmp ne i32 %null_l, 0 + %str_l = call i32 @strlen(i8* %str_p) + %ne_null = icmp ne i32 %str_l, 0 ret i1 %ne_null } |