123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #pragma once
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- //===-- llvm/Analysis/Passes.h - Constructors for analyses ------*- C++ -*-===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- //
- // This header file defines prototypes for accessor functions that expose passes
- // in the analysis libraries.
- //
- //===----------------------------------------------------------------------===//
- #ifndef LLVM_ANALYSIS_PASSES_H
- #define LLVM_ANALYSIS_PASSES_H
- namespace llvm {
- class FunctionPass;
- class ImmutablePass;
- class ModulePass;
- //===--------------------------------------------------------------------===//
- //
- // createObjCARCAAWrapperPass - This pass implements ObjC-ARC-based
- // alias analysis.
- //
- ImmutablePass *createObjCARCAAWrapperPass();
- FunctionPass *createPAEvalPass();
- //===--------------------------------------------------------------------===//
- //
- /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo
- /// pass.
- FunctionPass *createLazyValueInfoPass();
- //===--------------------------------------------------------------------===//
- //
- // createDependenceAnalysisWrapperPass - This creates an instance of the
- // DependenceAnalysisWrapper pass.
- //
- FunctionPass *createDependenceAnalysisWrapperPass();
- //===--------------------------------------------------------------------===//
- //
- // createCostModelAnalysisPass - This creates an instance of the
- // CostModelAnalysis pass.
- //
- FunctionPass *createCostModelAnalysisPass();
- //===--------------------------------------------------------------------===//
- //
- // createDelinearizationPass - This pass implements attempts to restore
- // multidimensional array indices from linearized expressions.
- //
- FunctionPass *createDelinearizationPass();
- //===--------------------------------------------------------------------===//
- //
- // createLegacyDivergenceAnalysisPass - This pass determines which branches in a GPU
- // program are divergent.
- //
- FunctionPass *createLegacyDivergenceAnalysisPass();
- //===--------------------------------------------------------------------===//
- //
- // Minor pass prototypes, allowing us to expose them through bugpoint and
- // analyze.
- FunctionPass *createInstCountPass();
- //===--------------------------------------------------------------------===//
- //
- // createRegionInfoPass - This pass finds all single entry single exit regions
- // in a function and builds the region hierarchy.
- //
- FunctionPass *createRegionInfoPass();
- // Print module-level debug info metadata in human-readable form.
- ModulePass *createModuleDebugInfoPrinterPass();
- //===--------------------------------------------------------------------===//
- //
- // createMemDepPrinter - This pass exhaustively collects all memdep
- // information and prints it with -analyze.
- //
- FunctionPass *createMemDepPrinter();
- //===--------------------------------------------------------------------===//
- //
- // createMemDerefPrinter - This pass collects memory dereferenceability
- // information and prints it with -analyze.
- //
- FunctionPass *createMemDerefPrinter();
- //===--------------------------------------------------------------------===//
- //
- // createMustExecutePrinter - This pass collects information about which
- // instructions within a loop are guaranteed to execute if the loop header is
- // entered and prints it with -analyze.
- //
- FunctionPass *createMustExecutePrinter();
- //===--------------------------------------------------------------------===//
- //
- // createMustBeExecutedContextPrinter - This pass prints information about which
- // instructions are guaranteed to execute together (run with -analyze).
- //
- ModulePass *createMustBeExecutedContextPrinter();
- }
- #endif
- #ifdef __GNUC__
- #pragma GCC diagnostic pop
- #endif
|