10 #ifndef LLVM_CODEGEN_MACHINEREGIONINFO_H 11 #define LLVM_CODEGEN_MACHINEREGIONINFO_H 26 struct MachinePostDominatorTree;
28 class MachineRegionNode;
29 class MachineRegionInfo;
53 bool isSubRegion =
false)
102 void releaseMemory()
override;
103 void verifyAnalysis()
const override;
115 assert(!isSubRegion() &&
"This is not a MachineBasicBlock RegionNode!");
124 assert(isSubRegion() &&
"This is not a subregion RegionNode!");
182 #endif // LLVM_CODEGEN_MACHINEREGIONINFO_H const_iterator end(StringRef path)
Get end iterator over path.
const_iterator begin(StringRef path, Style style=Style::native)
Get begin iterator over path.
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
bool operator==(const MachineRegion &RN) const
const MachineRegionInfo & getRegionInfo() const
Analysis that detects all canonical Regions.
static NodeRef getEntryNode(MachineRegionInfoPass *RI)
DomTreeNodeBase< MachineBasicBlock > MachineDomTreeNode
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
A RegionNode represents a subregion or a BasicBlock that is part of a Region.
static nodes_iterator nodes_end(MachineRegionInfoPass *RI)
RegionT * getTopLevelRegion() const
static nodes_iterator nodes_begin(MachineRegionInfoPass *RI)
Base class for the actual dominator tree node.
RegionNodeGraphTraits(RegionNode, BasicBlock, Region)
typename FlatIt< MachineRegionNode * > ::UnknownGraphTypeError NodeRef
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)
Represent the analysis usage information of a pass.
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominat...
static nodes_iterator nodes_begin(MachineRegionInfo *RI)
MachineRegionInfo & getRegionInfo()
RegionGraphTraits(Region, RegionNode)
A single entry single exit Region.
static unsigned getNumSuccessors(MachineBasicBlock *BB)
static NodeRef getEntryNode(MachineRegionInfo *RI)
unsigned succ_size() const
Representation of each machine instruction.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
bool operator==(const MachineRegionNode &RN) const
static nodes_iterator nodes_end(MachineRegionInfo *RI)
This class implements an extremely fast bulk output stream that can only output to a stream...
DominatorTree Class - Concrete subclass of DominatorTreeBase that is used to compute a normal dominat...
MachineRegionNode(MachineRegion *Parent, MachineBasicBlock *Entry, bool isSubRegion=false)