forked from OSchip/llvm-project
Move the code in TargetPassConfig::addPass that inserts machine printer pass to
the overloaded version of addPass which takes Pass*. This change enables inserting the machine printer pass when the overloaded version of addPass that takes Pass* is called to add a pass, instead of the one which takes AnalysisID. I need this to prevent make-check tests from failing when I commit another patch later. llvm-svn: 239192
This commit is contained in:
parent
a81e88141e
commit
c100c56a20
|
@ -295,6 +295,24 @@ void TargetPassConfig::addPass(Pass *P, bool verifyAfter, bool printAfter) {
|
|||
if (verifyAfter)
|
||||
addVerifyPass(Banner);
|
||||
}
|
||||
|
||||
// Add the passes after the pass P if there is any.
|
||||
for (SmallVectorImpl<std::pair<AnalysisID, IdentifyingPassPtr> >::iterator
|
||||
I = Impl->InsertedPasses.begin(),
|
||||
E = Impl->InsertedPasses.end();
|
||||
I != E; ++I) {
|
||||
if ((*I).first == PassID) {
|
||||
assert((*I).second.isValid() && "Illegal Pass ID!");
|
||||
Pass *NP;
|
||||
if ((*I).second.isInstance())
|
||||
NP = (*I).second.getInstance();
|
||||
else {
|
||||
NP = Pass::createPass((*I).second.getID());
|
||||
assert(NP && "Pass ID not registered");
|
||||
}
|
||||
addPass(NP, false, false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
delete P;
|
||||
}
|
||||
|
@ -329,22 +347,6 @@ AnalysisID TargetPassConfig::addPass(AnalysisID PassID, bool verifyAfter,
|
|||
AnalysisID FinalID = P->getPassID();
|
||||
addPass(P, verifyAfter, printAfter); // Ends the lifetime of P.
|
||||
|
||||
// Add the passes after the pass P if there is any.
|
||||
for (SmallVectorImpl<std::pair<AnalysisID, IdentifyingPassPtr> >::iterator
|
||||
I = Impl->InsertedPasses.begin(), E = Impl->InsertedPasses.end();
|
||||
I != E; ++I) {
|
||||
if ((*I).first == PassID) {
|
||||
assert((*I).second.isValid() && "Illegal Pass ID!");
|
||||
Pass *NP;
|
||||
if ((*I).second.isInstance())
|
||||
NP = (*I).second.getInstance();
|
||||
else {
|
||||
NP = Pass::createPass((*I).second.getID());
|
||||
assert(NP && "Pass ID not registered");
|
||||
}
|
||||
addPass(NP, false, false);
|
||||
}
|
||||
}
|
||||
return FinalID;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue