This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Where is rd_gen computed in gcse.c
- From: Steven Bosscher <stevenb at suse dot de>
- To: law at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 9 May 2004 13:54:16 +0200
- Subject: Where is rd_gen computed in gcse.c
- Organization: SUSE Labs
Hello,
You'd think that for computing reaching definitions in gcse.c,
you first need the GEN sets for each block. But:
$ grep rd_gen gcse.c
Normally they'd be defined a bit later, but `rd_gen' needs to
static sbitmap *rd_kill, *rd_gen, *reaching_defs, *rd_out;
rd_gen = sbitmap_vector_alloc (n_blocks, n_insns);
sbitmap_vector_zero (rd_gen, n_blocks);
sbitmap_vector_free (rd_gen);
if (TEST_BIT (rd_gen[bb->index], cuid))
sbitmap_copy (rd_out[bb->index] /*dst*/, rd_gen[bb->index] /*src*/);
changed |= sbitmap_union_of_diff_cg (rd_out[bb->index], rd_gen[bb->index],
So rd_gen is declared, allocated, freed, and used. But where is
it computed!?
Gr.
Steven