Convert to new simpler pass itf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@880 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/HoistPHIConstants.cpp b/lib/Transforms/HoistPHIConstants.cpp
index de806fc..a47ab26 100644
--- a/lib/Transforms/HoistPHIConstants.cpp
+++ b/lib/Transforms/HoistPHIConstants.cpp
@@ -40,8 +40,9 @@
// Entry point for normalizing constant args in PHIs
//---------------------------------------------------------------------------
-bool HoistPHIConstants::doPerMethodWork(Method *M) {
+bool HoistPHIConstants::doHoistPHIConstants(Method *M) {
CachedCopyMap Cache;
+ bool Changed = false;
for (Method::iterator BI = M->begin(), BE = M->end(); BI != BE; ++BI)
for (BasicBlock::iterator II = (*BI)->begin(); II != (*BI)->end(); ++II) {
@@ -51,11 +52,13 @@
PHINode *PN = cast<PHINode>(Inst);
for (unsigned i = 0; i < PN->getNumIncomingValues(); ++i) {
Value *Op = PN->getIncomingValue(i);
- if (isa<ConstPoolVal>(Op))
+ if (isa<ConstPoolVal>(Op)) {
PN->setIncomingValue(i,
NormalizePhiOperand(PN, Op, PN->getIncomingBlock(i), Cache));
+ Changed = true;
+ }
}
}
- return false;
+ return Changed;
}