diff --git a/llvm/test/Transforms/InstCombine/strlen-1.ll b/llvm/test/Transforms/InstCombine/strlen-1.ll index f3287c0de35f..1e0dfb6a3088 100644 --- a/llvm/test/Transforms/InstCombine/strlen-1.ll +++ b/llvm/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 }