summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2015-07-07 06:54:42 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2015-07-07 06:54:42 +0000
commit1bc8af78f47ba20cb86fe61bcd979dcde1d72b6a (patch)
tree9d9801a8f425ec37bd520949ccad8956b52ac7aa /llvm/lib/Target/ARM/ARMSubtarget.h
parent3fb33a5d189c11e5513338cb83a2871a85fd05c1 (diff)
downloadbcm5719-llvm-1bc8af78f47ba20cb86fe61bcd979dcde1d72b6a.tar.gz
bcm5719-llvm-1bc8af78f47ba20cb86fe61bcd979dcde1d72b6a.zip
[ARM] Define a subtarget feature and use it to decide whether long calls should
be emitted. This is needed to enable ARM long calls for LTO and enable and disable it on a per-function basis. Out-of-tree projects currently using EnableARMLongCalls to emit long calls should start passing "+long-calls" to the feature string (see the changes made to clang in r241565). rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D9364 llvm-svn: 241566
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h
index 9909a6a6d19..dd101df9b63 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.h
+++ b/llvm/lib/Target/ARM/ARMSubtarget.h
@@ -206,6 +206,9 @@ protected:
/// NaCl TRAP instruction is generated instead of the regular TRAP.
bool UseNaClTrap;
+ /// Generate calls via indirect call instructions.
+ bool GenLongCalls;
+
/// Target machine allowed unsafe FP math (such as use of NEON fp)
bool UnsafeFPMath;
@@ -342,6 +345,7 @@ public:
bool hasMPExtension() const { return HasMPExtension; }
bool hasThumb2DSP() const { return Thumb2DSP; }
bool useNaClTrap() const { return UseNaClTrap; }
+ bool genLongCalls() const { return GenLongCalls; }
bool hasFP16() const { return HasFP16; }
bool hasD16() const { return HasD16; }
OpenPOWER on IntegriCloud