aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2016-05-13 09:23:28 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2016-05-13 09:23:28 +0000
commit43203dea1afa87140a0f045f2c2182943247065f (patch)
treeec00ce3d8d49a2c80e8e91fcf56ef29defe59ba8 /gcc/cse.c
parent44cb09ea6b2164e8392e3001b0ba5b93093bfa07 (diff)
downloadgcc-43203dea1afa87140a0f045f2c2182943247065f.zip
gcc-43203dea1afa87140a0f045f2c2182943247065f.tar.gz
gcc-43203dea1afa87140a0f045f2c2182943247065f.tar.bz2
Set TARGET_OMIT_STRUCT_RETURN_REG to true
The reason this caught my eye on aarch64 is because the return value register (x0) is not identical to the register in which the hidden parameter for AArch64 is set (x8). Thus setting this to true seems to be quite reasonable and shaves off 100 odd mov x0, x8's from cc1 in a bootstrap build. I don't expect this to make a huge impact on performance but as they say every little counts. The AAPCS64 is quite explicit about not requiring that the contents of x8 be kept live. Bootstrapped and regression tested on aarch64. Ok to apply ? Ramana gcc/ * config/aarch64/aarch64.c (TARGET_OMIT_STRUCT_RETURN_REG): Set to true. gcc/testsuite * gcc.target/aarch64/struct_return.c: New test. From-SVN: r236197
Diffstat (limited to 'gcc/cse.c')
0 files changed, 0 insertions, 0 deletions