[PATCH] D122958: [clang] Corrections for target_clones multiversion functions.

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 4 06:53:56 PDT 2022


erichkeane accepted this revision.
erichkeane added inline comments.
This revision is now accepted and ready to land.


================
Comment at: clang/lib/CodeGen/CodeGenModule.cpp:3492
 
-    if (TI.supportsIFunc() || FD->isTargetMultiVersion()) {
-      ResolverFunc = cast<llvm::Function>(
-          GetGlobalValue((getMangledName(GD) + ".resolver").str()));
-      ResolverFunc->setLinkage(getMultiversionLinkage(*this, GD));
-    } else {
-      ResolverFunc = cast<llvm::Function>(GetGlobalValue(getMangledName(GD)));
-    }
+    ResolverFunc->setLinkage(getMultiversionLinkage(*this, GD));
 
----------------
tahonermann wrote:
> `setLinkage()` was previously only called in the ifunc case. I don't know why that would be, so I "fixed" it here.
Likely that was the only place we 'noticed' it was a problem?  


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122958/new/

https://reviews.llvm.org/D122958



More information about the cfe-commits mailing list