namespace llvm {
class FunctionPass;
class ImmutablePass;
+ class LoopPass;
class ModulePass;
class Pass;
+ class PassInfo;
+ class LibCallInfo;
//===--------------------------------------------------------------------===//
//
//===--------------------------------------------------------------------===//
//
- // createAndersensPass - This pass implements Andersen's interprocedural alias
- // analysis.
- //
- ModulePass *createAndersensPass();
+ /// createLibCallAliasAnalysisPass - Create an alias analysis pass that knows
+ /// about the semantics of a set of libcalls specified by LCI. The newly
+ /// constructed pass takes ownership of the pointer that is provided.
+ ///
+ FunctionPass *createLibCallAliasAnalysisPass(LibCallInfo *LCI);
//===--------------------------------------------------------------------===//
//
- // createBasicVNPass - This pass walks SSA def-use chains to trivially
- // identify lexically identical expressions.
+ // createAndersensPass - This pass implements Andersen's interprocedural alias
+ // analysis.
//
- ImmutablePass *createBasicVNPass();
+ ModulePass *createAndersensPass();
//===--------------------------------------------------------------------===//
//
//
ImmutablePass *createNoProfileInfoPass();
+ //===--------------------------------------------------------------------===//
+ //
+ // createProfileEstimatorPass - This pass estimates profiling information
+ // instead of loading it from a previous run.
+ //
+ FunctionPass *createProfileEstimatorPass();
+ extern const PassInfo *ProfileEstimatorPassID;
+
//===--------------------------------------------------------------------===//
//
// createDSAAPass - This pass implements simple context sensitive alias
// simple context insensitive alias analysis.
//
ModulePass *createSteensgaardPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createLiveValuesPass - This creates an instance of the LiveValues pass.
+ //
+ FunctionPass *createLiveValuesPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createLoopDependenceAnalysisPass - This creates an instance of the
+ // LoopDependenceAnalysis pass.
+ //
+ LoopPass *createLoopDependenceAnalysisPass();
// Minor pass prototypes, allowing us to expose them through bugpoint and
// analyze.
FunctionPass *createInstCountPass();
+
+ // print debug info intrinsics in human readable form
+ FunctionPass *createDbgInfoPrinterPass();
}
#endif