mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
temporarily revert Devang's most recent patch, which caused a large
compile-time regression in LLC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34385 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c72f28042b
commit
63925c831a
@ -120,10 +120,6 @@ public:
|
||||
/// Collect passes whose last user is P
|
||||
void collectLastUses(std::vector<Pass *> &LastUses, Pass *P);
|
||||
|
||||
// Walk LastUser map and create inverted map. This should be done
|
||||
// after all passes are added and before running first pass.
|
||||
void collectInvertedLU();
|
||||
|
||||
/// Find the pass that implements Analysis AID. Search immutable
|
||||
/// passes and all pass managers. If desired pass is not found
|
||||
/// then return NULL.
|
||||
@ -175,7 +171,6 @@ private:
|
||||
// Map to keep track of last user of the analysis pass.
|
||||
// LastUser->second is the last user of Lastuser->first.
|
||||
std::map<Pass *, Pass *> LastUser;
|
||||
std::map<Pass *, std::vector <Pass *> > InvertedLU;
|
||||
|
||||
/// Immutable passes are managed by top level manager.
|
||||
std::vector<ImmutablePass *> ImmutablePasses;
|
||||
|
@ -362,19 +362,13 @@ void PMTopLevelManager::setLastUser(std::vector<Pass *> &AnalysisPasses,
|
||||
}
|
||||
}
|
||||
|
||||
// Walk LastUser map and create inverted map. This should be done
|
||||
// after all passes are added and before running first pass.
|
||||
void PMTopLevelManager::collectInvertedLU() {
|
||||
for (std::map<Pass *, Pass *>::iterator LUI = LastUser.begin(),
|
||||
LUE = LastUser.end(); LUI != LUE; ++LUI)
|
||||
InvertedLU[LUI->second].push_back(LUI->first);
|
||||
}
|
||||
|
||||
/// Collect passes whose last user is P
|
||||
void PMTopLevelManager::collectLastUses(std::vector<Pass *> &LastUses,
|
||||
Pass *P) {
|
||||
std::vector<Pass *>&LU = InvertedLU[P];
|
||||
LastUses.insert(LastUses.end(), LU.begin(), LU.end());
|
||||
for (std::map<Pass *, Pass *>::iterator LUI = LastUser.begin(),
|
||||
LUE = LastUser.end(); LUI != LUE; ++LUI)
|
||||
if (LUI->second == P)
|
||||
LastUses.push_back(LUI->first);
|
||||
}
|
||||
|
||||
/// Schedule pass P for execution. Make sure that passes required by
|
||||
@ -944,9 +938,6 @@ bool FunctionPassManagerImpl::run(Function &F) {
|
||||
dumpArguments();
|
||||
dumpPasses();
|
||||
|
||||
// Collect inverted map of LastUsers. This improves speed of
|
||||
// collectLastUses().
|
||||
TPM->collectInvertedLU();
|
||||
initializeAllAnalysisInfo();
|
||||
for (unsigned Index = 0; Index < getNumContainedManagers(); ++Index) {
|
||||
FPPassManager *FP = getContainedManager(Index);
|
||||
@ -1095,9 +1086,6 @@ bool PassManagerImpl::run(Module &M) {
|
||||
dumpArguments();
|
||||
dumpPasses();
|
||||
|
||||
// Collect inverted map of LastUsers. This improves speed of
|
||||
// collectLastUses().
|
||||
TPM->collectInvertedLU();
|
||||
initializeAllAnalysisInfo();
|
||||
for (unsigned Index = 0; Index < getNumContainedManagers(); ++Index) {
|
||||
MPPassManager *MP = getContainedManager(Index);
|
||||
|
Loading…
Reference in New Issue
Block a user