https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57676
--- Comment #10 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Jeffrey A. Law from comment #9) > Vlad, would it make sense to record what insns needed a reload & what insns > were generated for reloads. Then on the next iteration, if the insns > needing a reload are different than the ones needing reloads in previous > iterations + insns generated for reloads in previous iterations, allow > iteration to continue. > > ie, detect the case when we've got this kind of cascading effect and we're > still making progress and as long as we're still making progress allow > iteration to continue. Yes, it makes a perfect sense. I should implement this. I'll think how to do it better. But I think realistically this work can be done only for GCC7. Thanks for providing a fresh view how to handle this problem.