summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-04-02 20:32:05 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-04-02 20:32:05 +0000
commit396e5e328ccae90acc6dff60f4957af8cc53c955 (patch)
treef7a5c606ed284f87af842f4b3737d326a0639d2c /lib/Target/ARM/ARMSubtarget.h
parentbc413d65a27548004a97c25e0bb82489246d85b9 (diff)
downloadllvm-396e5e328ccae90acc6dff60f4957af8cc53c955.tar.gz
llvm-396e5e328ccae90acc6dff60f4957af8cc53c955.tar.bz2
llvm-396e5e328ccae90acc6dff60f4957af8cc53c955.tar.xz
ARM: update subtarget information for Windows on ARM
Update the subtarget information for Windows on ARM. This enables using the MC layer to target Windows on ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205459 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--lib/Target/ARM/ARMSubtarget.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
index 21fa83dff7..804f2386ca 100644
--- a/lib/Target/ARM/ARMSubtarget.h
+++ b/lib/Target/ARM/ARMSubtarget.h
@@ -317,14 +317,14 @@ public:
const Triple &getTargetTriple() const { return TargetTriple; }
- bool isTargetIOS() const { return TargetTriple.isiOS(); }
bool isTargetDarwin() const { return TargetTriple.isOSDarwin(); }
- bool isTargetNaCl() const { return TargetTriple.isOSNaCl(); }
+ bool isTargetIOS() const { return TargetTriple.isiOS(); }
bool isTargetLinux() const { return TargetTriple.isOSLinux(); }
- bool isTargetNetBSD() const {
- return TargetTriple.getOS() == Triple::NetBSD;
- }
+ bool isTargetNaCl() const { return TargetTriple.isOSNaCl(); }
+ bool isTargetNetBSD() const { return TargetTriple.getOS() == Triple::NetBSD; }
+ bool isTargetWindows() const { return TargetTriple.isOSWindows(); }
+ bool isTargetCOFF() const { return TargetTriple.isOSBinFormatCOFF(); }
bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }
bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); }
@@ -338,7 +338,7 @@ public:
bool isTargetAEABI() const {
return (TargetTriple.getEnvironment() == Triple::EABI ||
TargetTriple.getEnvironment() == Triple::EABIHF) &&
- !isTargetDarwin();
+ !isTargetDarwin() && !isTargetWindows();
}
// ARM Targets that support EHABI exception handling standard
@@ -349,12 +349,14 @@ public:
TargetTriple.getEnvironment() == Triple::EABIHF ||
TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
TargetTriple.getEnvironment() == Triple::Android) &&
- !isTargetDarwin();
+ !isTargetDarwin() && !isTargetWindows();
}
bool isTargetHardFloat() const {
+ // FIXME: this is invalid for WindowsCE
return TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
- TargetTriple.getEnvironment() == Triple::EABIHF;
+ TargetTriple.getEnvironment() == Triple::EABIHF ||
+ isTargetWindows();
}
bool isTargetAndroid() const {
return TargetTriple.getEnvironment() == Triple::Android;