[Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation
rsandifo at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Sep 4 18:50:00 GMT 2008
------- Comment #31 from rsandifo at gcc dot gnu dot org 2008-09-04 18:48 -------
Subject: Bug 37243
Author: rsandifo
Date: Thu Sep 4 18:47:35 2008
New Revision: 139993
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139993
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-lives.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243
More information about the Gcc-bugs
mailing list