summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2016-08-03 03:21:41 +0000
committerChandler Carruth <chandlerc@gmail.com>2016-08-03 03:21:41 +0000
commit6cb2ab2c60900b90e3add1de81feac38327fba6d (patch)
tree254acf98984b9f4a826411dc9661fc73e1ef0d3f /llvm/test/Transforms
parent50b98dce2e062adb71a4397961eaaab56143e829 (diff)
downloadbcm5719-llvm-6cb2ab2c60900b90e3add1de81feac38327fba6d.tar.gz
bcm5719-llvm-6cb2ab2c60900b90e3add1de81feac38327fba6d.zip
[PM] Significantly refactor the pass pipeline parsing to be easier to
reason about and less error prone. The core idea is to fully parse the text without trying to identify passes or structure. This is done with a single state machine. There were various bugs in the logic around this previously that were repeated and scattered across the code. Having a single routine makes it much easier to fix and get correct. For example, this routine doesn't suffer from PR28577. Then the actual pass construction is handled using *much* easier to read code and simple loops, with particular pass manager construction sunk to live with other pass construction. This is especially nice as the pass managers *are* in fact passes. Finally, the "implicit" pass manager synthesis is done much more simply by forming "pre-parsed" structures rather than having to duplicate tons of logic. One of the bugs fixed by this was evident in the tests where we accepted a pipeline that wasn't really well formed. Another bug is PR28577 for which I have added a test case. The code is less efficient than the previous code but I'm really hoping that's not a priority. ;] Thanks to Sean for the review! Differential Revision: https://reviews.llvm.org/D22724 llvm-svn: 277561
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll b/llvm/test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll
index 315ae8df9fa..09f0e1aa2a0 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll
@@ -1,5 +1,5 @@
; RUN: opt < %s -analyze -iv-users | FileCheck %s
-; RUN: opt -passes='function(require<scalar-evolution>),print<ivusers>' -S < %s 2>&1| FileCheck %s
+; RUN: opt -passes='function(require<scalar-evolution>,loop(print<ivusers>))' -S < %s 2>&1| FileCheck %s
; Provide legal integer types.
target datalayout = "n8:16:32:64"
OpenPOWER on IntegriCloud