From e722c3f005ae1e96250ddd3577f9eb56a8ad14cb Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 30 Dec 2007 06:11:04 +0000 Subject: make machine operands fatter: give each one an up-pointer to the machineinstr that owns it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45449 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/MachineOperand.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'include/llvm/CodeGen/MachineOperand.h') diff --git a/include/llvm/CodeGen/MachineOperand.h b/include/llvm/CodeGen/MachineOperand.h index 49d7245e67..a092fb45d8 100644 --- a/include/llvm/CodeGen/MachineOperand.h +++ b/include/llvm/CodeGen/MachineOperand.h @@ -23,7 +23,8 @@ namespace llvm { class MachineBasicBlock; class GlobalValue; - + class MachineInstr; + /// MachineOperand class - Representation of each machine instruction operand. /// class MachineOperand { @@ -48,6 +49,9 @@ private: int64_t immedVal; // For MO_Immediate and MO_*Index. } contents; + /// ParentMI - This is the instruction that this operand is embedded into. + MachineInstr *ParentMI; + MachineOperandType opType:8; // Discriminate the union. bool IsDef : 1; // True if this is a def, false if this is a use. bool IsImp : 1; // True if this is an implicit def or use. @@ -69,7 +73,7 @@ private: unsigned char subReg; } auxInfo; - MachineOperand() {} + MachineOperand() : ParentMI(0) {} void print(std::ostream &os) const; void print(std::ostream *os) const { if (os) print(*os); } @@ -335,6 +339,7 @@ public: IsDead = MO.IsDead; opType = MO.opType; auxInfo = MO.auxInfo; + ParentMI = MO.ParentMI; return *this; } -- cgit v1.2.3