[PowerPC] Prevent copying in loop variables (NFC)
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:5769:19: error: loop variable '[Reg, N]' creates a copy from type 'std::pair<unsigned int, llvm::SDValue> const' [-Werror,-Wrange-loop-construct]
for (const auto [Reg, N] : RegsToPass)
^
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:5769:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass)
^~~~~~~~~~~~~~~~~~~~~
&
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6193:19: error: loop variable '[Reg, N]' creates a
copy from type 'std::pair<unsigned int, llvm::SDValue> const' [-Werror,-Wrange-loop-construct]
for (const auto [Reg, N] : RegsToPass) {
^
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6193:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass) {
^~~~~~~~~~~~~~~~~~~~~
&
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6806:19: error: loop variable '[Reg, N]' creates a copy from type 'std::pair<unsigned int, llvm::SDValue> const' [-Werror,-Wrange-loop-construct]
for (const auto [Reg, N] : RegsToPass) {
^
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6806:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass) {
^~~~~~~~~~~~~~~~~~~~~
&
3 errors generated.
This commit is contained in:
@@ -5766,7 +5766,7 @@ buildCallOperands(SmallVectorImpl<SDValue> &Ops,
|
|||||||
|
|
||||||
// Add argument registers to the end of the list so that they are known live
|
// Add argument registers to the end of the list so that they are known live
|
||||||
// into the call.
|
// into the call.
|
||||||
for (const auto [Reg, N] : RegsToPass)
|
for (const auto &[Reg, N] : RegsToPass)
|
||||||
Ops.push_back(DAG.getRegister(Reg, N.getValueType()));
|
Ops.push_back(DAG.getRegister(Reg, N.getValueType()));
|
||||||
|
|
||||||
// We cannot add R2/X2 as an operand here for PATCHPOINT, because there is
|
// We cannot add R2/X2 as an operand here for PATCHPOINT, because there is
|
||||||
@@ -6190,7 +6190,7 @@ SDValue PPCTargetLowering::LowerCall_32SVR4(
|
|||||||
// Build a sequence of copy-to-reg nodes chained together with token chain
|
// Build a sequence of copy-to-reg nodes chained together with token chain
|
||||||
// and flag operands which copy the outgoing args into the appropriate regs.
|
// and flag operands which copy the outgoing args into the appropriate regs.
|
||||||
SDValue InGlue;
|
SDValue InGlue;
|
||||||
for (const auto [Reg, N] : RegsToPass) {
|
for (const auto &[Reg, N] : RegsToPass) {
|
||||||
Chain = DAG.getCopyToReg(Chain, dl, Reg, N, InGlue);
|
Chain = DAG.getCopyToReg(Chain, dl, Reg, N, InGlue);
|
||||||
InGlue = Chain.getValue(1);
|
InGlue = Chain.getValue(1);
|
||||||
}
|
}
|
||||||
@@ -6803,7 +6803,7 @@ SDValue PPCTargetLowering::LowerCall_64SVR4(
|
|||||||
// Build a sequence of copy-to-reg nodes chained together with token chain
|
// Build a sequence of copy-to-reg nodes chained together with token chain
|
||||||
// and flag operands which copy the outgoing args into the appropriate regs.
|
// and flag operands which copy the outgoing args into the appropriate regs.
|
||||||
SDValue InGlue;
|
SDValue InGlue;
|
||||||
for (const auto [Reg, N] : RegsToPass) {
|
for (const auto &[Reg, N] : RegsToPass) {
|
||||||
Chain = DAG.getCopyToReg(Chain, dl, Reg, N, InGlue);
|
Chain = DAG.getCopyToReg(Chain, dl, Reg, N, InGlue);
|
||||||
InGlue = Chain.getValue(1);
|
InGlue = Chain.getValue(1);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user