diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-11-10 08:43:01 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-11-10 08:43:01 +0000 |
commit | 8c9c6d71ed626d8056e19d1d17416a667bf3d6dd (patch) | |
tree | c358f1f1df8d4079df9b95cf86dbc4ac9616abd7 /llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | |
parent | f5bebe83a553bf1c94c6f07896a5f10d73c22c16 (diff) | |
download | bcm5719-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.cpp | 12 |
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); |