//===--------------------------------------------------------------------===//
//
- // createBasicAliasAnalysisPass - This pass implements the default alias
+ // createBasicAliasAnalysisPass - This pass implements the stateless alias
// analysis.
//
ImmutablePass *createBasicAliasAnalysisPass();
+ //===--------------------------------------------------------------------===//
+ //
+ // createCFLAliasAnalysisPass - This pass implements a set-based approach to
+ // alias analysis.
+ //
+ ImmutablePass *createCFLAliasAnalysisPass();
+
//===--------------------------------------------------------------------===//
//
/// createLibCallAliasAnalysisPass - Create an alias analysis pass that knows
//===--------------------------------------------------------------------===//
//
- // createAndersensPass - This pass implements Andersen's interprocedural alias
- // analysis.
+ // createScalarEvolutionAliasAnalysisPass - This pass implements a simple
+ // alias analysis using ScalarEvolution queries.
//
- ModulePass *createAndersensPass();
+ FunctionPass *createScalarEvolutionAliasAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createProfileLoaderPass - This pass loads information from a profile dump
- // file.
+ // createTypeBasedAliasAnalysisPass - This pass implements metadata-based
+ // type-based alias analysis.
//
- ModulePass *createProfileLoaderPass();
+ ImmutablePass *createTypeBasedAliasAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createNoProfileInfoPass - This pass implements the default "no profile".
+ // createScopedNoAliasAAPass - This pass implements metadata-based
+ // scoped noalias analysis.
//
- ImmutablePass *createNoProfileInfoPass();
+ ImmutablePass *createScopedNoAliasAAPass();
//===--------------------------------------------------------------------===//
//
- // createProfileEstimatorPass - This pass estimates profiling information
- // instead of loading it from a previous run.
+ // createObjCARCAliasAnalysisPass - This pass implements ObjC-ARC-based
+ // alias analysis.
//
- FunctionPass *createProfileEstimatorPass();
- extern const PassInfo *ProfileEstimatorPassID;
+ ImmutablePass *createObjCARCAliasAnalysisPass();
+
+ FunctionPass *createPAEvalPass();
//===--------------------------------------------------------------------===//
//
- // createDSAAPass - This pass implements simple context sensitive alias
- // analysis.
- //
- ModulePass *createDSAAPass();
+ /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
+ /// pass.
+ FunctionPass *createLazyValueInfoPass();
//===--------------------------------------------------------------------===//
//
- // createDSOptPass - This pass uses DSA to do a series of simple
- // optimizations.
+ // createDependenceAnalysisPass - This creates an instance of the
+ // DependenceAnalysis pass.
//
- ModulePass *createDSOptPass();
+ FunctionPass *createDependenceAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createSteensgaardPass - This pass uses the data structure graphs to do a
- // simple context insensitive alias analysis.
+ // createCostModelAnalysisPass - This creates an instance of the
+ // CostModelAnalysis pass.
//
- ModulePass *createSteensgaardPass();
+ FunctionPass *createCostModelAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createLiveValuesPass - This creates an instance of the LiveValues pass.
+ // createDelinearizationPass - This pass implements attempts to restore
+ // multidimensional array indices from linearized expressions.
//
- FunctionPass *createLiveValuesPass();
+ FunctionPass *createDelinearizationPass();
//===--------------------------------------------------------------------===//
//
- // 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();
+ //===--------------------------------------------------------------------===//
+ //
+ // createRegionInfoPass - This pass finds all single entry single exit regions
+ // in a function and builds the region hierarchy.
+ //
+ FunctionPass *createRegionInfoPass();
+
+ // Print module-level debug info metadata in human-readable form.
+ ModulePass *createModuleDebugInfoPrinterPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createMemDepPrinter - This pass exhaustively collects all memdep
+ // information and prints it with -analyze.
+ //
+ FunctionPass *createMemDepPrinter();
+
+ // createJumpInstrTableInfoPass - This creates a pass that stores information
+ // about the jump tables created by JumpInstrTables
+ ImmutablePass *createJumpInstrTableInfoPass();
}
#endif