@@ -312,36 +312,37 @@ bool RISCVExpandPseudo::expandRV32ZdinxStore(MachineBasicBlock &MBB,
312312 TRI->getSubReg (MBBI->getOperand (0 ).getReg (), RISCV::sub_gpr_even);
313313 Register Hi =
314314 TRI->getSubReg (MBBI->getOperand (0 ).getReg (), RISCV::sub_gpr_odd);
315- auto MIBLo = BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
316- .addReg (Lo, getKillRegState (MBBI->getOperand (0 ).isKill ()))
317- .addReg (MBBI->getOperand (1 ).getReg ())
318- .add (MBBI->getOperand (2 ));
319315
320316 assert (MBBI->hasOneMemOperand () && " Expected mem operand" );
321317 MachineMemOperand *OldMMO = MBBI->memoperands ().front ();
322318 MachineFunction *MF = MBB.getParent ();
323319 MachineMemOperand *MMOLo = MF->getMachineMemOperand (OldMMO, 0 , 4 );
324320 MachineMemOperand *MMOHi = MF->getMachineMemOperand (OldMMO, 4 , 4 );
325- MIBLo.setMemRefs (MMOLo);
321+
322+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
323+ .addReg (Lo, getKillRegState (MBBI->getOperand (0 ).isKill ()))
324+ .addReg (MBBI->getOperand (1 ).getReg ())
325+ .add (MBBI->getOperand (2 ))
326+ .setMemRefs (MMOLo);
326327
327328 if (MBBI->getOperand (2 ).isGlobal () || MBBI->getOperand (2 ).isCPI ()) {
328329 // FIXME: Zdinx RV32 can not work on unaligned memory.
329330 assert (!STI->hasFastUnalignedAccess ());
330331
331332 assert (MBBI->getOperand (2 ).getOffset () % 8 == 0 );
332333 MBBI->getOperand (2 ).setOffset (MBBI->getOperand (2 ).getOffset () + 4 );
333- auto MIBHi = BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
334- .addReg (Hi, getKillRegState (MBBI->getOperand (0 ).isKill ()))
335- .add (MBBI->getOperand (1 ))
336- .add (MBBI->getOperand (2 ));
337- MIBHi .setMemRefs (MMOHi);
334+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
335+ .addReg (Hi, getKillRegState (MBBI->getOperand (0 ).isKill ()))
336+ .add (MBBI->getOperand (1 ))
337+ .add (MBBI->getOperand (2 ))
338+ .setMemRefs (MMOHi);
338339 } else {
339340 assert (isInt<12 >(MBBI->getOperand (2 ).getImm () + 4 ));
340- auto MIBHi = BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
341- .addReg (Hi, getKillRegState (MBBI->getOperand (0 ).isKill ()))
342- .add (MBBI->getOperand (1 ))
343- .addImm (MBBI->getOperand (2 ).getImm () + 4 );
344- MIBHi .setMemRefs (MMOHi);
341+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
342+ .addReg (Hi, getKillRegState (MBBI->getOperand (0 ).isKill ()))
343+ .add (MBBI->getOperand (1 ))
344+ .addImm (MBBI->getOperand (2 ).getImm () + 4 )
345+ .setMemRefs (MMOHi);
345346 }
346347 MBBI->eraseFromParent ();
347348 return true ;
@@ -370,35 +371,35 @@ bool RISCVExpandPseudo::expandRV32ZdinxLoad(MachineBasicBlock &MBB,
370371 bool IsOp1EqualToLo = Lo == MBBI->getOperand (1 ).getReg ();
371372 // Order: Lo, Hi
372373 if (!IsOp1EqualToLo) {
373- auto MIBLo = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Lo)
374- .addReg (MBBI->getOperand (1 ).getReg ())
375- .add (MBBI->getOperand (2 ));
376- MIBLo .setMemRefs (MMOLo);
374+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Lo)
375+ .addReg (MBBI->getOperand (1 ).getReg ())
376+ .add (MBBI->getOperand (2 ))
377+ .setMemRefs (MMOLo);
377378 }
378379
379380 if (MBBI->getOperand (2 ).isGlobal () || MBBI->getOperand (2 ).isCPI ()) {
380381 auto Offset = MBBI->getOperand (2 ).getOffset ();
381382 assert (MBBI->getOperand (2 ).getOffset () % 8 == 0 );
382383 MBBI->getOperand (2 ).setOffset (Offset + 4 );
383- auto MIBHi = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Hi)
384- .addReg (MBBI->getOperand (1 ).getReg ())
385- .add (MBBI->getOperand (2 ));
384+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Hi)
385+ .addReg (MBBI->getOperand (1 ).getReg ())
386+ .add (MBBI->getOperand (2 ))
387+ .setMemRefs (MMOHi);
386388 MBBI->getOperand (2 ).setOffset (Offset);
387- MIBHi.setMemRefs (MMOHi);
388389 } else {
389390 assert (isInt<12 >(MBBI->getOperand (2 ).getImm () + 4 ));
390- auto MIBHi = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Hi)
391- .addReg (MBBI->getOperand (1 ).getReg ())
392- .addImm (MBBI->getOperand (2 ).getImm () + 4 );
393- MIBHi .setMemRefs (MMOHi);
391+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Hi)
392+ .addReg (MBBI->getOperand (1 ).getReg ())
393+ .addImm (MBBI->getOperand (2 ).getImm () + 4 )
394+ .setMemRefs (MMOHi);
394395 }
395396
396397 // Order: Hi, Lo
397398 if (IsOp1EqualToLo) {
398- auto MIBLo = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Lo)
399- .addReg (MBBI->getOperand (1 ).getReg ())
400- .add (MBBI->getOperand (2 ));
401- MIBLo .setMemRefs (MMOLo);
399+ BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Lo)
400+ .addReg (MBBI->getOperand (1 ).getReg ())
401+ .add (MBBI->getOperand (2 ))
402+ .setMemRefs (MMOLo);
402403 }
403404
404405 MBBI->eraseFromParent ();
0 commit comments