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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-09-12 
07:38:39 UTC ---
Inefficient way to handle at least the single setter case would be at the start
of the bb with non-empty debug uses bitmap (i.e. what is about to be reset)
walk the immediate dominators up, looking for where DF_REG_DEF_COUNT (regno) ==
1
pseudos (and perhaps with additional check that the single DF_REG_DEF_CHAIN
(regno) insn's bb dominates the current bb) start to be live (and stop the walk
at the setter bb).  If it isn't live in lr at the end of some dominator bb but
is live in lr at the start, then perhaps walk DF_REG_REF_CHAIN looking for refs
inside of that bb, or walk the bb backwards looking for last non-debug use,
insert before that), if it isn't live in lr at the start of a bb but is live in
lr at the end of its immediate dominator, then insert debug temp before the end
of that bb, and if it isn't live at the end of the setter bb, look also for the
last non-debug use before the set.

Reply via email to