mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +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));
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
/// getAnalysis<AnalysisType>() - This function is used by subclasses to get
|
||||
/// to the analysis information that they claim to use by overriding the
|
||||
/// getAnalysisUsage function.
|
||||
@ -203,8 +201,16 @@ inline std::ostream &operator<<(std::ostream &OS, const Pass &P) {
|
||||
/// "basic" versions of AnalysisGroups.
|
||||
///
|
||||
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; }
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user