]> gcc.gnu.org Git - gcc.git/commit
re PR middle-end/37243 (IRA causes wrong code generation)
authorRichard Sandiford <rdsandiford@googlemail.com>
Thu, 4 Sep 2008 18:47:35 +0000 (18:47 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 4 Sep 2008 18:47:35 +0000 (18:47 +0000)
commitacb37d2924de4cd0195f41225e50ae9c46553cca
tree0390c7f4a5b7e1f97a36d75b74ddad1cb441e93a
parente0c68ce9d288764b1706c1675804a308632d2919
re PR middle-end/37243 (IRA causes wrong code generation)

gcc/
PR middle-end/37243
* ira-build.c (form_loop_tree): Reverse BB walk.
(create_bb_allocnos): Likewise.
* ira-lives.c (make_regno_born_and_dead, regs_set): Delete.
(mark_reg_store): Rename to...
(mark_ref_live): ...this and take a df_ref argument instead of
note_stores arguments.  Assert that we have a register.
(mark_reg_clobber): Delete.
(def_conflicts_with_inputs_p): New function.
(mark_reg_conflicts): Delete.
(mark_reg_death): Rename to...
(mark_ref_dead): ...this and take a df_ref argument instead of
a register.  Assert that we have a register.
(process_bb_node_lives): Hoist frequency calculation out of
instruction walk.  Convert from a forwards scan to a backwards scan.
Use DF_REF_USES and DF_REF_DEFS instead of register notes and
note_stores.  Remove EH_RETURN_DATA_REGNO and regs_set handling.
(create_allocno_live_ranges): Don't create regs_set.

From-SVN: r139993
gcc/ChangeLog
gcc/ira-build.c
gcc/ira-lives.c
This page took 0.15318 seconds and 5 git commands to generate.