summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-11-10 08:43:01 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-11-10 08:43:01 +0000
commit8c9c6d71ed626d8056e19d1d17416a667bf3d6dd (patch)
treec358f1f1df8d4079df9b95cf86dbc4ac9616abd7 /llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
parentf5bebe83a553bf1c94c6f07896a5f10d73c22c16 (diff)
downloadbcm5719-llvm-8c9c6d71ed626d8056e19d1d17416a667bf3d6dd.tar.gz
bcm5719-llvm-8c9c6d71ed626d8056e19d1d17416a667bf3d6dd.zip
Add implicit def / use operands to MachineInstr.
llvm-svn: 31633
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
index dd968ed4544..307b2b9b70c 100644
--- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
@@ -441,6 +441,18 @@ void ScheduleDAG::EmitNode(SDNode *Node,
}
}
+ // Emit implicit def / use operands.
+ if (II.ImplicitDefs) {
+ for (const unsigned *ImplicitDefs = II.ImplicitDefs;
+ *ImplicitDefs; ++ImplicitDefs)
+ MI->addRegOperand(*ImplicitDefs, true, true);
+ }
+ if (II.ImplicitUses) {
+ for (const unsigned *ImplicitUses = II.ImplicitUses;
+ *ImplicitUses; ++ImplicitUses)
+ MI->addRegOperand(*ImplicitUses, false, true);
+ }
+
// Now that we have emitted all operands, emit this instruction itself.
if ((II.Flags & M_USES_CUSTOM_DAG_SCHED_INSERTION) == 0) {
BB->insert(BB->end(), MI);
OpenPOWER on IntegriCloud