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 //
33 FunctionPass *createDependenceAnalysisWrapperPass();
34
35 //===--------------------------------------------------------------------===//
36 //
37 // createRegionInfoPass - This pass finds all single entry single exit regions
38 // in a function and builds the region hierarchy.
39 //
40 FunctionPass *createRegionInfoPass();
41}
42
43#endif
44