diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-02 20:32:05 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-02 20:32:05 +0000 |
commit | cd1308296ed7834e957b093e538476b43e8cf949 (patch) | |
tree | 4dc73654a02978adbed2428b740ac9654b1cfc18 /llvm/lib/Target/ARM/ARMSubtarget.h | |
parent | 2a2459f365d953a1493ba95e9b43c5bc3e95d829 (diff) | |
download | bcm5719-llvm-cd1308296ed7834e957b093e538476b43e8cf949.tar.gz bcm5719-llvm-cd1308296ed7834e957b093e538476b43e8cf949.zip |
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.
llvm-svn: 205459
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r-- | llvm/lib/Target/ARM/ARMSubtarget.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h index 21fa83dff73..804f2386cae 100644 --- a/llvm/lib/Target/ARM/ARMSubtarget.h +++ b/llvm/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; |