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



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to