From fca59d7dc909a54a9e49601aa81252f6b935db01 Mon Sep 17 00:00:00 2001 From: Ruchira Sasanka Date: Sat, 3 Nov 2001 17:09:59 +0000 Subject: [PATCH] Commented out code so that copies are inserted for all phi args CahedCopyMap was disabled to insert phi elimination code for all phi args git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1105 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/HoistPHIConstants.cpp | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/Transforms/HoistPHIConstants.cpp b/lib/Transforms/HoistPHIConstants.cpp index a47ab26c75f..b8e1d7b46f9 100644 --- a/lib/Transforms/HoistPHIConstants.cpp +++ b/lib/Transforms/HoistPHIConstants.cpp @@ -6,6 +6,9 @@ // //===----------------------------------------------------------------------===// + + + #include "llvm/Transforms/HoistPHIConstants.h" #include "llvm/iOther.h" #include "llvm/BasicBlock.h" @@ -18,15 +21,20 @@ typedef map CachedCopyMap; static Value *NormalizePhiOperand(PHINode *PN, Value *CPV, BasicBlock *Pred, CachedCopyMap &CopyCache) { + /* NOTE: CahedCopyMap was disabled to insert phi elimination code + for all phi args -- Ruchira + */ + + // Check if we've already inserted a copy for this constant in Pred // Note that `copyCache[Pred]' will create an empty vector the first time // - CachedCopyMap::iterator CCI = CopyCache.find(BBConstTy(Pred, CPV)); - if (CCI != CopyCache.end()) return CCI->second; + //CachedCopyMap::iterator CCI = CopyCache.find(BBConstTy(Pred, CPV)); + //if (CCI != CopyCache.end()) return CCI->second; // Create a copy instruction and add it to the cache... CastInst *Inst = new CastInst(CPV, CPV->getType()); - CopyCache.insert(make_pair(BBConstTy(Pred, CPV), Inst)); + //CopyCache.insert(make_pair(BBConstTy(Pred, CPV), Inst)); // Insert the copy just before the terminator inst of the predecessor BB assert(Pred->getTerminator() && "Degenerate BB encountered!"); @@ -52,11 +60,14 @@ bool HoistPHIConstants::doHoistPHIConstants(Method *M) { PHINode *PN = cast(Inst); for (unsigned i = 0; i < PN->getNumIncomingValues(); ++i) { Value *Op = PN->getIncomingValue(i); - if (isa(Op)) { - PN->setIncomingValue(i, - NormalizePhiOperand(PN, Op, PN->getIncomingBlock(i), Cache)); - Changed = true; - } + + //if (isa(Op)) { --- Do for all phi args -- Ruchira + + PN->setIncomingValue(i, + NormalizePhiOperand(PN, Op, PN->getIncomingBlock(i), Cache)); + Changed = true; + + //} } } -- 2.34.1