diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-31 20:50:53 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-31 20:50:53 +0000 |
commit | 94083149fd6891c8a72472cf1814fa6600a75979 (patch) | |
tree | 789b62b2c8d309986e5ce08490b80464556971b4 /lib/CodeGen/SelectionDAG/InstrEmitter.cpp | |
parent | 265bcb1e5b106a7c5db2bfcfb13cceffe0c413be (diff) | |
download | external_llvm-94083149fd6891c8a72472cf1814fa6600a75979.zip external_llvm-94083149fd6891c8a72472cf1814fa6600a75979.tar.gz external_llvm-94083149fd6891c8a72472cf1814fa6600a75979.tar.bz2 |
Add MachineInstr::tieOperands, remove setIsTied().
Manage tied operands entirely internally to MachineInstr. This makes it
possible to change the representation of tied operands, as I will do
shortly.
The constraint that tied uses and defs must be in the same order was too
restrictive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163021 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/InstrEmitter.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp index 5399a51..46ddab0 100644 --- a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp +++ b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp @@ -945,12 +945,8 @@ EmitSpecialNode(SDNode *Node, bool IsClone, bool IsCloned, if (InlineAsm::isUseOperandTiedToDef(Flags, DefGroup)) { unsigned DefIdx = GroupIdx[DefGroup] + 1; unsigned UseIdx = GroupIdx.back() + 1; - for (unsigned j = 0; j != NumVals; ++j) { - assert(!MI->getOperand(DefIdx + j).isTied() && - "Def is already tied to another use"); - MI->getOperand(DefIdx + j).setIsTied(); - MI->getOperand(UseIdx + j).setIsTied(); - } + for (unsigned j = 0; j != NumVals; ++j) + MI->tieOperands(DefIdx + j, UseIdx + j); } } break; |