Go to the documentation of this file.
15 #ifndef LLVM_ANALYSIS_REGIONPASS_H
16 #define LLVM_ANALYSIS_REGIONPASS_H
57 const std::string &Banner)
const override;
88 std::deque<Region*> RQ;
void getAnalysisUsage(AnalysisUsage &Info) const override
Pass Manager itself does not invalidate any analysis info.
This is an optimization pass for GlobalISel generic memory operations.
bool skipRegion(Region &R) const
Optional passes call this function to check whether the pass should be skipped.
void assignPassManager(PMStack &PMS, PassManagerType PMT=PMT_RegionPassManager) override
Assign pass manager to manage this pass.
PassManagerType getPassManagerType() const override
PassManagerType
Different types of internal pass managers.
virtual bool runOnRegion(Region *R, RGPassManager &RGM)=0
Run the pass on a specific Region.
void dumpPassStructure(unsigned Offset) override
Print passes managed by this manager.
PMDataManager provides the common place to manage the analysis data used by pass managers.
PassManagerType getPotentialPassManagerType() const override
Return what kind of Pass Manager can manage this pass.
virtual bool doInitialization(Region *R, RGPassManager &RGM)
Represent the analysis usage information of a pass.
This class implements an extremely fast bulk output stream that can only output to a stream.
Analysis containing CSE Info
void preparePassManager(PMStack &PMS) override
Check if available pass managers are suitable for this pass or not.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
The pass manager to schedule RegionPasses.
A pass that runs on each Region in a function.
virtual bool doFinalization(Module &)
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes...
virtual bool doInitialization(Module &)
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...
StringRef - Represent a constant reference to a string, i.e.
Pass * getAsPass() override
PMStack - This class implements a stack data structure of PMDataManager pointers.
Pass * createPrinterPass(raw_ostream &O, const std::string &Banner) const override
Get a pass to print the LLVM IR in the region.
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
SmallVector< Pass *, 16 > PassVector
@ PMT_RegionPassManager
RGPassManager.
virtual bool doFinalization()
Pass interface - Implemented by all 'passes'.
FunctionPass class - This class is used to implement most global optimizations.
bool runOnFunction(Function &F) override
Execute all of the passes scheduled for execution.
Pass * getContainedPass(unsigned N)
Get passes contained by this manager.
PMDataManager * getAsPMDataManager() override