summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2018-09-27 13:41:14 +0000
committerOliver Stannard <oliver.stannard@arm.com>2018-09-27 13:41:14 +0000
commit382c935c4231eaf7b820cb207c9fbd0c50505181 (patch)
tree81ba99a637c7e3d276a3412ccfb615ca47adc7d1 /llvm/lib/Target/ARM/ARMSubtarget.h
parent7860c5fe4e80970101f3f4901a673d6c47a532bb (diff)
downloadbcm5719-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.h4
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; }
OpenPOWER on IntegriCloud