https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83393

--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Wed Dec 13 14:05:57 2017
New Revision: 255606

URL: https://gcc.gnu.org/viewcvs?rev=255606&root=gcc&view=rev
Log:
combine: Fix PR83393

In move_deaths we move a REG_DEAD note if the instruction combination
has extended the lifetime of a register so that the existing note is
no longer valid.  We find that note using reg_stat, but what that finds
can refer to a later insn.  If so, we cannot use the cached value.  This
patch implements that.


        PR rtl-optimization/83393
        * combine.c (move_deaths): If reg_stat points to a too new insn in
        last_death, do not use it: find the proper insn instead.

gcc/testsuite/
        PR rtl-optimization/83393
        * gcc.dg/pr83393.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/pr83393.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/combine.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to