[llvm-commits] CVS: llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp

Chris Lattner sabre at nondot.org
Tue Oct 24 10:09:58 PDT 2006



Changes in directory llvm/lib/Target/IA64:

IA64ISelDAGToDAG.cpp updated: 1.58 -> 1.59
---
Log message:

Fix CodeGen/IA64/ret-0.ll, which has apparently been broken since some of the
isel changes happened months ago.


---
Diffs of the changes:  (+6 -2)

 IA64ISelDAGToDAG.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp
diff -u llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.58 llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.59
--- llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.58	Fri Oct 13 16:14:26 2006
+++ llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp	Tue Oct 24 12:09:43 2006
@@ -408,12 +408,16 @@
   case ISD::TargetConstantFP: {
     SDOperand Chain = CurDAG->getEntryNode(); // this is a constant, so..
 
+    SDOperand V;
     if (cast<ConstantFPSDNode>(N)->isExactlyValue(+0.0)) {
-      return CurDAG->getCopyFromReg(Chain, IA64::F0, MVT::f64).Val;
+      V = CurDAG->getCopyFromReg(Chain, IA64::F0, MVT::f64);
     } else if (cast<ConstantFPSDNode>(N)->isExactlyValue(+1.0)) {
-      return CurDAG->getCopyFromReg(Chain, IA64::F1, MVT::f64).Val;
+      V = CurDAG->getCopyFromReg(Chain, IA64::F1, MVT::f64);
     } else
       assert(0 && "Unexpected FP constant!");
+    
+    ReplaceUses(SDOperand(N, 0), V);
+    return 0;
   }
 
   case ISD::FrameIndex: { // TODO: reduce creepyness






More information about the llvm-commits mailing list