diff options
author | Eli Friedman <efriedma@quicinc.com> | 2025-05-16 11:30:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-16 11:30:51 -0700 |
commit | 4e01a07cffc43f720ed527969ba70c396940ce2e (patch) | |
tree | e40bcaaa8b08ea53fb18acfc91b1bc77b7231177 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 976b00654a37ada462fc19df11a1d2468c1c463c (diff) | |
download | llvm-4e01a07cffc43f720ed527969ba70c396940ce2e.zip llvm-4e01a07cffc43f720ed527969ba70c396940ce2e.tar.gz llvm-4e01a07cffc43f720ed527969ba70c396940ce2e.tar.bz2 |
[AArch64] Fixes for Windows varargs handling. (#139972)
Omit spills when va_start is not present, like we do on other targets.
In most situations this is just an optimization, but for thunks in
arm64ec, we need this because it's illegal to reference varargs in a
thunk.
Fix the bug that prevented omitting vararg spills from working properly:
we need to avoid interfering with musttail handling. (This is not a
Windows-only issue, but it mostly affects Windows because musttail
thunks are mostly used for the Microsoft C++ ABI.)
On arm64ec, don't set x4 and x5 for musttail thunks; forward them from
the caller.
Fixes #139856 .
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions