LLVM 17.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
17namespace 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 //
48
49 //===--------------------------------------------------------------------===//
50 //
51 // createLegacyDivergenceAnalysisPass - This pass determines which branches in a GPU
52 // program are divergent.
53 //
55
56 //===--------------------------------------------------------------------===//
57 //
58 // Minor pass prototypes, allowing us to expose them through bugpoint and
59 // analyze.
61
62 //===--------------------------------------------------------------------===//
63 //
64 // createRegionInfoPass - This pass finds all single entry single exit regions
65 // in a function and builds the region hierarchy.
66 //
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 //
78
79 //===--------------------------------------------------------------------===//
80 //
81 // createMemDerefPrinter - This pass collects memory dereferenceability
82 // information and prints it with -analyze.
83 //
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 //
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
FunctionPass class - This class is used to implement most global optimizations.
Definition: Pass.h:308
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
Definition: Pass.h:248
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
FunctionPass * createDelinearizationPass()
ModulePass * createMustBeExecutedContextPrinter()
ModulePass * createModuleDebugInfoPrinterPass()
FunctionPass * createInstCountPass()
FunctionPass * createMemDerefPrinter()
FunctionPass * createLazyValueInfoPass()
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
FunctionPass * createLegacyDivergenceAnalysisPass()
FunctionPass * createCostModelAnalysisPass()
Definition: CostModel.cpp:78
FunctionPass * createRegionInfoPass()
Definition: RegionInfo.cpp:176
FunctionPass * createMemDepPrinter()
FunctionPass * createDependenceAnalysisWrapperPass()
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis wrapper pass.
FunctionPass * createMustExecutePrinter()