summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorBradley Smith <bradley.smith@arm.com>2016-01-15 10:23:46 +0000
committerBradley Smith <bradley.smith@arm.com>2016-01-15 10:23:46 +0000
commit4c21cba72bc51e8f5b16efd6c2d9ca7ff88886f4 (patch)
tree4f1041ceaa5ea73a0d5b9a9dc6eeb4c8af4ab893 /llvm/lib/Target/ARM/ARMSubtarget.h
parentcff8550121f37ac8b97eafb69960c71d4fed03d1 (diff)
downloadbcm5719-llvm-4c21cba72bc51e8f5b16efd6c2d9ca7ff88886f4.tar.gz
bcm5719-llvm-4c21cba72bc51e8f5b16efd6c2d9ca7ff88886f4.zip
[ARM] Split out ARMv8-A semaphores and atomics and ARMv7 clrex as separate features
llvm-svn: 257877
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h
index 4d54e575147..7b551cd84ee 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.h
+++ b/llvm/lib/Target/ARM/ARMSubtarget.h
@@ -155,6 +155,13 @@ protected:
/// instructions.
bool HasDataBarrier;
+ /// HasV7Clrex - True if the subtarget supports CLREX instructions
+ bool HasV7Clrex;
+
+ /// HasAcquireRelease - True if the subtarget supports v8 atomics (LDA/LDAEX etc)
+ /// instructions
+ bool HasAcquireRelease;
+
/// Pref32BitThumb - If true, codegen would prefer 32-bit Thumb instructions
/// over 16-bit ones.
bool Pref32BitThumb;
@@ -343,6 +350,8 @@ public:
bool hasDivideInARMMode() const { return HasHardwareDivideInARM; }
bool hasT2ExtractPack() const { return HasT2ExtractPack; }
bool hasDataBarrier() const { return HasDataBarrier; }
+ bool hasV7Clrex() const { return HasV7Clrex; }
+ bool hasAcquireRelease() const { return HasAcquireRelease; }
bool hasAnyDataBarrier() const {
return HasDataBarrier || (hasV6Ops() && !isThumb());
}
OpenPOWER on IntegriCloud