Re: Move reg_equiv* arrays into a single VEC structure
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/30/11 10:51, Richard Sandiford wrote: > Nice cleanup thanks. Just noticed a couple of things: > > Jeff Law writes: >> *** struct reload >> *** 100,106 >> int inc; >> /* A reg for which reload_in is the equivalent. >>If reload_in is a symbol_ref which came from >> ! reg_equiv_constant, then this is the pseudo >>which has that symbol_ref as equivalent. */ >> rtx in_reg; >> rtx out_reg; >> --- 100,106 >> int inc; >> /* A reg for which reload_in is the equivalent. >>If reload_in is a symbol_ref which came from >> ! reg_equiv_consant, then this is the pseudo >>which has that symbol_ref as equivalent. */ >> rtx in_reg; >> rtx out_reg; > > Adds typo. > >> *** elimination_effects (rtx x, enum machine >> *** 3002,3011 >>} >> >> } >> ! else if (reg_renumber[regno] < 0 && reg_equiv_constant >> ! && reg_equiv_constant[regno] >> ! && ! function_invariant_p (reg_equiv_constant[regno])) >> !elimination_effects (reg_equiv_constant[regno], mem_mode); >> return; >> >> case PRE_INC: >> --- 2996,3006 >>} >> >> } >> ! else if (reg_renumber[regno] < 0 >> ! && reg_equiv_constant (0) >> ! && reg_equiv_constant (regno) >> ! && ! function_invariant_p (reg_equiv_constant (regno))) >> !elimination_effects (reg_equiv_constant (regno), mem_mode); >> return; >> >> case PRE_INC: > > Looks like this should be s/reg_equiv_constant (0)/reg_equivs != 0/. Bootstrapped & regression tested on x86_64-unknown-linux-gnu. Installed as obvious. jeff -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNlKPmAAoJEBRtltQi2kC7f1kH/1t6YammyGZdUelSmGgoxLOI dbmzBULytfTvtR3s6reYtqpLxf5h6zGVEQtSNGxdH+59/X79pFYz/zfJcWRgWYBu zuua5tAqZdMzGB8xZOOh81U924Pw16nzC3KwX1Bbj7LJFzr95zu7FOvzahR6ikEi gmsu7liwOu+eEIgYEo9YV1j05XXDwBGsxvJFCuUzH2R6kE9tGafck/E+H5l9+oUw Rlbza01ukFGJHSimOPdO4TDCYmhR8u/FwMtJWO05wKfhBC6xw2ronI7bo2cKgMUM GVMNGncfIisKYVa8rzso7aKBnzcPnmG8E4tJ2wvXe+OsvDe5Nj9XWQrRV8mtOHo= =j7SI -END PGP SIGNATURE- * reload1.c (elimination_effects): Fix typo in recent change. Index: reload1.c === *** reload1.c (revision 171787) --- reload1.c (working copy) *** elimination_effects (rtx x, enum machine *** 2997,3003 } else if (reg_renumber[regno] < 0 ! && reg_equiv_constant (0) && reg_equiv_constant (regno) && ! function_invariant_p (reg_equiv_constant (regno))) elimination_effects (reg_equiv_constant (regno), mem_mode); --- 2997,3003 } else if (reg_renumber[regno] < 0 ! && reg_equivs != 0 && reg_equiv_constant (regno) && ! function_invariant_p (reg_equiv_constant (regno))) elimination_effects (reg_equiv_constant (regno), mem_mode);
Re: Move reg_equiv* arrays into a single VEC structure
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/30/11 10:51, Richard Sandiford wrote: > Nice cleanup thanks. Just noticed a couple of things: > > Jeff Law writes: >> *** struct reload >> *** 100,106 >> int inc; >> /* A reg for which reload_in is the equivalent. >>If reload_in is a symbol_ref which came from >> ! reg_equiv_constant, then this is the pseudo >>which has that symbol_ref as equivalent. */ >> rtx in_reg; >> rtx out_reg; >> --- 100,106 >> int inc; >> /* A reg for which reload_in is the equivalent. >>If reload_in is a symbol_ref which came from >> ! reg_equiv_consant, then this is the pseudo >>which has that symbol_ref as equivalent. */ >> rtx in_reg; >> rtx out_reg; > > Adds typo. Yea. I had changed the comment when I was using VEC_blah directly, then introduced the typo when I went to using accessor macros and wanted to change the comment back to its original form :( I just checked in a fix for the typo. > >> *** elimination_effects (rtx x, enum machine >> *** 3002,3011 >>} >> >> } >> ! else if (reg_renumber[regno] < 0 && reg_equiv_constant >> ! && reg_equiv_constant[regno] >> ! && ! function_invariant_p (reg_equiv_constant[regno])) >> !elimination_effects (reg_equiv_constant[regno], mem_mode); >> return; >> >> case PRE_INC: >> --- 2996,3006 >>} >> >> } >> ! else if (reg_renumber[regno] < 0 >> ! && reg_equiv_constant (0) >> ! && reg_equiv_constant (regno) >> ! && ! function_invariant_p (reg_equiv_constant (regno))) >> !elimination_effects (reg_equiv_constant (regno), mem_mode); >> return; >> >> case PRE_INC: > > Looks like this should be s/reg_equiv_constant (0)/reg_equivs != 0/. I thought I'd fixed these. I certainly remember looking at them and thinking that can't be right at some point. I'll look at it again more closely tomorrow and take appropriate corrective action. Thanks for the feedback, Jeff -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNk8ZSAAoJEBRtltQi2kC7+qYH/R0i1/YC3efnLuQjZ0uieuCU 0b/sMDvP+0xngPbKKn9YviBuNhUv2/poPG1OOOQtolHeZ5c8rftecZKMRgjtmX9W jYxhuY2OLBBTLLPo4eFDdBbEP/m90RGEBtumeIx1isPTOjQ3LVuBF+9GB+wbnr/W OLox1MSfPT7GV3pbBeSMiHiKkw5VOeFKd4vBIbefWAPgjO0G8LFexBYWkw04j1F5 tXbuLn/cnSb4PLoRgrCxDv4XS8Wzx1YJcFtcnjn+a2t1HPUARkSYCSn8o94Yytub k263YKwgRsqwxnrXmGght4+K2kuVjitANa6iX24DWTa+eJBruQ9ObA/f3Xs1P5E= =SgX4 -END PGP SIGNATURE-
Re: Move reg_equiv* arrays into a single VEC structure
On Wed, Mar 30, 2011 at 7:23 AM, Jeff Law wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > As originally discussed here: > > http://gcc.gnu.org/ml/gcc-patches/2010-05/msg00987.html > > Changes since the original submission: > > Per Richi's suggestion I changed the patch to use a GC'd VEC. I defined > accessor macros so that a ton of reformatting isn't needed and finally I > made the appropriate tweaks to the few backends that peeked at the > reg_equiv arrays. > > Given the changes and the length of time since the original submission, > I think it's probably best to get a fresh approval rather than rely on > the prior approval. > > Bootstrapped and regression tested on x86_64-unknown-linux-gnu. > It breaks GCC bootstrap on Linux/x86: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48371 -- H.J.
Re: Move reg_equiv* arrays into a single VEC structure
Nice cleanup thanks. Just noticed a couple of things: Jeff Law writes: > *** struct reload > *** 100,106 > int inc; > /* A reg for which reload_in is the equivalent. >If reload_in is a symbol_ref which came from > ! reg_equiv_constant, then this is the pseudo >which has that symbol_ref as equivalent. */ > rtx in_reg; > rtx out_reg; > --- 100,106 > int inc; > /* A reg for which reload_in is the equivalent. >If reload_in is a symbol_ref which came from > ! reg_equiv_consant, then this is the pseudo >which has that symbol_ref as equivalent. */ > rtx in_reg; > rtx out_reg; Adds typo. > *** elimination_effects (rtx x, enum machine > *** 3002,3011 > } > > } > ! else if (reg_renumber[regno] < 0 && reg_equiv_constant > !&& reg_equiv_constant[regno] > !&& ! function_invariant_p (reg_equiv_constant[regno])) > ! elimination_effects (reg_equiv_constant[regno], mem_mode); > return; > > case PRE_INC: > --- 2996,3006 > } > > } > ! else if (reg_renumber[regno] < 0 > !&& reg_equiv_constant (0) > !&& reg_equiv_constant (regno) > !&& ! function_invariant_p (reg_equiv_constant (regno))) > ! elimination_effects (reg_equiv_constant (regno), mem_mode); > return; > > case PRE_INC: Looks like this should be s/reg_equiv_constant (0)/reg_equivs != 0/. Richard
Re: Move reg_equiv* arrays into a single VEC structure
On Wed, Mar 30, 2011 at 4:23 PM, Jeff Law wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > As originally discussed here: > > http://gcc.gnu.org/ml/gcc-patches/2010-05/msg00987.html > > Changes since the original submission: > > Per Richi's suggestion I changed the patch to use a GC'd VEC. I defined > accessor macros so that a ton of reformatting isn't needed and finally I > made the appropriate tweaks to the few backends that peeked at the > reg_equiv arrays. > > Given the changes and the length of time since the original submission, > I think it's probably best to get a fresh approval rather than rely on > the prior approval. Looks good to me. Thanks, Richard. > Bootstrapped and regression tested on x86_64-unknown-linux-gnu. > > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.11 (GNU/Linux) > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ > > iQEcBAEBAgAGBQJNkzznAAoJEBRtltQi2kC7VgYH/0yTkwWkDRyalReMk3whdIXO > 8qw5H6c9Gz+Yj+EnnPySKsFIvJKMBTQHIpdCzjTCVWD/Z7LSJwERzzlNCPrQu2au > dpOoUYCTAwgSW0Us9B+2Bcf2DABinYLV+hgKAKFEVi98CheZe3hZZ14lm5mlYDec > INYKyfqYHmyahT8fa6ABY2kp0X2xhQhJ0VAGPI34kytJpgLpIdtRwq6PsdsPM0PJ > frLAY5xIEmJqBB30RaPqnD07u06xZHi+S9gfAJa4LJTUqVALNusYdZzZajKMtF3i > BCXK4UFk+J2MlM9xZkVWqQiryLc6arVT2bMQcvz7tXTMZkY6ZdZ7sKFBgKea6vM= > =iMqQ > -END PGP SIGNATURE- >