diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-09-04 18:36:28 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-09-04 18:36:28 +0000 |
commit | 9c130672761e006c47ea23b34a7bd414f2cd8368 (patch) | |
tree | 4ae92ec738722467f3ba792d4a957a89b81647df /include/llvm/CodeGen/MachineInstr.h | |
parent | 2e2efd960056bbb7e4bbd843c8de55116d52aa7d (diff) | |
download | external_llvm-9c130672761e006c47ea23b34a7bd414f2cd8368.zip external_llvm-9c130672761e006c47ea23b34a7bd414f2cd8368.tar.gz external_llvm-9c130672761e006c47ea23b34a7bd414f2cd8368.tar.bz2 |
Allow tied uses and defs in different orders.
After much agonizing, use a full 4 bits of precious MachineOperand space
to encode this. This uses existing padding, and doesn't grow
MachineOperand beyond its current 32 bytes.
This allows tied defs among the first 15 operands on a normal
instruction, just like the current MCInstrDesc constraint encoding.
Inline assembly needs to be able to tie more than the first 15 operands,
and gets special treatment.
Tied uses can appear beyond 15 operands, as long as they are tied to a
def that's in range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163151 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineInstr.h')
-rw-r--r-- | include/llvm/CodeGen/MachineInstr.h | 4 |
1 files changed, 2 insertions, 2 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; } } |