summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-01-02 13:40:08 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-01-02 13:40:08 +0000
commitd89b16dcb822ed2bc7507c52730b43f0855a3b33 (patch)
treed6fd61948a43cccc0e69f8a283f5c5f56f3e6a11 /llvm/lib/Target/ARM/ARMSubtarget.h
parentd4993032a9bd985a296729f52b14de207f128083 (diff)
downloadbcm5719-llvm-d89b16dcb822ed2bc7507c52730b43f0855a3b33.tar.gz
bcm5719-llvm-d89b16dcb822ed2bc7507c52730b43f0855a3b33.zip
Make the ARM ABI selectable via SubtargetFeature.
This patch makes it possible to select the ABI with -mattr. It will be used to forward clang's -target-abi option to llvm's CodeGen. llvm-svn: 198304
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h
index 4893973e1c2..8c471dcfd1a 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.h
+++ b/llvm/lib/Target/ARM/ARMSubtarget.h
@@ -217,6 +217,7 @@ protected:
public:
enum {
+ ARM_ABI_UNKNOWN,
ARM_ABI_APCS,
ARM_ABI_AAPCS // ARM EABI
} TargetABI;
@@ -326,8 +327,14 @@ public:
TargetTriple.getEnvironment() == Triple::EABIHF;
}
- bool isAPCS_ABI() const { return TargetABI == ARM_ABI_APCS; }
- bool isAAPCS_ABI() const { return TargetABI == ARM_ABI_AAPCS; }
+ bool isAPCS_ABI() const {
+ assert(TargetABI != ARM_ABI_UNKNOWN);
+ return TargetABI == ARM_ABI_APCS;
+ }
+ bool isAAPCS_ABI() const {
+ assert(TargetABI != ARM_ABI_UNKNOWN);
+ return TargetABI == ARM_ABI_AAPCS;
+ }
bool isThumb() const { return InThumbMode; }
bool isThumb1Only() const { return InThumbMode && !HasThumb2; }
OpenPOWER on IntegriCloud