Message ID | CAFULd4YPtM8VWCgGh8vEo3oTqg3-9x6Ges78hbVopXpWJ+RPFQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 2015-02-18 12:25 PM, Uros Bizjak wrote: > Hello! > > Richard's patch at [1] is needed to fix a bootstrap failure on > alpha-linux-gnu on 4.8 branch. Without the patch, IRA creates > different sequences, depending on the presence of -g option. > > One of the many comparison failures is in expr.c, where > -fdebug-compare fails with: > > ... > 2015-02-18 Uros Bizjak <ubizjak@gmail.com> > > Backport from mainline > 2013-09-08 Richard Sandiford <rdsandiford@googlemail.com> > > * ira.c (update_equiv_regs): Only call set_paradoxical_subreg > for non-debug insns. > * lra.c (new_insn_reg): Take the containing insn as a parameter. > Only modify lra_reg_info[].biggest_mode if it's non-debug insn. > (collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update > accordingly. > > testsuite/ChangeLog: > > 2015-02-18 Uros Bizjak <ubizjak@gmail.com> > > Backport from mainline > 2013-09-08 Richard Sandiford <rdsandiford@googlemail.com> > > * g++.dg/debug/ra1.C: New test. > > Patch was bootstrapped and regression tested on 86_64-linux-gnu > {,-m32} and alpha-linux-gnu, where it fixes all bootstrap comparison > failures. > > The results are at [3], gfortran failures will be fixed by alias.c > backport, after the bootstrap problem is cured. > > OK for branch? > > Yes, Uros. Thanks of working on this.
--- expr.gkd 2015-02-17 17:53:06.785223764 +0100 +++ expr.gk.gkd 2015-02-17 17:53:11.504169052 +0100 @@ -152249,17 +152249,15 @@ (insn:TI# 0 0 (set (reg:DI 2 $2) (sign_extend:DI (mem:SI (reg/v/f:DI 9 $9 [orig:261 exp ] [261]) [ S4 A64]))) ../../gcc-svn/branches/gcc-4_8-branch/gcc/expr.c:6342# {*extendsidi2_1} (nil)) +(insn:TI# 0 0 (set (reg:DI 4 $4) + (sign_extend:DI (mem/c:SI (plus:DI (reg/f:DI 30 $30) + (const_int 144 [0x90])) [ S4 A64]))) ../../gcc-svn/branches/gcc-4_8-branch/gcc/expr.c:6341# {*extendsidi2_1} + (nil)) (insn:TI# 0 0 (set (mem/c:DI (plus:DI (reg/f:DI 30 $30) (const_int 80 [0x50])) [ %sfp+0 S8 A64]) (reg:DI 19 $19 [ bitregion_start ])) ../../gcc-svn/branches/gcc-4_8-branch/gcc/expr.c:6341# {*movdi} (expr_list:REG_DEAD (reg:DI 19 $19 [ bitregion_start ]) (nil))) -(insn:TI# 0 0 (set (reg:DI 19 $19) - (sign_extend:DI (mem/c:SI (plus:DI (reg/f:DI 30 $30) - (const_int 144 [0x90])) [ S4 A64])))