//
// The LLVM Compiler Infrastructure
//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
namespace llvm {
class FunctionPass;
class ImmutablePass;
+ class LoopPass;
class ModulePass;
class Pass;
+ class PassInfo;
+ class LibCallInfo;
//===--------------------------------------------------------------------===//
//
//===--------------------------------------------------------------------===//
//
- // createAliasDebugger - This pass helps debug clients of AA
+ // createAAEvalPass - This pass implements a simple N^2 alias analysis
+ // accuracy evaluator.
//
- Pass *createAliasDebugger();
+ FunctionPass *createAAEvalPass();
//===--------------------------------------------------------------------===//
//
- // createAliasAnalysisCounterPass - This pass counts alias queries and how the
- // alias analysis implementation responds.
+ // createNoAAPass - This pass implements a "I don't know" alias analysis.
//
- ModulePass *createAliasAnalysisCounterPass();
+ ImmutablePass *createNoAAPass();
//===--------------------------------------------------------------------===//
//
- // createAAEvalPass - This pass implements a simple N^2 alias analysis
- // accuracy evaluator.
+ // createTypeBasedAliasAnalysisPass - This pass implements metadata-based
+ // type-based alias analysis.
//
- FunctionPass *createAAEvalPass();
+ ImmutablePass *createTypeBasedAliasAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createNoAAPass - This pass implements a "I don't know" alias analysis.
+ // createObjCARCAliasAnalysisPass - This pass implements ObjC-ARC-based
+ // alias analysis.
//
- ImmutablePass *createNoAAPass();
+ ImmutablePass *createObjCARCAliasAnalysisPass();
+
+ FunctionPass *createPAEvalPass();
//===--------------------------------------------------------------------===//
//
- // createBasicAliasAnalysisPass - This pass implements the default alias
- // analysis.
- //
- ImmutablePass *createBasicAliasAnalysisPass();
+ /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
+ /// pass.
+ FunctionPass *createLazyValueInfoPass();
//===--------------------------------------------------------------------===//
//
- // createAndersensPass - This pass implements Andersen's interprocedural alias
- // analysis.
+ // createDependenceAnalysisPass - This creates an instance of the
+ // DependenceAnalysis pass.
//
- ModulePass *createAndersensPass();
+ FunctionPass *createDependenceAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createBasicVNPass - This pass walks SSA def-use chains to trivially
- // identify lexically identical expressions.
+ // createCostModelAnalysisPass - This creates an instance of the
+ // CostModelAnalysis pass.
//
- ImmutablePass *createBasicVNPass();
+ FunctionPass *createCostModelAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createProfileLoaderPass - This pass loads information from a profile dump
- // file.
+ // createDelinearizationPass - This pass implements attempts to restore
+ // multidimensional array indices from linearized expressions.
//
- ModulePass *createProfileLoaderPass();
+ FunctionPass *createDelinearizationPass();
//===--------------------------------------------------------------------===//
//
- // createNoProfileInfoPass - This pass implements the default "no profile".
+ // createDivergenceAnalysisPass - This pass determines which branches in a GPU
+ // program are divergent.
//
- ImmutablePass *createNoProfileInfoPass();
+ FunctionPass *createDivergenceAnalysisPass();
//===--------------------------------------------------------------------===//
//
- // createDSAAPass - This pass implements simple context sensitive alias
- // analysis.
+ // Minor pass prototypes, allowing us to expose them through bugpoint and
+ // analyze.
+ FunctionPass *createInstCountPass();
+
+ //===--------------------------------------------------------------------===//
+ //
+ // createRegionInfoPass - This pass finds all single entry single exit regions
+ // in a function and builds the region hierarchy.
//
- ModulePass *createDSAAPass();
+ FunctionPass *createRegionInfoPass();
+
+ // Print module-level debug info metadata in human-readable form.
+ ModulePass *createModuleDebugInfoPrinterPass();
//===--------------------------------------------------------------------===//
//
- // createDSOptPass - This pass uses DSA to do a series of simple
- // optimizations.
+ // createMemDepPrinter - This pass exhaustively collects all memdep
+ // information and prints it with -analyze.
//
- ModulePass *createDSOptPass();
+ FunctionPass *createMemDepPrinter();
//===--------------------------------------------------------------------===//
//
- // createSteensgaardPass - This pass uses the data structure graphs to do a
- // simple context insensitive alias analysis.
+ // createMemDerefPrinter - This pass collects memory dereferenceability
+ // information and prints it with -analyze.
//
- ModulePass *createSteensgaardPass();
-
- // Minor pass prototypes, allowing us to expose them through bugpoint and
- // analyze.
- FunctionPass *createInstCountPass();
+ FunctionPass *createMemDerefPrinter();
+
}
#endif