mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Use a DenseMap instead of a std::map for AnalysisID -> Pass* maps. This reduces the pass-manager overhead from FPPassManager::runOnFunction() by about 10%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176072 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -352,7 +352,7 @@ public:
|
||||
return PMT_Unknown;
|
||||
}
|
||||
|
||||
std::map<AnalysisID, Pass*> *getAvailableAnalysis() {
|
||||
DenseMap<AnalysisID, Pass*> *getAvailableAnalysis() {
|
||||
return &AvailableAnalysis;
|
||||
}
|
||||
|
||||
@@ -375,8 +375,7 @@ protected:
|
||||
// Collection of Analysis provided by Parent pass manager and
|
||||
// used by current pass manager. At at time there can not be more
|
||||
// then PMT_Last active pass mangers.
|
||||
std::map<AnalysisID, Pass *> *InheritedAnalysis[PMT_Last];
|
||||
|
||||
DenseMap<AnalysisID, Pass *> *InheritedAnalysis[PMT_Last];
|
||||
|
||||
/// isPassDebuggingExecutionsOrMore - Return true if -debug-pass=Executions
|
||||
/// or higher is specified.
|
||||
@@ -390,7 +389,7 @@ private:
|
||||
// pass. If a pass requires an analysis which is not available then
|
||||
// the required analysis pass is scheduled to run before the pass itself is
|
||||
// scheduled to run.
|
||||
std::map<AnalysisID, Pass*> AvailableAnalysis;
|
||||
DenseMap<AnalysisID, Pass*> AvailableAnalysis;
|
||||
|
||||
// Collection of higher level analysis used by the pass managed by
|
||||
// this manager.
|
||||
|
||||
Reference in New Issue
Block a user