summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/IRCE/single-access-no-preloop.ll
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2016-08-02 19:31:54 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2016-08-02 19:31:54 +0000
commitf45e03e20173363f51056aa726a707ad8cf779df (patch)
treeb66e7b0f1290aae2f58136edbed0f68d5b7491b7 /llvm/test/Transforms/IRCE/single-access-no-preloop.ll
parent8a482b33fed526b17a63e4539ca3036a89aea579 (diff)
downloadbcm5719-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.ll9
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:
OpenPOWER on IntegriCloud