Turn loads of ConstantPointerNulls into loads of zero... don't spill
authorBrian Gaeke <gaeke@uiuc.edu>
Fri, 11 Jun 2004 02:03:48 +0000 (02:03 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Fri, 11 Jun 2004 02:03:48 +0000 (02:03 +0000)
them into the constant pool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14128 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9InstrInfo.cpp

index cbbe154ccfdee16fe0e15400dfda79680645575a..986d4a88b3e8651fd40e0509aab483007e9bb23d 100644 (file)
@@ -74,6 +74,12 @@ SparcV9InstrInfo::ConvertConstantToIntType(const TargetMachine &target,
     return (uint64_t) CB->getValue();
   }
 
+  // ConstantPointerNull: it's really just a big, shiny version of zero.
+  if (const ConstantPointerNull *CPN = dyn_cast<ConstantPointerNull>(V)) {
+    isValidConstant = true;
+    return 0;
+  }
+
   // For other types of constants, some conversion may be needed.
   // First, extract the constant operand according to its own type
   if (const ConstantExpr *CE = dyn_cast<ConstantExpr>(V))