diff options
author | Sylvia Taylor <sylvia.taylor@arm.com> | 2019-07-03 10:57:28 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2019-07-03 10:57:28 +0000 |
commit | 0e510d1824241953c67b38f7a894de7238c23c61 (patch) | |
tree | ff23f7ae7ef98f75b63b9afedbba8fbfe3a38ff0 /libgcc/libgcov-util.c | |
parent | e676d70449ae990db8ac8d242d54342440f9204a (diff) | |
download | gcc-0e510d1824241953c67b38f7a894de7238c23c61.zip gcc-0e510d1824241953c67b38f7a894de7238c23c61.tar.gz gcc-0e510d1824241953c67b38f7a894de7238c23c61.tar.bz2 |
[aarch64]: force frame pointer setup before tlsdesc call
The operation that sets up the tlsdesc register is really a function
call; as such, the frame pointer should really be correctly set up
before this happens. However, because it does not appear as a
call_insn in the RTL the normal dependencies are not added
automatically. We fix this by adding a USE of FP_REGNUM to prevent
migration of the frame-pointer setup past the call by the scheduler.
If a frame pointer is not being used, this is harmless since it only
represents a scheduling constraint.
2019-07-03 Sylvia Taylor <sylvia.taylor@arm.com>
* config/aarch64/aarch64.md (FP_REGNUM): New constant.
(tlsdesc_small_advsimd_<mode>): Add use of FP_REGNUM.
(tlsdesc_small_sve_<mode>): Likewise.
From-SVN: r273000
Diffstat (limited to 'libgcc/libgcov-util.c')
0 files changed, 0 insertions, 0 deletions