diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2014-03-03 23:32:47 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2014-03-03 23:32:47 +0000 |
commit | 824dfb1c5690ad1494572c95909c0d9dc27338c8 (patch) | |
tree | 189b0ef1c4bbd08719828d83c66aa3a4ad3c9751 /lib/Target/AArch64/AArch64Subtarget.h | |
parent | 288da8c61864d422522998eec9497f0863b13455 (diff) | |
download | llvm-824dfb1c5690ad1494572c95909c0d9dc27338c8.tar.gz llvm-824dfb1c5690ad1494572c95909c0d9dc27338c8.tar.bz2 llvm-824dfb1c5690ad1494572c95909c0d9dc27338c8.tar.xz |
[AArch64] This is a work in progress to provide a machine description
for the Cortex-A53 subtarget in the AArch64 backend.
This patch lays the ground work to annotate each AArch64 instruction
(no NEON yet) with a list of SchedReadWrite types. The patch also
provides the Cortex-A53 processor resources, maps those the the default
SchedReadWrites, and provides basic latency. NEON support will be added
in a subsequent patch with proper forwarding logic.
Verification was done by setting the pre-RA scheduler to linearize to
better gauge the effect of the MIScheduler. Even without modeling the
forward logic, the results show a modest improvement for Cortex-A53.
Reviewers: apazos, mcrosier, atrick
Patch by Dave Estes <cestes@codeaurora.org>!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202767 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/AArch64Subtarget.h')
-rw-r--r-- | lib/Target/AArch64/AArch64Subtarget.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64Subtarget.h b/lib/Target/AArch64/AArch64Subtarget.h index adceba7842..68c6c4b63c 100644 --- a/lib/Target/AArch64/AArch64Subtarget.h +++ b/lib/Target/AArch64/AArch64Subtarget.h @@ -29,6 +29,11 @@ class GlobalValue; class AArch64Subtarget : public AArch64GenSubtargetInfo { virtual void anchor(); protected: + enum ARMProcFamilyEnum {Others, CortexA53, CortexA57}; + + /// ARMProcFamily - ARM processor family: Cortex-A53, Cortex-A57, and others. + ARMProcFamilyEnum ARMProcFamily; + bool HasFPARMv8; bool HasNEON; bool HasCrypto; |