diff options
author | Oliver Stannard <oliver.stannard@arm.com> | 2018-09-27 13:41:14 +0000 |
---|---|---|
committer | Oliver Stannard <oliver.stannard@arm.com> | 2018-09-27 13:41:14 +0000 |
commit | 382c935c4231eaf7b820cb207c9fbd0c50505181 (patch) | |
tree | 81ba99a637c7e3d276a3412ccfb615ca47adc7d1 /llvm/lib/Target/ARM/ARMSubtarget.h | |
parent | 7860c5fe4e80970101f3f4901a673d6c47a532bb (diff) | |
download | bcm5719-llvm-382c935c4231eaf7b820cb207c9fbd0c50505181.tar.gz bcm5719-llvm-382c935c4231eaf7b820cb207c9fbd0c50505181.zip |
[ARM][v8.5A] Add speculation barrier to ARM & Thumb instruction sets
This is a new barrier which limits speculative execution of the
instructions following it.
Patch by Pablo Barrio!
Differential revision: https://reviews.llvm.org/D52477
llvm-svn: 343213
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r-- | llvm/lib/Target/ARM/ARMSubtarget.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h index 1e84d3141d5..b06c35ff1ac 100644 --- a/llvm/lib/Target/ARM/ARMSubtarget.h +++ b/llvm/lib/Target/ARM/ARMSubtarget.h @@ -416,6 +416,9 @@ protected: /// UseSjLjEH - If true, the target uses SjLj exception handling (e.g. iOS). bool UseSjLjEH = false; + /// Has speculation barrier + bool HasSpecCtrl = false; + /// Implicitly convert an instruction to a different one if its immediates /// cannot be encoded. For example, ADD r0, r1, #FFFFFFFF -> SUB r0, r1, #1. bool NegativeImmediates = true; @@ -625,6 +628,7 @@ public: bool hasDSP() const { return HasDSP; } bool useNaClTrap() const { return UseNaClTrap; } bool useSjLjEH() const { return UseSjLjEH; } + bool hasSpecCtrl() const { return HasSpecCtrl; } bool genLongCalls() const { return GenLongCalls; } bool genExecuteOnly() const { return GenExecuteOnly; } |