OSDN Git Service

Add a hook to find out how the target handles shift amounts that are out of
authorChris Lattner <sabre@nondot.org>
Wed, 19 Jan 2005 03:36:14 +0000 (03:36 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 19 Jan 2005 03:36:14 +0000 (03:36 +0000)
range.  Either they are undefined (the default), they mask the shift amount
to the size of the register (X86, Alpha, etc), or they extend the shift (PPC).

This defaults to undefined, which is conservatively correct.

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

lib/CodeGen/SelectionDAG/TargetLowering.cpp

index dd8c084..206a806 100644 (file)
@@ -25,6 +25,7 @@ TargetLowering::TargetLowering(TargetMachine &tm)
 
   IsLittleEndian = TD.isLittleEndian();
   ShiftAmountTy = SetCCResultTy = PointerTy = getValueType(TD.getIntPtrType());
+  ShiftAmtHandling = Undefined;
   memset(RegClassForVT, 0,MVT::LAST_VALUETYPE*sizeof(TargetRegisterClass*));
 }