mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
* Un "protect" the getAnalysis<> functions
* Add a new initializePass() method to ImmutablePass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5629 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dcc0ac9eb7
commit
d2c0b28c33
@ -142,8 +142,6 @@ public:
|
|||||||
return dynamic_cast<AnalysisType*>(Resolver->getAnalysisToUpdate(PI));
|
return dynamic_cast<AnalysisType*>(Resolver->getAnalysisToUpdate(PI));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
/// getAnalysis<AnalysisType>() - This function is used by subclasses to get
|
/// getAnalysis<AnalysisType>() - This function is used by subclasses to get
|
||||||
/// to the analysis information that they claim to use by overriding the
|
/// to the analysis information that they claim to use by overriding the
|
||||||
/// getAnalysisUsage function.
|
/// getAnalysisUsage function.
|
||||||
@ -203,8 +201,16 @@ inline std::ostream &operator<<(std::ostream &OS, const Pass &P) {
|
|||||||
/// "basic" versions of AnalysisGroups.
|
/// "basic" versions of AnalysisGroups.
|
||||||
///
|
///
|
||||||
struct ImmutablePass : public Pass {
|
struct ImmutablePass : public Pass {
|
||||||
|
/// initializePass - This method may be overriden by immutable passes to allow
|
||||||
|
/// them to perform various initialization actions they require. This is
|
||||||
|
/// primarily because an ImmutablePass can "require" another ImmutablePass,
|
||||||
|
/// and if it does, the overloaded version of initializePass may get access to
|
||||||
|
/// these passes with getAnalysis<>.
|
||||||
|
///
|
||||||
|
virtual void initializePass() {}
|
||||||
|
|
||||||
// ImmutablePasses are never run.
|
/// ImmutablePasses are never run.
|
||||||
|
///
|
||||||
virtual bool run(Module &M) { return false; }
|
virtual bool run(Module &M) { return false; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
Reference in New Issue
Block a user