diff options
author | Jeff Law <law@redhat.com> | 2004-05-13 16:46:19 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2004-05-13 16:46:19 -0600 |
commit | 6c875a31e1d906f9821e558cd4da65fe39e2160d (patch) | |
tree | c4a9b4fc3ac9a69884b6447141f369dbdcc17011 | |
parent | 0e7b565cbf161851bc77eb48d5618dff3434d497 (diff) | |
download | gcc-6c875a31e1d906f9821e558cd4da65fe39e2160d.zip gcc-6c875a31e1d906f9821e558cd4da65fe39e2160d.tar.gz gcc-6c875a31e1d906f9821e558cd4da65fe39e2160d.tar.bz2 |
tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP rather than iterating through the blocks testing...
* tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
rather than iterating through the blocks testing each bit in
livein to initialize the worklist.
(mark_def_sites): Remove useless checks of KILLS for virtual
operands.
From-SVN: r81811
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-into-ssa.c | 15 |
2 files changed, 12 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d42c24b..ee5c4dd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -13,6 +13,12 @@ 2004-05-13 Jeff Law <law@redhat.com> + * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP + rather than iterating through the blocks testing each bit in + livein to initialize the worklist. + (mark_def_sites): Remove useless checks of KILLS for virtual + operands. + * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept new parameters for the statement and variable worklist as well as a bitmap of interesting SSA_NAMEs. Walk over the statement diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c index 34c31a0..4e19142 100644 --- a/gcc/tree-into-ssa.c +++ b/gcc/tree-into-ssa.c @@ -136,16 +136,15 @@ static void compute_global_livein (bitmap livein, bitmap def_blocks) { basic_block bb, *worklist, *tos; + int i; tos = worklist = (basic_block *) xmalloc (sizeof (basic_block) * (last_basic_block + 1)); - /* Initialize the worklist. */ - FOR_EACH_BB (bb) + EXECUTE_IF_SET_IN_BITMAP (livein, 0, i, { - if (bitmap_bit_p (livein, bb->index)) - *tos++ = bb; - } + *tos++ = BASIC_BLOCK (i); + }); /* Iterate until the worklist is empty. */ while (tos != worklist) @@ -244,8 +243,7 @@ mark_def_sites (struct dom_walk_data *walk_data, { tree *use_p = VUSE_OP_PTR (vuses, i); - if (prepare_operand_for_rename (use_p, &uid) - && !TEST_BIT (kills, uid)) + if (prepare_operand_for_rename (use_p, &uid)) set_livein_block (*use_p, bb); } @@ -264,8 +262,7 @@ mark_def_sites (struct dom_walk_data *walk_data, { VDEF_RESULT (vdefs, i) = VDEF_OP (vdefs, i); - if (!TEST_BIT (kills, uid)) - set_livein_block (VDEF_OP (vdefs, i), bb); + set_livein_block (VDEF_OP (vdefs, i), bb); set_def_block (VDEF_RESULT (vdefs, i), bb); } } |