@@ -325,7 +325,7 @@ FixupLEAPass::searchBackwards(MachineOperand &p, MachineBasicBlock::iterator &I,
325325 return MachineBasicBlock::iterator ();
326326}
327327
328- static inline bool isInefficientLEAReg (unsigned Reg) {
328+ static inline bool isInefficientLEAReg (Register Reg) {
329329 return Reg == X86::EBP || Reg == X86::RBP ||
330330 Reg == X86::R13D || Reg == X86::R13;
331331}
@@ -337,7 +337,7 @@ static inline bool isInefficientLEAReg(unsigned Reg) {
337337static inline bool hasInefficientLEABaseReg (const MachineOperand &Base,
338338 const MachineOperand &Index) {
339339 return Base.isReg () && isInefficientLEAReg (Base.getReg ()) && Index.isReg () &&
340- Index.getReg () != X86::NoRegister ;
340+ Index.getReg (). isValid () ;
341341}
342342
343343static inline bool hasLEAOffset (const MachineOperand &Offset) {
@@ -557,7 +557,7 @@ bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
557557 const MachineOperand &Disp = MI.getOperand (1 + X86::AddrDisp);
558558 const MachineOperand &Segment = MI.getOperand (1 + X86::AddrSegmentReg);
559559
560- if (Segment.getReg () != 0 || !Disp.isImm () || Scale.getImm () > 1 ||
560+ if (Segment.getReg (). isValid () || !Disp.isImm () || Scale.getImm () > 1 ||
561561 MBB.computeRegisterLiveness (TRI, X86::EFLAGS, I) !=
562562 MachineBasicBlock::LQR_Dead)
563563 return false ;
@@ -572,9 +572,9 @@ bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
572572
573573 // LEA64_32 has 64-bit operands but 32-bit result.
574574 if (MI.getOpcode () == X86::LEA64_32r) {
575- if (BaseReg != 0 )
575+ if (BaseReg)
576576 BaseReg = TRI->getSubReg (BaseReg, X86::sub_32bit);
577- if (IndexReg != 0 )
577+ if (IndexReg)
578578 IndexReg = TRI->getSubReg (IndexReg, X86::sub_32bit);
579579 }
580580
@@ -583,7 +583,7 @@ bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
583583 // Case 1.
584584 // Look for lea(%reg1, %reg2), %reg1 or lea(%reg2, %reg1), %reg1
585585 // which can be turned into add %reg2, %reg1
586- if (BaseReg != 0 && IndexReg != 0 && Disp.getImm () == 0 &&
586+ if (BaseReg. isValid () && IndexReg. isValid () && Disp.getImm () == 0 &&
587587 (DestReg == BaseReg || DestReg == IndexReg)) {
588588 unsigned NewOpcode = getADDrrFromLEA (MI.getOpcode ());
589589 if (DestReg != BaseReg)
@@ -599,7 +599,7 @@ bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
599599 NewMI = BuildMI (MBB, I, MI.getDebugLoc (), TII->get (NewOpcode), DestReg)
600600 .addReg (BaseReg).addReg (IndexReg);
601601 }
602- } else if (DestReg == BaseReg && IndexReg == 0 ) {
602+ } else if (DestReg == BaseReg && ! IndexReg) {
603603 // Case 2.
604604 // This is an LEA with only a base register and a displacement,
605605 // We can use ADDri or INC/DEC.
@@ -631,7 +631,7 @@ bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
631631 .addReg (BaseReg).addImm (Disp.getImm ());
632632 }
633633 }
634- } else if (BaseReg != 0 && IndexReg != 0 && Disp.getImm () == 0 ) {
634+ } else if (BaseReg. isValid () && IndexReg. isValid () && Disp.getImm () == 0 ) {
635635 // Case 3.
636636 // Look for and transform the sequence
637637 // lea (reg1, reg2), reg3
@@ -697,22 +697,22 @@ void FixupLEAPass::processInstructionForSlowLEA(MachineBasicBlock::iterator &I,
697697 const MachineOperand &Offset = MI.getOperand (1 + X86::AddrDisp);
698698 const MachineOperand &Segment = MI.getOperand (1 + X86::AddrSegmentReg);
699699
700- if (Segment.getReg () != 0 || !Offset.isImm () ||
700+ if (Segment.getReg (). isValid () || !Offset.isImm () ||
701701 MBB.computeRegisterLiveness (TRI, X86::EFLAGS, I, 4 ) !=
702702 MachineBasicBlock::LQR_Dead)
703703 return ;
704704 const Register DstR = Dst.getReg ();
705705 const Register SrcR1 = Base.getReg ();
706706 const Register SrcR2 = Index.getReg ();
707- if ((SrcR1 == 0 || SrcR1 != DstR) && (SrcR2 == 0 || SrcR2 != DstR))
707+ if ((! SrcR1 || SrcR1 != DstR) && (! SrcR2 || SrcR2 != DstR))
708708 return ;
709709 if (Scale.getImm () > 1 )
710710 return ;
711711 LLVM_DEBUG (dbgs () << " FixLEA: Candidate to replace:" ; I->dump (););
712712 LLVM_DEBUG (dbgs () << " FixLEA: Replaced by: " ;);
713713 MachineInstr *NewMI = nullptr ;
714714 // Make ADD instruction for two registers writing to LEA's destination
715- if (SrcR1 != 0 && SrcR2 != 0 ) {
715+ if (SrcR1 && SrcR2) {
716716 const MCInstrDesc &ADDrr = TII->get (getADDrrFromLEA (Opcode));
717717 const MachineOperand &Src = SrcR1 == DstR ? Index : Base;
718718 NewMI =
@@ -752,17 +752,17 @@ void FixupLEAPass::processInstrForSlow3OpLEA(MachineBasicBlock::iterator &I,
752752 if (!(TII->isThreeOperandsLEA (MI) || hasInefficientLEABaseReg (Base, Index)) ||
753753 MBB.computeRegisterLiveness (TRI, X86::EFLAGS, I, 4 ) !=
754754 MachineBasicBlock::LQR_Dead ||
755- Segment.getReg () != X86::NoRegister )
755+ Segment.getReg (). isValid () )
756756 return ;
757757
758758 Register DestReg = Dest.getReg ();
759759 Register BaseReg = Base.getReg ();
760760 Register IndexReg = Index.getReg ();
761761
762762 if (MI.getOpcode () == X86::LEA64_32r) {
763- if (BaseReg != 0 )
763+ if (BaseReg)
764764 BaseReg = TRI->getSubReg (BaseReg, X86::sub_32bit);
765- if (IndexReg != 0 )
765+ if (IndexReg)
766766 IndexReg = TRI->getSubReg (IndexReg, X86::sub_32bit);
767767 }
768768
0 commit comments