LLVM  16.0.0git
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 ModulePass;
21 
22  //===--------------------------------------------------------------------===//
23  //
24  /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
25  /// pass.
26  FunctionPass *createLazyValueInfoPass();
27 
28  //===--------------------------------------------------------------------===//
29  //
30  // createDependenceAnalysisWrapperPass - This creates an instance of the
31  // DependenceAnalysisWrapper pass.
32  //
34 
35  //===--------------------------------------------------------------------===//
36  //
37  // createCostModelAnalysisPass - This creates an instance of the
38  // CostModelAnalysis pass.
39  //
40  FunctionPass *createCostModelAnalysisPass();
41 
42  //===--------------------------------------------------------------------===//
43  //
44  // createDelinearizationPass - This pass implements attempts to restore
45  // multidimensional array indices from linearized expressions.
46  //
47  FunctionPass *createDelinearizationPass();
48 
49  //===--------------------------------------------------------------------===//
50  //
51  // createLegacyDivergenceAnalysisPass - This pass determines which branches in a GPU
52  // program are divergent.
53  //
54  FunctionPass *createLegacyDivergenceAnalysisPass();
55 
56  //===--------------------------------------------------------------------===//
57  //
58  // Minor pass prototypes, allowing us to expose them through bugpoint and
59  // analyze.
60  FunctionPass *createInstCountPass();
61 
62  //===--------------------------------------------------------------------===//
63  //
64  // createRegionInfoPass - This pass finds all single entry single exit regions
65  // in a function and builds the region hierarchy.
66  //
67  FunctionPass *createRegionInfoPass();
68 
69  // Print module-level debug info metadata in human-readable form.
71 
72  //===--------------------------------------------------------------------===//
73  //
74  // createMemDepPrinter - This pass exhaustively collects all memdep
75  // information and prints it with -analyze.
76  //
77  FunctionPass *createMemDepPrinter();
78 
79  //===--------------------------------------------------------------------===//
80  //
81  // createMemDerefPrinter - This pass collects memory dereferenceability
82  // information and prints it with -analyze.
83  //
84  FunctionPass *createMemDerefPrinter();
85 
86  //===--------------------------------------------------------------------===//
87  //
88  // createMustExecutePrinter - This pass collects information about which
89  // instructions within a loop are guaranteed to execute if the loop header is
90  // entered and prints it with -analyze.
91  //
92  FunctionPass *createMustExecutePrinter();
93 
94  //===--------------------------------------------------------------------===//
95  //
96  // createMustBeExecutedContextPrinter - This pass prints information about which
97  // instructions are guaranteed to execute together (run with -analyze).
98  //
100 
101 }
102 
103 #endif
llvm::createMustExecutePrinter
FunctionPass * createMustExecutePrinter()
Definition: MustExecute.cpp:348
llvm::createMustBeExecutedContextPrinter
ModulePass * createMustBeExecutedContextPrinter()
Definition: MustExecute.cpp:365
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::createDelinearizationPass
FunctionPass * createDelinearizationPass()
llvm::createDependenceAnalysisWrapperPass
FunctionPass * createDependenceAnalysisWrapperPass()
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis wrapper pass.
Definition: DependenceAnalysis.cpp:152
llvm::createCostModelAnalysisPass
FunctionPass * createCostModelAnalysisPass()
Definition: CostModel.cpp:78
llvm::createModuleDebugInfoPrinterPass
ModulePass * createModuleDebugInfoPrinterPass()
llvm::createMemDerefPrinter
FunctionPass * createMemDerefPrinter()
Definition: MemDerefPrinter.cpp:48
llvm::createInstCountPass
FunctionPass * createInstCountPass()
llvm::createRegionInfoPass
FunctionPass * createRegionInfoPass()
Definition: RegionInfo.cpp:176
llvm::createLazyValueInfoPass
FunctionPass * createLazyValueInfoPass()
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
Definition: LazyValueInfo.cpp:63
llvm::createMemDepPrinter
FunctionPass * createMemDepPrinter()
Definition: MemDepPrinter.cpp:84
llvm::createLegacyDivergenceAnalysisPass
FunctionPass * createLegacyDivergenceAnalysisPass()
Definition: LegacyDivergenceAnalysis.cpp:298