summaryrefslogtreecommitdiff
path: root/lib/Target/AArch64/AArch64Subtarget.h
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-05-24 12:42:26 +0000
committerTim Northover <tnorthover@apple.com>2014-05-24 12:42:26 +0000
commit9105f66d6f3cb6330ce77a88a0ef1ec0744aba85 (patch)
treed3360e2214cbc002d9587dba967b7ec514aeb997 /lib/Target/AArch64/AArch64Subtarget.h
parent4ca8b0b66defbeff6693ce1fc68436a836939a53 (diff)
downloadllvm-9105f66d6f3cb6330ce77a88a0ef1ec0744aba85.tar.gz
llvm-9105f66d6f3cb6330ce77a88a0ef1ec0744aba85.tar.bz2
llvm-9105f66d6f3cb6330ce77a88a0ef1ec0744aba85.tar.xz
AArch64/ARM64: remove AArch64 from tree prior to renaming ARM64.
I'm doing this in two phases for a better "git blame" record. This commit removes the previous AArch64 backend and redirects all functionality to ARM64. It also deduplicates test-lines and removes orphaned AArch64 tests. The next step will be "git mv ARM64 AArch64" and rewire most of the tests. Hopefully LLVM is still functional, though it would be even better if no-one ever had to care because the rename happens straight afterwards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209576 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/AArch64Subtarget.h')
-rw-r--r--lib/Target/AArch64/AArch64Subtarget.h89
1 files changed, 0 insertions, 89 deletions
diff --git a/lib/Target/AArch64/AArch64Subtarget.h b/lib/Target/AArch64/AArch64Subtarget.h
deleted file mode 100644
index dd2b4d211f..0000000000
--- a/lib/Target/AArch64/AArch64Subtarget.h
+++ /dev/null
@@ -1,89 +0,0 @@
-//==-- AArch64Subtarget.h - Define Subtarget for the AArch64 ---*- C++ -*--===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file declares the AArch64 specific subclass of TargetSubtargetInfo.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_TARGET_AARCH64_SUBTARGET_H
-#define LLVM_TARGET_AARCH64_SUBTARGET_H
-
-#include "llvm/ADT/Triple.h"
-#include "llvm/Target/TargetSubtargetInfo.h"
-#include <string>
-
-#define GET_SUBTARGETINFO_HEADER
-#include "AArch64GenSubtargetInfo.inc"
-
-namespace llvm {
-class StringRef;
-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;
-
- /// AllowsUnalignedMem - If true, the subtarget allows unaligned memory
- /// accesses for some types. For details, see
- /// AArch64TargetLowering::allowsUnalignedMemoryAccesses().
- bool AllowsUnalignedMem;
-
- /// TargetTriple - What processor and OS we're targeting.
- Triple TargetTriple;
-
- /// CPUString - String name of used CPU.
- std::string CPUString;
-
- /// IsLittleEndian - The target is Little Endian
- bool IsLittleEndian;
-
-private:
- void initializeSubtargetFeatures(StringRef CPU, StringRef FS);
-
-public:
- /// This constructor initializes the data members to match that
- /// of the specified triple.
- ///
- AArch64Subtarget(StringRef TT, StringRef CPU, StringRef FS,
- bool LittleEndian);
-
- bool enableMachineScheduler() const override {
- return true;
- }
-
- /// ParseSubtargetFeatures - Parses features string setting specified
- /// subtarget options. Definition of function is auto generated by tblgen.
- void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
-
- bool GVIsIndirectSymbol(const GlobalValue *GV, Reloc::Model RelocM) const;
-
- bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }
- bool isTargetLinux() const { return TargetTriple.isOSLinux(); }
-
- bool hasFPARMv8() const { return HasFPARMv8; }
- bool hasNEON() const { return HasNEON; }
- bool hasCrypto() const { return HasCrypto; }
-
- bool allowsUnalignedMem() const { return AllowsUnalignedMem; }
-
- bool isLittle() const { return IsLittleEndian; }
-
- const std::string & getCPUString() const { return CPUString; }
-};
-} // End llvm namespace
-
-#endif // LLVM_TARGET_AARCH64_SUBTARGET_H