summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2017-01-15 06:32:49 +0000
committerChandler Carruth <chandlerc@gmail.com>2017-01-15 06:32:49 +0000
commitca68a3ec47416185252b84d2bf60710c88be155f (patch)
treeee01d0ac2b40351bb1a659719488d3db1ca43268 /llvm/lib/Transforms/InstCombine
parentf1388ef006fa87b5799e4bb7cc0662e0b644b35d (diff)
downloadbcm5719-llvm-ca68a3ec47416185252b84d2bf60710c88be155f.tar.gz
bcm5719-llvm-ca68a3ec47416185252b84d2bf60710c88be155f.zip
[PM] Introduce an analysis set used to preserve all analyses over
a function's CFG when that CFG is unchanged. This allows transformation passes to simply claim they preserve the CFG and analysis passes to check for the CFG being preserved to remove the fanout of all analyses being listed in all passes. I've gone through and removed or cleaned up as many of the comments reminding us to do this as I could. Differential Revision: https://reviews.llvm.org/D28627 llvm-svn: 292054
Diffstat (limited to 'llvm/lib/Transforms/InstCombine')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstructionCombining.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index 8ba19fd02f8..f6d1a1e9664 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -3176,10 +3176,9 @@ PreservedAnalyses InstCombinePass::run(Function &F,
return PreservedAnalyses::all();
// Mark all the analyses that instcombine updates as preserved.
- // FIXME: This should also 'preserve the CFG'.
PreservedAnalyses PA;
+ PA.preserveSet<CFGAnalyses>();
PA.preserve<AAManager>();
- PA.preserve<DominatorTreeAnalysis>();
PA.preserve<GlobalsAA>();
return PA;
}
OpenPOWER on IntegriCloud