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 // 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