r255506 - in /trunk/gcc: ChangeLog combine.c
segher@gcc.gnu.org
segher@gcc.gnu.org
Fri Dec 8 11:26:00 GMT 2017
Author: segher
Date: Fri Dec 8 11:26:35 2017
New Revision: 255506
URL: https://gcc.gnu.org/viewcvs?rev=255506&root=gcc&view=rev
Log:
combine: Fix PR83304
In PR83304 two insns are combined, where the I2 uses a register that
has a REG_DEAD note on an insn after I2 but before I3. In such a case
move_deaths should move that death note. But move_deaths only looks
at the reg_stat[regno].last_death insn, and that field can be zeroed
out (previously, use_crosses_set_p would prevent the combination in
this case).
If the last_death field is zero it means "unknown", not "no death", so
we have to find if there is a REG_DEAD note.
PR rtl-optimization/83304
* combine.c (move_deaths): If we do not know where a register died,
search for it.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
More information about the Gcc-cvs
mailing list