@@ -2220,8 +2220,7 @@ bool SIFoldOperandsImpl::tryFoldImmRegSequence(MachineInstr &MI) {
2220
2220
SmallVector<uint64_t , 8 > ImmVals;
2221
2221
uint64_t ImmVal = 0 ;
2222
2222
uint64_t ImmSize = 0 ;
2223
- for (unsigned i = 0 ; i < Defs.size (); ++i) {
2224
- auto &[Op, SubIdx] = Defs[i];
2223
+ for (auto &[Op, SubIdx] : Defs) {
2225
2224
unsigned SubRegSize = TRI->getSubRegIdxSize (SubIdx);
2226
2225
unsigned Shift = (TRI->getChannelFromSubReg (SubIdx) % 2 ) * SubRegSize;
2227
2226
ImmSize += SubRegSize;
@@ -2240,9 +2239,6 @@ bool SIFoldOperandsImpl::tryFoldImmRegSequence(MachineInstr &MI) {
2240
2239
}
2241
2240
}
2242
2241
2243
- assert (ImmVals.size () > 0 &&
2244
- " REG_SEQUENCE should have at least 1 operand pair" );
2245
-
2246
2242
// Can only combine REG_SEQUENCE into one 64b immediate materialization mov.
2247
2243
if (DefRC == TRI->getVGPR64Class ()) {
2248
2244
BuildMI (*MI.getParent (), MI, MI.getDebugLoc (),
@@ -2263,7 +2259,7 @@ bool SIFoldOperandsImpl::tryFoldImmRegSequence(MachineInstr &MI) {
2263
2259
2264
2260
for (unsigned i = 0 ; i < ImmVals.size (); ++i) {
2265
2261
const TargetRegisterClass *RC = TRI->getVGPR64Class ();
2266
- auto MovReg = MRI->createVirtualRegister (RC);
2262
+ Register MovReg = MRI->createVirtualRegister (RC);
2267
2263
// Duplicate vmov imm materializations (e.g., splatted operands) should get
2268
2264
// combined by MachineCSE pass.
2269
2265
BuildMI (*MI.getParent (), MI, MI.getDebugLoc (),
0 commit comments