summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCSubtarget.h
diff options
context:
space:
mode:
authorTorok Edwin <edwintorok@gmail.com>2010-08-04 20:47:44 +0000
committerTorok Edwin <edwintorok@gmail.com>2010-08-04 20:47:44 +0000
commit31e90d2dd1986ed7933d992cfeb2c74fca8391c2 (patch)
tree429cf39e723188a96967a3a8ef38c7a04a80db71 /llvm/lib/Target/PowerPC/PPCSubtarget.h
parentada023c5d674c032bae238469da65c5eb2e73482 (diff)
downloadbcm5719-llvm-31e90d2dd1986ed7933d992cfeb2c74fca8391c2.tar.gz
bcm5719-llvm-31e90d2dd1986ed7933d992cfeb2c74fca8391c2.zip
Use indirect calls in PowerPC JIT.
See PR5201. There is no way to know if direct calls will be within the allowed range for BL. Hence emit all calls as indirect when in JIT mode. Without this long-running applications will fail to JIT on PowerPC with a relocation failure. llvm-svn: 110246
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCSubtarget.h')
-rw-r--r--llvm/lib/Target/PowerPC/PPCSubtarget.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.h b/llvm/lib/Target/PowerPC/PPCSubtarget.h
index 75fcf6238a2..00ec7474c9e 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.h
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.h
@@ -63,6 +63,7 @@ protected:
bool HasFSQRT;
bool HasSTFIWX;
bool HasLazyResolverStubs;
+ bool IsJITCodeModel;
/// DarwinVers - Nonzero if this is a darwin platform. Otherwise, the numeric
/// version of the platform, e.g. 8 = 10.4 (Tiger), 9 = 10.5 (Leopard), etc.
@@ -124,6 +125,9 @@ public:
bool hasLazyResolverStub(const GlobalValue *GV,
const TargetMachine &TM) const;
+ // isJITCodeModel - True if we're generating code for the JIT
+ bool isJITCodeModel() const { return IsJITCodeModel; }
+
// Specific obvious features.
bool hasFSQRT() const { return HasFSQRT; }
bool hasSTFIWX() const { return HasSTFIWX; }
OpenPOWER on IntegriCloud