4 #ifndef ILANG_ILA_TRANSITION_H__
5 #define ILANG_ILA_TRANSITION_H__
83 std::vector<ItNodePtr> next_;
85 std::vector<ItNodePtr> prev_;
133 std::set<ItEdgePtr> edges_;
135 std::map<InstrPtr, ItNodePtr> nodes_;
144 #endif // ILANG_ILA_TRANSITION_H__
~InstrTranNode()
Default destructir.
std::shared_ptr< InstrTranNode > ItNodePtr
Pointer type for ITNode.
Definition: transition.h:50
Expr::ExprPtr ExprPtr
Pointer type for normal use of Expr.
Definition: expr.h:138
std::shared_ptr< InstrTranEdge > ItEdgePtr
Pointer type for passing around the InstrTran.
Definition: transition.h:19
Instruction Sequencing does:
Definition: transition.h:94
const InstrPtr src() const
Return the source instruction.
size_t prev_num() const
Return the number of in-comming node.
void AddTran(const InstrPtr &src, const InstrPtr &dst, const ExprPtr &cnd)
Add one transition to the set.
const InstrPtr dst() const
Return the target instruction.
Node for instruction-transition node, each node represent an instruction.
Definition: transition.h:47
~InstrTranEdge()
Default destructor.
Instr::InstrPtr InstrPtr
Pointer type for normal use of Instr.
Definition: instr.h:132
Instruction transition edge, includeing:
Definition: transition.h:16
void set_root(const InstrPtr &i)
Set the root node (entry instruction).
void AddPrev(const ItNodePtr &prev)
Update the set of in-comming node.
const ExprPtr cnd() const
Return the guarded transition condition.
InstrPtr root() const
Return the root node (entry instruction).
Definition: transition.h:121
void clear()
Reset all stored sequences.
InstrTranEdge(const InstrPtr &src, const InstrPtr &dst, const ExprPtr &cnd)
Constructor with all components.
InstrSeq::InstrSeqPtr InstrSeqPtr
Pointer type for passing around InstrSeq.
Definition: transition.h:140
~InstrSeq()
Default destructor.
InstrSeq()
Default constructor.
static InstrSeqPtr New()
Create a new ITG, used for hiding implementation specific types.
InstrTranNode(const InstrPtr &instr)
Default constructor.
const ItNodePtr prev(const size_t &i) const
Access the i-th in-comming node.
std::shared_ptr< InstrSeq > InstrSeqPtr
Pointer type for passing around InstrSeq.
Definition: transition.h:97
const ItNodePtr next(const size_t &i) const
Access the i-th out-going node.
void AddNext(const ItNodePtr &next)
Update the set of out-going node.
size_t next_num() const
Return the number of out-going node.
const InstrPtr instr() const
Return the represented instruction.