[llvm] [Aarch64] [ISel] Don't save vaargs registers if vaargs are unused (PR #126780)
Pavel Skripkin via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 22 09:22:25 PST 2025
================
@@ -7,17 +7,14 @@ define i1 @va_func(i32 %a, i8 %b, i8 %c, ...) {
; CHECK-LABEL: va_func:
; CHECK: .seh_proc va_func
; CHECK-NEXT: // %bb.0:
-; CHECK-NEXT: sub sp, sp, #80
----------------
pskrgag wrote:
So looks like GISel does not support vastart for win calling convention
```cpp
bool AArch64InstructionSelector::selectVaStartAAPCS(
MachineInstr &I, MachineFunction &MF, MachineRegisterInfo &MRI) const {
if (STI.isCallingConvWin64(MF.getFunction().getCallingConv(),
MF.getFunction().isVarArg()))
return false;
```
https://github.com/llvm/llvm-project/pull/126780
More information about the llvm-commits
mailing list