[llvm-dev] Improving x32 support

Harald van Dijk via llvm-dev llvm-dev at lists.llvm.org
Sat Oct 24 08:15:18 PDT 2020


Hello list,

I have been working on improving the x32 support in LLVM. Currently, 
LLVM has wrong code bugs, a libcxx bug, missing JIT support, some 
general assumptions that happen to hold for all other ABIs but not for 
x32, but also some tests that do not make sense for multiple ABIs, 
including x32, and are suppressed for multiple ABIs, but not x32. I have 
patched LLVM 11.0.0 to a good enough state where the tests that do not 
make sense are disabled, and the rest of the tests pass when built for 
x32. Additionally, when those same changes are applied to Rust's LLVM, 
they allow building Rust for x32 as well (after also fixing some 
non-LLVM portability issues in Rust).

For the moment, I have put this up as a single massive commit, 
<https://github.com/hvdijk/llvm-project/commit/07c7cd28df079c6dce02f5d7ebba58c8f85039b7>. 
I intend to split this into separate smaller commits with clear commit 
messages explaining what they do, rebase it onto master, and submit 
individual patches when they are ready. However, I felt it would also be 
good to put up my current work in case anyone else is interested as 
well. Feedback is welcome, especially suggestions for different 
approaches for any of the issues addressed by this.

Cheers,
Harald van Dijk


More information about the llvm-dev mailing list