We would like to request for including Xtensa backend to LLVM upstream. The first batch of patches is about to be accepted.
This thread is a continuation of the discussion [RFC] Tensilica Xtensa (ESP32) backend . According to @clattner recommendation we open separate topic for discussion about inclusion our work into the project.
Since last update we continued to work on the project and update patches in Phabricator. Currently Xtensa backend is ported on LLVM release 15.0.0.
The process of reviewing patches in Phabricator also significantly accelerated. An additional five patches have been approved, for a total of 8 out of 10 patches now approved. We are updating the last two patches according to the comments and will publish them soon. Many thanks to @Sterling-Augustine and all participants!
This has been discussed a number of times, and I believe all previous discussions were generally positive towards inclusion of this target into LLVM. The linked thread already discussed how the target meets the policy to accept a new experimental target, and that all seems fine.
So, I think at this point, you only need to wait for the entire 10-patch series to be approved. After the last 2 patches have been reviewed and approved, I think you should be good to go!
Nice! That’s great to hear, and I’m sure it’ll be helpful for quite a few people to have this full ISA document publicly available. (Also, the name of the document makes me laugh – “Instruction Set Architecture Summary” – at 700 pages, that’s the longest summary I’ve ever seen!)
The process seems to get stuck again. So this message is intended kick it off and claim that we are alive and continue Xtensa support in LLVM, but some thing are beyond our capabilities
I wonder what is the status of the Xtensa backend in regard to completeness? As we work on capstone-autosync project, allowing generating the Capstone disassembly code from the TableGen files, would that cover all supported instructions (including optional extensions)?