From: Mark Heffernan Date: Tue, 4 Nov 2014 01:51:01 +0000 (+0000) Subject: Remove setPreservesCFG from instcombine. The pass, in particular, does not X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=f4b76be9368f8fdafae2513d89b8a3d17ea12eb7;p=oota-llvm.git Remove setPreservesCFG from instcombine. The pass, in particular, does not preserve LoopSimplify because instcombine may replace branch predicates with undef which loop simplify then replaces with always exit. Replace setPreservesCFG with the more constrained preservation of DomTree and LoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221223 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp index 5a0b01eca5c..4b7f841e2cd 100644 --- a/lib/Transforms/InstCombine/InstructionCombining.cpp +++ b/lib/Transforms/InstCombine/InstructionCombining.cpp @@ -90,7 +90,8 @@ INITIALIZE_PASS_END(InstCombiner, "instcombine", "Combine redundant instructions", false, false) void InstCombiner::getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesCFG(); + AU.addPreserved(); + AU.addPreserved(); AU.addRequired(); AU.addRequired(); }