[PATCH] Improve spillcost of literal pool loads

H.J. Lu hjl.tools@gmail.com
Tue Dec 2 13:55:00 GMT 2014


On Tue, Dec 2, 2014 at 5:51 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Dec 2, 2014 at 3:34 AM, Wilco Dijkstra <wdijkstr@arm.com> wrote:
>>> Jeff Law wrote:
>>> OK with the appropropriate ChangeLog entires.  THe original for
>>> ira-costs.c was fine, so you just need the trivial one for the testcase.
>>
>> ChangeLog below - Jiong, could you commit for me please?
>>
>> 2014-12-02  Wilco Dijkstra  <wdijkstr@arm.com>
>>
>>         * gcc/ira-costs.c (scan_one_insn): Improve spill cost adjustment.
>>         * gcc/testsuite/gcc.target/aarch64/remat1.c: New testcase.
>
> How did you test on Linux/ia32?  It introduced many regressions:
>
> FAIL: gcc.dg/hoist-register-pressure-3.c scan-rtl-dump hoist
> "PRE/HOIST: end of bb .* copying expression"
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O1 -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O1 -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O2 -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O2 -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -fomit-frame-pointer
> -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions -mforce-drap -fpic execution
> test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -fomit-frame-pointer
> -funroll-loops -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -fomit-frame-pointer
> -funroll-loops -mforce-drap -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -fomit-frame-pointer
> -mforce-drap -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -g -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -O3 -g -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -Os -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-1.c   -Os -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O1 -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O1 -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O2 -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O2 -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -fomit-frame-pointer
> -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions -mforce-drap -fpic execution
> test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -fomit-frame-pointer
> -funroll-loops -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -fomit-frame-pointer
> -funroll-loops -mforce-drap -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -fomit-frame-pointer
> -mforce-drap -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -g -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -O3 -g -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -Os -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-3.c   -Os -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O1 -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O1 -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O2 -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O2 -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -fomit-frame-pointer
> -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -fomit-frame-pointer
> -funroll-all-loops -finline-functions -mforce-drap -fpic execution
> test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -fomit-frame-pointer
> -funroll-loops -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -fomit-frame-pointer
> -funroll-loops -mforce-drap -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -fomit-frame-pointer
> -mforce-drap -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -g -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -O3 -g -mforce-drap -fpic
> execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -Os -fpic execution test
> FAIL: gcc.dg/torture/stackalign/setjmp-4.c   -Os -mforce-drap -fpic
> execution test
> FAIL: gcc.target/i386/ifcvt-onecmpl-abs-1.c scan-assembler cltd
> FAIL: gcc.target/i386/pr63527.c scan-assembler-not movl[ \t]%[^,]+, %ebx
> FAIL: g++.dg/asan/asan_test.C   -O2
> AddressSanitizer_BuiltinLongJmpTest execution test
>

I opened:

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

-- 
H.J.



More information about the Gcc-patches mailing list