-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
breakingThis change will break codeThis change will break codecompiler:codegenGeneration of LLVM IR and native codeGeneration of LLVM IR and native code
Description
A recent discourse post just reminds me about this....
(Or in general, any C->LLVM mapping that requires explicit padding.)
The alignment for Int128 on x64 is currently 8 in julia and LLVM. However, AFAIK, it should be 16 in order to match the C ABI. Fixing this may require adding explicit padding fields when we declare the LLVM struct in the same way clang does it. The hard part is to fix all the use of gep on a struct in codegen to use the actual field index including the padding field rather than the julia field index.
Metadata
Metadata
Assignees
Labels
breakingThis change will break codeThis change will break codecompiler:codegenGeneration of LLVM IR and native codeGeneration of LLVM IR and native code