> At least, the only spot that used to mention df_link in compare-elim.c was: > struct df_link *ref_chain; > ref_chain = DF_REF_CHAIN (use); > if (!ref_chain || !ref_chain->ref > > || !DF_REF_INSN_INFO (ref_chain->ref) || ref_chain->next != NULL) > > return false; > > rtx_insn *def_insn = DF_REF_INSN (ref_chain->ref); > and > df_chain_add_problem (DF_UD_CHAIN + DF_DU_CHAIN); > that ensured it is computed, but the former is replaced with the patch by > rtx_insn *def_insn = cmp->in_a_setter; > which is computed during the bb walking using the last_setter array > and the latter is dropped.
Then why does the patch not remove the df_chain_add_problem call itself? -- Eric Botcazou