[ARM64] Add a big endian version of the ARM64 target machine, and update all users.
[oota-llvm.git] / lib / Target / ARM64 / ARM64Subtarget.h
index 584c41be07ca2511eb4d781c801716534e75119c..1977e0bf05a01c65df885b0af3c021a1f6fbd877 100644 (file)
@@ -48,11 +48,14 @@ protected:
   /// TargetTriple - What processor and OS we're targeting.
   Triple TargetTriple;
 
+  /// IsLittleEndian - Is the target little endian?
+  bool IsLittleEndian;
+
 public:
   /// This constructor initializes the data members to match that
   /// of the specified triple.
   ARM64Subtarget(const std::string &TT, const std::string &CPU,
-                 const std::string &FS);
+                 const std::string &FS, bool LittleEndian);
 
   bool enableMachineScheduler() const override { return true; }
 
@@ -64,6 +67,8 @@ public:
   bool hasNEON() const { return HasNEON; }
   bool hasCrypto() const { return HasCrypto; }
 
+  bool isLittleEndian() const { return IsLittleEndian; }
+
   bool isTargetDarwin() const { return TargetTriple.isOSDarwin(); }
 
   bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }