diff options
author | Tim Northover <tnorthover@apple.com> | 2023-01-10 11:52:12 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2023-01-18 11:35:24 +0000 |
commit | 3ed58d4df65e00b0ed3679551394f794170233d0 (patch) | |
tree | ee16db6da664de85434974e98bdaf45fc6c5e4c8 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 45299fb0f99cd94aeb33d954c4d68123a0bc7e9e (diff) | |
download | llvm-3ed58d4df65e00b0ed3679551394f794170233d0.zip llvm-3ed58d4df65e00b0ed3679551394f794170233d0.tar.gz llvm-3ed58d4df65e00b0ed3679551394f794170233d0.tar.bz2 |
AArch64: allocate small fixed args properly in varargs functions.
On Darwin, function arguments occupy their real size when passed on the stack
(e.g. an i16 only consumes 2 bytes). This means that, even for fixed args in
varargs calls we need to keep track of the original type being passed before
any DAG/GISel promotions. Existing logic only applied this fix to the
non-varargs case leading to mismatch between caller & callee in those
situations.
On Linux & Windows these arguments always occupy a 64-bit slot anyway so
there's no special handling needed.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions