Hi,
In function find_def_preds from tree-ssa-uninit.c there is following code:

      prev_nc = num_chains;
      compute_control_dep_chain (cd_root, opnd_edge->src,
                                 dep_chains, &num_chains,
                                 &cur_chain);
      /* Free individual chain  */
      VEC_free (edge, heap, cur_chain);
      cur_chain = 0;

      /* Now update the newly added chains with
         the phi operand edge:  */
      if (EDGE_COUNT (opnd_edge->src->succs) > 1)
        {
          if (prev_nc == num_chains
              && num_chains < MAX_NUM_CHAINS)
            num_chains++;
          for (j = prev_nc; j < num_chains; j++)
            {
              VEC_safe_push (edge, heap, dep_chains[j], opnd_edge);
            }
        }

If condition "prev_nc == num_chains", it means we have no control
dependent chain computed by compute_control_dep_chain this round. The
question is why we still apeend opnd_edge to the PREV_NCth chain? Is
it wrong or I missed something important.

Thanks
--
Best Regards.

Reply via email to