diff options
author | Alex Coplan <alex.coplan@arm.com> | 2021-04-21 14:42:04 +0100 |
---|---|---|
committer | Alex Coplan <alex.coplan@arm.com> | 2021-04-21 14:42:04 +0100 |
commit | fe11882ae34c49f6214f93867783ed1332f35f0f (patch) | |
tree | 390ceccf7db5838289ee1563448e33fc022f5a09 /gcc/main.c | |
parent | ca4bf1dd4398dc65d8fff8b9f5c67733729cee95 (diff) | |
download | gcc-fe11882ae34c49f6214f93867783ed1332f35f0f.zip gcc-fe11882ae34c49f6214f93867783ed1332f35f0f.tar.gz gcc-fe11882ae34c49f6214f93867783ed1332f35f0f.tar.bz2 |
aarch64: Avoid duplicating bti j insns for jump tables [PR99988]
This patch fixes PR99988 which shows us generating large (> 250)
sequences of back-to-back bti j instructions.
The fix is simply to avoid inserting bti j instructions at the target of
a jump table if we've already inserted one for a given label.
gcc/ChangeLog:
PR target/99988
* config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New.
(rest_of_insert_bti): Avoid inserting duplicate bti j insns for
jump table targets.
gcc/testsuite/ChangeLog:
PR target/99988
* gcc.target/aarch64/pr99988.c: New test.
Diffstat (limited to 'gcc/main.c')
0 files changed, 0 insertions, 0 deletions