//===- RegionPass.h - RegionPass class --------------------------*- 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 file defines the RegionPass class. All region based analysis, // optimization and transformation passes are derived from RegionPass. // This class is implemented following the some ideas of the LoopPass.h class. // //===----------------------------------------------------------------------===// #ifndef LLVM_ANALYSIS_REGIONPASS_H #define LLVM_ANALYSIS_REGIONPASS_H #include "llvm/IR/LegacyPassManagers.h" #include "llvm/Pass.h" #include <deque> namespace llvm { class Function; class RGPassManager; class Region; class RegionInfo; //===----------------------------------------------------------------------===// /// A pass that runs on each Region in a function. /// /// RegionPass is managed by RGPassManager. class RegionPass : public Pass { … }; /// The pass manager to schedule RegionPasses. class RGPassManager : public FunctionPass, public PMDataManager { … }; } // End llvm namespace #endif