summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2015-01-15 22:18:10 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2015-01-15 22:18:10 +0000
commit7f62ac8e4dba8191f48424e4c6ef59477d0edc16 (patch)
tree5d39a7d4b7dbdb3cf2d395bad387a6dcf2956839 /llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll
parentf1f72c9e437a764749db85ce57c40680f9ce51c0 (diff)
downloadbcm5719-llvm-7f62ac8e4dba8191f48424e4c6ef59477d0edc16.tar.gz
bcm5719-llvm-7f62ac8e4dba8191f48424e4c6ef59477d0edc16.zip
Revert r226201 (Add a new pass "inductive range check elimination")
The change used C++11 features not supported by MSVC 2012. I will fix the change to use things supported MSVC 2012 and recommit shortly. llvm-svn: 226216
Diffstat (limited to 'llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll')
-rw-r--r--llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll59
1 files changed, 0 insertions, 59 deletions
diff --git a/llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll b/llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll
deleted file mode 100644
index 56b7b7b6c65..00000000000
--- a/llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll
+++ /dev/null
@@ -1,59 +0,0 @@
-; RUN: opt -irce -S < %s | FileCheck %s
-
-define void @multiple_access_no_preloop(
- i32* %arr_a, i32* %a_len_ptr, i32* %arr_b, i32* %b_len_ptr, i32 %n) {
-
- entry:
- %len.a = load i32* %a_len_ptr, !range !0
- %len.b = load i32* %b_len_ptr, !range !0
- %first.itr.check = icmp sgt i32 %n, 0
- br i1 %first.itr.check, label %loop, label %exit
-
- loop:
- %idx = phi i32 [ 0, %entry ] , [ %idx.next, %in.bounds.b ]
- %idx.next = add i32 %idx, 1
- %abc.a = icmp slt i32 %idx, %len.a
- br i1 %abc.a, label %in.bounds.a, label %out.of.bounds
-
- in.bounds.a:
- %addr.a = getelementptr i32* %arr_a, i32 %idx
- store i32 0, i32* %addr.a
- %abc.b = icmp slt i32 %idx, %len.b
- br i1 %abc.b, label %in.bounds.b, label %out.of.bounds
-
- in.bounds.b:
- %addr.b = getelementptr i32* %arr_b, i32 %idx
- store i32 -1, i32* %addr.b
- %next = icmp slt i32 %idx.next, %n
- br i1 %next, label %loop, label %exit
-
- out.of.bounds:
- ret void
-
- exit:
- ret void
-}
-
-; CHECK-LABEL: multiple_access_no_preloop
-
-; CHECK-LABEL: loop.preheader:
-; CHECK: [[smaller_len_cmp:[^ ]+]] = icmp slt i32 %len.a, %len.b
-; CHECK: [[smaller_len:[^ ]+]] = select i1 [[smaller_len_cmp]], i32 %len.a, i32 %len.b
-; CHECK: [[upper_bound_cmp:[^ ]+]] = icmp slt i32 %n, %3
-; CHECK: [[upper_bound:[^ ]+]] = select i1 %5, i32 %n, i32 %3
-
-; CHECK-LABEL: loop:
-; CHECK: br i1 true, label %in.bounds.a, label %out.of.bounds
-
-; CHECK-LABEL: in.bounds.a:
-; CHECK: br i1 true, label %in.bounds.b, label %out.of.bounds
-
-; CHECK-LABEL: in.bounds.b:
-; CHECK: [[main_loop_cond:[^ ]+]] = icmp slt i32 %idx.next, [[upper_bound]]
-; CHECK: br i1 [[main_loop_cond]], label %loop, label %main.exit.selector
-
-; CHECK-LABEL: in.bounds.b.postloop:
-; CHECK: %next.postloop = icmp slt i32 %idx.next.postloop, %n
-; CHECK: br i1 %next.postloop, label %loop.postloop, label %exit.loopexit
-
-!0 = !{i32 0, i32 2147483647}
OpenPOWER on IntegriCloud