From 71f489d72856a0424146a1e24642dfac3ae15522 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Mon, 5 May 2008 22:12:23 +0000 Subject: [PATCH] Code clean up. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50675 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86ISelLowering.cpp | 41 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 2df8af5e505..b0a7c786968 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -6214,35 +6214,36 @@ static SDOperand PerformShuffleCombine(SDNode *N, SelectionDAG &DAG, MVT::ValueType VT = N->getValueType(0); MVT::ValueType EVT = MVT::getVectorElementType(VT); SDOperand PermMask = N->getOperand(2); - int NumElems = (int)PermMask.getNumOperands(); + unsigned NumElems = PermMask.getNumOperands(); SDNode *Base = NULL; - for (int i = 0; i < NumElems; ++i) { - SDOperand Idx = PermMask.getOperand(i); - if (Idx.getOpcode() == ISD::UNDEF) { - if (!Base) return SDOperand(); - } else { - SDOperand Arg = - getShuffleScalarElt(N, cast(Idx)->getValue(), DAG); - if (!Arg.Val || !ISD::isNON_EXTLoad(Arg.Val)) - return SDOperand(); + for (unsigned i = 0; i < NumElems; ++i) { + SDOperand Elt = PermMask.getOperand(i); + if (Elt.getOpcode() == ISD::UNDEF) { if (!Base) - Base = Arg.Val; - else if (!isConsecutiveLoad(Arg.Val, Base, - i, MVT::getSizeInBits(EVT)/8,MFI)) return SDOperand(); + continue; } + + unsigned Idx = cast(Elt)->getValue(); + SDOperand Arg = getShuffleScalarElt(N, Idx, DAG); + if (!Arg.Val || !ISD::isNON_EXTLoad(Arg.Val)) + return SDOperand(); + if (!Base) { + Base = Arg.Val; + continue; + } + + if (!isConsecutiveLoad(Arg.Val, Base, i, MVT::getSizeInBits(EVT)/8,MFI)) + return SDOperand(); } - bool isAlign16 = isBaseAlignment16(Base->getOperand(1).Val, MFI, Subtarget); LoadSDNode *LD = cast(Base); - if (isAlign16) { + if (isBaseAlignment16(Base->getOperand(1).Val, MFI, Subtarget)) return DAG.getLoad(VT, LD->getChain(), LD->getBasePtr(), LD->getSrcValue(), LD->getSrcValueOffset(), LD->isVolatile()); - } else { - return DAG.getLoad(VT, LD->getChain(), LD->getBasePtr(), LD->getSrcValue(), - LD->getSrcValueOffset(), LD->isVolatile(), - LD->getAlignment()); - } + return DAG.getLoad(VT, LD->getChain(), LD->getBasePtr(), LD->getSrcValue(), + LD->getSrcValueOffset(), LD->isVolatile(), + LD->getAlignment()); } /// PerformSELECTCombine - Do target-specific dag combines on SELECT nodes.