This is an archive of the discontinued LLVM Phabricator instance.

Improved InformativeMailNotifier.

Authored by DoyleLi on Aug 16 2023, 10:20 PM.



Listen for the main branch.

[buildbot] Fix worker for ThinLTO whole program devirtualization

This fixes a syntax error in the extra_configure_args provided to
getClangWithLTOBuildFactory, we shouldn't be surrounding the options
with double quotes.

Once that is fixed, I realized from testing the failing command locally
that it will still fail, because the clang-specific extra_configure_args
are also used by the initial stage1 build with the system compiler,
which is gcc. We only want these for the last stage, where LTO is
performed. Added a new parameter to getClangWithLTOBuildFactory,
extra_configure_args_lto_stage, to pass the options only to that LTO

Is there a way to test my change to

jenkins: Do not resume the pipelines if the master restarts

It should help keep them from waiting forever to resume.

[MLGO] Corrected cmake variable

Added DoxygenDocsBuilder to build and publish doxygen documentation. This would build the doxygen documentation for all the LLVM projects which have it, and publish to proper places in

Added getHtmlDocsBuildFactory to build and publish LNT documentation.

This is to build and publish LNT Sphinx documentation.

Added bots to build and publish doxygen docs and LNT sphinx docs.

Fixed bad identation in ClangLTOBuilder.

Renamed HtmlSphinxDocsBuilder to HtmlDocsBuilder.

Use clang-stage2-Rthinlto host-compilers to for LLDB jobs

This should prevent that we have no regression information from LLDB because
the latest stage1 Clang we use as the host-compiler can't compile LLVM itself.

added .pylintrc

So that it can check the python code in the repo
without errors on missing imports.


[jenkins] Fix exceptions raised by urllib.request

[jenkins] Fix typo in the host-compiler path used by lldb-cmake-matrix

Start Docker-izing sanitizer-windows

This defines a new docker image for sanitizer-windows based on the
existing docker image. I chose to dockerize sanitizer-windows first,
because it cycles quickly and doesn't do a two-stage build.

My plan is to have both the existing sanitizer-windows bot and the new
one run concurrently, but the new one will connect to the silent,
staging buildmaster ( Once we are ready to cut over,
I will turn off the old sanitizer-windows VM and update this port in the
docker image and redeploy.

I am chosing to stick with the buildbot annotation script approach,
because it allows for much faster iteration: I can adjust paths for the
VS installation for example simply by committing to zorg. However, both
the live and staging bot will use the same script, so the same script
must work for both sanitizer-windows bots at the same time!

Attempt to fix Python 3 issues in annotated scripts

Put back missing strip in annotated script

Fix next Python 3 Unicode issue, the gift that will keep giving for the next 20 years

Try to fix Windows stage 2 build issue

[buildbot] Force lld for ThinLTO whole program devirtualization worker

Force use of lld, so that the configure step uses it. Otherwise we get
an error on the 3rd stage configure which will use the lld-only
--lto-whole-program-devirtualization option.


Install Numpy in the MLIR Docker image, this is required for the python bindings

Also use pip to install pybind11 to ensure the most recent version is

clang-ve-ninja: Build and use the LLVM dylib

jenkins/jobs: Checking in Clang jobs pipelines

Update branch names from master -> main

Fix Windows-on-Arm buildbots

... by disabling parts that don't build yet.

compiler-rt\lib\sanitizer_common\sanitizer_unwind_win.cpp assumes WIN64 is
x86_64, so, before that's fixed, disable everything that triggers its build.

Add a libc aarch64 worker and a debug builder running on it.

ClangBuilder: Enable fortran in test-suite

Automatically enable running the fortran parts of the test-suite if
flang is part of the checkout. In order to do this, we need to pass two
CMake defines when configuring the test-suite: one telling it to enable
fortran and one pointing it at flang. The latter picks the most recently
built flang (i.e. it chooses the one from stage 2 if there is one).

At the moment, this only affects clang-cmake-aarch64-full.

Deprecate build cache servers for aarch64 and aarch32 from Buildbot

  • Remove two builders
    • clang-aarch64-linux-build-cache
    • clang-armv7-linux-build-cache

      And underlying servers:
    • packet-linux-aarch64-slave-1
    • packet-linux-armv7-slave-1
  • These servers are not being used in a while, and the build processes provided by them overlap with other builders.

[libc] Make clang and clang++ as the explicit C and C++ compilers.

Explicitly use python3 for lit sandbox

Without this, virtualenv defaults to python2, which causes problems on
the ARM/AArch64 bots which no longer have python2 installed.

Removed lld-x86_64-freebsd builder.

Add worker sie-linux-builder and builder llvm-clang-x86_64-sie-ubuntu-fast.

jenkins: Update branch names for the repos from "master" to "main"

[lldb] Run check-lldb even if check-debuginfo failed

[lldb][monorepo] Run check-lldb even if check-debuginfo failed

Add Python binary path to CMake arguments for the clang-ppc64le-linux builder

LLVM now requires Python 3.6 which is not available in the official Ubuntu 16.04
repositories. This patch adds the path to a manually built Python 3.6 to the
CMake arguments of the clang-ppc64le-linux builder.

[zorg] Add Clang ppc64le cross-targeting buildbot on AIX

Support branches with the ForceSchedulers.

Update extraRecipients for the Windows LLDB box

[zorg] Remove redundant '\' in AIX buildbot config

[lldb] Don't run the debug info tests for the sanitized or matrix job


[jenkins] Fix TabError: inconsistent use of tabs and spaces in indentation

Support compatibility with buildbot 2.10.

This removes the deprecation warning and removes the
non-existing method addFactoryArguments (it was not doing
anything anyway for quite some time) which was breaking
the master.

Add flang out-of-tree new driver buildbot.

NFC. Some getSingleBranchSchedulers code cleaning.

Updated tags and removed redundant configure args for llvm-clang-x86_64-expensive-checks-win.

Updated requirements.

Fix android sanitizer tests for multiple devices

jenkins: More updates for "master" to "main" branch

Some cleaning.

NFC. Better names, more logs.

NFC. Changed getLntSchedulers() to follow the code style of the rest of the file.

And missing import log.

Added builders to build the release/* branches.

One GitHubStatusPush reporter is enough for our needs.

Have the buildbot email me when there is a failure on the sie-linux-builder builder.

Add flang debug new driver buildbot.

Add flang release buildbot.

Add flang release with assertions buildbot.

[zorg] Add buildbot for libcxx build on AIX

deployed new mlir-nvidia image

[clangd-ubuntu-clang] increased RAM

This fixes the out of memory issues when building with TSAN enabled.

fixed typo in comment

[clangd-ubuntu-clang] improved startup error logging

[zorg] Rename cross-targeting buildbot on AIX

Fixed misspelled builder name for e-mail notifications.

More master to main updates

jenkins/jobs: Add timeout to the lnt-ctmark-* jobs

This is so that these don't end up stuck and running forever in case of
any issues.

[sanitizer] Set default rtlib to libgcc

The default --rtlib for Android is about to change from libgcc to
compiler-rt (D96404), which will require a more substantial change to
this script to build the builtins and libunwind. For now, keep using

[sanitizer] Update x86 ABILIST filtering for x86_64 devices

An x86_64 device (e.g. Android emulator or Cuttlefish VM) might have an
ro.product.cpu.abilist like:


When the first arch starts with x86, filter out the remaining archs
that don't start with x86.

[sanitizer] Pass -e dotbytes=10m to wget

When wget writes to a log file, it defaults to 1KiB per dot, which
produces ~20000 lines of log output for the NDK. This "-e dotbytes"
syntax has existed since 1999 in wget.

[sanitizer,android] Don't check devices on error

If we already have a build error we should not check
if tests were executed. If device went offlind for some reasons
we usually show exception as it's infrastructure issue.

Howeve if we already see some compilation error we
don't want it hidden from commiters by exception.

[sanitizers] Fix checkout branch name

[sanitizers] Fix checkout branch name

[zorg] Use boolean flag to determine if building a unified standalone runtimes

For AIX libcxx build, we use ../llvm/runtimes as build source and with
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" option, since we are using
the new runtimes build laided out by the "A vision for building the runtimes"
RFC and D93408.

Enable mlir integration tests on the mlir-nvidia bot.

This is in preparation of landing, which moves the cuda-runner tests to the integration test dir.

Fixed mistype in introduced by 1d2328ff69a8503911e85140b0786429204a2113.

Add builder and worker for XCore as default target.

Don't run testsuite on Linaro quick bots.

[VE] hpce-aurora2 worker replaces nec-arrproto41

Add check-flang option to some of the Flang builders.

Add Flang builder for latest gcc.

Add Flang builder for latest llvm and libc++.

[M68k] Add new worker debian-akiko-m68k for Linux 32-bit M68k

This adds a new builder called debian-akiko-m68k which will
build LLVM and Clang on Debian unstable on m68k.

Author: glaubitz

[libc++] Remove libc++ ARM builders

In accordance with the announcement on libcxx-dev and llvm-dev [1],
we are removing the libc++ specific buildbots in favor of running
those configurations in the pre-commit CI on Buildkite. This commit
removes the ARM-based libc++ build bots.


[libc builder] Temporarily disable integration tests and loader tests.

They will be enabled back on a new bot which will do a full libc build.

Added openmp doxygen; increased the doxygent step timeout, as it could take a long time without anything in TTY.

[XCore] Build fewer components. Run 4 parallel jobs.

Do not override LLVM_LIT_ARGS: use -j from the factory.

Fix flang out-of-tree with new driver builder.

[jenkins] Temporarily disable compiler-rt tests until couple of tests are fixed

Revert "[jenkins] Temporarily disable compiler-rt tests until couple of tests are fixed"

This reverts commit 33a9f3c59121b3ad1aad2e5e3c1e7653ac4f8ad1.

Add a mailer config for MLIR testing bots to Google build monitoring mailing-list

Added support for a new src_to_build_dir argument to LLVMBuildFactory to explicitly specify a directory to start a build for.

Added support for a new src_to_build_dir argument to UnifiedTreeBuilder to explicitly specify a directory to start a build for.

Use more efficient linker for flang debug builder.

Use lld linker for flang debug configuration.

Add Clang dependency for new Flang driver in out-of-tree builder.

When building out-of-tree we need to use CLANG_DIR to find
installed Clang components.

Respect jobs property for LIT tests in UnifiedTreeBuilder.

Remove 'release' and 'aarch64' tags from Flang builders.

[libc] Add a full build worker and two builders to run on it.

[libc] Enable full build builders.

[libc builder] Enable linting on full build builders.

[lldb] Move reproducers under the matrix bot

[lldb] Remove lldb-cmake-reproducers

The reproducer were successfully integrated in the matrix bot.

Update python deps for buildbot-mlir-nvidia.

Remove Cmake compiler arguments.

This way cmake will pick /usr/local/bin/cc or c++, which we
point to the appropriate compiler.

[lldb] Mark cmake build as unstable when one or more tests fail

Revert "[lldb] Mark cmake build as unstable when one or more tests fail"

This reverts commit 557b1768a04da0d7977cb861fc4c57198d468a78.

[lldb] Remove LLDB_CAPTURE_REPRODUCER export

[VE] use local cache

There is a need to allow SanitizerBuilder to accept extra args so cmake args can be passed in, in turn allowing us to specify -j with cmake.

By default all threads available on the machines are being used by the Buildbot. This patch limits the use of threads to 256.

[zorg] Adjust libcxx buildbot config on AIX

Enable libcxx project only

Enable build_standalone in LibcxxAndAbiBuilder

Unconditionally pre-define CMAKE_ARGS in sanitizer bot.

Fixes the following bug created by
110a39811261ab69894fe77a69813f08a8c1f1a9: line 38: CMAKE_ARGS: unbound variable

Revert "Respect jobs property for LIT tests in UnifiedTreeBuilder."

This shall be properly handled in LitTestCommand instead.
Similar to how the jobs are handled for NinjaCommand, for example.

This reverts commit 13c3c22377e39033ff843659a8b49be278a20086.

Forgot to declare CMAKE_ARGS ahead of time to prevent unboud variable errors; I noticed a ccache: command not found error in the process and this fixes that too by checking the utility is available before running it.

Revert "Forgot to declare CMAKE_ARGS ahead of time to prevent unboud variable errors;"

This reverts commit 423a80226a9fdc789dc2ef18c4cefdfdf53d5b76.

[PowerPC] Allow the PowerPC RHEL buildbot to use cmake with test-suite

We would like to update the PowerPC RHEL buildbot (clang-ppc64le-rhel) to use
cmake instead of LNT, so that we can streamline our process whenever we update

[ve] fix cmake cache param

[Zorg] Add space between script and args

Add a space so that the strings are not concatenated incorrectly.

[Zorg] Change make to ninja instead for Clang RHEL buildbot

Changing clang builder's cmake_test_suite to use ninja instead
as the only buildbot that uses it builds and runs with ninja.

Deployed new mlir-nvidia

Revert "[Zorg] Change make to ninja instead for Clang RHEL buildbot"

This reverts commit f785f4216432aa0d249ee3ad1f86515caf4c7b10.

Revert "[PowerPC] Allow the PowerPC RHEL buildbot to use cmake with test-suite"

This reverts commit 4b8974b63dcc1c5eab28a6ec33328b30e63e396b.

Remove 3 Flang workers/builders

The following Flang workers/builders are removed:

  • flang-aarch64-ubuntu
  • flang-aarch64-ubuntu-clang
  • flang-aarch64-ubuntu-gcc10

The corresponding configurations are covered by other, recently added,
Flang workers/builders from Linaro:

  • flang-aarch64-latest-gcc
  • flang-aarch64-ubuntu-latest-clang
  • flang-aarch64-ubuntu-sharedlibs
  • flang-aarch64-ubuntu-release
  • flang-aarch64-ubuntu-rel-assert
  • flang-aarch64-ubuntu-dylib
  • flang-aarch64-ubuntu-debug

When compared to the workers/builders deleted here, the new Flang
workers from Linaro provide much better:

  • granularity in terms of configurations
  • build times

[zorg] Support other relative scripts in AnnotatedBuilder

AnnotatedBuilder should be able to launch both python and bash
scripts. It should launch with python for scripts that specify
the script_interpreter as python, or allow the user to specify
another interpreter. Otherwise it will execute an empty
script_interpreter script directly. Also, move the --jobs option
to be the default of extra_args, otherwise allow the user to
override extra_args.

[zorg] Add buildbot for HIP

Build HIP tests from llvm-test-suite using AMDGPU.
Will be extended to build external repo.

[sanitizer] Add scudo tests on QEMU

[sanitizer] Improve naming of bot steps

[sanitizer] Fix typo in bot script

[sanitizer] Enabled QEMU bot failures

[jenkins] Add groovy script for the llvm-cov job

[sanitizer] Cleanup build dirs hierarchy

[sanitizer] Run scudo on qemu-armhf

Adjust jobs for aix-ppc64-ppc64le worker

since the machine now has additional resources.

[zorg] Add buildbot for Synopsys ARC

Create AWS worker for LLVM Experimental Target : ARC

[zorg] Build and test project depends on project enabled in LibcxxAndAbiBuilder

Build and test project depends on project enabled in LibcxxAndAbiBuilder;
Let all steps respect env passed in;

Fixed bug introduced by D100497 - local variable jobs_flag referenced before assignment.

[zorg] Fix extra_args bug

Do not assign WithProperties("--jobs=%(jobs:-)s") to
extra_args, because extra_args_with_props will perform
WithProperties(...) on all of the args in extra_args.

Bumped urllib3 from 1.26.3 to 1.26.4.

Added enable_runtimes and enable_projects to LLVMBuildFactory.

Added support for LLVM_ENABLE_RUNTIMES to UnifiedTreeBuilder.

Documentation builds do not support LLVM_ENABLE_RUNTIMES.

Added support for LLVM_ENABLE_RUNTIMES to ClangLTOBuilder.

Changed LibcxxAndAbiBuilder to use LLVMBuildFactory enable_projects and enable_runtimes.

Revert "Support compatibility with buildbot 2.10."

Temporarily revert commit 3f44862c69dd1766b51ea408d2cba6ec5c76c30a, as we are still with 2.8.4 in the production.

Will be re-applied after migration to 2.10 or later.

Added "auto" for LLVMBuildFactory enable_runtimes arg; changed default to not use enable_runtimes.

[Zorg][OpenMP] Add CUDA offloading worker.

This worker tests OpenMP offloading for the x86_64 and NVIDIA GPU. In
addition to check-openmp, it runs the SOLLVE Validation & Verification Suite
via the LLVM test-suite External builder. The builder is configured to
only warn if the SOLLVE suite fails, as it also tests features that
have not been implemented in Clang yet.

CUDA is intentionally not installed in a default location (/opt/cuda) to
resemble setups often found in computing clusters with multiple versions
of CUDA to choose from.

[PowerPC] Change RHEL buildbot to unifiedtreebuilder

The patch switches the RHEL buildbot to utilise more jobs when building, as
well as UnifiedTreeBuilder (ie, with cmake and Ninja).


Remove -DFLANG_BUILD_NEW_DRIVER=ON from builders. NFCI

FLANG_BUILD_NEW_DRIVER defaults to ON now, so there's no need to add it

jenkins/tasks: virtualenv: Use the Python3 interpreter

[sanitizer] Remove disabled line

[sanitizer] Fix COMPILER_RT_DEBUG assignment

Added missing comma in clang-ppc64le-rhel builder configuration.

[sanitizer][NFC] Reuse cmake setup

[sanitizer] Fix asan builder name

[sanitizer] Remove unused GN reference

[sanitizer] Add dedicated QEMU builder

[scudo] Test on mips and ppc QEMU

[sanitizer] Fix "set -e in subshell" in QEMU checkout

[scudo] Remove HWCAP2_MTE workaround

It's not needed after

[scudo] Fix "set -e in subsell" issue

[scudo] Combine cmake/ninja steps

[scudo] Print executed tests

[scudo] Install cross compiled libs into STAGE1

We need this for LIT future lit tests.

Update configuration for Arm/Aarch64 cross Windows to Linux toolchan builders.

Those builders:

  • llvm-clang-win-x-armv7l
  • llvm-clang-win-x-aarch64

Run only 1 build at a time for heavily loaded workers.

Fixed undefined runtime_projects in OpenMPBuilder.

[sanitizer] Prepare for D102543

Mips requires special handling

[sanitizer] Remove QEMU from sanitizer-buildbot3

[libfuzzer] Print running tests

[libfuzzer] Remove unnecessary cmake flags

Linking job limit is unnecessary with LLD.
LIBFUZZER_ENABLE_TESTS does not exist any more.

[sanitizer] Run QEMU cmakes in parallel

[sanitizer] Remove nested buildbot_qemu call

Now it has own builder.

[PowerPC] Removed -DLLVM_ENABLE_PROJECTS=flang from PowerPC flang buildbot

With FLANG_NEW_DRIVER default to on now, it is necessary to remove this
option for the bot to be able to build again.

[clangd] Update gRPC dependency for remote index tests


Limit the number of parallel link jobs for the full LTO builder. With the larger number of link jobs the build time grows significantly, and with the default value it randomly runs out of memory.

Limit the number of parallel link jobs for the full LTO rerlease builder.

[MLIR] Update MLIR build config to reflect cmake variable renames

Update CMake variables to reflect the migration for a consistent naming:

Additional discussion at:

[zorg] Remove flang-aarch64-ubuntu-out-of-tree-new-driver

The new driver is on by default now, so this builder does the same thing
as flang-aarch64-ubuntu-out-of-tree.

Removed abandoned lldb-sphinx-docs builder.

[sanitizer] Switch to patched QEMU

[sanitizer] Fix QEMU checkout

[sanitizer] Test HWASan + LAM via QEMU.

Uses LAM-enabled full system QEMU emulation to test HWASan's LAM

Depends on:

[buildbot-clangd-ubuntu-clang] deployed new docker image

This is just the deployment for the container updated in

[MLIR] Enable tensorcore integration tests

[VE] disable cmake caches until resolved

Enable retry on failed git operations

This should address issues like
fatal: unable to access '': Could not resolve host:

llvmbisect: Add support for monorepo artifacts

This is now compatible with both svn and git/monorepo artifacts, and
also works across them.

[libc] Add a "libc-fuzzer" step in full build mode.

[zorg] Cleanup clang-cmake-{armv7,aarch64}-quick bots

Run "ninja check" for armv7 bot and don't pretend we run
LNT testsuite for the aarch64 bot.

[zorg] Build all targets on Linaro-maintained bots

... not just AArch64 and ARM. Make an exception for the quick
bots, which build a single target.

[zorg] Add AArch64 SVE vector-length-specific (VLS) bots

We add 1-stage bot that tests SVE support by building/running testsuite,
and 2-stage bot that additionally builds 2nd stage compiler with SVE.

[zorg] Rename Linaro's AArch64 and ARM bots to use consistent names

This will simplify Linaro's buildbot maintenance scripts. We also
remove now-unused AArch64 and ARM libcxx workers, since these have
been migrated to buildkite a few months ago.

[zorg] Remove settings that match defaults from Linaro bots

Remove from arguments of ClangBuilder.getClangCMakeBuildFactory

  • checkout_compiler_rt=True
  • checkout_lld=True
  • test=True
  • useTwoStage=False
  • testStage1=True

All these are defaults anyway.

[zorg] Rename Linaro-maintained 2-stage bots

... to have consistent -2stage suffix.

Update compiler on hexagon-build-0x machines

Add flang-x86_64-windows builder.

Add a buildbot to compile flang using msvc. Due to msvc doing some things differently than other compilers, the msvc flang build breaks regularly. This builder will notify committers if their change causes the build to break.

However, the tests never completed successfully on Windows, partially because many tests require a UNIX shell (see D89368). To not constantly fail, tests failures only trigger a warning, until all tests are fixed as well.

Currently running here:

[M68k] Add new worker suse-gary-m68k-cross for Linux 32-bit M68k

This adds a new builder called clang-m68k-linux-cross which will
cross-build LLVM and Clang on openSUSE Leap.

[libc++] Remove build bots that are handled on BuildKite now

Those builders have been failing for months because they use a version
of Clang that we don't actively support anymore. Furthermore, all those
configurations (single-threaded, no exceptions, with LLVM's unwinder)
are being tested on BuildKite.

At this point, I think those builders are only adding noise and using
resources that could be repurposed to other tasks, so I think it is
reasonable to remove them.

[lldb] Actually let the matrix bot test something

Since landed the bot has been setting unused
CMake variables for specifying test compilers which meant this bot hasn't
been testing anything since 2019. Reenabling the tests so that we can start
fixing the failing tests.

[NFC] Reformat sanitizer workers

Reassign sanitizer builders/workers

Less builds for sanitizer-buildbot{2,8}

[sanitizer] Simplify clobbering

[sanitizer] Cleanup after build

[sanitizer] Fix compiler_rt_build cleanup

[sanitizer] Add QEMU cleanup

[NFC][sanitizer] Add newline at the end

Disable GPU in polly-arm-linux and aosp-O3-polly-before-vectorizer-unprofitable

[AIX][PowerPC] Reduce number of parallel link jobs for AIX crosstargetting buildbot

Reduce the parallel link jobs so that we reduce machine hangs and timeouts.

[sanitizers] Remove unset variables

It looks nothing else uses them.

[zorg] Reduce # targets built on Linaro flang bots

The flang bots are only running check-flang and are not really
exercising the backend in any way. At the moment most of them
are taking about 1h to run, and we should be able to reduce that
a bit by disabling targets other than the host (AArch64) on them.

[zorg] Hotfix for PPC64le MLIR build issue

The public builder for MLIR on Power currently has an
issue choosing the correct libc. This patch provides
a environment variable to guide CMake to the correct

Move QEMU LAM sanitizer images to env-defined folder.

Also add some nice debug info as to how to build the images yourself.
This also makes the bot selector define the build dir and the QEMU image
dir, rather than these being hardcoded on the script side (which non-bot
users will want to execute to repro the bot).

[jenkins] Update script to use cross project lit test suite

To reflect changes announced in,
this patch updates all occurrences of debuginfo-tests to

Add chown to buildbot_qemu local repro instructions.

[sanitizer] Fix mips QEMU build

[scudo] Disable mips 32bit tests

It times out for unknown reasons.

[sanitizer] Don't tie builders with particular workers

This simplifies management of VMs. We don't need to care which
are online. If some is gone we will just see less frequent builds.

[sanitizer] Missing image is infra issues

This avoids spamming blame list


Add cross-project-tests to SIE Linux builder.

Enable LLD tests together with the expensive checks on the expensive check builders.

nclude LLD project to build and run the tests together with LLVM expensive checks on all
appropriate builders:


The LLD test use the expensive check data structures and it would be good to detect
the failures when they configured with -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON (ref: D105071)

Revert "[sanitizer] Don't tie builders with particular workers"

This reverts commit d37259ec73a4341700e981214b9032631adfdda0.
With some changes.

[zorg] Add HIP builder script

Simple script for HIP builder to build llvm-project incrementally,
then build and execute HIP tests from llvm-test-suite.

[ORC-RT] Disable ORC Runtime on ccache builders.

The ORC runtime contains assembly files that don't seem to build correctly
under ccache (e.g.
This commit disables the ORC runtime on those builders, which seems to be the
same fix that was adopted for XRay and other compiler-rt libraries that use

Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot

Our build is failing:

Due to a vectorisation issue being investigated as

Remove the bits-min flag until this bug is fixed so we at least
get coverage of the 2nd stage build with SVE codegen.

jenkins: cmake_builder and clang_builder: Ignore error in the test stage

This allows us to proceed to generating the test result report.

jenkins: Stop uploading the compiler build artifacts to cloud storage

The storage space has been decommissioned.

jenkins: Fix the file path pattern for the test results XML files

Include all the available test results files in the build directory.

Add missing closing quote to SVE 2 stage cmake options

Missing from 24c07902d058abcee3bcf908676bacaae1f3d448.

[Zorg] Use ccache instead incremental build for openmp-offload-cuda-runtime.

Building with LLVM_ENABLE_RUNTIMES=openmp has the disadvantage that if clang changes, the runtime that was built with the previous clang is not rebuilt. That is, if the runtime is miscompiling due to a change in clang, this will only be detected in the next clean build.

For instance, commit rG1100e4aafea233bc8bbc307c5758a7d287ad3bae caused the libomptarget device runtime to miscompile, but the openmp-offload-cuda-runtime builder shows it as green. Tests only started failing with the next clean build. In production, this would have blamed the wrong commit.

In contrast, the openmp-offload-cuda-project builder started failing with the expected commit.

Instead of building incrementally, use ccache to avoid this problem.

Revert "Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot"

This reverts commit 24c07902d058abcee3bcf908676bacaae1f3d448.

The issue is still present but given that it's not sending out any
new notifications I'm going to leave it as is for now.

It actively building is somewhat useful for those working on
the issue to know what the current status is.

Update config for aosp-O3-polly-before-vectorizer-unprofitable

The bot has moved to a new host with a newer AOSP codebase. Update the
buildbot config to match.

Change-Id: I474f4503078acdf4109ce755228379ae81a39be7

[sanitizer] Run two builds at the time

[NFC][sanitizer] Remove misleading comment

[sanitizer] Move cpplint to the end of the build

[sanitizers] Don't run cpplint

The script was removed.

[LLDB] Set lit arg -j4 for Arm/AArch64 Linux buildbots

We have started seeing some sporadic test failures on LLDB Arm/AArch64
Linux buildbots. This patch reduces no of parallel tests to 4 so
to provide some bandwidth for the timing critical and load dependent
test cases.

removing windows deployment

It's been unmaintained for a while and it's unclear
if we need a 32bit setup at all

Add a libc x86_64 windows worker and a debug builder running on it

Add buildbot for OpenMP on AMDGPU

Build OpenMP for AMDGPU target

Added jobs param for hip-vega20-0 worker, as getOpenMPCMakeBuildFactory cannot handle optional params.

Reverted 8ff202c1648d4dba1803aa0cade81790a8382c6c. Added jobs param for the right worker - omp-vega20-0, as getOpenMPCMakeBuildFactory cannot handle optional params.

Update openmp-offload-amdgpu builders

Disable SOLLVE testing for time being.
Clean build for openmp-offload-amdgpu-runtime.
Remove lld from depends_on_projects.
Remove LLD cmake options.

Correct openmp-offload-builders lld, openmp

Remove obsolete libc++ release builder

We should be using BuildKite instead. That build bot is broken now
anyways because it is using an unsupported compiler.

[HIP] use bootstrap to build libc++

Recent libc++ changes request clang-11 or gcc-11 to build.

Switch to a bootstrap build step to use built clang to build libc++.

Add Windows equivalent to

Create an annotated Windows builder for libc buildbot.

openmp-offload-amdgpu-runtime: Disable testsuite for runtime. set ccace for runtime

disable llvm-test in openmp-offload-amdgpu-runtime
add ccache options for C and CXX

[libc] Get and set vcvars before running the steps.

Also added the CMake flag to pick up MPFR.

[libc | windows] Use the items method to iterate over dict items.

Enable flang examples on a few builders

flang-aarch64-rel-assert (which uses static libs) and
flang-aarch64-sharedlibs (which should be relevant for testing the
plugin support).

[sanitizer] Fix TMPDIR for older Android versions

[sanitizer] Move QEMU image check

[sanitizer] Move QEMU LAM steps

[sanitizer] Move more QEMU LAM steps

[sanitizer] Fix configure_hwasan_lam

[sanitizer] Name "configure hwasan" step

[sanitizer] Revert my Recent QEMU LAM changes

This reverts commit 2b6b16cbc17f5dadc621c9e96082df768be792d6.
This reverts commit b37ed8bbbce7eea797d5f684803f30d7b8532b75.
This reverts commit 75c452375a04c133c82407ecf139934efb4dd23c.
This reverts commit 71d17a80d274ffd4db8f15521d564a18c8e5c1ed.
This reverts commit e257cd977be51b29c9c3c650de4fe300a99c68f2.

[sanitizer] Delay LAM Prerequisites check

Image setup may be finalizing in background

Replace new-pass-manager-fast builder with llvm-dylib-all

Test a LLVM build with the dynamic library enabled. Remove the
clang-x86_64-debian-new-pass-manager-fast builder since the new pass
manager has been the default since Feb 21.

[sanitizer] Update Android bot for D108494

[sanitizer] Fix the previous fix for D108494

openmp-offload-amdgpu-project - disable test suite, since no SOLLVE is run

add libc scudo test to build config

move compiler-rt add before join

disable scudo integration if asan is enabled

Updated configuration for Arm/Aarch64 cross Windows to Linux toolchan release builders.

Find libc++ in the per-target runtime directory

Fixes build after "[CMake] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR by
default on Linux.


On sanitizer bots, revert to all runtime libraries in a common dir for

Add openmp as dependent project , so as to trigger buildbots on openmp commits

Add openmp to dependents for openmp-runtime

Revert "Add openmp as dependent project , so as to trigger buildbots on openmp commits"

This commit is breaking "openmp-offload-amdgpu-project"

This reverts commit f8acf5e95be0bb0d2c21f5b8b0be0325439ec311.

[Zorg] Add AArch64 SVE Vector-Length-Agnostic bots

... and update AArch64 SVE Vector-Length-Specific bots to use new options.

[openmp][amdgpu] Remove dependencies clause [llvm,clang,lld] from project

There are other projects that can affect build of openmp, libcxx for example.
Desire to have each commit trigger a buildbot.
current situation was that some commits did not trigger and would roll into subsequent bot.

Revert "[openmp][amdgpu] Remove dependencies clause [llvm,clang,lld] from project"

This reverts commit f2ab06acd09aa700cdfa461545a1d40056c0c092.

[Zorg][PowerPC] Implemented run test suite functionality in two builders

This patch implements running test suite on unified tree and clang builders.
The patch was tested on a local test server.

Revert "[Zorg][PowerPC] Implemented run test suite functionality in two builders"

This reverts commit 96033070cd80d01d9e2f2aa077d7a8ea2ad5840d.

Add SKIPPED to known result names.

A new test result on the buildbot workers, "SKIPPED", was introduced by D102754.

This was not specifically handled in, so some build results
displayed, "Unexpected test result output SKIPPED", without the number of tests
producing that result.

This patch is to handle "SKIPPED" and display the number of tests producing that
result, as "X skipped unit tests".

The patch will not turn a red build into a green one, just display the relevant
number of tests.

I don't have a local copy of the buildbot infrastructure to test this for side
effects, but @gkistanova staged the change 2 months ago (June 2021), and it is
displaying the results as intended.

The first build of interest, showing "Unexpected test result output SKIPPED",

A recent build showing the intended "X skipped unit tests" is:


This allows us to remove a COMPILER_RT_DEFAULT_TARGET_TRIPLE hack from

Fix a capitalisation problem

The build system doesn't accept "All" here, we must pass "all".

Add O3 flag to VLS and VLA configs

A missing O3 flag in the VLS and VLA buildbots was resulting
in some false positives slipping through. e.g., CLAMR fails when
running LNT with O3 but passes without it.

[Sanitizers] Fix broken LLVM_ENABLE_PROJECTS config.

[PowerPC] Implement a TestSuiteBuilder

This patch implements TestSuiteBuilder, which utilises
UnifiedTreeBuilder to build with ninja, and then checks
out llvm-test-suite, builds it and runs it.

The patch also changes the PPC RHEL bot to this new builder.

Avoid building the entire tree and testing LLVM itself on MLIR builders

This reduces the amount of targets to build and tests. The build gets faster (see below) but
the main motivation right now is to not get notified by an mlir-* bot when there is a failure
in a LLVM test (there are enough other bots to cover these).

Build time gain is hard to evaluate because it is highly dependent on the machine.
Below are the results on my Linux machine (with the same cmake config as the
win-mlir-buildbot, so no python tests):

$ time ninja check-mlir -j 16
894.323 [0/1/2803] Running the MLIR regression tests

Testing Time: 98.80s
  Unsupported      : 163
  Passed           : 927
  Expectedly Failed:   1

real	16m41.103s
user	188m17.260s
sys	23m22.081s

After that, adding ninja -j 16 results in an added:

$ time ninja -j 16
441.094 [0/1/767] Linking CXX executable bin/SpeculativeJIT

real	7m21.771s
user	86m25.291s
sys	15m5.505s

So it is ~1/3 of the build time that we're saving here.

Fixed repeated keyword argument; added missing TestSuiteBuilder import.

Add mlir-ubuntu-worker{1,2,3,4} to the buildbot config

The builder definition will come later.

Add a llvm-x86_64-debian-dylib mail notifier

Add a builder for testing MLIR with sanitizers

Revert changes to buildbot/google/docker/ unintentionally pushed with another change

Fix MLIR Ubuntu worker names in the builder config

Add mlir builder for s390x

Fix builder syntax: the cmake invocation does not include shell expansion and quotes were left as-is in the arg list

[lldb] Remove reproducer stage from the matrix bot

[lldb] Split LLDB and debug info tests into separate stages

Use check-mlir-build-only for the build step instead of mlir-opt

mlir-opt was used as a proxy to build "most" of the code before
running the testing step. Replace it with the newly introduced
check-mlir-build-only target which includes all of the build target
needed to run the tests.

Add more MLIR builders and refactor slightly the config

Disable LLD for the clang-5 build: it suffers from

Create an annotated builder for VE

clang-ve-ninja, fix: build targets in llvm build dir

[lldb] Move LLDB incremental from green dragon 10 to 4

[lldb] Move LLDB incremental from green dragon 10 to 04

clang-ve-ninja: Fix source path

Disable bindings on x86_64-debian-dylib builder

The tests for the OCaml bindings fail when using the dylib.

clang-ve-ninja: remove redundant quotes

Add mlir-ubuntu-worker-0 to the mlir worker pool

[builder][amdgpu] remove one builder - project, keep builder runtime

in preparation to move amdgpu openmp builder from Staging to buildbot,
i am retaining the runtime variant of the two builders we had in use during staging testing.
a second system is being ordered, and it will house a newer worker/builder that will be in staging.

Galina suggested that it was better to add new workers to a new machine if possible to avoid introducing stability issues in the buildbot.

Add mlir-ubuntu-worker0 to the MLIR builders

clang-ve-ninja: Use make targets as build steps

This turns '' into a driver to do annotated builds with
Makefiles, for now just 've-linux-steps.make'. The 'get-steps' target
returns a list of make targets. The annotated builder creates a build
step for each of them.

The rationale for this is mostly the convenience of Makefiles and being
able to use the same script in buildbot and elsewhere.

clang-ve-ninja: fix script (cwd<>dir)

clang-ve-ninja: fix: remove empty target in get_steps

Put a temporary workaround in place for codesigning on the green-dragon-04 replacement machine.

[builder][amdgpu][openmp] disable use of ccache for now

Revert "[builder][amdgpu][openmp] disable use of ccache for now"

This reverts commit 856646ccf14eb08adc29fef8d4a591465b835791.

CCACHE is helping our build times. putting it back

clang-ve-ninja: build and install compiler-rt

clang-ve-ninja: check compiler-rt

mlir-s390x-linux: collapse requests

[AIX] Switch the build compiler to OpenXL

Update the compiler to use OpenXL 17.1

Turned off the assertions for ThinLTO deterministic build, as unreachable emits a full path to a autogenerated files in the build directory.

[zorg] Remove the clang-ppc64le-linux bot

This patch aims to remove the clang-ppc64le-linux bot.

The clang-ppc64le-linux bot was originally meant to be a bot to build LLVM and
run LIT tests, in order to quickly notify of any regressions. However, building
on the bot is not particularly quick at all.

As this bot only performs a subset of the tests that the other bots runs, and
that the average build times shown on the webpage exceeds that of other bots
(such as the multistage bot), it defeats the purpose of having this "quick bot"
in the first place.

[zorg] Reorganize Polly builders.

Instead of a single build configuration, add 6 builders of the configurations (static, shared, shlib) x (LINK_POLLY_INTO_TOOLS=ON/OFF) for the 2 gce buildsbots. The test-suite build is extended to include external tests (SPEC benchmarks, povray) and moved to 2 other workers that should be able to compile it faster. Also, the verbosity is reduced (seems to have caused problem when the buildbot master receives too much data) and -polly-process-unprofitable is used for greater test coverage.

Unique builddirs for polly builders.

[zorg] Add email notifiers for Polly/CUDA OpenMP Offload/Flang builders.

[VE] Don't halt on check failures

[VE] Enable libunwind runtime

[zorg] Remove lldb-x86_64-fedora

[zorg] Add Polly Documentation builder.

Check whether Polly's documentation is building correctly.

Run chromium's llvm update script with python3.

[VE] clang-ve-ninja: Always build from scratch

[ve] clang-ve-ninja: build static libs

[sanitizer] Minimize android script for debugging

[sanitizer] Run only arm 32bit tests

[sanitizer] Try to fix output on Android bot

[sanitizer] Undo some dedugging changes of 905dbb953b60d4f5442da005f5c09025b58f0af1

[sanitizer] Disabled parallel testing on multiple devices

[sanitizer] Undo debug changes

[zorg] Add Experimental Buildbot for OpenMP on AMDGPU

Add openmp-offload-amdgpu-runtime-experimental builder to worker omp-vega20-1

Author: David Salinas, submitter: Ron Lieberman

[jenkins] Add a --runtimes flag to

Add a --runtimes flag to to set LLVM_ENABLE_RUNTIMES
now that using LLVM_ENABLE_PROJECTS for libcxx and libcxxabi has been

For now I left the defaults unchanged so I can transition the affected
jobs incrementally.

[msan] Rerun with track origins

Workaround for ignored step errors

Buildbot does not show failed step if they are short.

[builder][amdgpu][experimental] enable testsuite

Enable "test trace" mode on the lldb-x86_64-debian builder

This should help clarify what went wrong when the tests fail.

[sanitizer] Fix msan origins fallback

[builder][amdgpu][experimental] Tweak sollve flags for amdgpu

Switch from master to main in Chromium URL.

Chromium is planning to remove the master branch in its
src repository. The branch was temporarily removed as announced here:

and that broke the bot for a few hours. So let's switch to main to avoid
any future breakage.

[VE] cmake cache for tools, parametric CMAKE,NINJA

Add a relay-lldb job to trigger stage2 LLDB bots for builds that passed stage1.

register option properties

move relay job to green-dragon-23

Build fewer targets on the LLDB bot

Revert "move relay job to green-dragon-23"

This reverts commit 084a5ac3f39eed3a19c93f0a4daa64f541484601.

Make sure stage2 LLDB builder download the correct compiler artifacts


fix job name

Add clang 11 and 13 to the LLDB matrix bot

Revert "Put a temporary workaround in place for codesigning on the green-dragon-04 replacement machine."

This reverts commit 66f091ff8a67ea00042133ed804bb603f04e3864.

Revert "Revert "Put a temporary workaround in place for codesigning on the green-dragon-04 replacement machine.""

This reverts commit ff44ecde6325e532c0ccdc71d1d30b375ca606e8.

[sanitizer] Disable dead device on the Android bot

clang-ve-ninja: Add hpce-ve-main, hpce-ve-staging workers

[VE] notify and build as official target

VE is an official target, adapt the clang-ve-ninja builder accordingly.

Depends on D113247 - the official backend status.

Revert "[VE] notify and build as official target"

This reverts commit feb754795a1d21d4644351b360f805e8e449026b.

Revert "Revert "[VE] notify and build as official target""

This reverts commit 5db9389c3afd04a46c62bfdcb9590f4714975a69.

Switching to follow llvm-project.git:

commit 6f25e754a0d
Author: Simon Moll <>
Date: Thu Dec 2 11:17:47 2021 +0100

Revert "Revert "[VE] Make VE official""

[VE] remove redundant MailNotifier

clang-ve-staging: Staging builder for VE work-in-progress features

[mlgo] Add more workers

temporarily disable running tests on lldb-standalone bot

[AIX][PowerPC] Change AIX buildbot to target native AIX build

The AIX buildbot has been setting as ppc64le as its target. Change it to target
AIX instead.

Remove Paula and add Tue and Michael to the libc notification list.

Paula does not work on the libc project anymore.

Removed lld-x86_64-darwin builder.

Renamed aix-ppc64-ppc64le to aix-ppc64 to fix broken llvm-zorg after committed D115305.

Update string formatting for AnnotatedCommand to support Python >3.7.

Replaced %s/%r with format {} sequences for the debuglog statements.

Update configuration for 'llvm-clang-x86_64-expensive-checks-ubuntu*' builders.

Fix the sporadical build failures related with the system ld linker crash on Ubuntu system:

collect2: fatal error: ld terminated with signal 9 [Killed]

Use linker instead of ld. Also split DWARF into separate files during the builds.

Remove source code only when requested by the build property.

[sanitizer] Simplify buildbot script

[sanitizer] Fix typo in msan bot script

[msan] Enabled noundef checks on bots

Add BOLTBuilder: BOLT custom builder

The builder is based on UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory, but adds one extra checkout step
between getLLVMBuildFactoryAndSourcecodeSteps and addCmakeSteps/addNinjaSteps.
Builder checks out binary tests from another repo, currently at
The plan is to transfer the repository over to llvm organization in the future.

The configuration is tested with a temporary build master, which points to the current BOLT repo instead of the monorepo.

This diff is a part of BOLT upstreaming:

Added support for the silent tag.

Buildbot would not send e-mail notifications to blame list for builders with this tag.
This helps supporting cases when only a bot owners want to be notified and take care of the failures and issues by themselves.

Removed abandoned clang-x86-ninja-win10 builder and windows10-vs2019 worker.

Add BOLT builder and worker configurations

Trigger BOLTBuilder on changes to llvm

BOLT depends on LLVM libraries (MC, Object, Target, DWARF, ...) so we want to
trigger BOLT build and test on changes to llvm project.
Add llvm to BOLTBuilder's depends_on_projects.

[zorg] Update flang out-of-tree builder use the build directory instead of the install
directory for clang. This matches recent changes
to the documentation:

[zorg] Add flang to clang-arm64-windows-msvc

This requires a small hack to add the path to clang's builtins
library to the link commands. We're putting that in an environment
variable so we can update it on the bot whenever we're updating
the clang version that we use.

[lldb] Run the test suite in verbose mode

Run check-lldb in verbose mode so that the bot shows which tests are

jenkins: Pipeline for Sanitizer testing on iOS simulators

[lldb] Don't pass -j%(jobs)s to lit

[Zorg] Honor clean_obj in WebUI.

Delete the build dir if either clean_obj or clean is true. Previously, build dir would not be cleaned if clean is false, even if clean_obj is true.

For reference, when which of the properties are set:

Normal build:

"clean": does not exist
"clean_obj": does not exist

Commit with CMakeLists.txt change:

"clean": does not exist
"clean_obj": [true, "change"]

"Force Build" -> "Clean source code and build directory" checked:

"clean": true
"clean_obj": false

"Force Build" -> "Clean build directory" checked:

"clean": false
"clean_obj": true

"Force Build" -> "Clean source code and build directory" and "Clean build directory" checked:

"clean": true
"clean_obj": true

[AIX][PowerPC] Have AIX buildbot build compiler-rt and build and test llvm-test-suite

Update the config so we build compiler-rt as a runtime and test llvm-test-suite.

[msan] Use -fsanitize-memory-param-retval

[msan] Temporarily remove -fsanitize-memory-param-retval

LLDB Windows x64 buildbot set lit -j8

LLDB windows x64 buildbot has falky behavior on testsuite. I am setting
number of parallel tests to 8 on this buildbot in hope that it improves
testsuite stability like it did for Linux/Arm.

Bump pybind11 version for mlir-nvidia

MLIR now requires this version.

Bump the MLIR-nvidia Buildbot docker image

Add worker sie-win-worker and builder llvm-clang-x86_64-sie-win.

Remove fedora builder and worker

This patch removes this builder:

  • x86_64-fedora-clang

and this worker:

  • fedora-llvm-x86_64

This builder and worker haven't been maintained by me for a while and
I initially installed them with the intend to support them much longer.
But this was only the beginning of my journey with LLVM CI...

Fixed the wrong arg name.

Added thinlto-x86-64-bot2 worker; fixed emain notifier for clang-with-thin-lto-wpd-ubuntu builder.

Change -j64 to -j61 to avoid a python bug where lit just hangs after testing.

[libc] Disable linting on the full build builders.

Temporarily disable clang modules on LLDB bots while investigating breakage


Small updates to PS4 buildbots. * Rename sie-linux-builder to sie-linux-worker * Add lldb project and -DLLDB_ENABLE_PYTHON=TRUE to llvm-clang-x86_64-sie-ubuntu-fast job to enable cross-project-tests testsing * Add llvm-clang-x86_64-sie-win... list of jobs that email me on failure

[lldb, win] Skip watchpoint tests on the Windows lldb bot

The watchpoint tests are particularly fragile, so skip these on the Windows buildbot.

[AIX] Limit parallel link jobs to 2 for AIX buildbot

Lowering the setting to 2 from 6 to improve stability of the machine.

Reduce the amount of parallelism on lldb-matrix

Added missing comma.

Fixed --skip-category for lldb-x64-windows-ninja.

Revert "Temporarily disable clang modules on LLDB bots while investigating breakage"

See llvm-project 2afc8be2faaa83c5f01432798596ebec90767fef.

This reverts commit b7ed0a7e1c8fed2321a104dd7031cb25eed36128.

Throttle the lldb-matrix bot even more

[zorg] Remove the clang-ppc64be-linux bot

This removes the clang-ppc64be-linux bot.

The clang-ppc64be-linux bot was originally meant to be a bot to build LLVM and
run LIT tests, in order to quickly notify of any regressions. However,
it does not have an average build time that is faster than other bots like the
clang-ppc64be-linux-lnt even though it is running a subset of this bots
test. It is therefore no longer useful as a "fast builder" for reporting
regression in the build or LIT testing and is being removed.

[clang-ppc64-aix] Set OBJECT_MODE as an builder wide env

Currently we pass this env to the build factory, but that means it only gets propogated to those factory steps which remember to pass the env into their respective shell commands.

On AIX, it's important that this env remain constant across the cmake/ninja/lit invocations or we will get into strange mixed bitmode situations, so set it as a builder env that will be inherited by all shell commands by default.

jenkins: Stop using sccache

Removed nersc-flang worker and flang-x86_64-linux builder.

Bumped sqlparse to 0.4.2, urllib3 to 1.26.8, treq to 22.1.0.

Limit test parallelism on Linaro's AArch64 compiler-rt bots

These run on a shared machine where the number of cores
is much greater than the number a single bot can expect
to use at once.

This is fine for compiling but for sensitive tests like
a few in compiler-rt, they can fail randomly depending on
how long they have to wait for resources.

Revert PS4 linux bot to original configuration and add cross-project-tests builder

Reduced verbosity of LLVMPoller logs.

disable llgs tests on matrix bot

skip debugserver category on matrix bot

[LLDB] Force clean build for aarch64/arm-ubuntu builders

This patch enables clean build flag for LLDB Arm/AArch64 builders.

[VE] Adapt to

[BOLT] Enable shared libraries build

Enable a build-only configuration with BUILD_SHARED_LIBS to check for build

[buildbot] Enable CCACHE for all stages of ThinLTO WPD worker

Previously CCACHE was only enabled for the last of 4 build stages.
Enable for all stages to speed up bot.

[libc] Make the aarch64 builder and fullbuild builder.

Bumped twisted to 22.1.0.

[BOLT] Use BOLT_{CLANG,LLD}_EXE in shared libraries build

[Buildbot] Updated configuration for Armv7/Aarch64 Win-x-Linux cross builders.

In order to updated the cmake cache file for the Linux-x-Win cross builds,
which has been changed to support building the libraries in the multitarget mode,
we need to update the builder configuration to handle running the library tests
properly. Currently we need to specify a proper target for the tests directly
within the lit test parameters (or ninja target).

[AArch64] Limit SVE bots to testing on 12 cores each

Which is a realistic guess at how many they'll actually be able
to use on their shared machine.

This tactic has reduced flaky failures on the other AArch64 bots
so applying it here too.

Add LLDB AArch64 Windows buildbot

This patch adds a new builder and worker for LLDB AArch64 Windows
buildbot. Worker runs on Microsoft Surface X Pro laptop.

Change clang-ppc64le-rhel to use -DCLANG_DEFAULT_PIE_ON_LINUX=OFF

to work around some sanitizer test issues:

Revert "Change clang-ppc64le-rhel to use -DCLANG_DEFAULT_PIE_ON_LINUX=OFF"

This reverts commit b6ddf02ce3a54da2df29e7e599b1838167e0e3ad.

This change was made to workaround failures caused by
3c4ed02698afec021c6bca80740d1e58e3ee019e in llvm-project. This change
has been reverted upstream, so we are reverting this change as well
while we dicuss the next steps.

Notify when the SIE builders running cross-project-tests fail.

Patch by Orlando Cazalet-Hyams.

WoA: Change target triple & try_compile config

This affects the Windows on Arm builders:
clang-arm64-windows-msvc and clang-arm64-windows-msvc-2stage.

We make 2 changes:

  • Triple: s/aarch64-windows-msvc/aarch64-unknown-windows-msvc; skipping

the vendor seems to confuse flang, so we plug an 'unknown' there.

  • Add CMAKE_TRY_COMPILE_CONFIGURATION=Release, otherwise cmake tries to

use the debug configuration for try_compile commands, and fails to find
certain libraries, e.g. MSVCP140D.dll

ClangBuilder: Use list of checks instead of boolean. NFCI

Modify getClangCMakeBuildFactory and getClangCMakeGCSBuildFactory to
take as input a list of checks instead of a boolean. This makes it
possible to run subsets of the tests and is similar to the pattern used
by the UnifiedTreeBuilder.

WoA: Enable check-flang on clang-arm64-windows-msvc

clang-ve-ninja: Adapt to D112155

Explicitly specify the CMAKE_ASM_COMPILER_TARGET.

[Buildbot] Remove outdated LLVM_AR parameter for Windows to Linux Cross toolchain builders.

Removed outdated LLVM_AR parameters for the cmake cache file used to build Windows
to Linux cross toolchain builds.

[Buildbot] Enable zlib support for Windows to Linux cross toolchain builders.

Replace the use of TARGET_TRIPLE

This is an internal variable that's being renamed to LLVM_TARGET_TRIPLE
in D119918, instead use LLVM_DEFAULT_TARGET_TRIPLE.

Revert "Replace the use of TARGET_TRIPLE"

This reverts commit e3ae5eb67e935538eb19fb943b6f8332dc32da60. Turned
out this variable is only intended for CrossWinToARMLinux.cmake cache
file and not used by the LLVM build despite the name overlap.

[Buildbot] Use 'TOOLCHAIN_TARGET_TRIPLE' instead of TARGET_TRIPLE for Win to Linux Arm cross builders.


[ve] fix target triple

[llvm test suite] Treat NOEXE test result as a failure

Currently the SVE bots have been crashing when trying to compile
some of the bitcode tests. This was only noticed recently by chance
but it is not reported as a failure on the bots.

This makes it so that NOEXE counts as a failed test. This seems to
make sense because NOEXE is similar to unresolved tests.

I also spot checked other test-suite bots and found that none
of them had existing NOEXE results. (I thought there might be some
that are failing to build but this is expected to happen)

In any case, tests are guarded with cmake files to enable them
only if you have the right tools. So I think a failure to compile
should be a failure.

Migrating to new node for testing.

[polly-x86_64-linux] Remove BUILD_SHARED_LIBS=ON cmake option.

The shared libraries build is already tested by the
polly-x86_64-linux-shared builder. This builder should test the
statically linked build.

Returning tests to green-dragon-12

[mlgo] Add worker watch notification

Make sure we get notified when workers go offline. Also changed build
notification to 'change' to only get notified when the build transitions
to failing or back to successful.

[libc] Change the target name from libc-integration-test to libc-api-test.

[libc] Run libc-integration-tests instead of libc_loader_tests.

[libc] Disable integration tests temporarily.

[libc] Renable integration tests.

[libc] Stop treating the aarch64 builder as a fullbuild builder.

[Buildbot] Add two new workers for the cross win-to-linux Arm/Aarch64 release builders.

Added configuration for two new workers:

  • as-worker-5 (arm release builders)
  • as-worker-6 (aarch64 release builders)

Reconfigure the win-to-linux arm/aarch64 cross release builders to use newly configured workers.

[libc] Enable benchmarks on the fullbuild builders.

ROCm test support for buildbot.

Run check-mlir with ROCM flags to catch build breaks

Added missing commas.

[msan] Enable -fsanitize-memory-use-after-dtor

[sanitizer] Remove unneeded param

[sanitizer][NFC] Trim trailing spaces

[sanitizer] Fix setup of MSAN_OPTIONS

[sanitizer][NFC] Remove "local" in some functions

It's preparation for future patches.

[sanitizer] Fix assignment of a variable

[msan] Enable -fsanitize-memory-param-retval on buildbots

[sanitizer] Dump environment for check-all steps

[sanitizer] Fix typo in script

Sorted out ccache-related environment variables.

Enabling ccache for all ppc64le buildbots

This changed turns on the cmake variable that makes buildbots
build with ccache. Its intent is to use ccache to improve the
build times of the PowerPC 64-bit Little Endian buildbots.

[sanitizer] Enable internal symbolizer tests

[sanitizer] Disable a few lsan internal-symbolizer tests

[sanitizer] Enable libcxx tests

[msan] Disable poison_in_dtor

Needs cleanup after b61f173f243136594287d68d3781a92b29cb102c


The revision is explicit in buildbot runs. Disable the option to avoid
re-linking binaries on every commit.

[asan] Disable ODR check in libcxx

Fails after it b61f173f243136594287d68d3781a92b29cb102c

[sanitizer] Fix typo in bash script

Revert "[asan] Disable ODR check in libcxx"

check_initialization_order has nothing to do with ODR checks.

This reverts commit ea1c3d47d349a7569f355a8874a15901c442a6ed.

[asan] Disable RTTI and EXPECTIONS in libcxx

These test were just enabled and there are some ODR report.

[asan] Use -asan-use-private-alias to suppress known bug

[Fuchsia] Omit the list of projects and runtimes

The list of projects and runtimes is a part of Fuchsia-stage2.cmake
cache file now. This addresses the current failure which is due to a
mismatch between the configuration and the content of the cache file.

In addition, also include bolt and polly in the list of projects that
trigger our builders since bolt is already enabled in the Fuchsia CMake
cache file.

Added worker and placeholder for standalone-build-x86_64 builder

We plan on adding a Fedora based builder and worker that builds LLVM and some its subprojects in a standalone fashion. This just adds a regular builder and the worker. We do this because we want to test the connectivity of the infrastructure that we're setting up.

[msan] Enable poison_in_dtor on buildbots

[libc] Add an aarch64 fullbuild builder on the existing aarch64 worker.

[BOLT] Add AArch64 builder and worker

[libc] Add a runtimes build builder to the libc x86_64 debian worker.

[BOLT] Add MSVC builder

Add wine-msvc builder using the setup outlined here:

[BOLT] Build both X86 and AArch64 targets on aarch64 and msvc builders

[sanitizer] run mlir tests

[mlir, win] Set LLVM_ENABLE_WERROR=ON on the mlir-windows bot

This turns on warnings as errors on the windows mlir bot.

It depends on

[BOLT] Enable ccache for msvc builder

[mlir,win] Enable python bindings on the Windows mlir bot

This enables the build of the python bindings on the Windows mlir bot. This change depends on

[libc] Extend libc's linux script to handle runtimes build.

[libc] Add "clang" as one of the enabled projects under fullbuild.

Make standalone-build-x86_64 a standalone builder

I've written an annotated bash script that will be used when running
builds of the standalone-build-x86_64 builder.

The bash script builds LLVM and installs it into a directory for later
consumption when building Clang independently.

Increase open files ulimit on sanitizer bots

Enabling ccache for all ppc64 buildbots

This changed turns on the cmake variable that makes buildbots
build with ccache. Its intent is to use ccache to improve the
build times of the PowerPC 64-bit Big Endian buildbots.

Force HAVE_LIB_RT to NO when building with Xcode toolchains

Fixes an issue revealed by, causing several of
the test-suite-verify-machineinstrs* bots on GreenDragon to fail with:

ld: library not found for -lrt


Add new worker debian-tritium-mips64el for Linux 64-bit MIPS LE

This adds a new builder called debian-tritium-mips64el which
will build LLVM and Clang on Debian unstable on mips64el.

[lldb] Enable libcxx(abi) and compiler-rt as runtimes

Added libc docs to SphinxDocsBuilder.

Expand SphinxDocsBuilder to build and publish libc Sphinx docs.

[fortran] Use flang-to-external-fc instead of flang

The bash script that was flang is now called flang-to-external-fc.

Use force checkout so that local files do not cause failure.

Example of problem:

+ git checkout 53753531bc19bae816cf0cbf9e713ce0333ba091
error: Your local changes to the following files would be overwritten by checkout:
Please commit your changes or stash them before you switch branches.

This script then will retry at a greater depth for this problem.

Note that checkout -f with a non-existing revision will exit non-zero.

Enable python tests on LLDB WoA buildbot

[jenkins] Enable AMDGPU target in the code coverage bot

There has been a request to enable code coverage reporting for the
AMDGPU target too. Let's try to make this bot helpful to more people.

We were already building the "X86;ARM;AArch64" targets by default, and
this adds "AMDGPU" to the targets list.

[libc] Temporarily make the release builder a passthrough.

The release builder is getting stuck on a bad old revision. This change
makes it a passthrough bot. Once the builder gets up-to-date, we will
enable the steps back.

[libc] Enable steps back on the release builder.

[NFC] cosmetic change to remove unnecessary whitespace

Remove unnecessary whitespace to avoid different editor behavior.

[CSKY] Add CSKY buildbot to enable monitoring CSKY related commits

It runs check-all and test-suite to monitor the functional quality of CSKY target, when there is new related commit coming.
It runs llvm test-suite under QEMU to emulate the hardware target, and both in soft and hard-float mode.

Updated requirements.

[BOLT] Update BOLT_{CLANG,LLD}_EXE for bolt-x86_64-ubuntu-shared

Remove hardcoded version number. Bump to clang/lld-15

Removed abandoned clang-x64-ninja-win7 builder and windows7-buildbot worker.

[CSKY] Fix the missing comma in extra_cmake_args config

[CSKY] Remove 'collapseRequests': False because it's impossible to build for every commit

It takes long time (at least hours) to build and run test-suite in QEMU.
It's impossible to finish the per build task in minutes. So collapse requests.

[CSKY] Add cmake build config parameters to not checkout clang_tools_extra, compiler_rt and lld

Bumped twisted to 22.4.0.

Changing number max number of build for ppc64le-flang-mlir-rhel-test

The ppc64le-flang-mlir-rhel-test worker runs two builders,
ppc64le-mlir-rhel-clang and ppc64le-flang-rhel-clang, but has its
max_builds=1 which leads to an uncesscary bottleneck.

[BOLT] Use trunk llvm-tblgen in msvc builder

Capitalize on to build native llvm-tblgen
during the cross-compilation using MSVC. This would prevent build breakages when
changes are made to TableGen - when host llvm-tblgen becomes out of sync with
the trunk version.

Update testerName field of clang-cmake-x86_64-avx2-linux-perf

Signed-off-by: Yin Yang <>

[libc] Add arm32 worker and a builder on it for libc.

Enable ccache for s390x builders

Set LLVM_CCACHE_BUILD variable for all s390x builders to
potentially improve build times.

[NFC][sanitizer] Remove noop lines of script

[sanitizer] Enabled asserts after stage1

[NFC][sanitizer] Simplity build_stage1_clang_impl

[sanitizer] Switch from Chromium to releases/latest

Set of interceptors enabled for Chromium matches older GLIBC and does
not let us to move to a newer one on bots.

[sanitizer] Reshuffle builders/workers mapping

[NFC][sanitizer] Remove unnececary 'r' prefix

[Sanitizer] Switch the LAM repository to another repo

I pushed the latest LAM patches to and am planning to
maintain that till the patches reach upstream.

Revert "[Sanitizer] Switch the LAM repository to another repo"

Does not work with the current setup:

This reverts commit 5369cce4358cac7e31fa8dc24dd2c4c4a9859048.

[NFC][sanitizer] Use error helper functions

[NFC][sanitizer] Print reproducer on error

[msan] Don't run origins for stage3 after stage2 error

[sanitizer] Fix print for python3

[sanitizer] Fix print for python3

Changing the ppc64[be|le] bots to TestSuiteBuilders

Update the ppc64 lnt bots to use cmake and ninja to build and run test-suite

To achieve this with minimal impact, most of the functionality from
is copied into instead of importing it so that the step naming convention
and ninja environment variables can be modified without impacting all the bots that
use getCmakeBuildFactory().

Bots are renamed to reflect this change:

  • clang-ppc64le-linux-lnt => clang-ppc64le-linux-test-suite
  • clang-ppc64be-linux-lnt => clang-ppc64be-linux-test-suite

The clang-ppc64le-rhel bot is updated to run check-all instead of check on the llvm-lit testing step.

[buildbot] Print BUILD_STEP earlier

[buildbot] Fix script after the previous commit

[sanitizer] Don't build llvm-symbolizer and lld

They are already parts of the build and should be handled as

[sanitizer] Remove missing function call

[sanitizer] Switch to single LAM QEMU instance

It make hwasan testing faster.

[sanitizer] Attempt to fix qemu script

[sanitizer] Attempt to fix qemu script

[sanitizer] Attempt to fix qemu script

[sanitizer] Fix (} missmatch

[sanitizer] Fix variables scope

[sanitizer] Fix undefined variable

[sanitizer] Fix variables scope

[sanitizer] Temporarily disable LAM tests

[sanitizer] Use build_stage1_clang_at_revison

Now we can use CCACHE for LAM build.

[sanitizer] Assign COMPILER_BIN_DIR before cd

[sanitizer] Enable LAM tests

[sanitizer] Replace qemu and linux git URLs

[sanitizer] Switch to a single QEMU build

[sanitizer] Switch to NFS for build dir access from QEMU

[sanitizer] Simplify kill_qemu

[sanitizer] Wait longer for QEMU

[sanitizer] Try to fix step start broken by QEMU console

[sanitizer] Add comment about heavy builds

[sanitizer] Switch the rest to 3 builds

sanitizer-buildbot1, sanitizer-buildbot3, sanitizer-buildbot7 works fine with 3 builds, and workers 2,4,8 run exactly same builds.

[sanitizer] Measure time for libcxx

This step takes longer than expected.

[libc++] Stop building libc++ alongside Clang on GreenDragon bots

The libc++ headers used to be shipped alongside the Clang toolchain
on Apple platforms, so it made sense to build libc++ at the same time
as Clang in our CI. However, for a couple of years now, Clang and libc++
are entirely separate projects w.r.t. how they are shipped on Apple
platforms, and it doesn't make sense to build libc++ at the same time
as Clang anymore. Libc++ has its own CI infrastructure.

[sanitizer] Undo variables modified by track_origins

[sanitizer] Optimize trigger of origin build

[sanitizer] Keep STAGE2_DIR visible to STAGE3

[sanitizer] Build STAGE2 origins before STAGE3 origins

[sanitizer] Move libc++ testing to check stage

[sanitizer] Don't delete from build_stage

These should be deleted by cleanup

Add new workers and NVPTX target builders.

Add two new workers for NVPTX builders.
There is two workers, the first one is running on Ubuntu Linux 22.04 LTS and the second on is running on Windows Server hosts.

Also added the following NVPTX target builders:

  • llvm-nvptx-nvidia-ubuntu
  • llvm-nvptx64-nvidia-ubuntu
  • llvm-nvptx-nvidia-win
  • llvm-nvptx64-nvidia-win

Raise timeout for Solaris builders

As described in D129837, the Solaris
builders (solaris11-amd64 in particular) suffer from a procfs bug that
causes long runtimes for some sanitizer tests, which eventually get killed
after the default timeout of 1200 s. As a workaround, this patch increases
the timeout to allow them to finish.

Remove jobs prop from standalone-build-x86_64 worker

Added timeout param placeholder to ClangBuilder.getClangCMakeBuildFactory to unblock 872f3cf78f3fecba8ffe468dab58fe0d79042d45.

Change default target triple for llvm-clang-x86_64-sie-win to x86_64-sie-ps5.

Loosen Xcode version requirement on builders

The builders on Green Dragon are not currently all on the same
Xcode version, so this check fails.

Loosen the requirement to allow Xcode >= 11.5 rather than exactly
11.5 in the meantime.


[green dragon] Remove libc++ from monorepo builds

We don't want to include libc++ in LLVM_ENABLE_PROJECTS anymore, since
it's unsupported and the goal of this script is to test Clang, which
does not include libc++ headers anymore on Apple platforms.

[lldb] Increase checkout timeout to 30 minutes

Use SCCACHE for building on Windows for builder llvm-clang-x86_64-sie-win.

[lldb] Increase checkout timeout for all the LLDB jobs

Make builder llvm-clang-x86_64-sie-win clean build directory between builds.

Change builder llvm-clang-x86_64-sie-win to not clean build directory between builds and not use SCCACHE for building.

[standalone-build-x86_64]: build lld

This adds building lld to the standalone-build-x86_64 script.

[ARM] Disable llvm's use of threads for armv8-lld-2stage

With our current setup using threading leads to the lld tests
requesting so many tests that we hit system resource limits.

Long term we need to fix this on our end but for now,
only this 32 bit bot has the problem.

Add timeout param to DoxygenDocsBuilder.getLLVMDocsBuildFactory. Doxygen builds the final result without any output. And that is getting longer and longer. So it is better to have the timeout configurable for a worker.

[zorg] Run test-suite with flang-new

At the moment, clang-aarch64-full-2stage is running the
llvm-test-suite with flang-to-external-fc, which is a wrapper script
involving both flang and gfortran.

This patch switches to using the flang-new driver, therefore removing
our dependence on gfortran.

However, support for generating executables with flang-new is still
experimental and needs a few flags to help it along.

Furthermore, we need an environment variable when running the
test-suite (see,NO_STOP_MESSAGE,-environment%20variable%20to).

[mlgo] Enable using TFLite instead of full Tensorflow C API lib

For the training case, TFLite is more appropriate: it plays well with
cmake (thanks to @etrhosek's work to making that turnkey); can be
statically linked; and it's faster.

This patch introduces the support side-by-side the support for the full
TF C API library; once we land the ml-compiler-opt and LLVM changes and
make sure the build bots are still green, we will remove the full TF C
API support.

[GreenDragon] Increase clone timeout for lldb-cmake-matrix

[sanitizers] Remove unused bot

[sanitizer] Reorder builders

[sanitizer] Drop Debian from bots name

[sanitizer] Add sanitizer-buildbot-android and sanitizer-buildbot5

[sanitizer] Less jobs sanitizer-buildbot8

Prepare to move it to aarch64

[sanitizer] Add sanitizer aarch64 bots

[sanitizer] Check sanitizer in bootstrap compiler

It's short but can be useful.

[sanitizer] Use clang to buils stage1 if availible

[sanitizer] Restore accidentally removed comma

[sanitizer] Run all tests with "--time-tests -v"

[sanitizer] Split check- into separate steps

With --time-tests -v reader needs to scroll up to see
the summary of earlier checks.

[standalone-build] run check-all for llvm sub-project

[standalone-build] external lit built not by llvm but python-lit

Revert "[sanitizer] Run all tests with "--time-tests -v""

Looks like -v does not work with LIT_OPTS.

This reverts commit 933dd7d130909c8a75c80de6672c07e7f2cf14c9.

[sanitizer] Run all tests with "--time-tests -v"

[sanitizer] Disable asan tests on aarch64

[sanitizer] Clone asan to hwasan script

[sanitizer] Update script for HWAddressSanitizer

[sanitizer] Remove ; from LLVM_LIT_ARGS

Variable as a list does not work with ExternalProject_Add.

[clang-ppc64-aix] Switch build compiler to clang

When LLVM updated the C++ standards to 17, the AIX bot encountered multiple related build issues because ibm-clang doesn't currently have a release to support C++17. So, this patch switches the build compiler for AIX from ibm-clang to clang as a step to mitigate that.

[sanitizer] Don't run asan/msan/fuzzer on staging

Release worker for hwasan and ubsan. The rest is either good or
not a priority for now.

Update clang-stage1-RA

Switching hosts due to downed host.

Update clang-stage1-RA

Host restored.

[sanitizer] Another attempt to control LIT options

[sanitizer] Fix typo in command line flag

[Arm] Correct typo in LLVM_ENABLE_THREADS option

[sanitizer] Remove outdated commend

We use libcxx and ubsan from 16682e95f72cdbb5bf60da42e58a26064d5956de

[jenkins] Bump up the MACOSX_DEPLOYMENT_TARGET

LLVM Project switched to C++17. Bumping up the deployment target fixes
errors regarding usage of features which are available only in the newer
versions of macOS.

[sanitizer] Disable broken on aarch64 tests

[Windows on Arm] Add env var for msvc compatibility option

We are using clang 14.0.5 which has a default version of 19.26.

This adds use of an env var MSVC_VER that we'll set on our
side for this and future updates as the clang-cl version
doesn't always track what llvm needs to build.

[lldb-cmake-matrix] Use RUNTIME option for libcxx/libcxxabi

As of D112724, building libcxx/libcxxabi with the "PROJECTS" option is
deprecated and causes the following CMake warning:

Using LLVM_ENABLE_PROJECTS=libcxxabi is deprecated now, please use

-DLLVM_ENABLE_RUNTIMES=libcxxabi or see the instructions at for building the

This commit fixes the warning, also in the hopes of fixing the failures in
lldb-cmake-matrix that test different clang versions. The different Clangs fail
to find the correct libcxx, instead using the host machine's libcxx.

[sanitizer] Disable slow libcxx HWASAN tests

[lldb-cmake-matrix] Fix environment leak across runs

Any export statement in a pipeline description will leak across
different compiler stages or, worse, between two runs of the entire
pipeline. This was seen recently in two ways:

  1. The Dwarf 2 / 4 runs were using a Clang 13.0 built on a previous

pipeline run, and they were failing because some tests require ToT

  1. The Dwarf 2 / 4 runs were trying to use Clang 13.0, but the workspace

was cleaned after the previous pipeline run, resulting in a "cannot
find clang" error.

This commit addresses the issue by no longer using environment variables
to communicate which Clang to use when building LLDB tests. Instead, we
now use parameters to the script. More
generally though, there are still a lot of export statements in the
pipeline, and these should be examined in isolation to determine how to
best remove them.

Jenkins provides ways to set environment variables more carefully [1];
however, for the purposes of the LLDB test compiler variable, this is
dangerous: we don't want such a flag to last any longer than the CMake
configure step, so this commit uses the script argument approach.


[lldb-cmake-matrix] Make sure all stages build the same targets

The lldb_cmake_builder function of creates the
cmake invocation by first setting:


And then relies on a user to override it with:


The pipeline builder for lldb-cmake-matrix forgot to override the
targets for all but the first invocation of this function (stage 'Build
LLDB') . As such, the two first invocations build different targets,
causing the second invocation ('Test DWARF2') to perform almost a full
recompile, instead of a no-op incremental compile.

The function cmake_builder uses a different strategy: it never sets an
initial value for target, relying on whatever defaults LLVM uses. This
function is only used when building the older Clangs. We also change
calls to this function to explicitly set "X86" only.

[libc] Update static archive build targets to "c" under full build.

[libc] Fix typo in libc annotator script.

[sanitizer] Update HWASAN options

Use abort_on_error=1:
Some tests expect crash on trap, however hwasan
intercepts trap and exits with error code.

Disable plugins:
HWASAN globals are broken with DSO

[sanitizer] Fix typo

[Windows on Arm] Fix quoting for C/CXX flags

By using single quotes we ended up with
on the command line which doesn't do env var substitution.

The exact logic of that, I can't figure out, but BUILTINS
already works so just follow that. We only have one flag
to pass so spaces aren't an issue anyway.

[lldb-cmake-matrix] Remove superfluous quotes around -DLLVM_TARGETS_TO_BUILD

The build bots are failing because the extra quote around the
command line parameter with following error:

CMake Error: The source directory
does not exist.

This patch removes the quotes.

[buildbot][mlgo] Fix incorrectly-passed -C flag

[sanitizer] Stop running UBSAN with aarch64.

[standalone-build] Build install and use python-lit

This ensures that LLVM sub-projects are being tested with the lit of the same revision

[sanitizer] Re-assign some workers

Revert "[sanitizer] Stop running UBSAN with aarch64."

This reverts commit 3a511c73194a34a37dd98d361abec30705e3df16.

[libc] Update the libc full build target name.

[sanitizer] Enable msan aarch64 build

[sanitizer] Add local config for worker


[sanitizer] Remove shallow checkout

[sanitizer] Fix use of LLVM_ENABLE_RUNTIMES

[sanitizer] Fix ubsan build

Fix AArch64 SVE bots

The SVE bots are running the llvm-test-suite with flang, but they're not
setting NO_STOP_MESSAGE in the environment. This causes most of the
tests to fail, as expected (see,NO_STOP_MESSAGE,-environment%20variable%20to)

This patch makes sure to set NO_STOP_MESSAGE to 1 for all the SVE bots.
As far as I can tell, no other bots run the test-suite with flang.

[lldb-cmake] Don't use LLVM_ENABLE_PROJECTS for libcxx/libcxxabi

We started seeing the lldb-cmake-standalone and lldb-cmake-sanitized
buildbots fail with:

Using LLVM_ENABLE_PROJECTS=libcxx is incorrect.  Please use
-DLLVM_ENABLE_RUNTIMES=libcxx or see the instructions at for building the runtimes.

This patch makes sure we set -DLLVM_ENABLE_PROJECTS=libcxx;libxxabi
by passing it via the --runtimes flag of the script

[lldb-cmake] Turn Debug Info test failures into pipeline errors

Currently the "Debug Info" tests fail but that is not reflected
in the pipeline. We do a set +e before we run the tests to
overide the default Jenkins shell's set -e; this hides the
test failures. Remove this for now and see if fixing the test
failures will be enough to make this pipeline stage consistent
with the behaviour of the other stages.

Revert "[lldb-cmake] Turn Debug Info test failures into pipeline errors"

This reverts commit 193c318439a87eed4a9d1133c3c64015a8fa279c.

[sanitizer] Change qemu branch

[lldb-cmake] Turn Debug Info test failures into pipeline errors

Currently the "Debug Info" tests fail but that is not reflected
in the pipeline. We do a set +e before we run the tests to
overide the default Jenkins shell's set -e; this hides the
test failures. We wrap the invocation
in a catchError so the subsequent stages in the pipeline
still execute (in particular the Test (LLDB) build).

[lldb-cmake] Mark whole pipeline as failed when Debug Info tests fail

Currently only the stage is marked as failed when DebugInfo tests fail.
This means we'll get a red stage on the pipeline view but a green
Incremental box on the job overview page.

This patch makes sure the entire Pipeline result is also marked as failed.

[sanitizer] Enables as we have more hardware

[asan] Disable lsan on aarch64

[asan] Try to run with disabled lsan on aarch64

[sanitizer] Fix ]] operator in the script

[sanitizer] Enable hwasan-use-after-scope

[monorepo_build] Only pass LLVM_ENABLE_RUNTIMES when runtimes are specified

This allows specifying runtimes to build in a cache file. Otherwise,
if runtimes are specified in a cache file but the CI job does not
specify --runtimes, we would override the cache entry by defining
LLVM_ENABLE_RUNTIMES="" on the command-line.

[lldb-matrix] Specify which compiler to use for all LLDB tests

Since the build directory is reused across runs, previous CMake
variables are cached and never reset. As such, relying on default values
would cause the bots to sometimes use an incorrect Clang (Clang 13) if
it exists.

[lldb-cmake-matrix] Mark DWARF5 test as unstable on failure

[jenkins] Switch to GitHub repo URLs. Use local mirror as reference.

Use the local mirror on the node as a reference instead of using the
locally hosted mirror repo.

Using the existing local mirror on the node helps reduce the load on the
network and also speeds up the source checkout.

[Windows on Arm] Don't use an env var for the msvc compatibility version

Long story short the cmake command isn't run in a shell but ninja
generated commands are. This is why %MSVC_VER% wasn't expanded but
%BUILTINS% wasn't used at configure time so it didn't matter there.

both the minimum and soft error versions are set to 19.27
so it doesn't help us.

Instead just hardcode the expected verison. We'll probably always
be behind as we're using a released clang-cl to build latest
clang-cl but at least it won't change that often.

[sanitizer] Add extra_depends_on_projects getSanitizerBuildFactory parameter

[sanitizer] Add "mlir" into builder dependencies

[sanitizer] Fix typo

[ARM] Don't build GWP_ASAN for Arm/Thumb v7

Currently failing with:
undefined reference to `__aeabi_unwind_cpp_pr0'

I thought this would be fixed by or
a version of that just for GWP_ASAN but have had no success so far.

Let's get a build of the rest at least.

[jenkins] Use requests to download the compiler artifact

[jenkins] Show the starting time as part of the header

[jenkins] Coverage bot: Bump up the timeout to fetch the compiler artifact

Fetching the compiler artifact has become slow recently. Bump up the
timeout while we investigate.

[sanitizers] Add clang-tools-extra scheduler

[sanitizer] Disable clangd tests on aarch64


[lldb-matrix] Use matching libcxx for older Clang tests

This commit changes the testing infra so that it uses a libcxx matching
the version of Clang being used for LLDB tests.

[sanitizer] Fix typo in script

[sanitizers] Run with -sanitizer-early-opt-ep

[sanitizer] Set default timeout for lit tests

[sanitizer] Increase timeouts

[sanitizer] Increase timeouts

[sanitizer] Another workaround for slow cxx tests

[sanitizer] Disable more slow cxx tests

[sanitizer] Move wait into the next step

[sanitizer] Exclude more slow libcxx tests

[sanitizer] Change libcxx test filter

[sanitizer] Exlcude more slow cxx tests


[sanitizer] Set default timeout=1000

Revert "[sanitizer] Set default timeout=1000"

Not all bots has psutil.

This reverts commit 664e92bbca49afb12c49bcffab437d8de3de8a9e.

[jenkins] Switch to the new artifact server

[sanitizer] Try to re-enabler clangd tests after 8edce2ff049

Revert "[sanitizer] Try to re-enabler clangd tests after 8edce2ff049"

Didn't help.

This reverts commit 4609b7129317e47bbfe4f1fb9f6e25ebcbba9b67.

[libc++] Remove disabled AIX bot for libc++

This patch removes the last libc++ builder on BuildBot, which has been
disabled ever since I've noticed it. We have a builder for AIX on
BuildKite, so I assume this had simply been forgotten.

It also removes the LibcxxAndAbiBuilder factory, which has been unusued
and unmaintained since we've moved to BuildKite. We could also keep it
around, however IMO it is better to remove all traces of libc++ CI in
BuildBot to avoid confusion, since we don't use it anymore and it is
not the preferred way of testing that project.

[jenkins] Coverage bot: Enable libcxx and libcxxabi as runtimes

[lldb matrix] Remove Clang 5 and add Clang 15

We are dropping Clang 5 from the testing suite in favor of the newly
released Clang 15.

[sanitizers] Remove -DLLVM_LIT_ARGS=-v

Verbose output is nice to have, but it looks like slows down buildbot UI significantly.

[BOLT] Enable llvm-dylib build

Enable testing of a distro build configuration (-DLLVM_LINK_LLVM_DYLIB=ON).

[builder][standalone-build-x86_64] Batch build commits

This enables batch builds as a last resort to make builds faster regarding

[sanitizers] Try CHECK_LLD=1 on PPC

[sanitizer] Remove HAVE_NINJA=1, as it's default

[builder][standalone-build-x86_64] Use ccache to speedup builds and test lld

ccache was suggested by @nikic in

[sanitizer] Increase CCACHE size

[sanitizer] Change only default ccache size

[sanitizer] Fix contiditon check

[sanitizer] Print ccache settings

[sanitizer] Fix ccache size

Revert "[sanitizer] Fix ccache size"

Not needed.

This reverts commit aa5c59c31496a9673944625ac495397fec731ebf.

[sanitizer] Try to enable libcxx on PPC bots

Revert "[sanitizer] Try to enable libcxx on PPC bots"

Does not pass.

This reverts commit 4fd066c745e3e131e6f35812c4802a508db82c02.

Change PowerPC64 bots to build runtimes with -DLLVM_ENABLE_RUNTIMES

All of the powerpc 64-bit little and big endian buildbots build their
runtimes with -DLLVM_ENABLE_PROJECTS in the cmake command; this method
is deprecated.
This patch updates all of the ppc64 bots, except the sanitizer bot,
to build runtimes with -DLLVM_ENABLE_RUNTIMES and adds a check-runtimes
test step as check-all does not currently check runtimes.

Adapt LLVM_ENABLE_RUNTIMES change for Sphinx documantation builders.

Since LLVM_ENABLE_PROJECTS=libcxx;libcxxabi;libunwind are not supported anymore, the correct way to build the documentation for the runtimes is
to use a CMake invocation rooted at <monorepo>/runtimes instead of using a bootstrapping build.

The patch is based on

Use the new Sphinx runtimes docs builders.

[sanitizer] Disable leak checker on aarch64

[sanitizer] Disable leak checker on aarch64

Revert "[jenkins] Coverage bot: Bump up the timeout to fetch the compiler artifact"

This reverts commit 933d4b68df990651f13ebd1422db5209343aaf40.

[jenkins] Coverage bot: Adjust the timeouts

The test stage seems to be taking longer, bumping up the timeout for it
to 5 hours. Also, the build stage doesn't really need 5 hours, bumping
it down to 3 hours.

[sanitizer] Disable slow fuzzers on aarch64

[sanitizer] Disable slow fuzzers on aarch64

[sanitizer] Use -Oz with msan to trigger more reports

Make standalone-build-x86_64 builder properly group buuld requests.

To address a crazy slowness in Doxygen build.

Hope this is a temporary measure and someone will figure out why it has become 3 times slower at some point.

Disable libfuzzer on clang-x86_64-debian-fast

[AArch64] Remove lit core limit on clang-aarch64-full-2stage

This was a previous attempt to make the tests more consistent.
I am now trialing using a fixed core count for this bot, which
should make this redundant.

Add new sie-linux worker and dwarf5 based cross-project builder.

Collapse the build requests for NVidia NVPTX builders on Windows platforms.

The NVPTX target builds take more time than expected between coming build requests and
we get a large unprocessed queue for the builders on the Windows platform.
Just lets collapsed the incoming build requests to reduce the build queue.

[BOLT] Add BOLT-NFC annotated builder

An initial implementation of an NFC builder.
Doesn't run large-bolt tests yet.

[BOLT] Fold bolt-shared into bolt-nfc builder

[AArch64] Remove lit thread limit for clang-aarch64-lld-2stage

This bot is now running on a fixed core count so this is no
longer needed.

[ARM] Rename clang-armv7-quick -> clang-armv8-quick

This name is confusing as it does not:

  • run on v7 only hardware
  • specifically target v7

The triple is detected as armv8l, which is fine,
but let's make the name accurate.

  • LLVM host triple: armv8l-unknown-linux-gnueabihf
  • LLVM default target triple: armv8l-unknown-linux-gnueabihf

[mlir][aarch64][sve] Enable MLIR integration tests for SVE

Enables MLIR integrations tests for SVE on the SVE-capable buildbots.

Depends on: D136458

[BOLT] Turn off shared build for NFC builder, restore shared builder

Replace obsolete LLVM_CONFIG_PATH

Replace the obsolete LLVM_CONFIG_PATH uses with LLVM_CMAKE_DIR in case
of compiler-rt, or remove it entirely in case of libcxxabi (as it was
removed a while ago, so the statement was not doing naything). The last
use of LLVM_CONFIG_PATH was deprecated in D137024.

[BOLT] Enable clang-bolt LTO+PGO target

Enable testing of BOLT applied to Clang using BOLT-PGO.cmake cache file.

Add new linux worker and Ubuntu 18 + GCC 7.5 based builder.

[sanitizer] Enable lsan on aarch64

[sanitizer] Try to fix the bot after D137226

Revert "[sanitizer] Enable lsan on aarch64"

Fuzzers are still slow.

This reverts part of commit 65b8b05f8664600cb892ce9f49189c4f3e1fa0bf.

[sanitizer] Another try to fix the bot

Fix typo in CMake variable name

Fixed mistype introduced by 61ebcff9a.

[BOLT] Enable large-tests in NFC builder

Fetch bolt-tests from Rafael's repo. Run check-large-tests
as part of testing. Run NFC testing on large tests as well.

[BOLT] Add halt_on_fail behavior to steps

[BOLT] Fold bolt-x86_64-ubuntu into bolt-nfc builder

Remove bolt-x86_64-ubuntu builder as its functionality is covered by bolt-nfc

[BOLT] Clean builddir before cmake in NFC builder

[BOLT] Temporarily exclude one test from NFC testing

Exclude known flaky test from NFC testing to move on with propagating failed
NFC testing to the warning status of the build (D136298).

Add warnOnWarnings AnnotatedBuilder property

Propagate warning status from AnnotatedBuilder step to the full build:

Use that in bolt-nfc builder where nfc-check-bolt step may report
a warning signifying a mismatch.

[builder][standalone-build] Allow for cmake tracing by setting CMAKE_TRACE

This adds a CMAKE_TRACE variable to the script in
zorg/buildbot/builders/annotated/ which allows you to toggle on cmake tracing.

[builder][standalone-build] Have separate trace/verbose vars to control the build output

In D138114 I've introduced CMAKE_TRACE and mistakenly assumed it can be applied to cmake --build and cmake --install calls as well. That isn't the case. There only exist --verbose for build and install commands in cmake. That is why I have removed CMAKE_TRACE and replaced it with multiple variables to control llvm's, clang's, and lld's configure, build, check and install steps.

[builder][standalone-build] Move CMake verbose flags to right position

The --verbose flags to CMake introduced in D138120 were at the wrong place. This moves them to the right place.

[BOLT] Remove jobs worker property

Disable clangd build/test and reduce number of testing threads to 48 for builder llvm-clang-x86_64-gcc-ubuntu.

Remove check-scudo from buildbot_cmake.

check-scudo is deleted as of I did a
quick 'git grep -i scudo', and this was all the references I found.

The sanitizer-ppc64le-linux bot is failing as well, but I'm not exactly
sure where that buildscript comes from. I don't think it's from here,
otherwise the build steps would have included an 'in gcc build' suffix.

[sanitizers] Controlling the build width and targets for PowerPC sanitizers

The cmake sanitizer buildbots use the nproc value for the build
width by default, this means the PowerPC sanitizer buildbots were
building and testing at the max parallelism their host machines could
This patch adds a build and test width specification for the PPC
sanitizers and sets the build targets to only build for PowerPC
with the intension of reducing the load the sanitizers have on their
host while improving build times. It fixes up cmake argument passing
to facilitate the change.

[BOLT] Remove MSVC builder

MSVC builder takes the longest and doesn't provide clear value to us right now.
Because of it, the other builds are throttled for 30+ mins.
Remove it for now.

[BOLT] Use mold with aarch64 builder

[TestSuiteBuilder] Updating the build config of the PPC Rhel bot

Changing the compiler toolchain location for this bot to work with
its new host machine.
Stopping the building of the gold plugin as we no longer want to
build and test it, bot uses and test lld.

[BOLT] Collapse requests on LTO+PGO builder

[scudo] Disable flaky armhf build

Disable sollve: to make openmp-offload-amdgpu-runtime more like openmp-offload-amdgpu-runtime

Fixed cmake args passing.

Thanks to Dmitri Gribenko for catching and proposing the patch!

Removed 'collapseRequests': True to let the default machinery handle collapsing build requests.

[BOLT] Fall back to default collapseRequests behavior for dylib and shared builds

Rename and reassign a few SIE workers/builds to reallocate resources more efficiently.

Update clang-stage1-cmake-RA-incremental

Updating timeout for builds due to doing near-clean builds, even as incremental.
Requested by Steven Wu.

Remove -DLLVM_CCACHE_BUILD from some of my bots since it doesn't work when trying to use ccache+icecream.

[BOLT] Create MailNotifier for NFC check mismatches

Notify about NFC check mismatches (warnings on bolt-nfc builder)

Add myself to be notified when any of the builders I manage fail.

[BOLT] Explicitly specify depends_on_projects

[BOLT] Fold bolt-nfc builder into BOLTBuilder

With ShellCommand, it's possible to fully unify all BOLT builders. Fold bolt-nfc
annotated builder into BOLTBuilder.

[BOLT] Temporarily recover

[buildbot] Add a LoongArch buildbot on CLFS

Add a new builder and a new worker for LoongArch.
The worker runs build, check-all and test-suite on Loongson-3C5000L-LL

Fix a typo in /vol/ccache for clangd builder

Add buildbot with C++20 configuration

The worker runs inside GCE alongside other Google buildbots.
Actual build uses Clang 15. The Dockerfiles are tested locally.

Prior discussion on Discourse:

Update VERSION file for the deployed docker image

Fix error LD env var in C++20 buildbot

Also log executed commands to simplify debugging.

Do not log commands in docker images

To avoid exposing secrets in the logs.

Deploy new VERSION for clang-debian-cpp20

Add a missing semicolon in C++20 build configuration

The error caused the string on the next line to be concatenated and
passed as a single argument.

[bbot][amdgpu][openmp] experimental: run all checks

[bbot][amdgpu][openmp] experimental: checkAll

Reverted 8a912708050b and d8256b1fd25b, as neither "checkAll" nor "checks" args are supported by the OpenMPBuilder.

arc-builder is not fast enough to build each commit, so let it collapse build requests.

[BOLT] Check llvm-bolt binaries before running NFC checks

In NFC testing, if llvm-bolt binaries are bitwise identical,
don't run NFC checks.

Temporarily disable-lsr in HWASAN build

HWASAN exposes some non-determinism in the pass and triggers:
ScalarEvolution.cpp:11540: bool llvm::ScalarEvolution::isLoopEntryGuardedByCond(const Loop *, ICmpInst::Predicate, const SCEV *, const SCEV *): Assertion `isAvailableAtLoopEntry(LHS, L) && "LHS is not available at Loop Entry"' failed.

is broken after D137838. I tried to split D137838 into smaller patches
and the one which reproduced was just a move of cpp from one dir to another.

Maybe it has something do to with comparison of tagged pointeres and
PtrSets used in pass.

Issues is hard to reproduce, even slight changes in path, or preprocessing
cpp file hide it.

[hwasan] Fix variable expansion in the script

Require LLVM_ENABLE_ASSERTIONS=OFF for last stages of the ClangLTOBuilder.

[jenkins] Remove six from the list of dependencies

It was required for urllib, but we are not using urllib anymore.

[BOLT] Add missing depends_on_projects

Turn on ccache and clean builds for llvm-clang-x86_64-sie-win builder.

[monorepo_build] Temporarily disable LLVM_ENABLE_MODULES on the LLDB buildbots

Currently the stage 2 clang compiler that the LLDB
buildbots use doesn't support compiling with modules

Until we know why, disable the flag to get the CI
going again.

Update number of threads for building to take advantage of distributed build cores on doug-worker-* builders.

[libc] Add a gcc fullbuild builder.

Use Debian unstable for C++20 buildbot

We want to use libstdc++-12 as it adds things that cause breakages with
the current release of Clang, e.g. constexpr to vector members.
Debian stable does not ship with libstdc++-12 and does not
have a build for Debian Testing. So Debian unstable is the only viable
option for this buildbot.

Use optimized tablegen in clangd builds

A recent change to llvm-tablegen made it unusable under tsan. our bot would OOM all builds ever since. this flag should enable us to build tblgen in native setup, without tsan.

[jenkins] Coverage bot: Exclude debugserver too

It is a universal binary and the coverage report script doesn't yet
know how to handle it.

[BOLT] Notify only about warnings (mismatches) from NFC builder

[sanitizers] Remove -sanitizer-early-opt-ep

We are not moving making this default, so use settings similar to
release build.

Add notifications for clangd and cpp20 buildbot status

Bumped certifi to 2022.12.7.

[BOLT] Force clean build for clang-bolt-lto-pgo

Revamp LLVM WoA buildbots

This patch makes following changes to LLVM Windows on Arm buildbots:

  1. Improves clang-arm64-windows-msvc builder. It will run in similar configuration to linux clang quick builder with ninja check enabled on a dedicated relatively fast worker machine.
  2. Enables ninja check-all for both stage1 and stage2 on clang-arm64-windows-msvc-2stage builder.
  3. Adds an extra worker for clang-arm64-windows-msvc-2stage builder. Making 3 workers in total testing two stage builds.
  4. Removes redundant CMAKE flags from various WoA builders.
  5. Enables object file caching using sccache
  6. Update worker for lldb-aarch64-windows builder. It will be dedicated Surface X pro machines.

[monorepo_build] Re-enable LLVM_ENABLE_MODULES for the LLDB incremental builds

Clang should be able to build LLVM with LLVM_ENABLE_MODULES=On
default) again since and

Revert "[monorepo_build] Re-enable LLVM_ENABLE_MODULES for the LLDB incremental builds"

Can't enable this just yet. We need to wait for the Clang stage 2
buildbot to produce a binary that can actually compile a modules build.

This reverts commit f817ad740c61dccc364f7a01322ecdbefd649831.

Record the new version of clang-debian-cpp20 deployment

Disable spammy deprecation warnings in C++20 buildbot

The bug to track the cleanup:

[libc] Extend libc build script to build with gcc.

Reland "[monorepo_build] Re-enable LLVM_ENABLE_MODULES for the LLDB incremental builds"

Now that the Clang stage 2 buildbot has successfully
built a binary for the LLDB buildbot, we can enable
this flag again.

[NFC] Removed trailing whitespaces.

[BOLT] Enable clang-bolt for host-gcc-built Clang

Follow-up to D136410 and D137357.

[BOLT] check-bolt in bolt-x86_64-ubuntu-clang-bolt-gcc

Move C++20 buildbot to production

[BOLT] Add BOLT_LLD_EXE for check-bolt in clang-bolt-gcc

Fix a typo and disable more spammy warnings in C++20 buildbot

[BOLT] Use clang-bolt target in clang-bolt builders

amdgpu experimental bbot: add -DCMAKE_LIBOMPTARGET_FOUND_AMDGPU_GPU=ON


[libc] Use static archive target name "libc" for fullbuild and default build.

[sanitizer] Add more aarch64 workers

[sanitizers] Reduce load for aarch64 workers

[jenkins] Move clang-stage1-RA job to a new host

Moved to green-dragon-02 now.

Revert "Returning tests to green-dragon-12"

This reverts commit 8c6b24de74aa6216973a548e26649d0ba390ed2f.

move job to green-dragon-03

[BOLT] Combine two clang-bolt builders into one

Use BOLT.cmake and BOLT-PGO.cmake to run comprehensive
BOLT testing with Clang:

  • clang-bolt instruments and optimizes 1st stage Clang built

with host GCC.

  • stage2-clang-bolt uses optimized Clang to build 2nd stage

Clang (with PGO+LTO), then instruments/optimizes that binary.

This flow provides testing coverage of both clang-bolt-gcc
and clang-bolt-lto-pgo. BOLT is applied to GCC- and Clang-built
clang binary. Additionally, this extends BOLT testing by running
BOLT-optimized Clang to build 2nd stage Clang.

Revert "move job to green-dragon-03"

This reverts commit 276c07a996284aed05da38b63fb7ffbca6162a42.

Switch from autoconfigure to cmake for clang-cmake-x86_64-avx2-linux builder

According to LNT test doc, the autoconfigure support is deprecated, so this patch is for using cmake instead for "clang-cmake-x86_64-avx2-linux" builder.

Make another attempt to switch the lldb-incremental bot to green-dragon-03

[lldb] Run under Python 3

Move the lldb asan bot to green-dragon-04

Skip the DWARF 5 tests on the LLDB matrix bot, the size of the failure logs overwhelm jenkins.

Double timeouts on the lldb-sanitized job, new machine is slower

Switch from autoconfigure to cmake for clang-cmake-x86_64-avx2-linux-perf builder

According to LNT test doc, the autoconfigure support is deprecated, so this patch is for using cmake instead for "clang-cmake-x86_64-avx2-linux-perf" builder.

[BOLT] Set jobs=2 for bolt-worker-aarch64

Limit number of test threads for builder llvm-clang-x86_64-sie-win to the default (number of cores on the machine) to try and make things more stable.

Remove clang-cmake-x86_64-sde-avx512-linux builder

Remove clang-cmake-x86_64-sde-avx512-linux builder as we no longer need to run sde tests.

Use compiler_launcher for cpp20 and clangd builders
deprecates the support for using LLVM's custom cmake option and encourages
people to use the default way.


...instead of LLVM_CCACHE_BUILD as per D143468.

[clang][VE] Change to use only use major version in resource dir

VE's makefile needs to know resource directory in order to compile crt-ve
correctly. The path of resource directory is changed at e1b88c8. So, we
need to correct our definition of resource directory in makefile.

This problem, not working top-level CMake with VE, will be fixed once is merged.

[jenkins] Update to use system compiler

This patch updates the monorepo_build script to use the system compiler
instead of the host built compiler.

This should address a build failure in lldb incremental bot, that is
happening when assertion are enabled.

Signed-off-by: Med Ismail Bennani <>

[sanitizer] Remove lsr workaround

D144316 is likely the fix.

Add enable_runtimes option to Clang builder

...and set aarch64-full-2stage to "auto" meaning
that compiler-rt will go in RUNTIMES.

The option already exists in the functions below
this it just needed adding to the arguments.

This is the start of moving all the bots that use compiler-rt
and friends to using ENABLE_RUNTIMES rather than ENABLE_PROJECTS.


[RISCV] Add a qemu-user based builder

The plan is to keep this on the staging buildbot for now and see how it
works out. Some known issues:

[BOLT] Only notify about warnings from NFC builder

Used incorrect mode option in the last attempt. Fixed now.

[libc] Execute the target and step libc-unit-tests instead of check-libc.

[libc] Run "check-libc" instead of "libc-unit-tests" when doing runtimes build.

[sanitizers] Time Stage2 and Stage3 builds

Remove submit perf results

Stop submitting results to LNT server because recently LNT server became unreliable with accepting runs.

[libc] Add a lint worker and a builder running on it.

Fixed missed comma.

[Sanitizers] Turn on leak detection for HWASAN

[libc] Add lint functionality in libc build script.

[libc] Fix typo.

Revert "[Sanitizers] Turn on leak detection for HWASAN"

Leaks memmory.

This reverts commit a73b1456257e2f901bdcf1dc80ad6d93c5c079a0.

[libc] Let the "libc-lint" target run all the way with "-k 0".

Revert "[libc] Let the "libc-lint" target run all the way with "-k 0"."

This reverts commit 5e45046120e95d0619a577b679ada00671d98b47. With
"-k 0", the build runs way to long and produce huge logs.

[sanitizers] Check lsan for asan and hwasan

It's quick, so do not exclude from others.

Double quote vars configurable from web interface

[NFC][sanitizer] Use array of args to call subprocess

And drop unneded bash.

Fix typo in the previous commit

[libc] Run unit tests on the gcc builder.

[Sanitizers] Added a script to automate bisect

The input for the script is BUILDBOT_REVISION set to "BISECT:bad:good".
The bisect command is provided in the BOT_BISECT_CMD environment

[sanitizers] Fix

[sanitizer] Mark bisect as exception

[sanitizer] Checkout before bisecting

Switch to GOOD:BAD format.

[sanitizer] Checkout origin/main before bisecting

[sanitizer] cd into top of git checkout

[sanitizer] Use build_exception

[sanitizer] build_exception at the end of the bisect

[VE] Change to not use standalone build

The LLVM's main branch prohibits standalone build for a while. However,
LLVM doesn't support bootstrap crt builds. The patch to solve this problem
is, but it is not merged yet.

So, compiling LLVM for VE used to require several tricks. Recently, a
patch at breaks such tricks. As a
result, VE's buildbot was not possible to perform tests, particulaly a
check-compiler-rt for VE. This patch udpate buildbot script to perform
tests again on VE's buildbot.

Move lldb matrix and sanitized jobs to green-dragon-09

Apply debugserver workaround to lldb-cmake-matrix

We have a workaround for debugserver codesigning to be able to debug on
green-dragon correctly. This workaround was applied to lldb-cmake (LLDB
Incremental) and lldb-cmake-sanitized (LLDB Sanitized) but not
lldb-cmake-matrix (LLDB Matrix).

[libc] Add a riscv64 worker and two builders on it.

Add more debugserver workarounds to lldb-cmake-matrix

In commit 766ec9f040c1e7c590cb89413a306027fb828bbf I only added part of
the workaround. This adds the rest (and hopefully should be the last
application of this workaround).

Generate ENABLE_RUNTIMES in ClangBuilder

In ca793509f5a9b26395400dcb92b344b1e055e949 I passed down
enable_runtimes to ClangBuilder but did not realise that
it was not LLVMBuildFactory that generates the CMake arguments.

LLVMBuildFactory simply holds properties of the build. In this
case what projects and runtimes we rely on.

ClangBuilder is the one making the CMake arguments, so I've updated
that to emit the right options this time instead of putting everything

I've adjusted two of the PPC bots that were manually putting compiler-rt

[mlir] Add a new mlir buildbot on s390x with werror enabled

This adds a new mlir buildbot running on s390x with Ubuntu and werror enabled.

Remove lldb-x64-windows-ninja bot

This removes the lldb-x64-windows-ninja bot. There's now a second windows lldb bot, so we will attempt to leverage that instead of maintaining a separate public facing bot.

Revert "[BOLT] Set jobs=2 for bolt-worker-aarch64"

This reverts commit 58f12fafc988fb7bf8a2fec4d62c8c37d761991b.

Revert to using the default number of jobs.

[Linaro] Put compiler-rt in runtimes for a couple of bots

So far AArch64 Linux works, this moves an Armv8 Linux and
Windows on Arm bot to runtimes.

[libc] Enable integration tests and api test with gcc.


[HWASAN][LSAN] Turned on leak detection for HWASAN builds

[Linaro] Move all compiler-rt builders to the runtimes build

[libc] Exclude few build steps under riscv.

[libc] Do not run benchmark tests under GCC as they don't build with gcc.

[libc] Exclude compiler-rt and Scudo on RISCV builders.

[libc] Fix syntax.

[mlir] Change the notification list for the windows mlir bot

[linaro/lldb] Make test stages verbose

We were passing -v but also -s which cancel each other out.

Add -v to the Windows on Arm builder.


Removed 2 tests which stated failing with detect_leaks turned on.

[LSAN][HWASAN] Disable a test which fails with leak detection tutned on.


This will let us know if a builder does not have things like psutil

[jenkins] Coverage bot: Fix how we exclude debugserver

The change made in 13ad8a2a didn't work as expected.

Revert "[jenkins] Update to use system compiler"

The correct way to do that is to skip fetching the "recently built compiler".

This reverts commit 7d700dae8fc2c898b5ed4804eacff0a8d598e819.

[s390x] Put compiler-rt in runtimes

This moves compiler-rt from ENABLE_PROJECTS, to ENABLE_RUNTIMES
for these bots:

  • clang-s390x-linux
  • clang-s390x-linux-multistage
  • clang-s390x-linux-lnt

This matches the recommended way to build compiler-rt.

getClangCMakeBuildFactory's current default is enable_runtimes=None
which means the runtimes build is not used. "auto" puts anything known
to be a runtimes project into the list of runtimes instead of projects.

Skip downloading the host compiler on lldb incremental job

Also delete the host compiler to conf.CC() doesn't pick it up

Also skip downloading the just-built-compiler on other LLDB jobs

[OpenMP] Adds optional additional check targets

The goal is to enable to configure an OpenMP buildbot to run additional check
targets via ninja.

[avr] Opt out of runtimes build

This bot has not done a build for a long time and I'm not sure
the owner is still active.

So on the off chance that it is ressurected, opt out of runtimes
so that the config doesn't later change when we default to enabling
the runtimes build.

[solaris] Explicitly opt out of the runtimes build

As described in
and, there are
ongoing issues with the runtimes build for Solaris and others.

This patch does not change what these bots do, just makes it explicit
so that when the default switches in future they are not effected.

[m68k] Change compiler-rt settings

For clang-m68k-linux-cross it appears that compiler-rt is
not needed. It does not build it for m68k and there are other
bots covering compiler-rt on x86 (which hosts the build).

I was unable to confirm the configuration of clang-m68k-linux
( doesn't show any builds).
And cannot search for it on staging at the moment.

So I am opting it out of the runtimes build for compiler-rt
just to be on the safe side.

[OpenMP] Additional checks to AMDGPU OpenMP (experimental) buildbot

For better coverage, check Clang, LLVM, LLD, and OpenMP in lit tests.

Fixed a typing error in

[OpenMP] Remove unnecceary OMPT flag from builder factory

The OMPT option defaults to "ON" in the OpenMP project CMake. To remove
potential confusion whether OMPT support is enabled in a buildbot,
remove this argument. It was only able to *enable* OMPT support and is
now useless.

If OMPT support should be disabled in a buildbot, this should be made
explicit via the additional CMake flag.

[lldb] skip downloading the just-built-compiler on sanitized builds

This is the same as 496428e9 but for the sanitized build

[OpenMP][LibC] Adds testing LibC GPU Mode for AMDGPU

This adds testing LibC's GPU mode to the AMDGPU (experimental) buildbot.
The change requires the buildbot to also depend on the libc project and
pass-in a few more CMake flags.
Finally, it runs the additional check-libc target.

Revert "[OpenMP][LibC] Adds testing LibC GPU Mode for AMDGPU"

This reverts commit d0f8df27c2a7b0930110e4d709b7cd59f93f28c4.

breaking the experimental amdgpu bot, will revisit

[RISCV] Move RISC-V qemu-user based builder to using clang/clang++

Update clangd buildbot

Generate new image for clangd buildbot to bump cmake version to 3.25.

Also change dockerfile to exit on error, rather than silently building
and publishing a broken image and use kubernetes configs instead of
terraform for updating GCP templates.

Reland [OpenMP][LibC] Adds testing LibC GPU Mode for AMDGPU

This adds testing LibC's GPU mode to the AMDGPU (experimental) buildbot.
The change requires the buildbot to also depend on the libc project and
pass-in a few more CMake flags.
Finally, it runs the additional check-libc target.

Revert "Reland [OpenMP][LibC] Adds testing LibC GPU Mode for AMDGPU"

This reverts commit 29a9b33361589f9e6ac23c683c3c6a271d1483d3.

Updated OpenMPBuilder to make enable_runtimes="auto" the default, and to remove mutable default values.

[OpenMP][LibC] Adds testing LibC GPU Mode for AMDGPU

This adds testing LibC's GPU mode to the AMDGPU (experimental) buildbot.
The change requires the buildbot to also depend on the libc project and
pass-in a few more CMake flags.
Finally, it runs the additional check-libc target.

[OpenMP] Disable libarcher tests for the experimental AMDGPU buildbot

These tests are flaky with the settings that we want to test. We aren't
focused on testing archer and the project seems largely unmaintained
for now. This patch disables support for libarcher so we can keep the
bot green.

[Test suite builder] Make enable_runtimes="auto" the default

"auto" puts compler-rt and friends into ENABLE_RUNTIMES, which
is now the reccomended way to build.

All the existing bots were passing "auto" anyway so make it the

[AArch64] Change fixed length SVE bots to 256 bit

Previously we were running these on Fujitsu FX which have
SVE 512, now we're using Graviton 3 which has SVE 256.

[MIPS] Only build 64 bit libraries

Due to
it's not possible to use the usual autodetection that would build
64 and 32 bit.

[zorg] Remove clang-cmake-x86_64-avx2-linux builder + worker

This bot has been red for 54 weeks, so I reached out to the bot owner
(@yinyangsx) who confirmed that this builder and worker are no longer

Made LNT doc builder nightly.

[AArch64] Use mcpu=neoverse-512tvb for SVE bots apart from sve-vla

Instead of a64fx. neoverse-512tvb is the reccomended mcpu value for
Graviton 3, which is the new home of the bots.

With the exception of sve-vla single stage which remains on a64fx for now.

Remove llvm-linux-avr builder + worker

This bot has been red for over 14 weeks. I reached out to the bot
owner via email and the review for these changes, but did not hear back
from them. So removing the bot as being stale (we can bring it back
online easily enough if the bot owner needs it again).

Add a new X86_64 AVX512 Clang+LLVM builder + AVX512 worker

[AArch64][SVE] Add configuration for new Graviton 3 workers

We are moving all of our SVE bots to Graviton 3 instances.

These workers are all the same configuration so they can be used
by any of the 4 bots.

Along the way I am changing sve-vla to target neoverse instead
of its previous home on a64fx.

The configuration for the previous workers will remain until
I am sure we have removed all trace of those on our side.
This should prevent any unknown workers trying to connect in that
time frame.

Disable sanitizer tests and enable building of compiler-rt

[standalone-build] Compile llvm with google test

This should fix this error when configuring clang:

CMake Error at CMakeLists.txt:124 (message):
  llvm-gtest not found.  Please install llvm-gtest or disable tests with


For context, see

[sanitizers] Don't compiler-rt-clear

Clobber deletes these dirs every time, but removing STAMP_DIR does not
work with newer cmake.

[sanitizers] Switch to LLD

Remove the other AVX2 builder + worker

I spoke with the bot owner (@yinyangsx) and confirmed that this builder
and worker are no longer needed.

[AArch64][SVE] Remove linaro-*-sve* worker configuration

These builder specific workers have been replaced by the generic
linaro-g3-* workers.

Add mail notifications for the clang-cmake-x86_64-avx512-linux builder

[mlir][aarch64] Enable MLIR integration tests for SVE/SME under emulation

This enables MLIR integrations tests for SVE and SME to run under
emulation with QEMU, as discussed on D148111.

[mips][sparc] Opt out of runtimes build for compiler-rt

We don't know yet if they are compatible, and these are the
last bots without an explicit value here.

This will enable me to flip the default for ClangBuidler.

Revert "[BOLT] Temporarily recover"

This reverts commit 1eb125993f12f53ec72eff26176c8ba0edfce276.

Remove bolt-nfc annotated builder, incorporated into BOLTBuilder

[BOLT] Remove workaround for #59008

[NFC][OpenMP][LibC] Rename experimental AMDGPU buildbot

In preparation of moving the buildbot into production we rename it to
better reflect what it is doing.

[OpenMP] Fix not respecting -j in additional checks

This fixes that the implementation missed to pass a potentially specified
-j option to the additionally specified test targets.

It seems that libc is however not respecting this unless a previous cd
into the runtimes-build directory is done. This will be in a separate

Bump pybind11 version for mlir-nvidia

MLIR is bumping its requirement to 2.9.0

Two small buildbot config changes.

  • Remove CMake argument -DPYTHON_EXECUTABLE for llvm-clang-x86_64-sie-win builder which is no longer needed.
  • Set llvm-clang-x86_64-sie-ubuntu-fast builder to not collapse build requests so it builds every commit individually.

[sanitizers] Fix bisecting script

Don't discard exit code of check_stage*_msan

[sanitizer] Remove redundant options

They are defaults, and -Oz is overriden by -O3 from CMAKE_C_FLAGS_RELEASE.

[lldb] Test Lua support on the incremental bot

[lldb] Disable Lua until I can reach the buildbot

[sanitizers] Run check-cxx check-cxxabi on same thread

[sanitizers] Build all with intrumented clang

[sanitizer] Try more CCACHE

[sanitizers] Disabled LLVM_APPEND_VC_REV

[sanitizers] Use ccache everywhere

[sanitizer] Debug CCACHE

[libc] only build fuzz target for overlay build

The fuzz targets only work on overlay builds, but were previously only build for full builds.

Update libc-fuzzer condition

Add two new conditions to check before trying the fuzz target.

runtimes doesn't actually have the target, and so fails on attempting to build.
risc-v doesn't have compiler-rt enough to run fuzz tests, at least in clang 13 which is what the buildbot is running.

Only build libc fuzzers on x86_64

Currently only x86_64 has the appropriate support for building the fuzzers.

[sanitizer] Improve bisect script

[sanitizer] Fix typo in script

[sanitizer] Remove CCACHE options

[sanitizer] Don't default BUILDBOT_BISECT_MODE

[sanitizer] Run msan -Oz -fno-inline

Msan with inlining detects more bugs.

[lldb] Split lldb-cmake in Intel and Apple Silicon

[sanitizer] Enable LLVM_ENABLE_LLD

[msan] Remove stage3 from fast bot

[sanitizer] Run asan+ubsan config on fast bot

[lldb] Don't fetch the host (x86_64) compiler when building for arm64 will automatically use the "host" compiler when
present. Not fetching it should be sufficient to avoid using it.

[msan] Temporarily disable -Oz iteration

There is a pre-existing crash

[lldb] Don't hardcode x86_64 as the test arch

[Clang] Enable Clang Sphinx man page build

This patch makes the current clang-sphinx-docs also build the Clang man
pages. There have been some breakages within this functionality that
haven't been caught for a while (see
Having coverage of this would probably be a good idea as it shouldn't
cost that much and ensure that this build configuration works.

However, the build was also broken for a fairly significant amount of
time previously and no issues were filed other than the fix I opened, so
maybe this configuration is not particularly important to consumers.

[sanitizer] Consolidate setup of CMAKE_COMMON_OPTIONS

[sanitizer] Check for LLD presence

[sanitizer] Don't use make

[sanitizer] Use -DLLVM_USE_LINKER=lld

[sanitizer] Remove unused PLATFORM

[sanitizer] Remove unused PATH

[sanitizer] Don't repeate ROOT setup

[sanitizer] Incremental stage1 build

[sanitizer] Add missing -GNinja

[sanitizer] Fix PPC build

[sanitizer] Fix PPC build

Move mlir-nvidia builder out of Google infra after Google abandonned it.

Cleanup and modernize the image, making it compatible with GCP container-optimized OS.

Add --no-install-recommends to apt commands when building mlir-nvidia image

This actually fixes Vulkan crashes by avoiding installing the lavapipe driver
which bundles LLVM and conflicts with our LLVM when running in-process.

Add ccache configuration to mlir-nvidia Docker container to increase cache size

Reload Zorg builders This is necessary to work the reconfig properly.

Adding a clobber test suite step to the TestSuiteBuilder

The TestSuiteBuilder is suppose to build and test the
llvm-test-suite with each new compiler it builds but does
not clean the test-suite build directory on each build request.
This patch adds a clean step to remove the test-suite build
directory on each build request allowing each newly built compiler
to test test-suite thoroughly.

Recovering incremental job due to downed host

[ClangBuilder] Change default of enable_runtimes to "auto"

Prior to this I went through and made all bots explicitly opt
into, or out of, the runtimes build.

Now that's done the majority are opting in, so make that the default
and remove the explicit opt ins.

"auto" means that we automatically put any runtimes projects
(libcxx, compiler-rt etc.) in LLVM_ENABLE_RUNTIMES instead of

[OpenMP][LibC] Run libc GPU tests with 1 thread

Executing the libc GPU tests multithreaded may overload the GPU runtimes
for CUDA or HSA, which results in test errors. In addition, libc seems
to not respect the -j option of ninja, when it is invoked at the top

This patch adds special handling of the check-libc rule when passed as
additional check to the OpenMP builder. Ninja will thus first cd into
the runtimes build directory to make the libc testing respect the given
amount of parallelism.
We then limit the number of threads to 1 as to minimize the potential
for any errors with GPU runtimes.

[OpenMP] Fix wrong workdir in OpenMP additinal libc tests

This fixes the wrong workdir for the libc GPU tests in the AMDGPU
OpenMP-libc buildbot.

[OpenMP] Give absolute path to libc GPU testing

[Fix] Add missing parenthesis

Fixed WithProperties usage in OpenMPBuilder.

Added project dependency for clang_man in SphinxDocsBuilder.getSphinxDocsBuildFactory.

Simplified the -C path to be relative to workdir in OpenMPBuilder.

[MailNotifier] Add new mailnotifier for SIE specific bots.

Added new mail notifier for the following bots:


Show Android version of device

[sanitizer] Filter out check_memcpy.c tests with internal symbolizer

Like done for TSan, filter out the check_memcpy.c tests with the
internal symbolizer.

Add an MSVC debug x64 builder

Revert "Add an MSVC debug x64 builder"

This reverts commit 29704ab6337062a6549d2ebfedf96d345f2a3ddd.

ClangBuilder does not support vs="autodetect" along with the test suite,
reverting until we resolve the issue.

Add 2 new release build configurations: llvm-clang-x86_64-sie-win-release and llvm-clang-x86_64-gcc-ubuntu-release.

These are the exact same build configurations as the non-release versions of the same name and run on the same workers as the non-release builds.
Also add notifications for myself for when these new builders fail.

Collapse requests on builder mlir-rocm-mi200.

Remove the "collapseRequests: False" from mlir-rocm-mi200

[flang][AArch64] Disable asserts on flang-aarch64-release bot

There are two release bots:

Turns out, both of them enable asserts.

Someone reported to me that some MLIR tests had been
failing in a release (no asserts) build and that there's
no bot for that right now.

So let's make the names make sense, fix that gap in
coverage and test what we will eventually ship.

Automatically assign tag "release" for all builders in

[LibC][OpenMP][AMDGPU] Rely on CMake flag to limit parallelism

Simplify the bot configuration to rely on the now-available CMake option
LIBC_GPU_TEST_JOBS to limit the number of parallel jobs during testing
to a single thread.

[ClangBuilder] Remove -flang-experimental-exec flag

This flag has been removed from LLVM ( )

Fix broken bots by also removing the flag here

Add new test workers and builders on GoogleClouds.

Two test workers and builders to collect build statistics for the Buildbot Guard project.

This is temporary configuration and it will be removed in one month.

[Arm] Remove native Armv7-a builders/workers

clang-armv7-vfpv3-full-2stage and clang-thumbv7-full-2stage have
been unstable for a very long time and have never been that useful
due to a long cycle time.

We (Linaro) plan to bring these back in the future in a more useful
form. In the meantime, we do also have 32 bit and Armv7 builders that
run on Armv8-a machines.

Added XToolchainBuilder support for envars when vs is specified.

Add build dependencies for the llvm-clang-buildguard5-ubuntu builder.

Fix runtimes for the llvm-clang-buildguard5-ubuntu builder.

Updated UnifiedTreeBuilder to fix auto runtimes discovery and to support envars with vs.

Removed unused import in XToolchainBuilder.

Fix bisect mode check

Update configuration for llvm-clang-buildguard5-ubuntu and llvm-clang-buildguard6-win builders.

Report lit failures in a consistent order

Failures are counted by adding their names to a dictionary.
Python3 dictionaries are ordered but by insertion order.
So if we see an unexpected failure before an xpass, unexpected
failure gets printed first.

You don't normally notice that until multiple builds fail and you
see stuff like this:

6635	<...>	failed 75483 expected passes 246 expected failures 1 unexpected failures 2986 unsupported tests (failure)
6634	<...>	failed 1 unexpected failures 75466 expected passes 246 expected failures 2985 unsupported tests (failure)

Where the failure types change order.

To fix this, check for all the known failure types first.
This means they'll always be in the same order, if present.

Then place any unknown failure types on the end in any order.

Moved unexpected passes close to unexpected failures in lit failures reporting.

Support docs-libc-html for LLVM_ENABLE_RUNTIMES=libc

D126156 added a docs-libc-html target for LLVM_ENABLE_PROJECTS=libc, but our
This patch follows for libcxx/libunwind
to support the -Sruntimes -DLLVM_ENABLE_RUNTIMES=libc configuration.

Fixed variable names collision in LitTestCommand.

Removed redundant matcher for llvm/ groups.

Add new gc-builder-7-win worker for the Buildbot Guard project.

Add llvm-clang-x86_64-sie-ubuntu-fast to the list of buildbots that report commit build status to Github.

Added WorkerOwnerAuthz, WorkerEndpointMatcher, RolesFromWorkerOwner.

Update LLDB Arm/AArch64 email notifier list

Support Windows test

Resolve issues for missing files lib/clang/18/lib/windows/liborc_rt-x86_64.a

Signed-off-by: Xiaodong Li <>

Event Timeline

DoyleLi created this revision.Aug 16 2023, 10:20 PM
Herald added a reviewer: aartbik. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
DoyleLi requested review of this revision.Aug 16 2023, 10:20 PM
DoyleLi abandoned this revision.Aug 16 2023, 10:23 PM

Invalid commit by mistake. Please ignore the revision.
Apologize for the inconvenient.

Invalid commit by mistake. Please ignore the revision.
Apologize for the inconvenient.

Hey. This marked a bunch of commits as reverted, but doesn't seem to have tagged them as re-applied. I also don't see the commit hash on this page. Is this misc phabricator weirdness or do we have some repair to do?