[clang] [llvm] [RISCV] Remove experimental from Ztso. (PR #96465)

Philip Reames via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 24 13:15:26 PDT 2024


preames wrote:

Chatted with @patrick-rivos on the status of TSO.  The following is my summary:
* psABI changes have landed which change the default for WMO to what we used to call the "A6/A7 compatibility table".  The TSO change which landed to psABI defines a mapping which is compatible with this table, but also cross compatible with WMO A6 and WMO A7 independently.
* Patrick's change (https://reviews.llvm.org/D155517) changed LLVM to emitting code which is believed to match the psABI for TSO.  Note that this was done before the psABI changes were accepted.  
* Our WMO lowering is still the A6 variant.  We have not moved to the A6/A7 compat mapping which is now mandated by psABI.  (We probably should, just to match gcc.)
* The psABI change included two set of ELF flags for managing TSO and the A6/A7 compat question.  I know I implemented the former, but neither of us knew the status of the compat flags.  
* As a reminder, gcc originally implemented a buggy variant of the A6 table for WMO.  The first correct version was gcc 13 which went straight to the new psABI mapping ("A6/A7 compat").  None of the available options give us cross compatibility with binaries compiled with an old gcc.  

Takeaway here is that we probably are fine to move ztso out of experimental once someone reports back on the status of the elf flags for the a6/a7 compat thing.  


https://github.com/llvm/llvm-project/pull/96465


More information about the cfe-commits mailing list