================ @@ -938,6 +939,32 @@ class CodeGenModule : public CodeGenTypeCache { // Return the function body address of the given function. llvm::Constant *GetFunctionStart(const ValueDecl *Decl); + /// Return a function pointer for a reference to the given function. + /// This correctly handles weak references, but does not apply a + /// pointer signature. + llvm::Constant *getRawFunctionPointer(GlobalDecl GD, + llvm::Type *Ty = nullptr); + + /// Return the ABI-correct function pointer value for a reference + /// to the given function. This will apply a pointer signature if + /// necessary, caching the result for the given function. + llvm::Constant *getFunctionPointer(GlobalDecl GD, llvm::Type *Ty = nullptr); + + /// Return the ABI-correct function pointer value for a reference + /// to the given function. This will apply a pointer signature if + /// necessary, but will only cache the result if \p FD is passed. + llvm::Constant *getFunctionPointer(llvm::Constant *Pointer, + QualType FunctionType, + GlobalDecl GD = GlobalDecl()); + + CGPointerAuthInfo getFunctionPointerAuthInfo(QualType T); + + llvm::Constant *getConstantSignedPointer(llvm::Constant *Pointer, ---------------- kovdan01 wrote:
This member function declaration seems to be unused and not corresponding to any definition, so it can probably be removed. https://github.com/llvm/llvm-project/pull/93906 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits