#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/TypeInfo.h"
+#include <algorithm>
#include <set>
using namespace llvm;
-//===----------------------------------------------------------------------===//
-// AnalysisResolver Class Implementation
-//
-
-AnalysisResolver::~AnalysisResolver() {
-}
-
//===----------------------------------------------------------------------===//
// Pass Implementation
//
ModulePass::~ModulePass() { }
bool Pass::mustPreserveAnalysisID(const PassInfo *AnalysisID) const {
- return Resolver_New->getAnalysisToUpdate(AnalysisID, true) != 0;
+ return Resolver->getAnalysisToUpdate(AnalysisID, true) != 0;
}
// dumpPassStructure - Implement the -debug-passes=Structure option
bool Changed = doInitialization(M);
for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I)
- if (!I->isExternal()) // Passes are not run on external functions!
+ if (!I->isDeclaration()) // Passes are not run on external functions!
Changed |= runOnFunction(*I);
return Changed | doFinalization(M);
// run - On a function, we simply initialize, run the function, then finalize.
//
bool FunctionPass::run(Function &F) {
- if (F.isExternal()) return false;// Passes are not run on external functions!
+ if (F.isDeclaration()) return false;// Passes are not run on external functions!
bool Changed = doInitialization(*F.getParent());
Changed |= runOnFunction(F);