[clang] [CodeGen] Set attributes on resolvers emitted after ifuncs (PR #98832)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 15 11:02:43 PDT 2024


================
@@ -6106,11 +6111,14 @@ void CodeGenModule::emitIFuncDefinition(GlobalDecl GD) {
 
   Aliases.push_back(GD);
 
-  llvm::Type *DeclTy = getTypes().ConvertTypeForMem(D->getType());
-  llvm::Type *ResolverTy = llvm::GlobalIFunc::getResolverFunctionType(DeclTy);
+  // The resolver might not be visited yet. Specify a dummy non-function type to
+  // indicate IsIncompleteFunction. Either the type is ignored (if the resolver
+  // was emitted) or the whole function will be replaced (if the resolver has
+  // not be emitted).
----------------
efriedma-quic wrote:

```suggestion
  // not been emitted).
```

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


More information about the cfe-commits mailing list