| Index: src/IceInst.h
|
| diff --git a/src/IceInst.h b/src/IceInst.h
|
| index 6c62d0bcaff73ee9cd55b24d05d869dbd2252bec..de2027944001b2d1f5c7153f8115bcebfd77a017 100644
|
| --- a/src/IceInst.h
|
| +++ b/src/IceInst.h
|
| @@ -167,6 +167,9 @@ public:
|
|
|
| virtual ~Inst() = default;
|
|
|
| + void setCfgNode(CfgNode *node) { BasicBlock = node; }
|
| + CfgNode *getCfgNode() const { return BasicBlock; }
|
| +
|
| protected:
|
| Inst(Cfg *Func, InstKind Kind, SizeT MaxSrcs, Variable *Dest);
|
| void addSource(Operand *Src) {
|
| @@ -183,6 +186,9 @@ protected:
|
| /// was allocated via the Cfg's allocator.
|
| virtual void destroy(Cfg *Func) { Func->deallocateArrayOf<Operand *>(Srcs); }
|
|
|
| + /// The CfgNode that contains this instruction
|
| + CfgNode *BasicBlock = nullptr;
|
| +
|
| const InstKind Kind;
|
| /// Number is the instruction number for describing live ranges.
|
| InstNumberT Number;
|
| @@ -623,6 +629,7 @@ public:
|
| void addArgument(Operand *Source, CfgNode *Label);
|
| Operand *getOperandForTarget(CfgNode *Target) const;
|
| CfgNode *getLabel(SizeT Index) const { return Labels[Index]; }
|
| + void setLabel(SizeT Index, CfgNode *Label) { Labels[Index] = Label; }
|
| void livenessPhiOperand(LivenessBV &Live, CfgNode *Target,
|
| Liveness *Liveness);
|
| Inst *lower(Cfg *Func);
|
|
|