This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r243028 - in /trunk/gcc: ChangeLog ira.c testsu...
- From: segher at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 30 Nov 2016 14:47:01 -0000
- Subject: r243028 - in /trunk/gcc: ChangeLog ira.c testsu...
Author: segher
Date: Wed Nov 30 14:47:01 2016
New Revision: 243028
URL: https://gcc.gnu.org/viewcvs?rev=243028&root=gcc&view=rev
Log:
ira: Don't substitute into TRAP_IF insns (PR78610)
In the testcase, IRA propagates a constant into a TRAP_IF insn, which
then becomes an unconditional trap. Unconditional traps are control
flow insns so doing this requires surgery on the cfg. We cannot do
that here, so instead refuse to do the substitution.
PR rtl-optimization/78610
* ira.c (combine_and_move_insns): Don't substitute into TRAP_IF
instructions.
gcc/testsuite/
PR rtl-optimization/78610
* gcc.c-torture/compile/pr78610.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr78610.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c
trunk/gcc/testsuite/ChangeLog