This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r119495 - in /trunk/gcc: ChangeLog tree-outof-s...
- From: amacleod at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 04 Dec 2006 14:26:38 -0000
- Subject: r119495 - in /trunk/gcc: ChangeLog tree-outof-s...
Author: amacleod
Date: Mon Dec 4 14:26:37 2006
New Revision: 119495
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119495
Log:
Switch live on entry to a per block basis from per variable.
* tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges.
* tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update.
(add_livein_if_notdef): Delete.
(loe_visit_block): New. Propogate live on entry info for a block into
each predecessor. If it changes, make sure it is visited again.
(live_worklist): Visit every block and update the live on entry info
for preds. Iterate over any that changed.
(set_var_live_on_entry): Populate the live on entry blocks with bits
based on the immediate uses of a var.
(calculate_live_on_entry): Remove.
(calculate_live_on_exit): Calculate live on exit based on the newly
oriented live on entry bits.
(calculate_live_ranges): Build live on entry and exit vectors.
(dump_live_info): Use new orientation of live on entry bitmaps.
(verify_live_on_entry): New. Split out verification code from old
calculate_live_on_entry routine.
* tree-ssa-live.h (struct tree_live_info_d): Add Working stack.
(live_entry_blocks): Rename to live_on_entry and return bitmap for a
basic_block instead of for a partition.
(live_merge_and_clear): Add asserts.
(make_live_on_entry): Set partition bit in basic block vector.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-outof-ssa.c
trunk/gcc/tree-ssa-live.c
trunk/gcc/tree-ssa-live.h