// runOnLoop - This method should be implemented by the subclass to perform
// whatever action is necessary for the specified Loop.
virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
- virtual bool runOnFunctionBody(Function &F, LPPassManager &LPM) {
- return false;
- }
// Initialization and finalization hooks.
virtual bool doInitialization(Loop *L, LPPassManager &LPM) {
// LPPassManger as expected.
void preparePassManager(PMStack &PMS);
- /// Assign pass manager to manager this pass
+ /// Assign pass manager to manage this pass
virtual void assignPassManager(PMStack &PMS,
PassManagerType PMT = PMT_LoopPassManager);
/// cloneBasicBlockAnalysis - Clone analysis info associated with basic block.
virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {}
- /// deletekAnalysisValue - Delete analysis info associated with value V.
+ /// deleteAnalysisValue - Delete analysis info associated with value V.
virtual void deleteAnalysisValue(Value *V, Loop *L) {}
};
// Delete loop from the loop queue and loop nest (LoopInfo).
void deleteLoopFromQueue(Loop *L);
- // Insert loop into the loop nest(LoopInfo) and loop queue(LQ).
+ // Insert loop into the loop queue and add it as a child of the
+ // given parent.
void insertLoop(Loop *L, Loop *ParentLoop);
+ // Insert a loop into the loop queue.
+ void insertLoopIntoQueue(Loop *L);
+
// Reoptimize this loop. LPPassManager will re-insert this loop into the
// queue. This allows LoopPass to change loop nest for the loop. This
// utility may send LPPassManager into infinite loops so use caution.