whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136843 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick 2011-08-03 23:45:50 +00:00
parent 79513ed859
commit 882bcc662d
2 changed files with 31 additions and 31 deletions

View File

@ -55,12 +55,12 @@ bool Loop::isLoopInvariant(Value *V) const {
} }
/// hasLoopInvariantOperands - Return true if all the operands of the /// hasLoopInvariantOperands - Return true if all the operands of the
/// specified instruction are loop invariant. /// specified instruction are loop invariant.
bool Loop::hasLoopInvariantOperands(Instruction *I) const { bool Loop::hasLoopInvariantOperands(Instruction *I) const {
for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i)
if (!isLoopInvariant(I->getOperand(i))) if (!isLoopInvariant(I->getOperand(i)))
return false; return false;
return true; return true;
} }
@ -110,7 +110,7 @@ bool Loop::makeLoopInvariant(Instruction *I, bool &Changed,
for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i)
if (!makeLoopInvariant(I->getOperand(i), Changed, InsertPt)) if (!makeLoopInvariant(I->getOperand(i), Changed, InsertPt))
return false; return false;
// Hoist. // Hoist.
I->moveBefore(InsertPt); I->moveBefore(InsertPt);
Changed = true; Changed = true;

View File

@ -59,9 +59,9 @@ char PrintLoopPass::ID = 0;
static DebugInfoProbeInfo *TheDebugProbe; static DebugInfoProbeInfo *TheDebugProbe;
static void createDebugInfoProbe() { static void createDebugInfoProbe() {
if (TheDebugProbe) return; if (TheDebugProbe) return;
// Constructed the first time this is called. This guarantees that the // Constructed the first time this is called. This guarantees that the
// object will be constructed, if -enable-debug-info-probe is set, // object will be constructed, if -enable-debug-info-probe is set,
// before static globals, thus it will be destroyed before them. // before static globals, thus it will be destroyed before them.
static ManagedStatic<DebugInfoProbeInfo> DIP; static ManagedStatic<DebugInfoProbeInfo> DIP;
TheDebugProbe = &*DIP; TheDebugProbe = &*DIP;
@ -73,25 +73,25 @@ static void createDebugInfoProbe() {
char LPPassManager::ID = 0; char LPPassManager::ID = 0;
LPPassManager::LPPassManager(int Depth) LPPassManager::LPPassManager(int Depth)
: FunctionPass(ID), PMDataManager(Depth) { : FunctionPass(ID), PMDataManager(Depth) {
skipThisLoop = false; skipThisLoop = false;
redoThisLoop = false; redoThisLoop = false;
LI = NULL; LI = NULL;
CurrentLoop = NULL; CurrentLoop = NULL;
} }
/// Delete loop from the loop queue and loop hierarchy (LoopInfo). /// Delete loop from the loop queue and loop hierarchy (LoopInfo).
void LPPassManager::deleteLoopFromQueue(Loop *L) { void LPPassManager::deleteLoopFromQueue(Loop *L) {
if (Loop *ParentLoop = L->getParentLoop()) { // Not a top-level loop. if (Loop *ParentLoop = L->getParentLoop()) { // Not a top-level loop.
// Reparent all of the blocks in this loop. Since BBLoop had a parent, // Reparent all of the blocks in this loop. Since BBLoop had a parent,
// they are now all in it. // they are now all in it.
for (Loop::block_iterator I = L->block_begin(), E = L->block_end(); for (Loop::block_iterator I = L->block_begin(), E = L->block_end();
I != E; ++I) I != E; ++I)
if (LI->getLoopFor(*I) == L) // Don't change blocks in subloops. if (LI->getLoopFor(*I) == L) // Don't change blocks in subloops.
LI->changeLoopFor(*I, ParentLoop); LI->changeLoopFor(*I, ParentLoop);
// Remove the loop from its parent loop. // Remove the loop from its parent loop.
for (Loop::iterator I = ParentLoop->begin(), E = ParentLoop->end();; for (Loop::iterator I = ParentLoop->begin(), E = ParentLoop->end();;
++I) { ++I) {
@ -101,14 +101,14 @@ void LPPassManager::deleteLoopFromQueue(Loop *L) {
break; break;
} }
} }
// Move all subloops into the parent loop. // Move all subloops into the parent loop.
while (!L->empty()) while (!L->empty())
ParentLoop->addChildLoop(L->removeChildLoop(L->end()-1)); ParentLoop->addChildLoop(L->removeChildLoop(L->end()-1));
} else { } else {
// Reparent all of the blocks in this loop. Since BBLoop had no parent, // Reparent all of the blocks in this loop. Since BBLoop had no parent,
// they no longer in a loop at all. // they no longer in a loop at all.
for (unsigned i = 0; i != L->getBlocks().size(); ++i) { for (unsigned i = 0; i != L->getBlocks().size(); ++i) {
// Don't change blocks in subloops. // Don't change blocks in subloops.
if (LI->getLoopFor(L->getBlocks()[i]) == L) { if (LI->getLoopFor(L->getBlocks()[i]) == L) {
@ -166,10 +166,10 @@ void LPPassManager::insertLoop(Loop *L, Loop *ParentLoop) {
void LPPassManager::insertLoopIntoQueue(Loop *L) { void LPPassManager::insertLoopIntoQueue(Loop *L) {
// Insert L into loop queue // Insert L into loop queue
if (L == CurrentLoop) if (L == CurrentLoop)
redoLoop(L); redoLoop(L);
else if (!L->getParentLoop()) else if (!L->getParentLoop())
// This is top level loop. // This is top level loop.
LQ.push_front(L); LQ.push_front(L);
else { else {
// Insert L after the parent loop. // Insert L after the parent loop.
@ -195,9 +195,9 @@ void LPPassManager::redoLoop(Loop *L) {
/// cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for /// cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for
/// all loop passes. /// all loop passes.
void LPPassManager::cloneBasicBlockSimpleAnalysis(BasicBlock *From, void LPPassManager::cloneBasicBlockSimpleAnalysis(BasicBlock *From,
BasicBlock *To, Loop *L) { BasicBlock *To, Loop *L) {
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
LoopPass *LP = getContainedPass(Index); LoopPass *LP = getContainedPass(Index);
LP->cloneBasicBlockAnalysis(From, To, L); LP->cloneBasicBlockAnalysis(From, To, L);
} }
@ -206,13 +206,13 @@ void LPPassManager::cloneBasicBlockSimpleAnalysis(BasicBlock *From,
/// deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes. /// deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes.
void LPPassManager::deleteSimpleAnalysisValue(Value *V, Loop *L) { void LPPassManager::deleteSimpleAnalysisValue(Value *V, Loop *L) {
if (BasicBlock *BB = dyn_cast<BasicBlock>(V)) { if (BasicBlock *BB = dyn_cast<BasicBlock>(V)) {
for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE;
++BI) { ++BI) {
Instruction &I = *BI; Instruction &I = *BI;
deleteSimpleAnalysisValue(&I, L); deleteSimpleAnalysisValue(&I, L);
} }
} }
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
LoopPass *LP = getContainedPass(Index); LoopPass *LP = getContainedPass(Index);
LP->deleteAnalysisValue(V, L); LP->deleteAnalysisValue(V, L);
} }
@ -228,7 +228,7 @@ static void addLoopIntoQueue(Loop *L, std::deque<Loop *> &LQ) {
/// Pass Manager itself does not invalidate any analysis info. /// Pass Manager itself does not invalidate any analysis info.
void LPPassManager::getAnalysisUsage(AnalysisUsage &Info) const { void LPPassManager::getAnalysisUsage(AnalysisUsage &Info) const {
// LPPassManager needs LoopInfo. In the long term LoopInfo class will // LPPassManager needs LoopInfo. In the long term LoopInfo class will
// become part of LPPassManager. // become part of LPPassManager.
Info.addRequired<LoopInfo>(); Info.addRequired<LoopInfo>();
Info.setPreservesAll(); Info.setPreservesAll();
@ -255,7 +255,7 @@ bool LPPassManager::runOnFunction(Function &F) {
for (std::deque<Loop *>::const_iterator I = LQ.begin(), E = LQ.end(); for (std::deque<Loop *>::const_iterator I = LQ.begin(), E = LQ.end();
I != E; ++I) { I != E; ++I) {
Loop *L = *I; Loop *L = *I;
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
LoopPass *P = getContainedPass(Index); LoopPass *P = getContainedPass(Index);
Changed |= P->doInitialization(L, *this); Changed |= P->doInitialization(L, *this);
} }
@ -263,13 +263,13 @@ bool LPPassManager::runOnFunction(Function &F) {
// Walk Loops // Walk Loops
while (!LQ.empty()) { while (!LQ.empty()) {
CurrentLoop = LQ.back(); CurrentLoop = LQ.back();
skipThisLoop = false; skipThisLoop = false;
redoThisLoop = false; redoThisLoop = false;
// Run all passes on the current Loop. // Run all passes on the current Loop.
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
LoopPass *P = getContainedPass(Index); LoopPass *P = getContainedPass(Index);
dumpPassInfo(P, EXECUTION_MSG, ON_LOOP_MSG, dumpPassInfo(P, EXECUTION_MSG, ON_LOOP_MSG,
CurrentLoop->getHeader()->getName()); CurrentLoop->getHeader()->getName());
@ -319,23 +319,23 @@ bool LPPassManager::runOnFunction(Function &F) {
// Do not run other passes on this loop. // Do not run other passes on this loop.
break; break;
} }
// If the loop was deleted, release all the loop passes. This frees up // If the loop was deleted, release all the loop passes. This frees up
// some memory, and avoids trouble with the pass manager trying to call // some memory, and avoids trouble with the pass manager trying to call
// verifyAnalysis on them. // verifyAnalysis on them.
if (skipThisLoop) if (skipThisLoop)
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
Pass *P = getContainedPass(Index); Pass *P = getContainedPass(Index);
freePass(P, "<deleted>", ON_LOOP_MSG); freePass(P, "<deleted>", ON_LOOP_MSG);
} }
// Pop the loop from queue after running all passes. // Pop the loop from queue after running all passes.
LQ.pop_back(); LQ.pop_back();
if (redoThisLoop) if (redoThisLoop)
LQ.push_back(CurrentLoop); LQ.push_back(CurrentLoop);
} }
// Finalization // Finalization
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) { for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
LoopPass *P = getContainedPass(Index); LoopPass *P = getContainedPass(Index);
@ -372,7 +372,7 @@ Pass *LoopPass::createPrinterPass(raw_ostream &O,
// LPPassManger as expected. // LPPassManger as expected.
void LoopPass::preparePassManager(PMStack &PMS) { void LoopPass::preparePassManager(PMStack &PMS) {
// Find LPPassManager // Find LPPassManager
while (!PMS.empty() && while (!PMS.empty() &&
PMS.top()->getPassManagerType() > PMT_LoopPassManager) PMS.top()->getPassManagerType() > PMT_LoopPassManager)
PMS.pop(); PMS.pop();
@ -381,14 +381,14 @@ void LoopPass::preparePassManager(PMStack &PMS) {
// by other passes that are managed by LPM then do not insert // by other passes that are managed by LPM then do not insert
// this pass in current LPM. Use new LPPassManager. // this pass in current LPM. Use new LPPassManager.
if (PMS.top()->getPassManagerType() == PMT_LoopPassManager && if (PMS.top()->getPassManagerType() == PMT_LoopPassManager &&
!PMS.top()->preserveHigherLevelAnalysis(this)) !PMS.top()->preserveHigherLevelAnalysis(this))
PMS.pop(); PMS.pop();
} }
/// Assign pass manager to manage this pass. /// Assign pass manager to manage this pass.
void LoopPass::assignPassManager(PMStack &PMS, void LoopPass::assignPassManager(PMStack &PMS,
PassManagerType PreferredType) { PassManagerType PreferredType) {
// Find LPPassManager // Find LPPassManager
while (!PMS.empty() && while (!PMS.empty() &&
PMS.top()->getPassManagerType() > PMT_LoopPassManager) PMS.top()->getPassManagerType() > PMT_LoopPassManager)
PMS.pop(); PMS.pop();
@ -397,7 +397,7 @@ void LoopPass::assignPassManager(PMStack &PMS,
if (PMS.top()->getPassManagerType() == PMT_LoopPassManager) if (PMS.top()->getPassManagerType() == PMT_LoopPassManager)
LPPM = (LPPassManager*)PMS.top(); LPPM = (LPPassManager*)PMS.top();
else { else {
// Create new Loop Pass Manager if it does not exist. // Create new Loop Pass Manager if it does not exist.
assert (!PMS.empty() && "Unable to create Loop Pass Manager"); assert (!PMS.empty() && "Unable to create Loop Pass Manager");
PMDataManager *PMD = PMS.top(); PMDataManager *PMD = PMS.top();