mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -13,6 +13,8 @@
|
||||
#include "Support/StatisticReporter.h"
|
||||
using std::map;
|
||||
|
||||
static RegisterAnalysis<BUDataStructures>
|
||||
X("budatastructure", "Bottom-Up Data Structure Analysis Closure");
|
||||
AnalysisID BUDataStructures::ID(AnalysisID::create<BUDataStructures>());
|
||||
|
||||
// releaseMemory - If the pass pipeline is done with this pass, we can release
|
||||
|
@@ -15,6 +15,8 @@
|
||||
|
||||
using std::vector;
|
||||
|
||||
static RegisterAnalysis<LocalDataStructures>
|
||||
X("datastructure", "Local Data Structure Analysis");
|
||||
AnalysisID LocalDataStructures::ID(AnalysisID::create<LocalDataStructures>());
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@@ -40,13 +40,12 @@
|
||||
|
||||
#include "llvm/Analysis/CallGraph.h"
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/Function.h"
|
||||
#include "llvm/BasicBlock.h"
|
||||
#include "llvm/iOther.h"
|
||||
#include "llvm/iTerminators.h"
|
||||
#include "Support/STLExtras.h"
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
|
||||
static RegisterAnalysis<CallGraph> X("callgraph", "Call Graph Construction");
|
||||
|
||||
AnalysisID CallGraph::ID(AnalysisID::create<CallGraph>());
|
||||
|
||||
|
@@ -10,6 +10,9 @@
|
||||
|
||||
using std::make_pair;
|
||||
|
||||
static RegisterAnalysis<IntervalPartition>
|
||||
X("intervals", "Interval Partition Construction");
|
||||
|
||||
AnalysisID IntervalPartition::ID(AnalysisID::create<IntervalPartition>(), true);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@@ -15,6 +15,8 @@
|
||||
#include "Support/CommandLine.h"
|
||||
#include <iostream>
|
||||
|
||||
static RegisterAnalysis<FunctionLiveVarInfo>
|
||||
X("livevar", "Live Variable Analysis");
|
||||
AnalysisID FunctionLiveVarInfo::ID(AnalysisID::create<FunctionLiveVarInfo>());
|
||||
|
||||
LiveVarDebugLevel_t DEBUG_LV;
|
||||
|
@@ -13,6 +13,8 @@
|
||||
#include "Support/DepthFirstIterator.h"
|
||||
#include <algorithm>
|
||||
|
||||
static RegisterAnalysis<LoopInfo>
|
||||
X("loops", "Natural Loop Construction");
|
||||
AnalysisID LoopInfo::ID(AnalysisID::create<LoopInfo>(), true);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@@ -18,6 +18,11 @@ using std::set;
|
||||
// DominatorSet Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static RegisterAnalysis<DominatorSet>
|
||||
A("domset", "Dominator Set Construction");
|
||||
static RegisterAnalysis<PostDominatorSet>
|
||||
B("postdomset", "Post-Dominator Set Construction");
|
||||
|
||||
AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>(), true);
|
||||
AnalysisID PostDominatorSet::ID(AnalysisID::create<PostDominatorSet>(), true);
|
||||
|
||||
@@ -151,6 +156,11 @@ void PostDominatorSet::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
// ImmediateDominators Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static RegisterAnalysis<ImmediateDominators>
|
||||
C("idom", "Immediate Dominators Construction");
|
||||
static RegisterAnalysis<ImmediatePostDominators>
|
||||
D("postidom", "Immediate Post-Dominators Construction");
|
||||
|
||||
AnalysisID ImmediateDominators::ID(AnalysisID::create<ImmediateDominators>(), true);
|
||||
AnalysisID ImmediatePostDominators::ID(AnalysisID::create<ImmediatePostDominators>(), true);
|
||||
|
||||
@@ -195,6 +205,11 @@ void ImmediateDominatorsBase::calcIDoms(const DominatorSetBase &DS) {
|
||||
// DominatorTree Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static RegisterAnalysis<DominatorTree>
|
||||
E("domtree", "Dominator Tree Construction");
|
||||
static RegisterAnalysis<PostDominatorTree>
|
||||
F("postdomtree", "Post-Dominator Tree Construction");
|
||||
|
||||
AnalysisID DominatorTree::ID(AnalysisID::create<DominatorTree>(), true);
|
||||
AnalysisID PostDominatorTree::ID(AnalysisID::create<PostDominatorTree>(), true);
|
||||
|
||||
@@ -307,6 +322,11 @@ void PostDominatorTree::calculate(const PostDominatorSet &DS) {
|
||||
// DominanceFrontier Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static RegisterAnalysis<DominanceFrontier>
|
||||
G("domfrontier", "Dominance Frontier Construction");
|
||||
static RegisterAnalysis<PostDominanceFrontier>
|
||||
H("postdomfrontier", "Post-Dominance Frontier Construction");
|
||||
|
||||
AnalysisID DominanceFrontier::ID(AnalysisID::create<DominanceFrontier>(), true);
|
||||
AnalysisID PostDominanceFrontier::ID(AnalysisID::create<PostDominanceFrontier>(), true);
|
||||
|
||||
|
Reference in New Issue
Block a user