On 11/01/2018 08:25 PM, Paul Koning wrote:
I'm running the testsuite on the pdp11 target, and I get a failure when using 
LRA that works correctly with the old allocator.  The issue is that LRA is 
producing an insn that is invalid (it violates the constraints stated in the 
insn definition).

The insn in the IRA dump looks like this:

(insn 240 238 241 13 (set (reg/f:HI 155)
         (plus:HI (reg/f:HI 5 r5)
             (const_int -58 [0xffffffffffffffc6]))) 
"/Users/pkoning/Documents/svn/combined/gcc/testsuite/gcc.c-torture/execute/builtins/strcat-chk.c":68:7
 68 {addhi3}
      (expr_list:REG_EQUIV (plus:HI (reg/f:HI 5 r5)
             (const_int -58 [0xffffffffffffffc6]))
         (nil)))

(note that R5 is FRAME_POINTER_REGNUM.)



Is this an LRA bug, or is there something I need to do in the target to prevent 
this happening?
It is hard to say whose code is responsible for this.  It might be a wrong machine-dependent code or a LRA bug.

Paul, could you send me full LRA dump file (.reload).  It might help me to say more specific reason for the bug.  LRA has iterated sub-passes and the full dump can say where LRA started to behave wrongly.

Reply via email to