On 03/30/2016 05:23 PM, Christophe Lyon wrote:
On 29 March 2016 at 18:28, Vladimir Makarov <vmaka...@redhat.com> wrote:
   The following patch improves the code in 2 out of 3 cases in

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68695

   The patch uses more accurate costs for the RA cost improvement
optimization after colouring.

   The patch was tested and bootstrapped on x86-64.  It is hard to create a
test to check the correct code generation.  Therefore there is no test.  As
the patch changes heuristics, a generated code in some cases will be
different but at least x86-64 tests expecting a specific code are not broken
by the patch.

   Committed as rev.  234527

Hi,

I've noticed that after this patch, 2 tests regress (PASS -> FAIL) on arm:
   gcc.dg/ira-shrinkwrap-prep-2.c scan-rtl-dump pro_and_epilogue
"Performing shrink-wrapping"
   gcc.dg/pr10474.c scan-rtl-dump pro_and_epilogue "Performing shrink-wrapping"


I've checked the generated code. RA with the patch generates a better code for the both tests. So shrink wrap optimization failed. The final code has 1 insn less for the both tests when the patch is applied.

I guess it is wrong to write quality tests based on expected code generated before any optimization. It has sense if we provide the same input. LLVM testsuite is mostly such tests as they have a readable IR. GCC unfortunately has no serialized and readable IR. On the other hand LLVM lacks integrated testing.

So I'd mark these tests as XFAIL or removed arm from DEJAGNU target in the tests.


Reply via email to