diff options
author | Bernd Schmidt <bernds@cygnus.co.uk> | 1999-12-14 12:40:02 +0000 |
---|---|---|
committer | Bernd Schmidt <crux@gcc.gnu.org> | 1999-12-14 12:40:02 +0000 |
commit | e483bf9c62e9fa8c89e55d1bd527d4710e47e083 (patch) | |
tree | 2e5e982add263664b4d7762bdad0a5d567cf22eb /gcc | |
parent | 0a326ec99a63b868ff94e337f606d7110436338f (diff) | |
download | gcc-e483bf9c62e9fa8c89e55d1bd527d4710e47e083.zip gcc-e483bf9c62e9fa8c89e55d1bd527d4710e47e083.tar.gz gcc-e483bf9c62e9fa8c89e55d1bd527d4710e47e083.tar.bz2 |
Undo one misguided optimization attempt in previous change.
From-SVN: r30915
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/reload1.c | 15 |
2 files changed, 8 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 91bb220..a4423d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> + * reload1.c (reload): Can't avoid select_reload_regs/finish_spills + if something changed. Back out that part of yesterday's changes. + * loop.c (loop_max_reg): New static variable. (loop_optimize): Initialize it. Eliminate one unnecessary call to max_reg_num. 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; |