forked from OSchip/llvm-project
parent
68a069a188
commit
a4c435f1fa
|
@ -1280,7 +1280,8 @@ X86TargetLowering::LowerReturn(SDValue Chain,
|
|||
if (ValVT.isVector() && ValVT.getSizeInBits() == 64) {
|
||||
ValToCopy = DAG.getNode(ISD::BIT_CONVERT, dl, MVT::i64, ValToCopy);
|
||||
if (VA.getLocReg() == X86::XMM0 || VA.getLocReg() == X86::XMM1)
|
||||
ValToCopy = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2i64, ValToCopy);
|
||||
ValToCopy = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2i64,
|
||||
ValToCopy);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2355,8 +2356,8 @@ X86TargetLowering::IsEligibleForTailCallOptimization(SDValue Callee,
|
|||
if (RegInfo->needsStackRealignment(MF))
|
||||
return false;
|
||||
|
||||
// Do not sibcall optimize vararg calls unless the call site is not passing any
|
||||
// arguments.
|
||||
// Do not sibcall optimize vararg calls unless the call site is not passing
|
||||
// any arguments.
|
||||
if (isVarArg && !Outs.empty())
|
||||
return false;
|
||||
|
||||
|
@ -7217,7 +7218,8 @@ SDValue X86TargetLowering::LowerTRAMPOLINE(SDValue Op,
|
|||
InRegCount += (TD->getTypeSizeInBits(*I) + 31) / 32;
|
||||
|
||||
if (InRegCount > 2) {
|
||||
report_fatal_error("Nest register in use - reduce number of inreg parameters!");
|
||||
report_fatal_error("Nest register in use - reduce number of inreg"
|
||||
" parameters!");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -9029,8 +9031,8 @@ static SDValue PerformEXTRACT_VECTOR_ELTCombine(SDNode *N, SelectionDAG &DAG,
|
|||
|
||||
// Store the value to a temporary stack slot.
|
||||
SDValue StackPtr = DAG.CreateStackTemporary(InputVector.getValueType());
|
||||
SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, InputVector, StackPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, InputVector, StackPtr, NULL,
|
||||
0, false, false, 0);
|
||||
|
||||
// Replace each use (extract) with a load of the appropriate element.
|
||||
for (SmallVectorImpl<SDNode *>::iterator UI = Uses.begin(),
|
||||
|
@ -9044,11 +9046,12 @@ static SDValue PerformEXTRACT_VECTOR_ELTCombine(SDNode *N, SelectionDAG &DAG,
|
|||
uint64_t Offset = EltSize * cast<ConstantSDNode>(Idx)->getZExtValue();
|
||||
SDValue OffsetVal = DAG.getConstant(Offset, TLI.getPointerTy());
|
||||
|
||||
SDValue ScalarAddr = DAG.getNode(ISD::ADD, dl, Idx.getValueType(), OffsetVal, StackPtr);
|
||||
SDValue ScalarAddr = DAG.getNode(ISD::ADD, dl, Idx.getValueType(),
|
||||
OffsetVal, StackPtr);
|
||||
|
||||
// Load the scalar.
|
||||
SDValue LoadScalar = DAG.getLoad(Extract->getValueType(0), dl, Ch, ScalarAddr,
|
||||
NULL, 0, false, false, 0);
|
||||
SDValue LoadScalar = DAG.getLoad(Extract->getValueType(0), dl, Ch,
|
||||
ScalarAddr, NULL, 0, false, false, 0);
|
||||
|
||||
// Replace the exact with the load.
|
||||
DAG.ReplaceAllUsesOfValueWith(SDValue(Extract, 0), LoadScalar);
|
||||
|
|
Loading…
Reference in New Issue