From f964f321ebe1ed17530aeb4876f20b2406155230 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 4 Mar 2007 04:27:24 +0000 Subject: [PATCH] Speed up -instcombine by 20% by avoiding a particularly expensive passmgr call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34902 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/InstructionCombining.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index ce8230d0864..07ffb192770 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -74,6 +74,7 @@ namespace { std::vector Worklist; DenseMap WorklistMap; TargetData *TD; + bool MustPreserveLCSSA; public: /// AddToWorkList - Add the specified instruction to the worklist if it /// isn't already in it. @@ -7685,7 +7686,7 @@ static bool DeadPHICycle(PHINode *PN, std::set &PotentiallyDeadPHIs) { // Instruction *InstCombiner::visitPHINode(PHINode &PN) { // If LCSSA is around, don't mess with Phi nodes - if (mustPreserveAnalysisID(LCSSAID)) return 0; + if (MustPreserveLCSSA) return 0; if (Value *V = PN.hasConstantValue()) return ReplaceInstUsesWith(PN, V); @@ -9344,6 +9345,8 @@ bool InstCombiner::DoOneIteration(Function &F, unsigned Iteration) { bool InstCombiner::runOnFunction(Function &F) { + MustPreserveLCSSA = mustPreserveAnalysisID(LCSSAID); + bool EverMadeChange = false; // Iterate while there is work to do.