diff options
| author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-01-15 22:18:10 +0000 |
|---|---|---|
| committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-01-15 22:18:10 +0000 |
| commit | 7f62ac8e4dba8191f48424e4c6ef59477d0edc16 (patch) | |
| tree | 5d39a7d4b7dbdb3cf2d395bad387a6dcf2956839 /llvm/test/Transforms/IRCE/multiple-access-no-preloop.ll | |
| parent | f1f72c9e437a764749db85ce57c40680f9ce51c0 (diff) | |
| download | bcm5719-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.ll | 59 |
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} |

