diff options
author | Jan Hubicka <jh@suse.cz> | 2001-06-26 12:47:33 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-06-26 10:47:33 +0000 |
commit | 05b432db5bcddb96c6ed9ddd88edfdfaa81d17a6 (patch) | |
tree | 144f44b72eb338b2b0f1378f869aeee6e66f6bc3 /gcc/toplev.c | |
parent | f4655693b5aff2a21929d4c127b89a0fc9803a49 (diff) | |
download | gcc-05b432db5bcddb96c6ed9ddd88edfdfaa81d17a6.zip gcc-05b432db5bcddb96c6ed9ddd88edfdfaa81d17a6.tar.gz gcc-05b432db5bcddb96c6ed9ddd88edfdfaa81d17a6.tar.bz2 |
i386.md (float_truncate splitter, [...]): Add reload_completted; fix operand predicate.
* 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.
From-SVN: r43575
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 6e75187..7ca7e91 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); |