LLVM 20.x Release Third-Party Binaries

This thread will collect third-party binaries for LLVM 20.x.

Disclaimer: The binaries listed here are provided by third parties and are not officially endorsed, tested, or verified by the LLVM community. These binaries have not undergone any security checks or quality assurance processes by the LLVM project. Users are strongly advised to exercise caution and perform their own security assessments before using any third-party binaries. The LLVM community assumes no responsibility for any potential issues, including security vulnerabilities, that may arise from the use of these third-party binaries. Use them at your own risk.

Windows binary clang+llvm-20.1.0-20250202-x86_64-pc-windows-msvc.7z & signature clang+llvm-20.1.0-20250202-x86_64-pc-windows-msvc.7z.asc for LLVM 20.1.0-rc1 uploaded.

1 Like

Does llvm-test-suite support Windows? I can’t run it successfully like I can on Linux.

E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build>ninja -j 1
[1/3065] Building C object tools/CMakeFiles/fpcmp-target.dir/fpcmp.c.obj
FAILED: tools/CMakeFiles/fpcmp-target.dir/fpcmp.c.obj
E:\var\vcs\llvm-project-build_20.1.0-20250202\clang+llvm-20.1.0-20250202-x86_64-pc-windows-msvc\bin\clang.exe -DNDEBUG  /FIstdio.h    -O0 -g -Xclang -gcodeview -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd   -w -Werror=date-time -MD -MT tools/CMakeFiles/fpcmp-target.dir/fpcmp.c.obj -MF tools\CMakeFiles\fpcmp-target.dir\fpcmp.c.obj.d -o tools/CMakeFiles/fpcmp-target.dir/fpcmp.c.obj -c E:/var/vcs/llvm-test-suite/tools/fpcmp.c
clang: error: no such file or directory: '/FIstdio.h'
ninja: build stopped: subcommand failed.

Here are the results of ninja check-all from llvm-project:

Testing Time: 3619.86s

Total Discovered Tests: 140028
  Skipped          :     37 (0.03%)
  Unsupported      :  10279 (7.34%)
  Passed           : 129086 (92.19%)
  Expectedly Failed:    396 (0.28%)
  Timed Out        :      3 (0.00%)
  Failed           :    227 (0.16%)

15 warning(s) in tests

After several attempts, configuring CC, CXX and TEST_SUITE_HOST_CC to the built clang-cl.exe allowed me to succeed a few more steps, but it still failed in the end.

E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build>ninja -j 1 -v
[0/2] E:\opt\cmake-3.30\bin\cmake.exe -P E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build\CMakeFiles\VerifyGlobs.cmake
[1/7727] C:\Windows\system32\cmd.exe /C "cd /D E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build\tools && E:\opt\cmake-3.30\bin\cmake.exe -E copy E:/var/vcs/llvm-test-suite/tools/../HashProgramOutput.sh E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh && chmod +x E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh"
FAILED: tools/HashProgramOutput.sh E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh
C:\Windows\system32\cmd.exe /C "cd /D E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build\tools && E:\opt\cmake-3.30\bin\cmake.exe -E copy E:/var/vcs/llvm-test-suite/tools/../HashProgramOutput.sh E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh && chmod +x E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh"
'chmod' is not recognized as an internal or external command,
operable program or batch file.
ninja: build stopped: subcommand failed.

Yes but you need to have GnuWin32 installed and in the path.

Are you sure that you’re not mixing it up with the unit tests within llvm-projects?

(Even there, GnuWin32 generally isn’t needed these days; the test suite itself uses similar unix tools from Git for Windows, picked up implicitly. The docs recommending this was updated a couple years ago: [docs] Update Getting Started with Visual Studio guide · llvm/llvm-project@1958575 · GitHub)

The separate llvm-test-suite generally does not work on Windows, in general. Some individual tests may work, but if trying to build it all, there are large numbers of failures, due to relying on unix specific headers (pthread.h, unistd.h), conflicts between definitions in the test sources vs system headers, etc.

Cleaning it up to make it build and work on Windows would be nice, I’ve looked into it a couple of times, but it’s a quite large amount of work.

Whoops, that’s my bad for reading it a bit quickly. You are correct of course.

Testing for LLVM 20.1.0 RC1 on Linux PPC64LE is now complete. I did not find any regressions.

12ed6378866e244e430c648e348ca42542140699  clang+llvm-20.1.0-rc1-powerpc64le-linux-rhel-8.8.tar.xz

The binaries can be found at Release LLVM 20.1.0-rc1 · IBM/llvm-project · GitHub

Testing for LLVM 20.1.0 RC2 on Linux PPC64LE is now complete. I did not find any regressions.

afcb51c4fa3e46524bfe1363dd5d2db3a43e8fbe  clang+llvm-20.1.0-rc2-powerpc64le-linux-rhel-8.8.tar.xz

The binaries can be found at Release LLVM 20.1.0-rc2 · IBM/llvm-project · GitHub.

Testing for LLVM 20.1.0 RC3 on Linux PPC64LE is now complete. I did not find any regressions.

95bf6e23d466b0b44d26b91696803470f59fca6f  clang+llvm-20.1.0-rc3-powerpc64le-linux-rhel-8.8.tar.xz

The binaries can be found at Release LLVM 20.1.0-rc3 · IBM/llvm-project · GitHub.

Windows binary clang+llvm-20.1.0-20250226-ga69568efe-x86_64-pc-windows-msvc.tar.xz & signature clang+llvm-20.1.0-20250226-ga69568efe-x86_64-pc-windows-msvc.tar.xz.asc for LLVM 20.1.0-rc3 uploaded.

Linux binaries & signatures:

1 Like

After downloading your release I see in clang

clang version 20.1.0 (https://github.com/llvm/llvm-project a69568efe6c4972e71af295c6577b3412dd57c22)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
System configuration file directory: C:/Program Files/clang+llvm-20/cfg/

I unpacked it where the installer normally does as InstalledDir is showing. But system configuration is pointing to a non existent directory. Would that cause issues? I also don’t recall that being the output normally. Edit: it appears you also include libcxx with your binary. Was this considered for the installer as well?

Clang can still function normally even if the system configuration file directory do not exist. This directory is used to provide default compile parameters for the clang. The runtimes and projects enabled by the installer program are not as many as those in my version, I enabled them as many as possible.

How did check-all got this time? Could you send what failed as well? I’m trying to set up my build properly and would like to see what I can expect to fail.

Testing for LLVM 20.1.0 on Linux & Windows x86_64 is now complete.

The binaries can be found at Release Clang + LLVM 20.1.0 · songdongsheng/asset-store · GitHub

  • RHEL 7.9: Compatible with glibc 2.17 or later
  • RHEL 8.10: Compatible with glibc 2.28 or later
  • Debian 11: Compatible with glibc 2.31 or later
  • RHEL 9.5: Compatible with glibc 2.34 or later
  • OpenCloudOS 9.2: Compatible with glibc 2.38 or later
  • Windows 10

Here is building & testing configration:

  1. Windows (Visual Studio 2022)
  • LLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;pstl;offload"
  • LLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;openmp;bolt;lld;lldb;polly;mlir;flang"
  • LLVM_TARGETS_TO_BUILD="AArch64;AMDGPU;ARM;BPF;LoongArch;Mips;NVPTX;PowerPC;RISCV;SystemZ;WebAssembly;X86"
  1. Linux
  • LLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind;pstl;offload"
  • LLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;openmp;bolt;lld;lldb;polly;mlir;flang"
  • LLVM_TARGETS_TO_BUILD="AArch64;AMDGPU;ARM;BPF;LoongArch;Mips;NVPTX;PowerPC;RISCV;SystemZ;WebAssembly;X86"
1 Like

Testing for LLVM 20.1.0 Final on Linux PPC64LE is now complete. I did not find any regressions.

44d587f8e0e05a59fcf9371481aab426156604d8  clang+llvm-20.1.0-powerpc64le-linux-rhel-8.8.tar.xz

The binaries can be found at Release LLVM 20.1.0 · IBM/llvm-project · GitHub.

Testing for LLVM 20.1.1 Final on Linux PPC64LE is now complete. I did not find any regressions.

f8912304bd6e207c16b2859ccb5ce0cedcbb04e3  clang+llvm-20.1.1-powerpc64le-linux-rhel-8.10.tar.xz

The binaries can be found at Release LLVM 20.1.1 · IBM/llvm-project · GitHub

Testing for LLVM 20.1.2 Final on Linux PPC64LE is now complete. I did not find any regressions.

3fc68e688193c7a08250bc0b8b1c4a66e8cc0a53  clang+llvm-20.1.2-powerpc64le-linux-rhel-8.10.tar.xz

The binaries can be found at Release LLVM 20.1.2 · IBM/llvm-project · GitHub.

The binary release of Arm Toolchain for Embedded based on LLVM 20.1.0 is available in github. This is a successor of LLVM Embedded Toolchain for Arm . Release release-20.1.0-ATfE · arm/arm-toolchain · GitHub