PR debug/77844
commitc94328179741e7bdcaf59e888db809681859c6c6
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Dec 2016 19:40:05 +0000 (14 19:40 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Dec 2016 19:40:05 +0000 (14 19:40 +0000)
tree3a8f07bc391a8e8a2435cdfbce0090522f1158cb
parent5cfa3fc8708d09579d8df1b899c73154d5e3dfa5
PR debug/77844
* valtrack.c: Include rtl-iter.h.
(struct rtx_subst_pair): Add insn field.
(propagate_for_debug_subst): If pair->to contains at least 2
regs, create a DEBUG_INSN with a debug temp before pair->insn
and replace from with the debug temp instead of pair->to.
(propagate_for_debug): Initialize p.insn.
* combine.c (insn_uid_check): New inline function.
(INSN_COST, LOG_LINKS): Use it instead of INSN_UID.
(find_single_use, combine_instructions,
cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of
INSN_P.

* g++.dg/opt/pr77844.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243662 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr77844.C [new file with mode: 0644]
gcc/valtrack.c