diff options
author | Andrew Kaylor <andrew.kaylor@intel.com> | 2016-04-22 22:06:11 +0000 |
---|---|---|
committer | Andrew Kaylor <andrew.kaylor@intel.com> | 2016-04-22 22:06:11 +0000 |
commit | aa641a51719eed9509566e8352bf59e75e2c81b4 (patch) | |
tree | 60a4f5098d6d5c714248a27665004e1b029f1f73 /llvm/lib/Transforms/IPO/FunctionAttrs.cpp | |
parent | 1e9e615f92179a4be8e1df70acf6329b0bb198a7 (diff) | |
download | bcm5719-llvm-aa641a51719eed9509566e8352bf59e75e2c81b4.tar.gz bcm5719-llvm-aa641a51719eed9509566e8352bf59e75e2c81b4.zip |
Re-commit optimization bisect support (r267022) without new pass manager support.
The original commit was reverted because of a buildbot problem with LazyCallGraph::SCC handling (not related to the OptBisect handling).
Differential Revision: http://reviews.llvm.org/D19172
llvm-svn: 267231
Diffstat (limited to 'llvm/lib/Transforms/IPO/FunctionAttrs.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/FunctionAttrs.cpp b/llvm/lib/Transforms/IPO/FunctionAttrs.cpp index ec6062a51f0..91768f5a794 100644 --- a/llvm/lib/Transforms/IPO/FunctionAttrs.cpp +++ b/llvm/lib/Transforms/IPO/FunctionAttrs.cpp @@ -1081,6 +1081,9 @@ INITIALIZE_PASS_END(PostOrderFunctionAttrsLegacyPass, "functionattrs", Pass *llvm::createPostOrderFunctionAttrsLegacyPass() { return new PostOrderFunctionAttrsLegacyPass(); } bool PostOrderFunctionAttrsLegacyPass::runOnSCC(CallGraphSCC &SCC) { + if (skipSCC(SCC)) + return false; + TLI = &getAnalysis<TargetLibraryInfoWrapperPass>().getTLI(); bool Changed = false; @@ -1195,6 +1198,9 @@ static bool addNoRecurseAttrsTopDown(Function &F) { } bool ReversePostOrderFunctionAttrs::runOnModule(Module &M) { + if (skipModule(M)) + return false; + // We only have a post-order SCC traversal (because SCCs are inherently // discovered in post-order), so we accumulate them in a vector and then walk // it in reverse. This is simpler than using the RPO iterator infrastructure |