aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/toplev.c15
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 860318c..5f622fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 4 22:30:16 2000 Jeffrey A Law (law@cygnus.com)
+
+ * toplev.c (rest_of_compilation): Run shorten-branches before
+ reg-stack for now.
+
2000-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behaviour of
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 2c0ffa2..ae8bc73 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3572,6 +3572,15 @@ rest_of_compilation (decl)
ggc_collect ();
#endif
+ /* Shorten branches.
+
+ Note this must run before reg-stack because of death note (ab)use
+ in the ia32 backend. */
+ TIMEVAR (shorten_branch_time,
+ {
+ shorten_branches (get_insns ());
+ });
+
#ifdef STACK_REGS
if (stack_reg_dump)
open_dump_file (".20.stack", decl_printable_name (decl, 2));
@@ -3589,12 +3598,6 @@ rest_of_compilation (decl)
ggc_collect ();
#endif
- /* Shorten branches. */
- TIMEVAR (shorten_branch_time,
- {
- shorten_branches (get_insns ());
- });
-
/* Now turn the rtl into assembler code. */
TIMEVAR (final_time,