------- Comment #4 from jakub at gcc dot gnu dot org  2010-02-23 17:36 -------
Regarding 2), the regcprop pass doesn't call df_analyze at all, so it can't
rely on REG_DEAD notes nor use df_* APIs to check for life info.  I'm not 100%
sure why we are propagating into debug insns at all, guess to have them correct
if all other occurrences in real insns are changed too by this pass.
Unfortunately, when processing a DEBUG_INSN, we don't know yet whether a later
real insn will extend the lifetime of that register or not.
Perhaps for DEBUG_INSNs instead of doing the changes immediately we could just
chain the { insn, from, to } triplet for DEBUG_INSN into the value_data_entry
structure, and when we change a reg in some real insn to the same new reg, walk
this queue and change the DEBUG_INSNs too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43150

Reply via email to