This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Where is rd_gen computed in gcse.c


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]