[llvm-commits] [llvm] r40520 - in /llvm/trunk: include/llvm/CodeGen/ScheduleDAG.h lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
Christopher Lamb
christopher.lamb at gmail.com
Thu Jul 26 20:36:55 PDT 2007
On Jul 26, 2007, at 6:27 PM, Evan Cheng wrote:
>
> On Jul 26, 2007, at 1:12 AM, Christopher Lamb wrote:
>
>> /// EmitNode - Generate machine code for an node and needed
>> dependencies.
>> ///
>> void ScheduleDAG::EmitNode(SDNode *Node,
>> @@ -436,6 +578,14 @@
>> // If machine instruction
>> if (Node->isTargetOpcode()) {
>> unsigned Opc = Node->getTargetOpcode();
>> +
>> + // Handle subreg insert/extract specially
>> + if (Opc == TargetInstrInfo::EXTRACT_SUBREG ||
>> + Opc == TargetInstrInfo::INSERT_SUBREG) {
>> + EmitSubregNode(Node, VRBaseMap);
>> + return;
>> + }
>> +
>
> Hi Chris,
>
> Is this right? EXTRACT_SUBREG and INSERT_SUBREG are not target
> opcodes.
Actually, they are both DAG nodes and target opcodes. ISel lowers the
DAG nodes to target opcodes before schedule DAG sees them.
--
Christopher Lamb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070726/cc522026/attachment.html>
More information about the llvm-commits
mailing list