diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2017-01-25 02:49:01 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2017-01-25 02:49:01 +0000 |
commit | ce40fa13ceb88dce5834e18da332981bc0fd5327 (patch) | |
tree | e5d33221f6597262beceb497202509e211c8c990 /llvm/test/Transforms/LoopUnroll/runtime-loop.ll | |
parent | 05a5f7dc0b6e5c167afc6dde6dff1810af198f8e (diff) | |
download | bcm5719-llvm-ce40fa13ceb88dce5834e18da332981bc0fd5327.tar.gz bcm5719-llvm-ce40fa13ceb88dce5834e18da332981bc0fd5327.zip |
[PM] Teach LoopUnroll to update the LPM infrastructure as it unrolls
loops.
We do this by reconstructing the newly added loops after the unroll
completes to avoid threading pass manager details through all the mess
of the unrolling infrastructure.
I've enabled some extra assertions in the LPM to try and catch issues
here and enabled a bunch of unroller tests to try and make sure this is
sane.
Currently, I'm manually running loop-simplify when needed. That should
go away once it is folded into the LPM infrastructure.
Differential Revision: https://reviews.llvm.org/D28848
llvm-svn: 293011
Diffstat (limited to 'llvm/test/Transforms/LoopUnroll/runtime-loop.ll')
-rw-r--r-- | llvm/test/Transforms/LoopUnroll/runtime-loop.ll | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/runtime-loop.ll b/llvm/test/Transforms/LoopUnroll/runtime-loop.ll index b5299bb17f8..04661314eb1 100644 --- a/llvm/test/Transforms/LoopUnroll/runtime-loop.ll +++ b/llvm/test/Transforms/LoopUnroll/runtime-loop.ll @@ -1,6 +1,9 @@ ; RUN: opt < %s -S -loop-unroll -unroll-runtime=true -unroll-runtime-epilog=true | FileCheck %s -check-prefix=EPILOG ; RUN: opt < %s -S -loop-unroll -unroll-runtime=true -unroll-runtime-epilog=false | FileCheck %s -check-prefix=PROLOG +; RUN: opt < %s -S -passes='require<opt-remark-emit>,loop(unroll)' -unroll-runtime=true -unroll-runtime-epilog=true | FileCheck %s -check-prefix=EPILOG +; RUN: opt < %s -S -passes='require<opt-remark-emit>,loop(unroll)' -unroll-runtime=true -unroll-runtime-epilog=false | FileCheck %s -check-prefix=PROLOG + 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" ; Tests for unrolling loops with run-time trip counts |