1
Fork 0

byval parameter should have align 8 on aix

This commit is contained in:
Henry Jiang 2024-12-16 13:58:09 -05:00
parent 83ab648e00
commit 7bfcddf479

View file

@ -58,8 +58,10 @@ where
// The AIX ABI expect byval for aggregates
// See https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/Targets/PPC.cpp.
// The incoming parameter is represented as a pointer in the IR,
// the alignment is associated with the size of the register. (align 8 for 64bit)
if !is_ret && abi == AIX {
arg.pass_by_stack_offset(None);
arg.pass_by_stack_offset(Some(Align::from_bytes(8).unwrap()));
return;
}