diff options
| author | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-11-03 17:09:59 +0000 |
|---|---|---|
| committer | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-11-03 17:09:59 +0000 |
| commit | 629a15247a64adaaaab8d399b4f72a13829392ee (patch) | |
| tree | 6f981ff6089948851de25ea07410f6ccd1d8c9f9 /llvm/lib/Transforms | |
| parent | d7c742f46a825315d0df45adcda9b4ccb1f6eb67 (diff) | |
| download | bcm5719-llvm-629a15247a64adaaaab8d399b4f72a13829392ee.tar.gz bcm5719-llvm-629a15247a64adaaaab8d399b4f72a13829392ee.zip | |
Commented out code so that copies are inserted for all phi args
CahedCopyMap was disabled to insert phi elimination code for all phi args
llvm-svn: 1105
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/HoistPHIConstants.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/llvm/lib/Transforms/HoistPHIConstants.cpp b/llvm/lib/Transforms/HoistPHIConstants.cpp index a47ab26c75f..b8e1d7b46f9 100644 --- a/llvm/lib/Transforms/HoistPHIConstants.cpp +++ b/llvm/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<BBConstTy, CastInst *> 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<PHINode>(Inst); for (unsigned i = 0; i < PN->getNumIncomingValues(); ++i) { Value *Op = PN->getIncomingValue(i); - if (isa<ConstPoolVal>(Op)) { - PN->setIncomingValue(i, - NormalizePhiOperand(PN, Op, PN->getIncomingBlock(i), Cache)); - Changed = true; - } + + //if (isa<ConstPoolVal>(Op)) { --- Do for all phi args -- Ruchira + + PN->setIncomingValue(i, + NormalizePhiOperand(PN, Op, PN->getIncomingBlock(i), Cache)); + Changed = true; + + //} } } |

