[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp

Evan Cheng evan.cheng at apple.com
Wed Aug 16 00:26:08 PDT 2006



Changes in directory llvm/lib/Target/Alpha:

AlphaISelDAGToDAG.cpp updated: 1.50 -> 1.51
---
Log message:

SelectNodeTo() may return a SDOperand that is different from the input.

---
Diffs of the changes:  (+12 -17)

 AlphaISelDAGToDAG.cpp |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.50 llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.51
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.50	Fri Aug 11 04:07:02 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp	Wed Aug 16 02:25:54 2006
@@ -197,10 +197,9 @@
 
   case ISD::FrameIndex: {
     int FI = cast<FrameIndexSDNode>(N)->getIndex();
-    Result = CurDAG->SelectNodeTo(N, Alpha::LDA, MVT::i64,
-                                  CurDAG->getTargetFrameIndex(FI, MVT::i32),
-                                  getI64Imm(0));
-    return NULL;
+    return CurDAG->SelectNodeTo(N, Alpha::LDA, MVT::i64,
+                                CurDAG->getTargetFrameIndex(FI, MVT::i32),
+                                getI64Imm(0)).Val;
   }
   case AlphaISD::GlobalBaseReg: 
     Result = getGlobalBaseReg();
@@ -228,8 +227,7 @@
                             Chain, Chain.getValue(1));
     Chain = CurDAG->getCopyFromReg(Chain, Alpha::R27, MVT::i64, 
 				  SDOperand(CNode, 1));
-    Result = CurDAG->SelectNodeTo(N, Alpha::BIS, MVT::i64, Chain, Chain);
-    return NULL;
+    return CurDAG->SelectNodeTo(N, Alpha::BIS, MVT::i64, Chain, Chain).Val;
   }
 
   case ISD::READCYCLECOUNTER: {
@@ -266,24 +264,21 @@
     SDOperand CPI = CurDAG->getTargetConstantPool(C, MVT::i64);
     SDNode *Tmp = CurDAG->getTargetNode(Alpha::LDAHr, MVT::i64, CPI,
                                         getGlobalBaseReg());
-    Result = CurDAG->SelectNodeTo(N, Alpha::LDQr, MVT::i64, MVT::Other, 
-                                  CPI, SDOperand(Tmp, 0), CurDAG->getEntryNode());
-    return NULL;
+    return CurDAG->SelectNodeTo(N, Alpha::LDQr, MVT::i64, MVT::Other, 
+                            CPI, SDOperand(Tmp, 0), CurDAG->getEntryNode()).Val;
   }
   case ISD::TargetConstantFP: {
     ConstantFPSDNode *CN = cast<ConstantFPSDNode>(N);
     bool isDouble = N->getValueType(0) == MVT::f64;
     MVT::ValueType T = isDouble ? MVT::f64 : MVT::f32;
     if (CN->isExactlyValue(+0.0)) {
-      Result = CurDAG->SelectNodeTo(N, isDouble ? Alpha::CPYST : Alpha::CPYSS,
-                                    T, CurDAG->getRegister(Alpha::F31, T),
-                                    CurDAG->getRegister(Alpha::F31, T));
-      return NULL;
+      return CurDAG->SelectNodeTo(N, isDouble ? Alpha::CPYST : Alpha::CPYSS,
+                                  T, CurDAG->getRegister(Alpha::F31, T),
+                                  CurDAG->getRegister(Alpha::F31, T)).Val;
     } else if ( CN->isExactlyValue(-0.0)) {
-      Result = CurDAG->SelectNodeTo(N, isDouble ? Alpha::CPYSNT : Alpha::CPYSNS,
-                                    T, CurDAG->getRegister(Alpha::F31, T),
-                                    CurDAG->getRegister(Alpha::F31, T));
-      return NULL;
+      return CurDAG->SelectNodeTo(N, isDouble ? Alpha::CPYSNT : Alpha::CPYSNS,
+                                  T, CurDAG->getRegister(Alpha::F31, T),
+                                  CurDAG->getRegister(Alpha::F31, T)).Val;
     } else {
       abort();
     }






More information about the llvm-commits mailing list