//
FunctionPass *createAAEvalPass();
- //===--------------------------------------------------------------------===//
- //
- // createInterproceduralAAEvalPass - This pass implements a simple
- // N^2 interprocedural alias analysis accuracy evaluator.
- //
- Pass *createInterproceduralAAEvalPass();
-
//===--------------------------------------------------------------------===//
//
// createNoAAPass - This pass implements a "I don't know" alias analysis.
//===--------------------------------------------------------------------===//
//
- // createBasicAliasAnalysisPass - This pass implements the default alias
- // analysis. This analysis respects the noalias attribute, so it is not
- // suitable for some interprocedural uses (see the discussion of noalias
- // in AliasAnalysis.html for details).
+ // createBasicAliasAnalysisPass - This pass implements the stateless alias
+ // analysis.
//
ImmutablePass *createBasicAliasAnalysisPass();
- //===--------------------------------------------------------------------===//
- //
- // createInterproceduralBasicAliasAnalysisPass - This pass is similar to
- // baiscaa, except that it properly supports queries to values which live
- // in different functions. Unlike the regular BasicAliasAnalysis, this
- // implementation does not respect the noalias attribute.
- //
- ImmutablePass *createInterproceduralBasicAliasAnalysisPass();
-
//===--------------------------------------------------------------------===//
//
/// createLibCallAliasAnalysisPass - Create an alias analysis pass that knows
//
FunctionPass *createScalarEvolutionAliasAnalysisPass();
+ //===--------------------------------------------------------------------===//
+ //
+ // createTypeBasedAliasAnalysisPass - This pass implements metadata-based
+ // type-based alias analysis.
+ //
+ ImmutablePass *createTypeBasedAliasAnalysisPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createObjCARCAliasAnalysisPass - This pass implements ObjC-ARC-based
+ // alias analysis.
+ //
+ ImmutablePass *createObjCARCAliasAnalysisPass();
+
//===--------------------------------------------------------------------===//
//
// createProfileLoaderPass - This pass loads information from a profile dump
// file.
//
ModulePass *createProfileLoaderPass();
- extern const PassInfo *ProfileLoaderPassID;
+ extern char &ProfileLoaderPassID;
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createProfileMetadataLoaderPass - This pass loads information from a
+ // profile dump file and sets branch weight metadata.
+ //
+ ModulePass *createProfileMetadataLoaderPass();
+ extern char &ProfileMetadataLoaderPassID;
//===--------------------------------------------------------------------===//
//
// instead of loading it from a previous run.
//
FunctionPass *createProfileEstimatorPass();
- extern const PassInfo *ProfileEstimatorPassID;
+ extern char &ProfileEstimatorPassID;
//===--------------------------------------------------------------------===//
//
//
FunctionPass *createProfileVerifierPass();
+ //===--------------------------------------------------------------------===//
+ //
+ // createPathProfileLoaderPass - This pass loads information from a path
+ // profile dump file.
+ //
+ ModulePass *createPathProfileLoaderPass();
+ extern char &PathProfileLoaderPassID;
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createNoPathProfileInfoPass - This pass implements the default
+ // "no path profile".
+ //
+ ImmutablePass *createNoPathProfileInfoPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createPathProfileVerifierPass - This pass verifies path profiling
+ // information.
+ //
+ ModulePass *createPathProfileVerifierPass();
+
//===--------------------------------------------------------------------===//
//
// createDSAAPass - This pass implements simple context sensitive alias
//
ModulePass *createSteensgaardPass();
- //===--------------------------------------------------------------------===//
- //
- // createLiveValuesPass - This creates an instance of the LiveValues pass.
- //
- FunctionPass *createLiveValuesPass();
-
//===--------------------------------------------------------------------===//
//
/// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
//===--------------------------------------------------------------------===//
//
- // createLoopDependenceAnalysisPass - This creates an instance of the
- // LoopDependenceAnalysis pass.
+ // createDependenceAnalysisPass - This creates an instance of the
+ // DependenceAnalysis pass.
+ //
+ FunctionPass *createDependenceAnalysisPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createCostModelAnalysisPass - This creates an instance of the
+ // CostModelAnalysis pass.
+ //
+ FunctionPass *createCostModelAnalysisPass();
+
+ //===--------------------------------------------------------------------===//
//
- 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();
}
#endif