loads should get chains. THis helps but does not solve CodeGen/Generic/2003-05-27...
[oota-llvm.git] / lib / Target / IA64 / IA64ISelDAGToDAG.cpp
index 338733a8c449c3aa31b0b2c3fe95d0ab8cc35ab5..805879c8b1189f7a7b765c223de8bb839b798655 100644 (file)
@@ -24,6 +24,7 @@
 #include "llvm/Constants.h"
 #include "llvm/GlobalValue.h"
 #include "llvm/Intrinsics.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/MathExtras.h"
 #include <queue>
@@ -347,7 +348,8 @@ SDNode *IA64DAGToDAGISel::Select(SDOperand Op) {
     // load the branch target's entry point [mem] and 
     // GP value [mem+8]
     SDOperand targetEntryPoint=
-      SDOperand(CurDAG->getTargetNode(IA64::LD8, MVT::i64, FnDescriptor), 0);
+      SDOperand(CurDAG->getTargetNode(IA64::LD8, MVT::i64, MVT::Other,
+                                      FnDescriptor), 0);
     Chain = targetEntryPoint.getValue(1);
     SDOperand targetGPAddr=
       SDOperand(CurDAG->getTargetNode(IA64::ADDS, MVT::i64, 
@@ -355,7 +357,8 @@ SDNode *IA64DAGToDAGISel::Select(SDOperand Op) {
                                       CurDAG->getConstant(8, MVT::i64)), 0);
     Chain = targetGPAddr.getValue(1);
     SDOperand targetGP =
-      SDOperand(CurDAG->getTargetNode(IA64::LD8, MVT::i64, targetGPAddr), 0);
+      SDOperand(CurDAG->getTargetNode(IA64::LD8, MVT::i64,MVT::Other,
+                                      targetGPAddr), 0);
     Chain = targetGP.getValue(1);
 
     Chain = CurDAG->getCopyToReg(Chain, IA64::r1, targetGP, InFlag);