Simon Moll via llvm-dev
2021-Nov-03 12:51 UTC
[llvm-dev] Proposal: Make the VE target official
Hi all, NEC have been building up target support for SX-Aurora TSUBASA in LLVM upstream - the VE target (Vector Engine) [1]. Today VE support in upstream is sufficient for scalar code generation from C code with target-specific vector intrinsics. We propose the switch from 'experimental' backend status to 'official', throwing into the ring: * The staging builder (clang-ve-ninja) [2]. This builder builds and checks LLVM+Clang and compiler-rt. The functional compiler-rt tests run C code on a VE device. We will extend this builder to test all other runtime libraries (libcxxabi, libcxx, ..) for VE as continue upstreaming. * LIT tests. VE has extensive lit tests (test/CodeGen/VE) for scalar code generation and vector intrinsics. * D113093 [3] has the changes to make all compiler-rt tests pass on VE. Remaining failures are due to denormal support, alignment requirements and subtle differences in syscalls. * The downstream reference implementation (LLVM-VE [4]). This includes compiler-rt,libcxxabi,libcxx and openmp target offloading and will be the basis for upstreaming. What do you say? - Simon [1] Vector Engine: https://www.nec.com/en/global/solutions/hpc/sx/vector_engine.html [2] clang-ve-ninja (recent run): https://lab.llvm.org/staging/#/builders/24/builds/6594 [3] compiler-rt patch: https://reviews.llvm.org/D113093 [4] llvm-ve source: https://github.com/sx-aurora-dev/llvm-project.git
Renato Golin via llvm-dev
2021-Nov-08 10:09 UTC
[llvm-dev] Proposal: Make the VE target official
On Wed, 3 Nov 2021 at 12:52, Simon Moll <Simon.Moll at emea.nec.com> wrote:> We propose the switch from 'experimental' backend status to 'official', >Hi Simon, The VE community seems to have adopted all requirements laid out in the new targets' document[1], so I guess it's just a matter of ironing out the transition. * The staging builder (clang-ve-ninja) [2]. This builder builds and> checks LLVM+Clang and compiler-rt. The functional compiler-rt tests > run C code on a VE device. >This bot seems red for a long time. One of the ideas that reflect a target to be stable is that its buildbot is "mostly" green throughout the warmup period (and hopefully just before moving out of experimental). * D113093 [3] has the changes to make all compiler-rt tests pass on VE.> Remaining failures are due to denormal support, alignment > requirements and subtle differences in syscalls. >Will this make the bots green? It's ok to disable tests that fail for known reasons (or are irrelevant), but we shouldn't disable tests just to make the bots green to promote the target. * The downstream reference implementation (LLVM-VE [4]). This includes> compiler-rt,libcxxabi,libcxx and openmp target offloading and will be > the basis for upstreaming. >I looked at the branch and it seems to have a single merged patch that is not only huge, but has a lot of style changes to unrelated code (ex. clang-tools-extra). It would be much simpler if you had a branch with the changes that you want to upstream into separated patches rebase onto LLVM's main branch. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211108/ea499eea/attachment.html>