[LegalizeTypes] Pre-size the SmallVectors in ScalarizeVecRes_StrictFPOp and SplitVecRes_StrictFPOp so we don't have to call push_back. NFCI

This avoids grow checking/handling in each iteration of the loop.
This commit is contained in:
Craig Topper 2019-12-16 23:35:29 -08:00
parent c738ebc1f5
commit 13ce7c1291
1 changed files with 9 additions and 9 deletions

View File

@ -204,10 +204,10 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_StrictFPOp(SDNode *N) {
EVT ValueVTs[] = {VT, MVT::Other};
SDLoc dl(N);
SmallVector<SDValue, 4> Opers;
SmallVector<SDValue, 4> Opers(NumOpers);
// The Chain is the first operand.
Opers.push_back(Chain);
Opers[0] = Chain;
// Now process the remaining operands.
for (unsigned i = 1; i < NumOpers; ++i) {
@ -216,7 +216,7 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_StrictFPOp(SDNode *N) {
if (Oper.getValueType().isVector())
Oper = GetScalarizedVector(Oper);
Opers.push_back(Oper);
Opers[i] = Oper;
}
SDValue Result = DAG.getNode(N->getOpcode(), dl, ValueVTs, Opers);
@ -1245,12 +1245,12 @@ void DAGTypeLegalizer::SplitVecRes_StrictFPOp(SDNode *N, SDValue &Lo,
SDLoc dl(N);
std::tie(LoVT, HiVT) = DAG.GetSplitDestVTs(N->getValueType(0));
SmallVector<SDValue, 4> OpsLo;
SmallVector<SDValue, 4> OpsHi;
SmallVector<SDValue, 4> OpsLo(NumOps);
SmallVector<SDValue, 4> OpsHi(NumOps);
// The Chain is the first operand.
OpsLo.push_back(Chain);
OpsHi.push_back(Chain);
OpsLo[0] = Chain;
OpsHi[0] = Chain;
// Now process the remaining operands.
for (unsigned i = 1; i < NumOps; ++i) {
@ -1268,8 +1268,8 @@ void DAGTypeLegalizer::SplitVecRes_StrictFPOp(SDNode *N, SDValue &Lo,
std::tie(OpLo, OpHi) = DAG.SplitVectorOperand(N, i);
}
OpsLo.push_back(OpLo);
OpsHi.push_back(OpHi);
OpsLo[i] = OpLo;
OpsHi[i] = OpHi;
}
EVT LoValueVTs[] = {LoVT, MVT::Other};