Where is rd_gen computed in gcse.c

Steven Bosscher stevenb@suse.de
Sun May 9 14:09:00 GMT 2004


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




More information about the Gcc mailing list