[llvm] [AArch64][GlobalISel] Fast-path simple common calls (NFC) (PR #217615)
Nathan Corbyn via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 25 08:57:58 PDT 2026
================
@@ -1444,7 +1497,10 @@ bool AArch64CallLowering::lowerCall(MachineIRBuilder &MIRBuilder,
Subtarget, /*IsReturn*/ false);
// Do the actual argument marshalling.
OutgoingArgHandler Handler(MIRBuilder, MRI, MIB, /*IsReturn*/ false);
- if (!determineAndHandleAssignments(Handler, Assigner, OutArgs, MIRBuilder,
+ bool AssignedCallArgs = Info.CallConv == CallingConv::C &&
+ tryAssignSimpleGPRCallArgs(MIRBuilder, MIB, OutArgs);
+ if (!AssignedCallArgs &&
+ !determineAndHandleAssignments(Handler, Assigner, OutArgs, MIRBuilder,
Info.CallConv, Info.IsVarArg))
----------------
cofibrant wrote:
Would it make sense for this little piece of logic to live at the head of `determineAndHandleAssignments` so that any future call sites don't need to remember to add a fast path and we don't need to remember to keep the existing call sites in sink
https://github.com/llvm/llvm-project/pull/217615
More information about the llvm-commits
mailing list