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.