[clang] [CIR] Function calls with aggregate arguments and return values (PR #143377)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 9 13:04:51 PDT 2025


================
@@ -365,6 +422,19 @@ RValue CIRGenFunction::emitCall(const CIRGenFunctionInfo &funcInfo,
   if (isa<cir::VoidType>(retCIRTy))
     return getUndefRValue(retTy);
   switch (getEvaluationKind(retTy)) {
+  case cir::TEK_Aggregate: {
+    Address destPtr = returnValue.getValue();
+
+    if (!destPtr.isValid())
+      destPtr = createMemTemp(retTy, callLoc, getCounterAggTmpAsString());
+
+    auto results = theCall->getOpResults();
----------------
andykaylor wrote:

Don't use auto here.

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


More information about the cfe-commits mailing list