aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-08-31 20:50:53 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-08-31 20:50:53 +0000
commit94083149fd6891c8a72472cf1814fa6600a75979 (patch)
tree789b62b2c8d309986e5ce08490b80464556971b4 /lib/CodeGen/SelectionDAG/InstrEmitter.cpp
parent265bcb1e5b106a7c5db2bfcfb13cceffe0c413be (diff)
downloadexternal_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.cpp8
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;