mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
PassInfo keep tracks whether a pass is an analysis pass or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -73,7 +73,6 @@ enum PassManagerType {
|
||||
class Pass {
|
||||
AnalysisResolver *Resolver; // Used to resolve analysis
|
||||
intptr_t PassID;
|
||||
bool isAnalysisPass; // True if this pass is an analysis pass.
|
||||
// AnalysisImpls - This keeps track of which passes implement the interfaces
|
||||
// that are required by the current pass (to implement getAnalysis()).
|
||||
//
|
||||
@@ -82,14 +81,11 @@ class Pass {
|
||||
void operator=(const Pass&); // DO NOT IMPLEMENT
|
||||
Pass(const Pass &); // DO NOT IMPLEMENT
|
||||
public:
|
||||
explicit Pass(intptr_t pid, bool AP = false) : Resolver(0), PassID(pid),
|
||||
isAnalysisPass(AP) {}
|
||||
explicit Pass(const void *pid, bool AP = false) : Resolver(0),
|
||||
PassID((intptr_t)pid),
|
||||
isAnalysisPass(AP) {}
|
||||
explicit Pass(intptr_t pid) : Resolver(0), PassID(pid) {}
|
||||
explicit Pass(const void *pid) : Resolver(0),
|
||||
PassID((intptr_t)pid) {}
|
||||
virtual ~Pass();
|
||||
|
||||
bool isAnalysis() const { return isAnalysisPass; }
|
||||
/// getPassName - Return a nice clean name for a pass. This usually
|
||||
/// implemented in terms of the name that is registered by one of the
|
||||
/// Registration templates, but can be overloaded directly.
|
||||
@@ -231,8 +227,8 @@ public:
|
||||
return PMT_ModulePassManager;
|
||||
}
|
||||
|
||||
explicit ModulePass(intptr_t pid, bool AP = false) : Pass(pid, AP) {}
|
||||
explicit ModulePass(const void *pid, bool AP = false) : Pass(pid, AP) {}
|
||||
explicit ModulePass(intptr_t pid) : Pass(pid) {}
|
||||
explicit ModulePass(const void *pid) : Pass(pid) {}
|
||||
// Force out-of-line virtual method.
|
||||
virtual ~ModulePass();
|
||||
};
|
||||
@@ -257,9 +253,9 @@ public:
|
||||
///
|
||||
bool runOnModule(Module &M) { return false; }
|
||||
|
||||
explicit ImmutablePass(intptr_t pid, bool AP = false) : ModulePass(pid, AP) {}
|
||||
explicit ImmutablePass(const void *pid, bool AP = false)
|
||||
: ModulePass(pid, AP) {}
|
||||
explicit ImmutablePass(intptr_t pid) : ModulePass(pid) {}
|
||||
explicit ImmutablePass(const void *pid)
|
||||
: ModulePass(pid) {}
|
||||
|
||||
// Force out-of-line virtual method.
|
||||
virtual ~ImmutablePass();
|
||||
@@ -276,8 +272,8 @@ public:
|
||||
///
|
||||
class FunctionPass : public Pass {
|
||||
public:
|
||||
explicit FunctionPass(intptr_t pid, bool AP = false) : Pass(pid, AP) {}
|
||||
explicit FunctionPass(const void *pid, bool AP = false) : Pass(pid, AP) {}
|
||||
explicit FunctionPass(intptr_t pid) : Pass(pid) {}
|
||||
explicit FunctionPass(const void *pid) : Pass(pid) {}
|
||||
|
||||
/// doInitialization - Virtual method overridden by subclasses to do
|
||||
/// any necessary per-module initialization.
|
||||
@@ -328,8 +324,8 @@ public:
|
||||
///
|
||||
class BasicBlockPass : public Pass {
|
||||
public:
|
||||
explicit BasicBlockPass(intptr_t pid, bool AP = false) : Pass(pid, AP) {}
|
||||
explicit BasicBlockPass(const void *pid, bool AP = false) : Pass(pid, AP) {}
|
||||
explicit BasicBlockPass(intptr_t pid) : Pass(pid) {}
|
||||
explicit BasicBlockPass(const void *pid) : Pass(pid) {}
|
||||
|
||||
/// doInitialization - Virtual method overridden by subclasses to do
|
||||
/// any necessary per-module initialization.
|
||||
|
Reference in New Issue
Block a user