@@ -602,25 +602,23 @@ bool RISCVOptWInstrs::removeSExtWInstrs(MachineFunction &MF,
602
602
603
603
bool MadeChange = false ;
604
604
for (MachineBasicBlock &MBB : MF) {
605
- for (auto I = MBB.begin (), IE = MBB.end (); I != IE;) {
606
- MachineInstr *MI = &*I++;
607
-
605
+ for (MachineInstr &MI : llvm::make_early_inc_range (MBB)) {
608
606
// We're looking for the sext.w pattern ADDIW rd, rs1, 0.
609
- if (!RISCV::isSEXT_W (* MI))
607
+ if (!RISCV::isSEXT_W (MI))
610
608
continue ;
611
609
612
- Register SrcReg = MI-> getOperand (1 ).getReg ();
610
+ Register SrcReg = MI. getOperand (1 ).getReg ();
613
611
614
612
SmallPtrSet<MachineInstr *, 4 > FixableDefs;
615
613
616
614
// If all users only use the lower bits, this sext.w is redundant.
617
615
// Or if all definitions reaching MI sign-extend their output,
618
616
// then sext.w is redundant.
619
- if (!hasAllWUsers (* MI, ST, MRI) &&
617
+ if (!hasAllWUsers (MI, ST, MRI) &&
620
618
!isSignExtendedW (SrcReg, ST, MRI, FixableDefs))
621
619
continue ;
622
620
623
- Register DstReg = MI-> getOperand (0 ).getReg ();
621
+ Register DstReg = MI. getOperand (0 ).getReg ();
624
622
if (!MRI.constrainRegClass (SrcReg, MRI.getRegClass (DstReg)))
625
623
continue ;
626
624
@@ -638,7 +636,7 @@ bool RISCVOptWInstrs::removeSExtWInstrs(MachineFunction &MF,
638
636
LLVM_DEBUG (dbgs () << " Removing redundant sign-extension\n " );
639
637
MRI.replaceRegWith (DstReg, SrcReg);
640
638
MRI.clearKillFlags (SrcReg);
641
- MI-> eraseFromParent ();
639
+ MI. eraseFromParent ();
642
640
++NumRemovedSExtW;
643
641
MadeChange = true ;
644
642
}
@@ -656,9 +654,7 @@ bool RISCVOptWInstrs::stripWSuffixes(MachineFunction &MF,
656
654
657
655
bool MadeChange = false ;
658
656
for (MachineBasicBlock &MBB : MF) {
659
- for (auto I = MBB.begin (), IE = MBB.end (); I != IE; ++I) {
660
- MachineInstr &MI = *I;
661
-
657
+ for (MachineInstr &MI : MBB) {
662
658
unsigned Opc;
663
659
switch (MI.getOpcode ()) {
664
660
default :
0 commit comments