diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2017-06-27 02:23:15 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2017-06-27 02:23:15 +0000 |
commit | 3b978394ba979dad78e3da1535e5b605917bbcd1 (patch) | |
tree | 9d590234b9201f14ccad4a0487611a29f11f1aac /llvm/test | |
parent | e2ae00198231f8242a73a67ea9579ad2b8d172ca (diff) | |
download | bcm5719-llvm-3b978394ba979dad78e3da1535e5b605917bbcd1.tar.gz bcm5719-llvm-3b978394ba979dad78e3da1535e5b605917bbcd1.zip |
[SROA] Clean up a test case a bit prior to adding more testing for
nonnull as part of fixing PR32902.
llvm-svn: 306353
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/SROA/preserve-nonnull.ll | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/llvm/test/Transforms/SROA/preserve-nonnull.ll b/llvm/test/Transforms/SROA/preserve-nonnull.ll index fc5ce6a445f..f85104dfad7 100644 --- a/llvm/test/Transforms/SROA/preserve-nonnull.ll +++ b/llvm/test/Transforms/SROA/preserve-nonnull.ll @@ -3,22 +3,20 @@ ; Make sure that SROA doesn't lose nonnull metadata ; on loads from allocas that get optimized out. -; CHECK-LABEL: define float* @yummy_nonnull -; CHECK: [[RETURN:%(.*)]] = load float*, float** %arg, align 8 -; CHECK: [[ASSUME:%(.*)]] = icmp ne float* {{.*}}[[RETURN]], null -; CHECK: call void @llvm.assume(i1 {{.*}}[[ASSUME]]) -; CHECK: ret float* {{.*}}[[RETURN]] - define float* @yummy_nonnull(float** %arg) { -entry-block: - %buf = alloca float* - - %_arg_i8 = bitcast float** %arg to i8* - %_buf_i8 = bitcast float** %buf to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %_buf_i8, i8* %_arg_i8, i64 8, i32 8, i1 false) - - %ret = load float*, float** %buf, align 8, !nonnull !0 - ret float* %ret +; CHECK-LABEL: define float* @yummy_nonnull( +; CHECK-NEXT: entry: +; CHECK-NEXT: %[[RETURN:.*]] = load float*, float** %arg, align 8 +; CHECK-NEXT: %[[ASSUME:.*]] = icmp ne float* %[[RETURN]], null +; CHECK-NEXT: call void @llvm.assume(i1 %[[ASSUME]]) +; CHECK-NEXT: ret float* %[[RETURN]] +entry: + %buf = alloca float* + %_arg_i8 = bitcast float** %arg to i8* + %_buf_i8 = bitcast float** %buf to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %_buf_i8, i8* %_arg_i8, i64 8, i32 8, i1 false) + %ret = load float*, float** %buf, align 8, !nonnull !0 + ret float* %ret } declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) |