GlobalISel: Don't hardcode varargs=false in resultsCompatible
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 6 May 2021 00:25:31 +0000 (20:25 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 12 May 2021 00:22:06 +0000 (20:22 -0400)
llvm/lib/CodeGen/GlobalISel/CallLowering.cpp

index 285a1d6..194d824 100644 (file)
@@ -957,12 +957,12 @@ bool CallLowering::resultsCompatible(CallLoweringInfo &Info,
     return true;
 
   SmallVector<CCValAssign, 16> ArgLocs1;
-  CCState CCInfo1(CalleeCC, false, MF, ArgLocs1, F.getContext());
+  CCState CCInfo1(CalleeCC, Info.IsVarArg, MF, ArgLocs1, F.getContext());
   if (!determineAssignments(CalleeAssigner, InArgs, CCInfo1))
     return false;
 
   SmallVector<CCValAssign, 16> ArgLocs2;
-  CCState CCInfo2(CallerCC, false, MF, ArgLocs2, F.getContext());
+  CCState CCInfo2(CallerCC, F.isVarArg(), MF, ArgLocs2, F.getContext());
   if (!determineAssignments(CallerAssigner, InArgs, CCInfo2))
     return false;