summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorTim Northover <t.p.northover@gmail.com>2013-05-23 19:11:14 +0000
committerTim Northover <t.p.northover@gmail.com>2013-05-23 19:11:14 +0000
commitb94a353242b26af5c0969926a6b84664e342b586 (patch)
tree2e2f0f22d94cfcb0f753aab7764efd879dbb42ad /lib/Target/ARM/ARMSubtarget.h
parentd078070f6a76326853885bfa661ff4fa9755e2b8 (diff)
downloadllvm-b94a353242b26af5c0969926a6b84664e342b586.tar.gz
llvm-b94a353242b26af5c0969926a6b84664e342b586.tar.bz2
llvm-b94a353242b26af5c0969926a6b84664e342b586.tar.xz
ARM: Add Performance Monitor Extensions feature
Performance monitors, including a basic cycle counter, are an official extension in the ARMv7 specification. This adds support for enabling and disabling them, orthogonally from CPU selection. rdar://problem/13939186 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182602 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--lib/Target/ARM/ARMSubtarget.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
index d01316511c..bc5af96c60 100644
--- a/lib/Target/ARM/ARMSubtarget.h
+++ b/lib/Target/ARM/ARMSubtarget.h
@@ -148,6 +148,11 @@ protected:
/// precision.
bool FPOnlySP;
+ /// If true, the processor supports the Performance Monitor Extensions. These
+ /// include a generic cycle-counter as well as more fine-grained (often
+ /// implementation-specific) events.
+ bool HasPerfMon;
+
/// HasTrustZone - if true, processor supports TrustZone security extensions
bool HasTrustZone;
@@ -254,6 +259,7 @@ public:
bool hasVMLxForwarding() const { return HasVMLxForwarding; }
bool isFPBrccSlow() const { return SlowFPBrcc; }
bool isFPOnlySP() const { return FPOnlySP; }
+ bool hasPerfMon() const { return HasPerfMon; }
bool hasTrustZone() const { return HasTrustZone; }
bool prefers32BitThumb() const { return Pref32BitThumb; }
bool avoidCPSRPartialUpdate() const { return AvoidCPSRPartialUpdate; }