[llvm-commits] [llvm] r42894 - /llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
Evan Cheng
evan.cheng at apple.com
Fri Oct 12 00:55:53 PDT 2007
Author: evancheng
Date: Fri Oct 12 02:55:53 2007
New Revision: 42894
URL: http://llvm.org/viewvc/llvm-project?rev=42894&view=rev
Log:
Flag MOV32to32_ with EXTRACT_SUBREG. They should not be scheduled apart.
Modified:
llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=42894&r1=42893&r2=42894&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Fri Oct 12 02:55:53 2007
@@ -1000,8 +1000,9 @@
VT = MVT::i32;
break;
}
- N0 =
- SDOperand(CurDAG->getTargetNode(Opc, VT, N0), 0);
+ N0 = SDOperand(CurDAG->getTargetNode(Opc, VT, MVT::Flag, N0), 0);
+ return CurDAG->getTargetNode(X86::EXTRACT_SUBREG,
+ VT, N0, SRIdx, N0.getValue(1));
}
break;
case MVT::i16:
@@ -1010,11 +1011,9 @@
case MVT::i32:
SRIdx = CurDAG->getTargetConstant(3, MVT::i32); // SubRegSet 3
break;
- default: assert(0 && "Unknown truncate!");
+ default: assert(0 && "Unknown truncate!"); break;
}
- return CurDAG->getTargetNode(X86::EXTRACT_SUBREG,
- VT,
- N0, SRIdx);
+ return CurDAG->getTargetNode(X86::EXTRACT_SUBREG, VT, N0, SRIdx);
}
@@ -1382,7 +1381,8 @@
default: assert(0 && "Unknown any_extend!");
}
if (SRIdx.Val) {
- SDNode *ResNode = CurDAG->getTargetNode(X86::INSERT_SUBREG, NVT, N0, SRIdx);
+ SDNode *ResNode = CurDAG->getTargetNode(X86::INSERT_SUBREG,
+ NVT, N0, SRIdx);
#ifndef NDEBUG
DOUT << std::string(Indent-2, ' ') << "=> ";
More information about the llvm-commits
mailing list