[PATCH] ira: Don't substitute into TRAP_IF insns (PR78610)
Jeff Law
law@redhat.com
Wed Nov 30 12:55:00 GMT 2016
On 11/30/2016 05:46 AM, Segher Boessenkool wrote:
> 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.
>
> Bootstrapping + regression testing on powerpc64-linux {-m64,-m32}
> (the bug happened here with -m32); okay for trunk if this succeeds?
>
>
> Segher
>
>
> 2016-11-30 Segher Boessenkool <segher@kernel.crashing.org>
>
> 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.
Funny how you speculated there could be these issues hiding in the
weeds, then just a few days later, one crawls out.
OK. I do wonder if we're going to need a better mechanism for this in
the long term, but OK for now.
jeff
More information about the Gcc-patches
mailing list