make 0 codegen much better
authorAndrew Lenharth <andrewl@lenharth.org>
Fri, 6 Jan 2006 19:41:51 +0000 (19:41 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Fri, 6 Jan 2006 19:41:51 +0000 (19:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25131 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaISelDAGToDAG.cpp

index f207664f04861a44c6e86440719389a8bf7dea1a..8a77c14f13ff402a9c37555c19d5a274b63b8724 100644 (file)
@@ -241,6 +241,10 @@ SDOperand AlphaDAGToDAGISel::Select(SDOperand Op) {
   }
   case ISD::Constant: {
     uint64_t uval = cast<ConstantSDNode>(N)->getValue();
+    
+    if (uval == 0)
+      return CurDAG->getCopyFromReg(CurDAG->getEntryNode(), Alpha::R31, MVT::i64);
+
     int64_t val = (int64_t)uval;
     int32_t val32 = (int32_t)val;
     if (val <= IMM_HIGH + IMM_HIGH * IMM_MULT &&