This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 03/30/2016 05:23 PM, Christophe Lyon wrote:
On 29 March 2016 at 18:28, Vladimir Makarov <vmakarov@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. 234527Hi, 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.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |