diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-08-02 19:31:54 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-08-02 19:31:54 +0000 |
commit | f45e03e20173363f51056aa726a707ad8cf779df (patch) | |
tree | b66e7b0f1290aae2f58136edbed0f68d5b7491b7 /llvm/test/Transforms/IRCE/single-access-no-preloop.ll | |
parent | 8a482b33fed526b17a63e4539ca3036a89aea579 (diff) | |
download | bcm5719-llvm-f45e03e20173363f51056aa726a707ad8cf779df.tar.gz bcm5719-llvm-f45e03e20173363f51056aa726a707ad8cf779df.zip |
[IRCE] Preserve DomTree and LCSSA
This changes IRCE to "preserve" LCSSA and DomTree by recomputing them.
It still does not preserve LoopSimplify.
llvm-svn: 277505
Diffstat (limited to 'llvm/test/Transforms/IRCE/single-access-no-preloop.ll')
-rw-r--r-- | llvm/test/Transforms/IRCE/single-access-no-preloop.ll | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/test/Transforms/IRCE/single-access-no-preloop.ll b/llvm/test/Transforms/IRCE/single-access-no-preloop.ll index 76f134cf8d1..77288a01c00 100644 --- a/llvm/test/Transforms/IRCE/single-access-no-preloop.ll +++ b/llvm/test/Transforms/IRCE/single-access-no-preloop.ll @@ -31,12 +31,13 @@ define void @single_access_no_preloop_no_offset(i32 *%arr, i32 *%a_len_ptr, i32 ; CHECK: br i1 true, label %in.bounds, label %out.of.bounds ; CHECK: main.exit.selector: -; CHECK-NEXT: [[continue:%[^ ]+]] = icmp slt i32 %idx.next, %n +; CHECK-NEXT: %idx.next.lcssa = phi i32 [ %idx.next, %in.bounds ] +; CHECK-NEXT: [[continue:%[^ ]+]] = icmp slt i32 %idx.next.lcssa, %n ; CHECK-NEXT: br i1 [[continue]], label %main.pseudo.exit, label %exit.loopexit ; CHECK: main.pseudo.exit: -; CHECK-NEXT: %idx.copy = phi i32 [ 0, %loop.preheader ], [ %idx.next, %main.exit.selector ] -; CHECK-NEXT: %indvar.end = phi i32 [ 0, %loop.preheader ], [ %idx.next, %main.exit.selector ] +; CHECK-NEXT: %idx.copy = phi i32 [ 0, %loop.preheader ], [ %idx.next.lcssa, %main.exit.selector ] +; CHECK-NEXT: %indvar.end = phi i32 [ 0, %loop.preheader ], [ %idx.next.lcssa, %main.exit.selector ] ; CHECK-NEXT: br label %postloop ; CHECK: postloop: @@ -102,7 +103,7 @@ define void @single_access_no_preloop_with_offset(i32 *%arr, i32 *%a_len_ptr, i3 ; CHECK: br i1 [[continue_main_loop]], label %loop, label %main.exit.selector ; CHECK: main.pseudo.exit: -; CHECK: %idx.copy = phi i32 [ 0, %loop.preheader ], [ %idx.next, %main.exit.selector ] +; CHECK: %idx.copy = phi i32 [ 0, %loop.preheader ], [ %idx.next.lcssa, %main.exit.selector ] ; CHECK: br label %postloop ; CHECK: loop.postloop: |