diff options
author | Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com> | 2004-02-24 17:28:33 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2004-02-24 17:28:33 +0000 |
commit | 58565a33ed8ca46cd1d3745f96786f3b4b0ebda3 (patch) | |
tree | 3aa01967e3cab5b61a2460c360bbe2508accd84f /gcc/flow.c | |
parent | 34208acf14fa026ae391a819525d20b48af5c2bf (diff) | |
download | gcc-58565a33ed8ca46cd1d3745f96786f3b4b0ebda3.zip gcc-58565a33ed8ca46cd1d3745f96786f3b4b0ebda3.tar.gz gcc-58565a33ed8ca46cd1d3745f96786f3b4b0ebda3.tar.bz2 |
target-def.h (TARGET_SCHED_INIT_GLOBAL, [...]): New macros.
2003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
* target-def.h (TARGET_SCHED_INIT_GLOBAL,
TARGET_SCHED_FINISH_GLOBAL): New macros.
* target.h (md_init_global, md_finish_global): Function
declarations corresponding to new target macros.
* haifa-sched.c (sched_init, sched_finish): Allow target to
call the new schedular hooks.
* flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
call to update_life_info.
* config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
flag_schedule_insns for SH4.
* config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
find_set_regmode_weight, find_insn_regmode_weight,
find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
sh_variable_issue, high_pressure, ready_reorder,
rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
functions used to throttle the insn movement in first
scheduling pass for SH.
* gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
TARGET_SCHED_FINISH_GLOBAL.
From-SVN: r78374
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -4260,7 +4260,10 @@ void recompute_reg_usage (rtx f ATTRIBUTE_UNUSED, int loop_step ATTRIBUTE_UNUSED) { allocate_reg_life_data (); - update_life_info (NULL, UPDATE_LIFE_LOCAL, PROP_REG_INFO); + /* distribute_notes in combiner fails to convert some of the REG_UNUSED notes + to REG_DEAD notes. This causes CHECK_DEAD_NOTES in sched1 to abort. To + solve this update the DEATH_NOTES here. */ + update_life_info (NULL, UPDATE_LIFE_LOCAL, PROP_REG_INFO | PROP_DEATH_NOTES); } /* Optionally removes all the REG_DEAD and REG_UNUSED notes from a set of |