Convert to new simpler pass itf
authorChris Lattner <sabre@nondot.org>
Thu, 18 Oct 2001 05:27:33 +0000 (05:27 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 18 Oct 2001 05:27:33 +0000 (05:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@880 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/HoistPHIConstants.cpp
lib/Transforms/Scalar/InductionVars.cpp
lib/Transforms/Utils/LowerAllocations.cpp

index de806fc40986c97eb7c8b93da93bbdaf34c0283b..a47ab26c75f6214062bd0c6c0fe841c331383f39 100644 (file)
@@ -40,8 +40,9 @@ static Value *NormalizePhiOperand(PHINode *PN, Value *CPV,
 // 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 @@ bool HoistPHIConstants::doPerMethodWork(Method *M) {
       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;
 }
index 9a8eb12c136384b44a7b7b1cc0cf76ec81c1065b..1cec66de71ee2992bee66cf99158ddbce239ab06 100644 (file)
@@ -371,7 +371,7 @@ static bool ProcessIntervalPartition(cfg::IntervalPartition &IP) {
 // This function loops over an interval partition of a program, reducing it
 // until the graph is gone.
 //
-bool opt::DoInductionVariableCannonicalize(Method *M) {
+bool opt::InductionVariableCannonicalize::doIt(Method *M) {
   // TODO: REMOVE
   if (0) {   // Print basic blocks with their depth
     LoopDepthCalculator LDC(M);
index ba78ce18fd5ee1f8136d10b117ba744f8b84908b..945d941530cb63e76b6b2810fe92ba5fa70f84e9 100644 (file)
@@ -19,7 +19,8 @@
 //
 // This function is always successful.
 //
-bool LowerAllocations::doPassInitializationVirt(Module *M) {
+bool LowerAllocations::doPassInitialization(Module *M) {
+  bool Changed = false;
   const MethodType *MallocType = 
     MethodType::get(PointerType::get(Type::UByteTy),
                     vector<const Type*>(1, Type::UIntTy), false);
@@ -31,6 +32,7 @@ bool LowerAllocations::doPassInitializationVirt(Module *M) {
     MallocMeth = cast<Method>(V);      // Yup, got it
   } else {                             // Nope, add one
     M->getMethodList().push_back(MallocMeth = new Method(MallocType, "malloc"));
+    Changed = true;
   }
 
   const MethodType *FreeType = 
@@ -43,15 +45,17 @@ bool LowerAllocations::doPassInitializationVirt(Module *M) {
     FreeMeth = cast<Method>(V);      // Yup, got it
   } else {                             // Nope, add one
     M->getMethodList().push_back(FreeMeth = new Method(FreeType, "free"));
+    Changed = true;
   }
 
-  return false;  // Always successful
+  return Changed;  // Always successful
 }
 
 // doPerMethodWork - This method does the actual work of converting
 // instructions over, assuming that the pass has already been initialized.
 //
-bool LowerAllocations::doPerMethodWorkVirt(Method *M) {
+bool LowerAllocations::doPerMethodWork(Method *M) {
+  bool Changed = false;
   assert(MallocMeth && FreeMeth && M && "Pass not initialized!");
 
   // Loop over all of the instructions, looking for malloc or free instructions
@@ -97,6 +101,7 @@ bool LowerAllocations::doPerMethodWorkVirt(Method *M) {
         // Replace all uses of the old malloc inst with the cast inst
         MI->replaceAllUsesWith(MCast);
         delete MI;                          // Delete the malloc inst
+        Changed = true;
       } else if (FreeInst *FI = dyn_cast<FreeInst>(*(BBIL.begin()+i))) {
         BBIL.remove(BB->getInstList().begin()+i);
 
@@ -112,10 +117,11 @@ bool LowerAllocations::doPerMethodWorkVirt(Method *M) {
 
         // Delete the old free instruction
         delete FI;
+        Changed = true;
       }
     }
   }
 
-  return false;   // Always successful
+  return Changed;
 }