diff options
author | Matthew Simpson <mssimpso@codeaurora.org> | 2017-02-14 16:28:32 +0000 |
---|---|---|
committer | Matthew Simpson <mssimpso@codeaurora.org> | 2017-02-14 16:28:32 +0000 |
commit | f09d13e5cc47b52cef8ca695aad6aa3c77dbe87e (patch) | |
tree | 326d51ee81321c01b5d083621334241c456af299 /llvm/test/Transforms/LoopVectorize/reverse_iter.ll | |
parent | 17ba44519ba85deb8d3db77b202dba75bc129f5c (diff) | |
download | bcm5719-llvm-f09d13e5cc47b52cef8ca695aad6aa3c77dbe87e.tar.gz bcm5719-llvm-f09d13e5cc47b52cef8ca695aad6aa3c77dbe87e.zip |
Reapply "[LV] Extend trunc optimization to all IVs with constant integer steps"
This reapplies commit r294967 with a fix for the execution time regressions
caught by the clang-cmake-aarch64-quick bot. We now extend the truncate
optimization to non-primary induction variables only if the truncate isn't
already free.
Differential Revision: https://reviews.llvm.org/D29847
llvm-svn: 295063
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/reverse_iter.ll')
-rw-r--r-- | llvm/test/Transforms/LoopVectorize/reverse_iter.ll | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/reverse_iter.ll b/llvm/test/Transforms/LoopVectorize/reverse_iter.ll index a6e2abda36d..bd057698280 100644 --- a/llvm/test/Transforms/LoopVectorize/reverse_iter.ll +++ b/llvm/test/Transforms/LoopVectorize/reverse_iter.ll @@ -2,7 +2,8 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" -; Make sure that the reverse iterators are calculated using 64bit arithmetic, not 32. +; PR15882: This test ensures that we do not produce wrapping arithmetic when +; creating constant reverse step vectors. ; ; int foo(int n, int *A) { ; int sum; @@ -13,7 +14,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 ; ;CHECK-LABEL: @foo( -;CHECK: <i64 0, i64 -1, i64 -2, i64 -3> +;CHECK: <i32 0, i32 -1, i32 -2, i32 -3> ;CHECK: ret define i32 @foo(i32 %n, i32* nocapture %A) { %1 = icmp sgt i32 %n, 0 |