[PATCH] D86310: [X86] Align i128 to 16 bytes in x86-64 datalayout

John Reagan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 14 05:41:31 PDT 2023


JohnReagan added a comment.

As a legacy OS provider on a platform that needs/requires ABI compatibility, I don't like the direction this is going.  Like @rnk, I would having MORE control over struct layout is better than less.  I'm adapting non-traditional languages to LLVM which allow very explicit control over layout of fields in structs.  I have system-provided headers and data structures that have been the same since 1977.  Fortunately, none contain i128 (or f128) sized items but I'm watching closely about any undermining of data layout control.  This area of layout control (both with fields in structures and variables in sections) has been our biggest challenge with getting OpenVMS running on x86 using LLVM.  I really don't want to be locked into a older version of the backend out of concerns about ABI reshuffling.  We guarantee that previously compiled images continue to execute forever and that you can mix/match objects across versions.  You can compile one file today and link it against an object library (provided by a 3rd party vendor) that was compiled 5 years ago with older compilers and it will work as intended.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86310/new/

https://reviews.llvm.org/D86310



More information about the cfe-commits mailing list