Implement target independent TLS compatible with glibc's emutls.c.
[oota-llvm.git] / include / llvm / Target / TargetLowering.h
index 4412d9b3c68e34fbd6072d8294ebf8d53a7e5233..d9d9f6fa1d6163697325990c563f66a7c6d14f6f 100644 (file)
@@ -1993,7 +1993,7 @@ protected:
   unsigned MaxStoresPerMemmove;
 
   /// Maximum number of store instructions that may be substituted for a call to
-  /// memmove, used for functions with OpSize attribute.
+  /// memmove, used for functions with OptSize attribute.
   unsigned MaxStoresPerMemmoveOptSize;
 
   /// Tells the code generator that select is more expensive than a branch if
@@ -2821,6 +2821,10 @@ public:
   virtual bool useLoadStackGuardNode() const {
     return false;
   }
+
+  /// Lower TLS global address SDNode for target independent emulated TLS model.
+  virtual SDValue LowerToTLSEmulatedModel(const GlobalAddressSDNode *GA,
+                                          SelectionDAG &DAG) const;
 };
 
 /// Given an LLVM IR type and return type attributes, compute the return value