summaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/strlen-1.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/InstCombine/strlen-1.ll')
-rw-r--r--test/Transforms/InstCombine/strlen-1.ll22
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
}