aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/MachineInstr.h4
-rw-r--r--include/llvm/CodeGen/MachineOperand.h17
2 files changed, 9 insertions, 12 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h
index 67ae3f9..e6ed56b 100644
--- a/include/llvm/CodeGen/MachineInstr.h
+++ b/include/llvm/CodeGen/MachineInstr.h
@@ -952,8 +952,8 @@ private:
void untieRegOperand(unsigned OpIdx) {
MachineOperand &MO = getOperand(OpIdx);
if (MO.isReg() && MO.isTied()) {
- getOperand(findTiedOperandIdx(OpIdx)).IsTied = false;
- MO.IsTied = false;
+ getOperand(findTiedOperandIdx(OpIdx)).TiedTo = false;
+ MO.TiedTo = false;
}
}
diff --git a/include/llvm/CodeGen/MachineOperand.h b/include/llvm/CodeGen/MachineOperand.h
index baec882..5c6662e 100644
--- a/include/llvm/CodeGen/MachineOperand.h
+++ b/include/llvm/CodeGen/MachineOperand.h
@@ -70,6 +70,11 @@ private:
unsigned char TargetFlags;
};
+ /// TiedTo - Non-zero when this register operand is tied to another register
+ /// operand. The encoding of this field is described in the block comment
+ /// before MachineInstr::tieOperands().
+ unsigned char TiedTo : 4;
+
/// IsDef/IsImp/IsKill/IsDead flags - These are only valid for MO_Register
/// operands.
@@ -124,14 +129,6 @@ private:
/// model the GCC inline asm '&' constraint modifier.
bool IsEarlyClobber : 1;
- /// IsTied - True if this MO_Register operand is tied to another operand on
- /// the instruction. Tied operands form def-use pairs that must be assigned
- /// the same physical register by the register allocator, but they will have
- /// different virtual registers while the code is in SSA form.
- ///
- /// See MachineInstr::isRegTiedToUseOperand() and isRegTiedToDefOperand().
- bool IsTied : 1;
-
/// IsDebug - True if this MO_Register 'use' operand is in a debug pseudo,
/// not a real instruction. Such uses should be ignored during codegen.
bool IsDebug : 1;
@@ -309,7 +306,7 @@ public:
bool isTied() const {
assert(isReg() && "Wrong MachineOperand accessor");
- return IsTied;
+ return TiedTo;
}
bool isDebug() const {
@@ -572,7 +569,7 @@ public:
Op.IsUndef = isUndef;
Op.IsInternalRead = isInternalRead;
Op.IsEarlyClobber = isEarlyClobber;
- Op.IsTied = false;
+ Op.TiedTo = 0;
Op.IsDebug = isDebug;
Op.SmallContents.RegNo = Reg;
Op.Contents.Reg.Prev = 0;