[llvm] [TargetLowering] Fix the problem of emulated-TLS implementation witho… (PR #101490)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 1 23:05:08 PDT 2024


================
@@ -10225,8 +10225,10 @@ SDValue TargetLowering::LowerToTLSEmulatedModel(const GlobalAddressSDNode *GA,
 
   ArgListTy Args;
   ArgListEntry Entry;
-  std::string NameString = ("__emutls_v." + GA->getGlobal()->getName()).str();
-  Module *VariableModule = const_cast<Module*>(GA->getGlobal()->getParent());
+  const GlobalValue *GV = GA->getGlobal();
+  GV = GV->getAliaseeObject() ? GV->getAliaseeObject() : GV;
+  std::string NameString = ("__emutls_v." + GV->getName()).str();
----------------
arsenm wrote:

It works for any size of string, it's just optimized for the common case where the name is small 

https://github.com/llvm/llvm-project/pull/101490


More information about the llvm-commits mailing list