summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-26 10:47:33 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-26 10:47:33 +0000
commitde81ada1ab35e623c7edbb79eb26a73572c9f303 (patch)
tree144f44b72eb338b2b0f1378f869aeee6e66f6bc3 /gcc/toplev.c
parent474c2b47315677fe3ce5b50882c8695b9f9c264f (diff)
downloadgcc-de81ada1ab35e623c7edbb79eb26a73572c9f303.tar.gz
* i386.md (float_truncate splitter, and to mov splitters): Add
reload_completted; fix operand predicate. * haifa-sched.c (sched_init): Do not split insns. * toplev.c (rest_of_compilation): Call split_all_insns before sched1 pass; simplify condition of post-reload splitter; call split_all_insn before sched2 pass. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43575 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 6e75187c573..7ca7e91ae11 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3410,13 +3410,16 @@ rest_of_compilation (decl)
timevar_pop (TV_GCSE);
#endif
+ timevar_push (TV_SCHED);
+
+ split_all_insns (1);
+
#ifdef INSN_SCHEDULING
/* Print function header into sched dump now
because doing the sched analysis makes some of the dump. */
if (optimize > 0 && flag_schedule_insns)
{
- timevar_push (TV_SCHED);
open_dump_file (DFI_sched, decl);
/* Do control and data sched analysis,
@@ -3425,15 +3428,15 @@ rest_of_compilation (decl)
schedule_insns (rtl_dump_file);
close_dump_file (DFI_sched, print_rtl_with_bb, insns);
- timevar_pop (TV_SCHED);
-
- ggc_collect ();
/* Register lifetime information was updated as part of verifying
the schedule. */
register_life_up_to_date = 1;
}
#endif
+ timevar_pop (TV_SCHED);
+
+ ggc_collect ();
/* Determine if the current function is a leaf before running reload
since this can impact optimizations done by the prologue and
@@ -3510,14 +3513,8 @@ rest_of_compilation (decl)
}
/* If optimizing, then go ahead and split insns now since we are about
- to recompute flow information anyway. Since we can't split insns after
- reload, do the splitting unconditionally here to avoid gcc from losing
- REG_DEAD notes. */
-#ifdef STACK_REGS
- if (1)
-#else
+ to recompute flow information anyway. */
if (optimize > 0)
-#endif
{
int old_labelnum = max_label_num ();
@@ -3619,6 +3616,8 @@ rest_of_compilation (decl)
/* Do control and data sched analysis again,
and write some more of the results to dump file. */
+ split_all_insns (1);
+
schedule_insns (rtl_dump_file);
close_dump_file (DFI_sched2, print_rtl_with_bb, insns);