LLVM  6.0.0svn
Passes.h
Go to the documentation of this file.
1 //===-- llvm/Analysis/Passes.h - Constructors for analyses ------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This header file defines prototypes for accessor functions that expose passes
11 // in the analysis libraries.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_ANALYSIS_PASSES_H
16 #define LLVM_ANALYSIS_PASSES_H
17 
18 namespace llvm {
19  class FunctionPass;
20  class ImmutablePass;
21  class LoopPass;
22  class ModulePass;
23  class Pass;
24  class PassInfo;
25 
26  //===--------------------------------------------------------------------===//
27  //
28  // createObjCARCAAWrapperPass - This pass implements ObjC-ARC-based
29  // alias analysis.
30  //
31  ImmutablePass *createObjCARCAAWrapperPass();
32 
33  FunctionPass *createPAEvalPass();
34 
35  //===--------------------------------------------------------------------===//
36  //
37  /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
38  /// pass.
39  FunctionPass *createLazyValueInfoPass();
40 
41  //===--------------------------------------------------------------------===//
42  //
43  // createDependenceAnalysisWrapperPass - This creates an instance of the
44  // DependenceAnalysisWrapper pass.
45  //
47 
48  //===--------------------------------------------------------------------===//
49  //
50  // createCostModelAnalysisPass - This creates an instance of the
51  // CostModelAnalysis pass.
52  //
53  FunctionPass *createCostModelAnalysisPass();
54 
55  //===--------------------------------------------------------------------===//
56  //
57  // createDelinearizationPass - This pass implements attempts to restore
58  // multidimensional array indices from linearized expressions.
59  //
60  FunctionPass *createDelinearizationPass();
61 
62  //===--------------------------------------------------------------------===//
63  //
64  // createDivergenceAnalysisPass - This pass determines which branches in a GPU
65  // program are divergent.
66  //
67  FunctionPass *createDivergenceAnalysisPass();
68 
69  //===--------------------------------------------------------------------===//
70  //
71  // Minor pass prototypes, allowing us to expose them through bugpoint and
72  // analyze.
73  FunctionPass *createInstCountPass();
74 
75  //===--------------------------------------------------------------------===//
76  //
77  // createRegionInfoPass - This pass finds all single entry single exit regions
78  // in a function and builds the region hierarchy.
79  //
80  FunctionPass *createRegionInfoPass();
81 
82  // Print module-level debug info metadata in human-readable form.
84 
85  //===--------------------------------------------------------------------===//
86  //
87  // createMemDepPrinter - This pass exhaustively collects all memdep
88  // information and prints it with -analyze.
89  //
90  FunctionPass *createMemDepPrinter();
91 
92  //===--------------------------------------------------------------------===//
93  //
94  // createMemDerefPrinter - This pass collects memory dereferenceability
95  // information and prints it with -analyze.
96  //
97  FunctionPass *createMemDerefPrinter();
98 
99 }
100 
101 #endif
FunctionPass * createInstCountPass()
FunctionPass * createDependenceAnalysisWrapperPass()
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis wrapper pass...
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24
FunctionPass * createRegionInfoPass()
Definition: RegionInfo.cpp:177
FunctionPass * createDivergenceAnalysisPass()
FunctionPass * createLazyValueInfoPass()
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
FunctionPass * createMemDepPrinter()
print lazy value Lazy Value Info Printer Pass
FunctionPass * createDelinearizationPass()
FunctionPass * createPAEvalPass()
ModulePass * createModuleDebugInfoPrinterPass()
FunctionPass * createCostModelAnalysisPass()
Definition: CostModel.cpp:80
FunctionPass * createMemDerefPrinter()
ImmutablePass * createObjCARCAAWrapperPass()