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 // Minor pass prototypes, allowing us to expose them through bugpoint and
52 // analyze.
54
55 //===--------------------------------------------------------------------===//
56 //
57 // createRegionInfoPass - This pass finds all single entry single exit regions
58 // in a function and builds the region hierarchy.
59 //
61
62 // Print module-level debug info metadata in human-readable form.
64
65 //===--------------------------------------------------------------------===//
66 //
67 // createMemDepPrinter - This pass exhaustively collects all memdep
68 // information and prints it with -analyze.
69 //
71
72 //===--------------------------------------------------------------------===//
73 //
74 // createMemDerefPrinter - This pass collects memory dereferenceability
75 // information and prints it with -analyze.
76 //
78
79 //===--------------------------------------------------------------------===//
80 //
81 // createMustExecutePrinter - This pass collects information about which
82 // instructions within a loop are guaranteed to execute if the loop header is
83 // entered and prints it with -analyze.
84 //
86
87 //===--------------------------------------------------------------------===//
88 //
89 // createMustBeExecutedContextPrinter - This pass prints information about which
90 // instructions are guaranteed to execute together (run with -analyze).
91 //
93
94}
95
96#endif
FunctionPass class - This class is used to implement most global optimizations.
Definition: Pass.h:311
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
Definition: Pass.h:251
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 * 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()