This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 2016-03-17, at 7:38 PM, John David Anglin wrote: > The attach patch fixes a problem causing block/blk-merge.c in the linux kernel to be miscompiled. As a result, > block segments were not properly split and boot failed since linux 4.3. > > The problem was found by a regression search. The patch reverts a change in the handling of the Q and T > constraints. > > Tested on hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11and hppa64-hp-hpux11.11. Committed to > trunk, 4.9 and 5 branches. Unfortunately, this change caused a regression in the handling of the Q constraint used in the dbra and movb patterns in pa.md. Spills with large offsets are now rejected causing the following error: (jump_insn 61 59 62 4 (parallel [ (set (pc) (if_then_else (eq (reg:SI 28 %r28) (const_int 0 [0])) (label_ref:SI 60) (pc))) (set (reg/v/f:SI 100 [ fp ]) (reg:SI 28 %r28)) ]) Renviron.c:180 225 {*pa.md:9010} (expr_list:REG_DEAD (reg:SI 28 %r28) (int_list:REG_BR_PROB 2164 (nil))) -> 60) Renviron.c:207:1: internal compiler error: in find_reloads, at reload.c:3862 0x555be3 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:110 0x5347ef find_reloads(rtx_insn*, int, int, int, short*) ../../src/gcc/reload.c:3862 0x54ad43 calculate_needs_all_insns ../../src/gcc/reload1.c:1540 0x54ad43 reload(rtx_insn*, int) ../../src/gcc/reload1.c:1028 0x425c0f do_reload ../../src/gcc/ira.c:5454 0x425c0f execute ../../src/gcc/ira.c:5613 The attached change fixes this ICE. Tested on hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11. Committed to trunk, 4.9 and 5 branches. Dave -- John David Anglin dave.anglin@bell.net
Attachment:
predicates.md.d.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |