@@ -2225,8 +2225,7 @@ bool SIFoldOperandsImpl::tryFoldImmRegSequence(MachineInstr &MI) {
2225
2225
SmallVector<uint64_t , 8 > ImmVals;
2226
2226
uint64_t ImmVal = 0 ;
2227
2227
uint64_t ImmSize = 0 ;
2228
- for (unsigned i = 0 ; i < Defs.size (); ++i) {
2229
- auto &[Op, SubIdx] = Defs[i];
2228
+ for (auto &[Op, SubIdx] : Defs) {
2230
2229
unsigned SubRegSize = TRI->getSubRegIdxSize (SubIdx);
2231
2230
unsigned Shift = (TRI->getChannelFromSubReg (SubIdx) % 2 ) * SubRegSize;
2232
2231
ImmSize += SubRegSize;
@@ -2245,9 +2244,6 @@ bool SIFoldOperandsImpl::tryFoldImmRegSequence(MachineInstr &MI) {
2245
2244
}
2246
2245
}
2247
2246
2248
- assert (ImmVals.size () > 0 &&
2249
- " REG_SEQUENCE should have at least 1 operand pair" );
2250
-
2251
2247
// Can only combine REG_SEQUENCE into one 64b immediate materialization mov.
2252
2248
if (DefRC == TRI->getVGPR64Class ()) {
2253
2249
BuildMI (*MI.getParent (), MI, MI.getDebugLoc (),
@@ -2268,7 +2264,7 @@ bool SIFoldOperandsImpl::tryFoldImmRegSequence(MachineInstr &MI) {
2268
2264
2269
2265
for (unsigned i = 0 ; i < ImmVals.size (); ++i) {
2270
2266
const TargetRegisterClass *RC = TRI->getVGPR64Class ();
2271
- auto MovReg = MRI->createVirtualRegister (RC);
2267
+ Register MovReg = MRI->createVirtualRegister (RC);
2272
2268
// Duplicate vmov imm materializations (e.g., splatted operands) should get
2273
2269
// combined by MachineCSE pass.
2274
2270
BuildMI (*MI.getParent (), MI, MI.getDebugLoc (),
0 commit comments