aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-08-17 11:55:38 +0200
committerNikita Popov <npopov@redhat.com>2023-08-21 11:44:35 +0200
commitfa1b6e6b34eb6382c451f3a06a7c52d7ac6ada1d (patch)
tree418e5e95da486541f3afe1dd40471078d501e982 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parentb0af89cbdad445e735a3506029dbb61c75ecaab2 (diff)
downloadllvm-fa1b6e6b34eb6382c451f3a06a7c52d7ac6ada1d.zip
llvm-fa1b6e6b34eb6382c451f3a06a7c52d7ac6ada1d.tar.gz
llvm-fa1b6e6b34eb6382c451f3a06a7c52d7ac6ada1d.tar.bz2
[X86] Fix i128 argument passing under SysV ABI
The x86_64 SysV ABI specifies that __int128 is passed either in two registers (if available) or in a 16 byte aligned stack slot. GCC implements this behavior. However, if only one free register is available, LLVM will instead pass one half of the i128 in a register, and the other on the stack. Make sure that either both are passed in registers or both on the stack. Fixes https://github.com/llvm/llvm-project/issues/41784. The patch is basically what craig.topper proposed to do there. Differential Revision: https://reviews.llvm.org/D158169
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions