mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
* Eliminate the Provided set. All Passes now finally just automatically
provide themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3124 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
44050fb25a
commit
eb702350f7
@ -102,7 +102,6 @@ public:
|
||||
// getAnalysisUsage - Provide self!
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
AU.addProvided(ID);
|
||||
}
|
||||
|
||||
// --------- Functions to access analysis results -------------------
|
||||
|
@ -102,7 +102,6 @@ public:
|
||||
// getAnalysisUsage - Provide self!
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
AU.addProvided(ID);
|
||||
}
|
||||
|
||||
// --------- Functions to access analysis results -------------------
|
||||
|
@ -25,7 +25,7 @@
|
||||
//
|
||||
class AnalysisUsage {
|
||||
// Sets of analyses required and preserved by a pass
|
||||
std::vector<AnalysisID> Required, Preserved, Provided;
|
||||
std::vector<AnalysisID> Required, Preserved;
|
||||
bool PreservesAll;
|
||||
public:
|
||||
AnalysisUsage() : PreservesAll(false) {}
|
||||
@ -46,10 +46,6 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
void addProvided(AnalysisID ID) {
|
||||
Provided.push_back(ID);
|
||||
}
|
||||
|
||||
// PreservesAll - Set by analyses that do not transform their input at all
|
||||
void setPreservesAll() { PreservesAll = true; }
|
||||
bool preservesAll() const { return PreservesAll; }
|
||||
@ -67,13 +63,12 @@ public:
|
||||
|
||||
const std::vector<AnalysisID> &getRequiredSet() const { return Required; }
|
||||
const std::vector<AnalysisID> &getPreservedSet() const { return Preserved; }
|
||||
const std::vector<AnalysisID> &getProvidedSet() const { return Provided; }
|
||||
};
|
||||
|
||||
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// AnalysisResolver - Simple interface implemented by PassManagers objects that
|
||||
// AnalysisResolver - Simple interface implemented by PassManager objects that
|
||||
// is used to pull analysis information out of them.
|
||||
//
|
||||
struct AnalysisResolver {
|
||||
@ -87,8 +82,7 @@ struct AnalysisResolver {
|
||||
|
||||
// getAnalysisToUpdate - Return an analysis result or null if it doesn't exist
|
||||
Pass *getAnalysisToUpdate(AnalysisID ID) {
|
||||
Pass *Result = getAnalysisOrNullUp(ID);
|
||||
return Result;
|
||||
return getAnalysisOrNullUp(ID);
|
||||
}
|
||||
|
||||
virtual unsigned getDepth() const = 0;
|
||||
|
@ -73,7 +73,6 @@ void LoopInfo::Calculate(const DominatorSet &DS) {
|
||||
void LoopInfo::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
AU.addRequired(DominatorSet::ID);
|
||||
AU.addProvided(ID);
|
||||
}
|
||||
|
||||
void LoopInfo::print(std::ostream &OS) const {
|
||||
|
@ -148,7 +148,6 @@ bool PostDominatorSet::runOnFunction(Function &F) {
|
||||
//
|
||||
void PostDominatorSet::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
AU.addProvided(ID);
|
||||
AU.addRequired(UnifyFunctionExitNodes::ID);
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,6 @@ bool PostDominatorSet::runOnFunction(Function &F) {
|
||||
//
|
||||
void PostDominatorSet::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
AU.addProvided(ID);
|
||||
AU.addRequired(UnifyFunctionExitNodes::ID);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user