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.