X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=include%2Fllvm%2FAnalysis%2FPasses.h;h=ca01daa4c30e6577d755537c399dcbf2294b06b6;hp=c127830e0e53bee75300c570f4902f63c2b48c7f;hb=217849dc42aaca4efddc75475dbcca73ed7dba47;hpb=54d2d2bbe9be3f23b680e6c6ba28e7ef1fade992 diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h index c127830e0e5..ca01daa4c30 100644 --- a/include/llvm/Analysis/Passes.h +++ b/include/llvm/Analysis/Passes.h @@ -31,19 +31,6 @@ namespace llvm { // 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(); - //===--------------------------------------------------------------------===// // // createAAEvalPass - This pass implements a simple N^2 alias analysis @@ -57,28 +44,6 @@ namespace llvm { // ImmutablePass *createNoAAPass(); - //===--------------------------------------------------------------------===// - // - // createBasicAliasAnalysisPass - This pass implements the stateless alias - // analysis. - // - ImmutablePass *createBasicAliasAnalysisPass(); - - //===--------------------------------------------------------------------===// - // - /// 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); - - //===--------------------------------------------------------------------===// - // - // createScalarEvolutionAliasAnalysisPass - This pass implements a simple - // alias analysis using ScalarEvolution queries. - // - FunctionPass *createScalarEvolutionAliasAnalysisPass(); - //===--------------------------------------------------------------------===// // // createTypeBasedAliasAnalysisPass - This pass implements metadata-based @@ -93,104 +58,41 @@ namespace llvm { // ImmutablePass *createObjCARCAliasAnalysisPass(); - //===--------------------------------------------------------------------===// - // - // createProfileLoaderPass - This pass loads information from a profile dump - // file. - // - ModulePass *createProfileLoaderPass(); - extern char &ProfileLoaderPassID; - - //===--------------------------------------------------------------------===// - // - // createProfileMetadataLoaderPass - This pass loads information from a - // profile dump file and sets branch weight metadata. - // - ModulePass *createProfileMetadataLoaderPass(); - extern char &ProfileMetadataLoaderPassID; - - //===--------------------------------------------------------------------===// - // - // createNoProfileInfoPass - This pass implements the default "no profile". - // - ImmutablePass *createNoProfileInfoPass(); + FunctionPass *createPAEvalPass(); //===--------------------------------------------------------------------===// // - // createProfileEstimatorPass - This pass estimates profiling information - // instead of loading it from a previous run. - // - FunctionPass *createProfileEstimatorPass(); - extern char &ProfileEstimatorPassID; - - //===--------------------------------------------------------------------===// - // - // createProfileVerifierPass - This pass verifies profiling information. - // - 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 - // 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(); //===--------------------------------------------------------------------===// // - /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo - /// pass. - FunctionPass *createLazyValueInfoPass(); - - //===--------------------------------------------------------------------===// - // - // createDependenceAnalysisPass - This creates an instance of the - // DependenceAnalysis pass. + // createDelinearizationPass - This pass implements attempts to restore + // multidimensional array indices from linearized expressions. // - FunctionPass *createDependenceAnalysisPass(); + FunctionPass *createDelinearizationPass(); //===--------------------------------------------------------------------===// // - // createLoopDependenceAnalysisPass - This creates an instance of the - // LoopDependenceAnalysis pass. + // createDivergenceAnalysisPass - This pass determines which branches in a GPU + // program are divergent. // - LoopPass *createLoopDependenceAnalysisPass(); + FunctionPass *createDivergenceAnalysisPass(); //===--------------------------------------------------------------------===// // @@ -198,9 +100,6 @@ namespace llvm { // analyze. FunctionPass *createInstCountPass(); - // print debug info intrinsics in human readable form - FunctionPass *createDbgInfoPrinterPass(); - //===--------------------------------------------------------------------===// // // createRegionInfoPass - This pass finds all single entry single exit regions @@ -217,6 +116,14 @@ namespace llvm { // information and prints it with -analyze. // FunctionPass *createMemDepPrinter(); + + //===--------------------------------------------------------------------===// + // + // createMemDerefPrinter - This pass collects memory dereferenceability + // information and prints it with -analyze. + // + FunctionPass *createMemDerefPrinter(); + } #endif