X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FAnalysis%2FPasses.h;h=bb0e569067e9926d6a0e16cd993e2f9e61a86ea0;hb=5df1207c2cf57a98763c28c8534230726ca8fc3a;hp=7843aea2aea1d9a2670f74fbe1f3638765217bc6;hpb=029840c93521f5c54380e037a66216c8227ad1e1;p=oota-llvm.git diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h index 7843aea2aea..bb0e569067e 100644 --- a/include/llvm/Analysis/Passes.h +++ b/include/llvm/Analysis/Passes.h @@ -18,29 +18,10 @@ namespace llvm { class FunctionPass; class ImmutablePass; + class LoopPass; class ModulePass; class Pass; - class LibCallInfo; - - //===--------------------------------------------------------------------===// - // - // createGlobalsModRefPass - This pass provides alias and mod/ref info for - // global values that do not have their addresses taken. - // - Pass *createGlobalsModRefPass(); - - //===--------------------------------------------------------------------===// - // - // createAliasDebugger - This pass helps debug clients of AA - // - Pass *createAliasDebugger(); - - //===--------------------------------------------------------------------===// - // - // createAliasAnalysisCounterPass - This pass counts alias queries and how the - // alias analysis implementation responds. - // - ModulePass *createAliasAnalysisCounterPass(); + class PassInfo; //===--------------------------------------------------------------------===// // @@ -57,70 +38,77 @@ namespace llvm { //===--------------------------------------------------------------------===// // - // createBasicAliasAnalysisPass - This pass implements the default alias - // analysis. + // createObjCARCAliasAnalysisPass - This pass implements ObjC-ARC-based + // alias analysis. // - ImmutablePass *createBasicAliasAnalysisPass(); + ImmutablePass *createObjCARCAliasAnalysisPass(); + + FunctionPass *createPAEvalPass(); //===--------------------------------------------------------------------===// // - /// 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); + /// 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. + // + FunctionPass *createDivergenceAnalysisPass(); + + //===--------------------------------------------------------------------===// // - ImmutablePass *createNoProfileInfoPass(); + // Minor pass prototypes, allowing us to expose them through bugpoint and + // analyze. + FunctionPass *createInstCountPass(); //===--------------------------------------------------------------------===// // - // createDSAAPass - This pass implements simple context sensitive alias - // analysis. + // 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