CallGraph() : Root(0) {}
~CallGraph() { destroy(); }
CallGraph() : Root(0) {}
~CallGraph() { destroy(); }
- virtual const char *getPassName() const { return "Call Graph Construction"; }
-
// run - Compute the call graph for the specified module.
virtual bool run(Module &M);
// run - Compute the call graph for the specified module.
virtual bool run(Module &M);
~LocalDataStructures() { releaseMemory(); }
~LocalDataStructures() { releaseMemory(); }
- virtual const char *getPassName() const {
- return "Local Data Structure Analysis";
- }
-
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
~BUDataStructures() { releaseMemory(); }
~BUDataStructures() { releaseMemory(); }
- virtual const char *getPassName() const {
- return "Bottom-Up Data Structure Analysis Closure";
- }
-
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
~LocalDataStructures() { releaseMemory(); }
~LocalDataStructures() { releaseMemory(); }
- virtual const char *getPassName() const {
- return "Local Data Structure Analysis";
- }
-
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
~BUDataStructures() { releaseMemory(); }
~BUDataStructures() { releaseMemory(); }
- virtual const char *getPassName() const {
- return "Bottom-Up Data Structure Analysis Closure";
- }
-
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
virtual bool run(Module &M);
// getDSGraph - Return the data structure graph for the specified function.
DominatorSet() : DominatorSetBase(false) {}
DominatorSet() : DominatorSetBase(false) {}
- virtual const char *getPassName() const {
- return "Dominator Set Construction";
- }
-
virtual bool runOnFunction(Function &F);
// getAnalysisUsage - This simply provides a dominator set
virtual bool runOnFunction(Function &F);
// getAnalysisUsage - This simply provides a dominator set
PostDominatorSet() : DominatorSetBase(true) {}
PostDominatorSet() : DominatorSetBase(true) {}
- virtual const char *getPassName() const {
- return "Post-Dominator Set Construction";
- }
-
virtual bool runOnFunction(Function &F);
// getAnalysisUsage - This obviously provides a dominator set, but it also
virtual bool runOnFunction(Function &F);
// getAnalysisUsage - This obviously provides a dominator set, but it also
ImmediateDominators() : ImmediateDominatorsBase(false) {}
ImmediateDominators() : ImmediateDominatorsBase(false) {}
- virtual const char *getPassName() const {
- return "Immediate Dominators Construction";
- }
-
virtual bool runOnFunction(Function &F) {
IDoms.clear(); // Reset from the last time we were run...
DominatorSet &DS = getAnalysis<DominatorSet>();
virtual bool runOnFunction(Function &F) {
IDoms.clear(); // Reset from the last time we were run...
DominatorSet &DS = getAnalysis<DominatorSet>();
ImmediatePostDominators() : ImmediateDominatorsBase(true) {}
ImmediatePostDominators() : ImmediateDominatorsBase(true) {}
- virtual const char *getPassName() const {
- return "Immediate Post-Dominators Construction";
- }
-
virtual bool runOnFunction(Function &F) {
IDoms.clear(); // Reset from the last time we were run...
PostDominatorSet &DS = getAnalysis<PostDominatorSet>();
virtual bool runOnFunction(Function &F) {
IDoms.clear(); // Reset from the last time we were run...
PostDominatorSet &DS = getAnalysis<PostDominatorSet>();
DominatorTree() : DominatorTreeBase(false) {}
DominatorTree() : DominatorTreeBase(false) {}
- virtual const char *getPassName() const {
- return "Dominator Tree Construction";
- }
-
virtual bool runOnFunction(Function &F) {
reset(); // Reset from the last time we were run...
DominatorSet &DS = getAnalysis<DominatorSet>();
virtual bool runOnFunction(Function &F) {
reset(); // Reset from the last time we were run...
DominatorSet &DS = getAnalysis<DominatorSet>();
PostDominatorTree() : DominatorTreeBase(true) {}
PostDominatorTree() : DominatorTreeBase(true) {}
- virtual const char *getPassName() const {
- return "Post-Dominator Tree Construction";
- }
-
virtual bool runOnFunction(Function &F) {
reset(); // Reset from the last time we were run...
PostDominatorSet &DS = getAnalysis<PostDominatorSet>();
virtual bool runOnFunction(Function &F) {
reset(); // Reset from the last time we were run...
PostDominatorSet &DS = getAnalysis<PostDominatorSet>();
DominanceFrontier() : DominanceFrontierBase(false) {}
DominanceFrontier() : DominanceFrontierBase(false) {}
- virtual const char *getPassName() const {
- return "Dominance Frontier Construction";
- }
-
virtual bool runOnFunction(Function &) {
Frontiers.clear();
DominatorTree &DT = getAnalysis<DominatorTree>();
virtual bool runOnFunction(Function &) {
Frontiers.clear();
DominatorTree &DT = getAnalysis<DominatorTree>();
PostDominanceFrontier() : DominanceFrontierBase(true) {}
PostDominanceFrontier() : DominanceFrontierBase(true) {}
- virtual const char *getPassName() const {
- return "Post-Dominance Frontier Construction";
- }
-
virtual bool runOnFunction(Function &) {
Frontiers.clear();
PostDominatorTree &DT = getAnalysis<PostDominatorTree>();
virtual bool runOnFunction(Function &) {
Frontiers.clear();
PostDominatorTree &DT = getAnalysis<PostDominatorTree>();
public:
static AnalysisID ID; // We are an analysis, we must have an ID
public:
static AnalysisID ID; // We are an analysis, we must have an ID
- FindUnsafePointerTypes() {}
-
- virtual const char *getPassName() const { return "Find Unsafe Pointer Types";}
-
// Accessor for underlying type set...
inline const std::set<PointerType*> &getUnsafeTypes() const {
return UnsafeTypes;
// Accessor for underlying type set...
inline const std::set<PointerType*> &getUnsafeTypes() const {
return UnsafeTypes;
- FindUsedTypes() {}
- virtual const char *getPassName() const { return "Find Used Types"; }
-
// getTypes - After the pass has been run, return the set containing all of
// the types used in the module.
//
// getTypes - After the pass has been run, return the set containing all of
// the types used in the module.
//
- inline const std::set<const Type *> &getTypes() const { return UsedTypes; }
+ const std::set<const Type *> &getTypes() const { return UsedTypes; }
// Print the types found in the module. If the optional Module parameter is
// passed in, then the types are printed symbolically if possible, using the
// Print the types found in the module. If the optional Module parameter is
// passed in, then the types are printed symbolically if possible, using the
IntervalPartition() : RootInterval(0) {}
IntervalPartition() : RootInterval(0) {}
- const char *getPassName() const { return "Interval Partition Construction"; }
-
// run - Calculate the interval partition for this function
virtual bool runOnFunction(Function &F);
// run - Calculate the interval partition for this function
virtual bool runOnFunction(Function &F);
-#ifndef METH_LIVE_VAR_INFO_H
-#define METH_LIVE_VAR_INFO_H
+#ifndef FUNCTION_LIVE_VAR_INFO_H
+#define FUNCTION_LIVE_VAR_INFO_H
#include "llvm/Pass.h"
#include "llvm/Analysis/LiveVar/ValueSet.h"
#include "llvm/Pass.h"
#include "llvm/Analysis/LiveVar/ValueSet.h"
public:
static AnalysisID ID; // We are an analysis, we must have an ID
public:
static AnalysisID ID; // We are an analysis, we must have an ID
- virtual const char *getPassName() const { return "Live Variable Analysis"; }
-
// --------- Implement the FunctionPass interface ----------------------
// runOnFunction - Perform analysis, update internal data structures.
// --------- Implement the FunctionPass interface ----------------------
// runOnFunction - Perform analysis, update internal data structures.
// LoopInfo ctor - Calculate the natural loop information for a CFG
~LoopInfo() { releaseMemory(); }
// LoopInfo ctor - Calculate the natural loop information for a CFG
~LoopInfo() { releaseMemory(); }
- const char *getPassName() const { return "Natural Loop Analysis"; }
-
const std::vector<Loop*> &getTopLevelLoops() const { return TopLevelLoops; }
// getLoopFor - Return the inner most loop that BB lives in. If a basic block
const std::vector<Loop*> &getTopLevelLoops() const { return TopLevelLoops; }
// getLoopFor - Return the inner most loop that BB lives in. If a basic block
-#ifndef METH_LIVE_VAR_INFO_H
-#define METH_LIVE_VAR_INFO_H
+#ifndef FUNCTION_LIVE_VAR_INFO_H
+#define FUNCTION_LIVE_VAR_INFO_H
#include "llvm/Pass.h"
#include "llvm/Analysis/LiveVar/ValueSet.h"
#include "llvm/Pass.h"
#include "llvm/Analysis/LiveVar/ValueSet.h"
public:
static AnalysisID ID; // We are an analysis, we must have an ID
public:
static AnalysisID ID; // We are an analysis, we must have an ID
- virtual const char *getPassName() const { return "Live Variable Analysis"; }
-
// --------- Implement the FunctionPass interface ----------------------
// runOnFunction - Perform analysis, update internal data structures.
// --------- Implement the FunctionPass interface ----------------------
// runOnFunction - Perform analysis, update internal data structures.