@@ -3331,11 +3331,9 @@ void SITargetLowering::passSpecialInputs(
3331
3331
};
3332
3332
// clang-format on
3333
3333
3334
- for (auto Attr : ImplicitAttrs) {
3335
- AMDGPUFunctionArgInfo::PreloadedValue InputID = Attr.first;
3336
-
3334
+ for (auto [InputID, Attr] : ImplicitAttrs) {
3337
3335
// If the callee does not use the attribute value, skip copying the value.
3338
- if (CLI.CB->hasFnAttr(Attr.second ))
3336
+ if (CLI.CB->hasFnAttr(Attr))
3339
3337
continue;
3340
3338
3341
3339
const auto [OutgoingArg, ArgRC, ArgTy] =
@@ -3927,10 +3925,8 @@ SDValue SITargetLowering::LowerCall(CallLoweringInfo &CLI,
3927
3925
3928
3926
// Add argument registers to the end of the list so that they are known live
3929
3927
// into the call.
3930
- for (auto &RegToPass : RegsToPass) {
3931
- Ops.push_back(
3932
- DAG.getRegister(RegToPass.first, RegToPass.second.getValueType()));
3933
- }
3928
+ for (auto &[Reg, Val] : RegsToPass)
3929
+ Ops.push_back(DAG.getRegister(Reg, Val.getValueType()));
3934
3930
3935
3931
// Add a register mask operand representing the call-preserved registers.
3936
3932
const uint32_t *Mask = TRI->getCallPreservedMask(MF, CallConv);
@@ -8863,16 +8859,16 @@ SDValue SITargetLowering::lowerRawBufferAtomicIntrin(SDValue Op,
8863
8859
8864
8860
SDValue VData = Op.getOperand(2);
8865
8861
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(3), DAG);
8866
- auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
8862
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(4), DAG);
8867
8863
auto SOffset = selectSOffset(Op.getOperand(5), DAG, Subtarget);
8868
8864
SDValue Ops[] = {
8869
8865
Op.getOperand(0), // Chain
8870
8866
VData, // vdata
8871
8867
Rsrc, // rsrc
8872
8868
DAG.getConstant(0, DL, MVT::i32), // vindex
8873
- Offsets.first, // voffset
8869
+ VOffset, // voffset
8874
8870
SOffset, // soffset
8875
- Offsets.second, // offset
8871
+ Offset, // offset
8876
8872
Op.getOperand(6), // cachepolicy
8877
8873
DAG.getTargetConstant(0, DL, MVT::i1), // idxen
8878
8874
};
@@ -8891,16 +8887,16 @@ SITargetLowering::lowerStructBufferAtomicIntrin(SDValue Op, SelectionDAG &DAG,
8891
8887
8892
8888
SDValue VData = Op.getOperand(2);
8893
8889
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(3), DAG);
8894
- auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
8890
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(5), DAG);
8895
8891
auto SOffset = selectSOffset(Op.getOperand(6), DAG, Subtarget);
8896
8892
SDValue Ops[] = {
8897
8893
Op.getOperand(0), // Chain
8898
8894
VData, // vdata
8899
8895
Rsrc, // rsrc
8900
8896
Op.getOperand(4), // vindex
8901
- Offsets.first, // voffset
8897
+ VOffset, // voffset
8902
8898
SOffset, // soffset
8903
- Offsets.second, // offset
8899
+ Offset, // offset
8904
8900
Op.getOperand(7), // cachepolicy
8905
8901
DAG.getTargetConstant(1, DL, MVT::i1), // idxen
8906
8902
};
@@ -8981,15 +8977,15 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
8981
8977
IntrID == Intrinsic::amdgcn_raw_ptr_buffer_load_format;
8982
8978
8983
8979
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(2), DAG);
8984
- auto Offsets = splitBufferOffsets(Op.getOperand(3), DAG);
8980
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(3), DAG);
8985
8981
auto SOffset = selectSOffset(Op.getOperand(4), DAG, Subtarget);
8986
8982
SDValue Ops[] = {
8987
8983
Op.getOperand(0), // Chain
8988
8984
Rsrc, // rsrc
8989
8985
DAG.getConstant(0, DL, MVT::i32), // vindex
8990
- Offsets.first, // voffset
8986
+ VOffset, // voffset
8991
8987
SOffset, // soffset
8992
- Offsets.second, // offset
8988
+ Offset, // offset
8993
8989
Op.getOperand(5), // cachepolicy, swizzled buffer
8994
8990
DAG.getTargetConstant(0, DL, MVT::i1), // idxen
8995
8991
};
@@ -9008,15 +9004,15 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
9008
9004
IntrID == Intrinsic::amdgcn_struct_ptr_buffer_load_format;
9009
9005
9010
9006
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(2), DAG);
9011
- auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
9007
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(4), DAG);
9012
9008
auto SOffset = selectSOffset(Op.getOperand(5), DAG, Subtarget);
9013
9009
SDValue Ops[] = {
9014
9010
Op.getOperand(0), // Chain
9015
9011
Rsrc, // rsrc
9016
9012
Op.getOperand(3), // vindex
9017
- Offsets.first, // voffset
9013
+ VOffset, // voffset
9018
9014
SOffset, // soffset
9019
- Offsets.second, // offset
9015
+ Offset, // offset
9020
9016
Op.getOperand(6), // cachepolicy, swizzled buffer
9021
9017
DAG.getTargetConstant(1, DL, MVT::i1), // idxen
9022
9018
};
@@ -9028,16 +9024,16 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
9028
9024
MemSDNode *M = cast<MemSDNode>(Op);
9029
9025
EVT LoadVT = Op.getValueType();
9030
9026
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(2), DAG);
9031
- auto Offsets = splitBufferOffsets(Op.getOperand(3), DAG);
9027
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(3), DAG);
9032
9028
auto SOffset = selectSOffset(Op.getOperand(4), DAG, Subtarget);
9033
9029
9034
9030
SDValue Ops[] = {
9035
9031
Op.getOperand(0), // Chain
9036
9032
Rsrc, // rsrc
9037
9033
DAG.getConstant(0, DL, MVT::i32), // vindex
9038
- Offsets.first, // voffset
9034
+ VOffset, // voffset
9039
9035
SOffset, // soffset
9040
- Offsets.second, // offset
9036
+ Offset, // offset
9041
9037
Op.getOperand(5), // format
9042
9038
Op.getOperand(6), // cachepolicy, swizzled buffer
9043
9039
DAG.getTargetConstant(0, DL, MVT::i1), // idxen
@@ -9055,16 +9051,16 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
9055
9051
MemSDNode *M = cast<MemSDNode>(Op);
9056
9052
EVT LoadVT = Op.getValueType();
9057
9053
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(2), DAG);
9058
- auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
9054
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(4), DAG);
9059
9055
auto SOffset = selectSOffset(Op.getOperand(5), DAG, Subtarget);
9060
9056
9061
9057
SDValue Ops[] = {
9062
9058
Op.getOperand(0), // Chain
9063
9059
Rsrc, // rsrc
9064
9060
Op.getOperand(3), // vindex
9065
- Offsets.first, // voffset
9061
+ VOffset, // voffset
9066
9062
SOffset, // soffset
9067
- Offsets.second, // offset
9063
+ Offset, // offset
9068
9064
Op.getOperand(6), // format
9069
9065
Op.getOperand(7), // cachepolicy, swizzled buffer
9070
9066
DAG.getTargetConstant(1, DL, MVT::i1), // idxen
@@ -9185,17 +9181,17 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
9185
9181
case Intrinsic::amdgcn_raw_buffer_atomic_cmpswap:
9186
9182
case Intrinsic::amdgcn_raw_ptr_buffer_atomic_cmpswap: {
9187
9183
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(4), DAG);
9188
- auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
9184
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(5), DAG);
9189
9185
auto SOffset = selectSOffset(Op.getOperand(6), DAG, Subtarget);
9190
9186
SDValue Ops[] = {
9191
9187
Op.getOperand(0), // Chain
9192
9188
Op.getOperand(2), // src
9193
9189
Op.getOperand(3), // cmp
9194
9190
Rsrc, // rsrc
9195
9191
DAG.getConstant(0, DL, MVT::i32), // vindex
9196
- Offsets.first, // voffset
9192
+ VOffset, // voffset
9197
9193
SOffset, // soffset
9198
- Offsets.second, // offset
9194
+ Offset, // offset
9199
9195
Op.getOperand(7), // cachepolicy
9200
9196
DAG.getTargetConstant(0, DL, MVT::i1), // idxen
9201
9197
};
@@ -9209,17 +9205,17 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
9209
9205
case Intrinsic::amdgcn_struct_buffer_atomic_cmpswap:
9210
9206
case Intrinsic::amdgcn_struct_ptr_buffer_atomic_cmpswap: {
9211
9207
SDValue Rsrc = bufferRsrcPtrToVector(Op->getOperand(4), DAG);
9212
- auto Offsets = splitBufferOffsets(Op.getOperand(6), DAG);
9208
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(6), DAG);
9213
9209
auto SOffset = selectSOffset(Op.getOperand(7), DAG, Subtarget);
9214
9210
SDValue Ops[] = {
9215
9211
Op.getOperand(0), // Chain
9216
9212
Op.getOperand(2), // src
9217
9213
Op.getOperand(3), // cmp
9218
9214
Rsrc, // rsrc
9219
9215
Op.getOperand(5), // vindex
9220
- Offsets.first, // voffset
9216
+ VOffset, // voffset
9221
9217
SOffset, // soffset
9222
- Offsets.second, // offset
9218
+ Offset, // offset
9223
9219
Op.getOperand(8), // cachepolicy
9224
9220
DAG.getTargetConstant(1, DL, MVT::i1), // idxen
9225
9221
};
@@ -9623,16 +9619,16 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
9623
9619
if (IsD16)
9624
9620
VData = handleD16VData(VData, DAG);
9625
9621
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(3), DAG);
9626
- auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
9622
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(5), DAG);
9627
9623
auto SOffset = selectSOffset(Op.getOperand(6), DAG, Subtarget);
9628
9624
SDValue Ops[] = {
9629
9625
Chain,
9630
9626
VData, // vdata
9631
9627
Rsrc, // rsrc
9632
9628
Op.getOperand(4), // vindex
9633
- Offsets.first, // voffset
9629
+ VOffset, // voffset
9634
9630
SOffset, // soffset
9635
- Offsets.second, // offset
9631
+ Offset, // offset
9636
9632
Op.getOperand(7), // format
9637
9633
Op.getOperand(8), // cachepolicy, swizzled buffer
9638
9634
DAG.getTargetConstant(1, DL, MVT::i1), // idxen
@@ -9651,16 +9647,16 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
9651
9647
if (IsD16)
9652
9648
VData = handleD16VData(VData, DAG);
9653
9649
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(3), DAG);
9654
- auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
9650
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(4), DAG);
9655
9651
auto SOffset = selectSOffset(Op.getOperand(5), DAG, Subtarget);
9656
9652
SDValue Ops[] = {
9657
9653
Chain,
9658
9654
VData, // vdata
9659
9655
Rsrc, // rsrc
9660
9656
DAG.getConstant(0, DL, MVT::i32), // vindex
9661
- Offsets.first, // voffset
9657
+ VOffset, // voffset
9662
9658
SOffset, // soffset
9663
- Offsets.second, // offset
9659
+ Offset, // offset
9664
9660
Op.getOperand(6), // format
9665
9661
Op.getOperand(7), // cachepolicy, swizzled buffer
9666
9662
DAG.getTargetConstant(0, DL, MVT::i1), // idxen
@@ -9696,16 +9692,16 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
9696
9692
}
9697
9693
9698
9694
SDValue Rsrc = bufferRsrcPtrToVector(Op.getOperand(3), DAG);
9699
- auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
9695
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(4), DAG);
9700
9696
auto SOffset = selectSOffset(Op.getOperand(5), DAG, Subtarget);
9701
9697
SDValue Ops[] = {
9702
9698
Chain,
9703
9699
VData,
9704
9700
Rsrc,
9705
9701
DAG.getConstant(0, DL, MVT::i32), // vindex
9706
- Offsets.first, // voffset
9702
+ VOffset, // voffset
9707
9703
SOffset, // soffset
9708
- Offsets.second, // offset
9704
+ Offset, // offset
9709
9705
Op.getOperand(6), // cachepolicy, swizzled buffer
9710
9706
DAG.getTargetConstant(0, DL, MVT::i1), // idxen
9711
9707
};
@@ -9747,16 +9743,16 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
9747
9743
}
9748
9744
9749
9745
auto Rsrc = bufferRsrcPtrToVector(Op.getOperand(3), DAG);
9750
- auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
9746
+ auto [VOffset, Offset] = splitBufferOffsets(Op.getOperand(5), DAG);
9751
9747
auto SOffset = selectSOffset(Op.getOperand(6), DAG, Subtarget);
9752
9748
SDValue Ops[] = {
9753
9749
Chain,
9754
9750
VData,
9755
9751
Rsrc,
9756
9752
Op.getOperand(4), // vindex
9757
- Offsets.first, // voffset
9753
+ VOffset, // voffset
9758
9754
SOffset, // soffset
9759
- Offsets.second, // offset
9755
+ Offset, // offset
9760
9756
Op.getOperand(7), // cachepolicy, swizzled buffer
9761
9757
DAG.getTargetConstant(1, DL, MVT::i1), // idxen
9762
9758
};
0 commit comments