Simplify code.

llvm-svn: 64164
This commit is contained in:
Evan Cheng 2009-02-09 21:01:06 +00:00
parent 020588cee3
commit fe174df170
1 changed files with 6 additions and 5 deletions

View File

@ -2699,12 +2699,13 @@ void SelectionDAGLowering::visitGetElementPtr(User &I) {
if (CI->getZExtValue() == 0) continue;
uint64_t Offs =
TD->getTypePaddedSize(Ty)*cast<ConstantInt>(CI)->getSExtValue();
SDValue OffsVal = DAG.getConstant(Offs, MVT::i64);
SDValue OffsVal;
unsigned PtrBits = TLI.getPointerTy().getSizeInBits();
if (PtrBits < 64)
if (PtrBits < 64) {
OffsVal = DAG.getNode(ISD::TRUNCATE, getCurDebugLoc(),
TLI.getPointerTy(), OffsVal);
else
TLI.getPointerTy(),
DAG.getConstant(Offs, MVT::i64));
} else
OffsVal = DAG.getIntPtrConstant(Offs);
N = DAG.getNode(ISD::ADD, getCurDebugLoc(), N.getValueType(), N,
OffsVal);