Implement target independent TLS compatible with glibc's emutls.c.
[oota-llvm.git] / lib / Target / ARM / ARMISelLowering.cpp
index afc6ee8ad0eb9587ef749049f55cd77bcbf4f9b2..e01d26a67d86ebd48e2c8e85de0856fb73d0e19c 100644 (file)
@@ -2583,6 +2583,8 @@ ARMTargetLowering::LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const {
   assert(Subtarget->isTargetELF() &&
          "TLS not implemented for non-ELF targets");
   GlobalAddressSDNode *GA = cast<GlobalAddressSDNode>(Op);
+  if (DAG.getTarget().Options.EmulatedTLS)
+    return LowerToTLSEmulatedModel(GA, DAG);
 
   TLSModel::Model model = getTargetMachine().getTLSModel(GA->getGlobal());