Re: RFA: Update XFAIL comments in
On Fri, Jan 20, 2017 at 06:45:54PM +0100, Andreas Schwab wrote: > > /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" > > "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */ > > Shouldn't that rather be target { ! { arm*-*-* powerpc*-*-* } }? The way it is written we'll be informed if it starts being shrink-wrapped. Segher
Re: RFA: Update XFAIL comments in
Hi, On Fri, Jan 20, 2017 at 05:05:56PM +, Nick Clifton wrote: > I would like to close out PR 70681 by applying the patch below. It > updates the XFAIL comments in the two affected tests, explaining why > the check for shrink-wrapping will fail. There is nothing actually > wrong here. The shrink wrapping optimization is working and the > targets are not broken, it is just that, for these particular test > cases, for these specific architectures (ARM, PPC), the unshrink- > wrapped code is actually smaller than the shrink wrapped version. For PowerPC to make it shrink-wrappable prepare_shrink_wrap would need to split the "mr." instruction and sink the "mr" part. This is one insn bigger but it is faster on the early-return path (which is predicted as happening 50% of the time), and marginally slower (if it all) on the "normal" path. > gcc/testsuite/ChangeLog > 2017-01-20 Nick Clifton > > * gcc.dg/pr10474.c: Update XFAIL comment to explain why the > check for shrink-wrapping can be expected to fail. > * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise. That is not the file you edited :-) > -/* XFAIL due to PR70681. */ > +/* The XFAILs are because these targets produce better code without > + shrinkwrapping, and hence the optimization is not triggered. See > + PR70681 for more details. */ For PowerPC it isn't better code. /* The XFAILs are because these targets have combined the register save into another insn, and currently we cannot undo that (if that would be a good idea at all). This is PR70681. */ or similar? Segher
Re: RFA: Update XFAIL comments in
On Jan 20 2017, Nick Clifton wrote: > Index: gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c > === > --- gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c (revision 244691) > +++ gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c (working copy) > @@ -31,5 +31,7 @@ > > /* { dg-final { scan-rtl-dump "Will split live ranges of parameters" "ira" > } } */ > /* { dg-final { scan-rtl-dump "Split live-range of register" "ira" } } */ > -/* XFAIL due to PR70681. */ > +/* The XFAILs are because these targets produce better code without > + shrinkwrapping, and hence the optimization is not triggered. See > + PR70681 for more details. */ > /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" > "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */ Shouldn't that rather be target { ! { arm*-*-* powerpc*-*-* } }? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
RFA: Update XFAIL comments in
Hi Guys, I would like to close out PR 70681 by applying the patch below. It updates the XFAIL comments in the two affected tests, explaining why the check for shrink-wrapping will fail. There is nothing actually wrong here. The shrink wrapping optimization is working and the targets are not broken, it is just that, for these particular test cases, for these specific architectures (ARM, PPC), the unshrink- wrapped code is actually smaller than the shrink wrapped version. So - is it OK to apply the patch ? Cheers Nick gcc/testsuite/ChangeLog 2017-01-20 Nick Clifton * gcc.dg/pr10474.c: Update XFAIL comment to explain why the check for shrink-wrapping can be expected to fail. * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise. Index: gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c === --- gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c (revision 244691) +++ gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c (working copy) @@ -31,5 +31,7 @@ /* { dg-final { scan-rtl-dump "Will split live ranges of parameters" "ira" } } */ /* { dg-final { scan-rtl-dump "Split live-range of register" "ira" } } */ -/* XFAIL due to PR70681. */ +/* The XFAILs are because these targets produce better code without + shrinkwrapping, and hence the optimization is not triggered. See + PR70681 for more details. */ /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */ Index: gcc/testsuite/gcc.dg/pr10474.c === --- gcc/testsuite/gcc.dg/pr10474.c (revision 244691) +++ gcc/testsuite/gcc.dg/pr10474.c (working copy) @@ -12,5 +12,7 @@ } } -/* XFAIL due to PR70681. */ +/* The XFAILs are because these targets produce better code without + shrinkwrapping, and hence the optimization is not triggered. See + PR70681 for more details. */ /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */