diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2016-02-02 17:03:05 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2016-02-02 17:03:05 +0000 |
commit | c64f7d37140e0769cbb8725da800119d7c6a6fd2 (patch) | |
tree | 3d5dbb501c4b6d12b44117ef9562b9e9467698eb /libgo | |
parent | bd78a45fa098849c0596545f072392838e597259 (diff) | |
download | gcc-c64f7d37140e0769cbb8725da800119d7c6a6fd2.zip gcc-c64f7d37140e0769cbb8725da800119d7c6a6fd2.tar.gz gcc-c64f7d37140e0769cbb8725da800119d7c6a6fd2.tar.bz2 |
This patch adds support for the TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook.
When the cost of GENERAL_REGS and FP_REGS is identical, the register allocator
always uses ALL_REGS even when it has a much higher cost. The hook changes the
class to either FP_REGS or GENERAL_REGS depending on the mode of the register.
This results in better register allocation overall, fewer spills and reduced
codesize - particularly in SPEC2006 gamess.
2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c
(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
(aarch64_ira_change_pseudo_allocno_class): New function.
gcc/testsuite/
* gcc.target/aarch64/scalar_shift_1.c
(test_corners_sisd_di): Improve force to SIMD register.
(test_corners_sisd_si): Likewise.
* gcc.target/aarch64/vect-ld1r-compile-fp.c:
Remove scan-assembler check for ldr.
From-SVN: r233083
Diffstat (limited to 'libgo')
0 files changed, 0 insertions, 0 deletions