mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Move the dominator verification code out of special code embedded within
the PassManager code into a regular verifyAnalysis method. Also, reorganize loop verification. Make the LoopPass infrastructure call verifyLoop as needed instead of having LoopInfo::verifyAnalysis check every loop in the function after each looop pass. Add a new command-line argument, -verify-loop-info, to enable the expensive full checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -242,16 +242,24 @@ bool LPPassManager::runOnFunction(Function &F) {
|
||||
dumpPassInfo(P, MODIFICATION_MSG, ON_LOOP_MSG, "");
|
||||
dumpPreservedSet(P);
|
||||
|
||||
if (!skipThisLoop)
|
||||
if (!skipThisLoop) {
|
||||
// Manually check that this loop is still healthy. This is done
|
||||
// instead of relying on LoopInfo::verifyLoop since LoopInfo
|
||||
// is a function pass and it's really expensive to verify every
|
||||
// loop in the function every time. That level of checking can be
|
||||
// enabled with the -verify-loop-info option.
|
||||
Timer *T = StartPassTimer(LI);
|
||||
CurrentLoop->verifyLoop();
|
||||
StopPassTimer(LI, T);
|
||||
|
||||
// Then call the regular verifyAnalysis functions.
|
||||
verifyPreservedAnalysis(LP);
|
||||
}
|
||||
|
||||
removeNotPreservedAnalysis(P);
|
||||
recordAvailableAnalysis(P);
|
||||
removeDeadPasses(P, "", ON_LOOP_MSG);
|
||||
|
||||
// If dominator information is available then verify the info if requested.
|
||||
verifyDomInfo(*LP, F);
|
||||
|
||||
if (skipThisLoop)
|
||||
// Do not run other passes on this loop.
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user