diff options
author | Eli Friedman <efriedma@quicinc.com> | 2022-09-05 13:05:48 -0700 |
---|---|---|
committer | Eli Friedman <efriedma@quicinc.com> | 2022-09-05 13:05:48 -0700 |
commit | 5637ec0983041b26cdcd2064d8ec6636f352e3c9 (patch) | |
tree | 174fbb792606247088771d64512b79e996936e47 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h | |
parent | 4658366d95d5e398baad956225cc4ba339d5b037 (diff) | |
download | llvm-5637ec0983041b26cdcd2064d8ec6636f352e3c9.zip llvm-5637ec0983041b26cdcd2064d8ec6636f352e3c9.tar.gz llvm-5637ec0983041b26cdcd2064d8ec6636f352e3c9.tar.bz2 |
[ARM64EC 4/?] Add LLVM support for varargs calling convention.
Part of patchset to add initial support for ARM64EC.
The ARM64EC calling convention is the same as ARM64 for non-varargs
functions, but for varargs, the convention is significantly different.
Basically, only x0-x3 registers are used for passing arguments, and x4
and x5 describe the address/size of the arguments passed in memory. (See
https://docs.microsoft.com/en-us/windows/uwp/porting/arm64ec-abi for
more details; see
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention for
the x64 calling convention rules, which this convention needs to match.)
Note that this currently doesn't handle i128 arguments correctly; as
noted in review, that's sort of complicated to handle, so I'm leaving it
for a followup.
Differential Revision: https://reviews.llvm.org/D125415
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h')
0 files changed, 0 insertions, 0 deletions