LLVM  10.0.0svn
Passes.h
Go to the documentation of this file.
1 //===-- llvm/Analysis/Passes.h - Constructors for analyses ------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This header file defines prototypes for accessor functions that expose passes
10 // in the analysis libraries.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_ANALYSIS_PASSES_H
15 #define LLVM_ANALYSIS_PASSES_H
16 
17 namespace llvm {
18  class FunctionPass;
19  class ImmutablePass;
20  class LoopPass;
21  class ModulePass;
22  class Pass;
23  class PassInfo;
24 
25  //===--------------------------------------------------------------------===//
26  //
27  // createObjCARCAAWrapperPass - This pass implements ObjC-ARC-based
28  // alias analysis.
29  //
30  ImmutablePass *createObjCARCAAWrapperPass();
31 
32  FunctionPass *createPAEvalPass();
33 
34  //===--------------------------------------------------------------------===//
35  //
36  /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
37  /// pass.
38  FunctionPass *createLazyValueInfoPass();
39 
40  //===--------------------------------------------------------------------===//
41  //
42  // createDependenceAnalysisWrapperPass - This creates an instance of the
43  // DependenceAnalysisWrapper pass.
44  //
46 
47  //===--------------------------------------------------------------------===//
48  //
49  // createCostModelAnalysisPass - This creates an instance of the
50  // CostModelAnalysis pass.
51  //
52  FunctionPass *createCostModelAnalysisPass();
53 
54  //===--------------------------------------------------------------------===//
55  //
56  // createDelinearizationPass - This pass implements attempts to restore
57  // multidimensional array indices from linearized expressions.
58  //
59  FunctionPass *createDelinearizationPass();
60 
61  //===--------------------------------------------------------------------===//
62  //
63  // createLegacyDivergenceAnalysisPass - This pass determines which branches in a GPU
64  // program are divergent.
65  //
66  FunctionPass *createLegacyDivergenceAnalysisPass();
67 
68  //===--------------------------------------------------------------------===//
69  //
70  // Minor pass prototypes, allowing us to expose them through bugpoint and
71  // analyze.
72  FunctionPass *createInstCountPass();
73 
74  //===--------------------------------------------------------------------===//
75  //
76  // createRegionInfoPass - This pass finds all single entry single exit regions
77  // in a function and builds the region hierarchy.
78  //
79  FunctionPass *createRegionInfoPass();
80 
81  // Print module-level debug info metadata in human-readable form.
83 
84  //===--------------------------------------------------------------------===//
85  //
86  // createMemDepPrinter - This pass exhaustively collects all memdep
87  // information and prints it with -analyze.
88  //
89  FunctionPass *createMemDepPrinter();
90 
91  //===--------------------------------------------------------------------===//
92  //
93  // createMemDerefPrinter - This pass collects memory dereferenceability
94  // information and prints it with -analyze.
95  //
96  FunctionPass *createMemDerefPrinter();
97 
98  //===--------------------------------------------------------------------===//
99  //
100  // createMustExecutePrinter - This pass collects information about which
101  // instructions within a loop are guaranteed to execute if the loop header is
102  // entered and prints it with -analyze.
103  //
104  FunctionPass *createMustExecutePrinter();
105 
106  //===--------------------------------------------------------------------===//
107  //
108  // createMustBeExecutedContextPrinter - This pass prints information about which
109  // instructions are guaranteed to execute together (run with -analyze).
110  //
112 
113 }
114 
115 #endif
FunctionPass * createInstCountPass()
FunctionPass * createDependenceAnalysisWrapperPass()
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis wrapper pass...
This class represents lattice values for constants.
Definition: AllocatorList.h:23
FunctionPass * createRegionInfoPass()
Definition: RegionInfo.cpp:177
FunctionPass * createLazyValueInfoPass()
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
FunctionPass * createMustExecutePrinter()
FunctionPass * createMemDepPrinter()
print lazy value Lazy Value Info Printer Pass
FunctionPass * createDelinearizationPass()
FunctionPass * createPAEvalPass()
FunctionPass * createLegacyDivergenceAnalysisPass()
ModulePass * createModuleDebugInfoPrinterPass()
ModulePass * createMustBeExecutedContextPrinter()
FunctionPass * createCostModelAnalysisPass()
Definition: CostModel.cpp:78
FunctionPass * createMemDerefPrinter()
ImmutablePass * createObjCARCAAWrapperPass()