aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c15
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;