@@ -382,7 +382,7 @@ bool RISCVVectorPeephole::convertAllOnesVMergeToVMv(MachineInstr &MI) const {
382
382
// vmv.v.v doesn't have a mask operand, so we may be able to inflate the
383
383
// register class for the destination and passthru operands e.g. VRNoV0 -> VR
384
384
MRI->recomputeRegClass (MI.getOperand (0 ).getReg ());
385
- if (MI.getOperand (1 ).getReg () != RISCV::NoRegister )
385
+ if (MI.getOperand (1 ).getReg (). isValid () )
386
386
MRI->recomputeRegClass (MI.getOperand (1 ).getReg ());
387
387
return true ;
388
388
}
@@ -448,7 +448,7 @@ bool RISCVVectorPeephole::convertSameMaskVMergeToVMv(MachineInstr &MI) {
448
448
Register FalseReg = MI.getOperand (2 ).getReg ();
449
449
if (TruePassthruReg != FalseReg) {
450
450
// If True's passthru is undef see if we can change it to False
451
- if (TruePassthruReg != RISCV::NoRegister ||
451
+ if (TruePassthruReg. isValid () ||
452
452
!MRI->hasOneUse (MI.getOperand (3 ).getReg ()) ||
453
453
!ensureDominates (MI.getOperand (2 ), *True))
454
454
return false ;
@@ -467,7 +467,7 @@ bool RISCVVectorPeephole::convertSameMaskVMergeToVMv(MachineInstr &MI) {
467
467
// vmv.v.v doesn't have a mask operand, so we may be able to inflate the
468
468
// register class for the destination and passthru operands e.g. VRNoV0 -> VR
469
469
MRI->recomputeRegClass (MI.getOperand (0 ).getReg ());
470
- if (MI.getOperand (1 ).getReg () != RISCV::NoRegister )
470
+ if (MI.getOperand (1 ).getReg (). isValid () )
471
471
MRI->recomputeRegClass (MI.getOperand (1 ).getReg ());
472
472
return true ;
473
473
}
@@ -517,7 +517,7 @@ bool RISCVVectorPeephole::convertToUnmasked(MachineInstr &MI) const {
517
517
if (RISCVII::isFirstDefTiedToFirstUse (MaskedMCID)) {
518
518
unsigned PassthruOpIdx = MI.getNumExplicitDefs ();
519
519
if (HasPassthru) {
520
- if (MI.getOperand (PassthruOpIdx).getReg () != RISCV::NoRegister )
520
+ if (MI.getOperand (PassthruOpIdx).getReg ())
521
521
MRI->recomputeRegClass (MI.getOperand (PassthruOpIdx).getReg ());
522
522
} else
523
523
MI.removeOperand (PassthruOpIdx);
@@ -576,7 +576,7 @@ static bool dominates(MachineBasicBlock::const_iterator A,
576
576
bool RISCVVectorPeephole::ensureDominates (const MachineOperand &MO,
577
577
MachineInstr &Src) const {
578
578
assert (MO.getParent ()->getParent () == Src.getParent ());
579
- if (!MO.isReg () || MO.getReg () == RISCV::NoRegister )
579
+ if (!MO.isReg () || ! MO.getReg (). isValid () )
580
580
return true ;
581
581
582
582
MachineInstr *Def = MRI->getVRegDef (MO.getReg ());
@@ -593,7 +593,7 @@ bool RISCVVectorPeephole::ensureDominates(const MachineOperand &MO,
593
593
bool RISCVVectorPeephole::foldUndefPassthruVMV_V_V (MachineInstr &MI) {
594
594
if (RISCV::getRVVMCOpcode (MI.getOpcode ()) != RISCV::VMV_V_V)
595
595
return false ;
596
- if (MI.getOperand (1 ).getReg () != RISCV::NoRegister )
596
+ if (MI.getOperand (1 ).getReg (). isValid () )
597
597
return false ;
598
598
599
599
// If the input was a pseudo with a policy operand, we can give it a tail
@@ -654,7 +654,7 @@ bool RISCVVectorPeephole::foldVMV_V_V(MachineInstr &MI) {
654
654
655
655
// Src needs to have the same passthru as VMV_V_V
656
656
MachineOperand &SrcPassthru = Src->getOperand (Src->getNumExplicitDefs ());
657
- if (SrcPassthru.getReg () != RISCV::NoRegister &&
657
+ if (SrcPassthru.getReg (). isValid () &&
658
658
SrcPassthru.getReg () != Passthru.getReg ())
659
659
return false ;
660
660
@@ -672,7 +672,7 @@ bool RISCVVectorPeephole::foldVMV_V_V(MachineInstr &MI) {
672
672
if (SrcPassthru.getReg () != Passthru.getReg ()) {
673
673
SrcPassthru.setReg (Passthru.getReg ());
674
674
// If Src is masked then its passthru needs to be in VRNoV0.
675
- if (Passthru.getReg () != RISCV::NoRegister )
675
+ if (Passthru.getReg (). isValid () )
676
676
MRI->constrainRegClass (
677
677
Passthru.getReg (),
678
678
TII->getRegClass (Src->getDesc (), SrcPassthru.getOperandNo (), TRI));
0 commit comments