@@ -2670,7 +2670,7 @@ void ModuloScheduleExpanderMVE::expand() {
2670
2670
// / Check if ModuloScheduleExpanderMVE can be applied to L
2671
2671
bool ModuloScheduleExpanderMVE::canApply (MachineLoop &L) {
2672
2672
if (!L.getExitBlock ()) {
2673
- LLVM_DEBUG (dbgs () << " Can not apply MVE expander\n " ;);
2673
+ LLVM_DEBUG (dbgs () << " Can not apply MVE expander: No single exit block \n " ;);
2674
2674
return false ;
2675
2675
}
2676
2676
@@ -2687,7 +2687,8 @@ bool ModuloScheduleExpanderMVE::canApply(MachineLoop &L) {
2687
2687
if (MO.isReg ())
2688
2688
for (MachineInstr &Ref : MRI.use_instructions (MO.getReg ()))
2689
2689
if (Ref.getParent () != BB || Ref.isPHI ()) {
2690
- LLVM_DEBUG (dbgs () << " Can not apply MVE expander\n " ;);
2690
+ LLVM_DEBUG (dbgs () << " Can not apply MVE expander: A phi result is "
2691
+ " referenced outside of the loop or by phi." ;);
2691
2692
return false ;
2692
2693
}
2693
2694
@@ -2698,11 +2699,14 @@ bool ModuloScheduleExpanderMVE::canApply(MachineLoop &L) {
2698
2699
getPhiRegs (MI, MI.getParent (), InitVal, LoopVal);
2699
2700
if (!Register (LoopVal).isVirtual () ||
2700
2701
MRI.getVRegDef (LoopVal)->getParent () != BB) {
2701
- LLVM_DEBUG (dbgs () << " Can not apply MVE expander\n " ;);
2702
+ LLVM_DEBUG (
2703
+ dbgs () << " Can not apply MVE expander: A phi source value coming "
2704
+ " from the loop is not defined in the loop.\n " ;);
2702
2705
return false ;
2703
2706
}
2704
2707
if (UsedByPhi.count (LoopVal)) {
2705
- LLVM_DEBUG (dbgs () << " Can not apply MVE expander\n " ;);
2708
+ LLVM_DEBUG (dbgs () << " Can not apply MVE expander: A value defined in the "
2709
+ " loop is referenced by two or more phis.\n " ;);
2706
2710
return false ;
2707
2711
}
2708
2712
UsedByPhi.insert (LoopVal);
0 commit comments