43 #ifndef ORDERED_INSTRUCTIONS_HPP 44 #define ORDERED_INSTRUCTIONS_HPP 71 const std::list<tree_nodeRef>&
BBInst;
103 bool dominates(
const unsigned int BBIA,
const unsigned int BBIB)
const;
112 void invalidateBlock(
unsigned int BBI);
117 #endif // ORDERED_INSTRUCTIONS_HPP This struct specifies the field bloc (basic block).
CONSTREF_FORWARD_DECL(BBGraph)
const BBGraphConstRef DT
The dominator tree of the parent function.
const blocRef BB
The source BasicBlock to map.
bool instComesBefore(const struct gimple_node *A, const struct gimple_node *B)
Given no cached results, find if A comes before B in BB.
bool dominates(const struct gimple_node *A, const struct gimple_node *B)
Find out whether A dominates B, meaning whether A comes before B in BB.
CustomMap< unsigned int, std::unique_ptr< OrderedBasicBlock > > OBBMap
Used to check dominance for instructions in same basic block.
CustomOrderedMap< T, U > CustomMap
redefinition of map to manage ordered/unordered structures
unsigned NextInstPos
The position/number to tag the next instruction to be found.
Abstract pure class for the tree structure.
std::list< tree_nodeRef >::const_iterator LastInstFound
Keep track of last instruction inserted into NumberedInsts.
Class used to describe a particular graph with basic blocks as nodes.
CustomMap< const struct gimple_node *, unsigned > NumberedInsts
Map a instruction to its position in a BasicBlock.
const std::list< tree_nodeRef > & BBInst
The source BasicBlock instruction list.
Template definition of refcount.
OrderedBasicBlock(const blocRef &BasicB)
struct definition of the common part of a gimple with virtual operands
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...