================
@@ -1663,6 +1794,12 @@ RValue CIRGenFunction::emitBuiltinExpr(const GlobalDecl
&gd, unsigned builtinID,
return emitLibraryCall(*this, fd, e,
cgm.getBuiltinLibFunction(fd, builtinID));
+ // If this is a predefined lib function (e.g. malloc), emit the call
+ // using exactly the normal call path.
+ if (getContext().BuiltinInfo.isPredefinedLibFunction(builtinID))
----------------
adams381 wrote:
This handles target-specific builtins that can have aggregate return values
(e.g., `__builtin_arm_mve_vld2q_u32`). When the result is an aggregate and
`returnValue` is null, we need to report this as NYI rather than silently
producing incorrect code. This matches the pattern in classic codegen.
https://github.com/llvm/llvm-project/pull/175233
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits