diff options
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 4bdcaf8..bedcebb 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -948,18 +948,13 @@ reload (first, global, dumpfile) } } - /* No point in trying to select reload registers if we know we're - going to re-run everything again. */ - if (! something_changed) - { - select_reload_regs (dumpfile); + select_reload_regs (dumpfile); + if (failure) + goto failed; - if (failure) - goto failed; + if (insns_need_reload != 0 || did_spill) + something_changed |= finish_spills (global, dumpfile); - if (insns_need_reload != 0 || did_spill) - something_changed |= finish_spills (global, dumpfile); - } if (! something_changed) break; |