Hello! > The following patch fixes > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82353 > > LRA did not update hard reg liveness on bb borders for hard regs which are > part of insn patterns > like CFLAGS reg. It was ok for inheritance in EBB which creates only moves > and they usually > have no embedded hard regs in the patterns. But LRA rematerialization needs > this. So this patch > implements such hard reg liveness updates. > > The patch was successfully bootstrapped and tested on x86-64. > > Committed as rev. 253656.
It looks that this patch caused libgo build bootstrap failure on x86_64-linux-gnu: ../../../git/gcc/libgo/go/cmd/go/internal/load/pkg.go:377:1: error: this is the insn: (insn 1134 2835 2611 195 (parallel [ (set (reg:DI 492) (const_int 0 [0])) (set (reg/f:DI 1008 [orig:490 <retval> ] [490]) (plus:DI (ashift:DI (reg:DI 492) (const_int 3 [0x3])) (reg/f:DI 1008 [orig:490 <retval> ] [490]))) (set (reg/f:DI 1009 [880]) (plus:DI (ashift:DI (reg:DI 492) (const_int 3 [0x3])) (reg/f:DI 1009 [880]))) (set (mem:BLK (reg/f:DI 1008 [orig:490 <retval> ] [490]) [22 *_372+0 S1048 A64]) (mem/c:BLK (reg/f:DI 1009 [880]) [22 GOTMP.492+0 S1048 A128])) (use (reg:DI 492)) ]) "../../../git/gcc/libgo/go/cmd/go/internal/load/pkg.go":679 930 {*rep_movdi_rex64} (expr_list:REG_UNUSED (reg/f:DI 1009 [880]) (expr_list:REG_UNUSED (reg/f:DI 1008 [orig:490 <retval> ] [490]) (expr_list:REG_UNUSED (reg:DI 492) (expr_list:REG_EH_REGION (const_int 1 [0x1]) (nil)))))) during RTL pass: reload ../../../git/gcc/libgo/go/cmd/go/internal/load/pkg.go:377:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1468 0x6b2709 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../git/gcc/gcc/rtl-error.c:108 0xbe87fa assign_by_spills ../../git/gcc/gcc/lra-assigns.c:1468 0xbe94a6 lra_assign() ../../git/gcc/gcc/lra-assigns.c:1662 0xbe48d4 lra(_IO_FILE*) ../../git/gcc/gcc/lra.c:2450 0xb9ec51 do_reload ../../git/gcc/gcc/ira.c:5440 0xb9ec51 execute ../../git/gcc/gcc/ira.c:5624 Please submit a full bug report, Uros.