aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/ARMFastISel.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-01-07 09:03:03 +0000
committerTim Northover <tnorthover@apple.com>2016-01-07 09:03:03 +0000
commitbd41cf880c9f3a65c9366565fa4db2ddb6b57e1c (patch)
tree7e3c25583cf5f2c507c14b0728f4c0957aa31e7e /llvm/lib/Target/ARM/ARMFastISel.cpp
parentefc1a83a998556f1930c4072027ec83eb63465ce (diff)
downloadllvm-bd41cf880c9f3a65c9366565fa4db2ddb6b57e1c.zip
llvm-bd41cf880c9f3a65c9366565fa4db2ddb6b57e1c.tar.gz
llvm-bd41cf880c9f3a65c9366565fa4db2ddb6b57e1c.tar.bz2
ARM: support TLS accesses on Darwin platforms
Darwin TLS accesses most closely resemble ELF's general-dynamic situation, since they have to be able to handle all possible situations. The descriptors and so on are obviously slightly different though. llvm-svn: 257039
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFastISel.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMFastISel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMFastISel.cpp b/llvm/lib/Target/ARM/ARMFastISel.cpp
index 9bdf823c8..b5f1ac4 100644
--- a/llvm/lib/Target/ARM/ARMFastISel.cpp
+++ b/llvm/lib/Target/ARM/ARMFastISel.cpp
@@ -578,7 +578,7 @@ unsigned ARMFastISel::ARMMaterializeInt(const Constant *C, MVT VT) {
unsigned ARMFastISel::ARMMaterializeGV(const GlobalValue *GV, MVT VT) {
// For now 32-bit only.
- if (VT != MVT::i32) return 0;
+ if (VT != MVT::i32 || GV->isThreadLocal()) return 0;
Reloc::Model RelocM = TM.getRelocationModel();
bool IsIndirect = Subtarget->GVIsIndirectSymbol(GV, RelocM);