diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2018-07-31 17:36:26 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2018-07-31 17:36:26 +0000 |
commit | c0111dc43591647ef6d619a1fc222a8e9a06e058 (patch) | |
tree | 77960405952ad4760701c6a46513979c60c7c8d4 /gcc/cfgexpand.c | |
parent | 3751345de3763609848d77cffcc91db13e365216 (diff) | |
download | gcc-c0111dc43591647ef6d619a1fc222a8e9a06e058.zip gcc-c0111dc43591647ef6d619a1fc222a8e9a06e058.tar.gz gcc-c0111dc43591647ef6d619a1fc222a8e9a06e058.tar.bz2 |
AArch64 - use CSDB based sequences if speculation tracking is enabled
In this final patch, now that we can track speculation through conditional
branches, we can use this information to use a less expensive CSDB based
speculation barrier.
* config/aarch64/iterators.md (ALLI_TI): New iterator.
* config/aarch64/aarch64.md (despeculate_copy<ALLI_TI:mode>): New
expand.
(despeculate_copy<ALLI:mode>_insn): New insn.
(despeculate_copyti_insn): New insn.
(despeculate_simple<ALLI:mode>): New insn
(despeculate_simpleti): New insn.
* config/aarch64/aarch64.c (aarch64_speculation_safe_value): New
function.
(TARGET_SPECULATION_SAFE_VALUE): Redefine to
aarch64_speculation_safe_value.
(aarch64_print_operand): Handle const0_rtx in modifier 'H'.
From-SVN: r263174
Diffstat (limited to 'gcc/cfgexpand.c')
0 files changed, 0 insertions, 0 deletions