summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorPaul Robinson <paul_robinson@playstation.sony.com>2014-02-06 00:07:05 +0000
committerPaul Robinson <paul_robinson@playstation.sony.com>2014-02-06 00:07:05 +0000
commitaf4e64d0955aa47fd6e286ce48eeeed9a9ec7a4a (patch)
treef2a3ef5236ee396b9716402af3510a2b1073cc0e /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parentf9e58778bc78a4a4714de0e8e66f70614ea28948 (diff)
downloadbcm5719-llvm-af4e64d0955aa47fd6e286ce48eeeed9a9ec7a4a.tar.gz
bcm5719-llvm-af4e64d0955aa47fd6e286ce48eeeed9a9ec7a4a.zip
Disable most IR-level transform passes on functions marked 'optnone'.
Ideally only those transform passes that run at -O0 remain enabled, in reality we get as close as we reasonably can. Passes are responsible for disabling themselves, it's not the job of the pass manager to do it for them. llvm-svn: 200892
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
-rw-r--r--llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 80d9ffccafb..9eadfb58bea 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -1771,6 +1771,9 @@ struct SLPVectorizer : public FunctionPass {
DominatorTree *DT;
virtual bool runOnFunction(Function &F) {
+ if (skipOptnoneFunction(F))
+ return false;
+
SE = &getAnalysis<ScalarEvolution>();
DL = getAnalysisIfAvailable<DataLayout>();
TTI = &getAnalysis<TargetTransformInfo>();
OpenPOWER on IntegriCloud