SuccessChanges

Summary

  1. [libc++] Run back-deployment CI on macOS 10.15 instead of 10.14 (details)
  2. [clangd] Extract per-dir CDB cache to its own threadsafe class. NFC (details)
  3. [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms (details)
  4. [COFF][LTO][NPM] Use NPM for LTO with ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER (details)
  5. [lldb] Track the API boundary using a thread_local variable. (details)
Commit 717b0da7a6ef0a8a03d7296324f76132118fcf54 by Louis Dionne
[libc++] Run back-deployment CI on macOS 10.15 instead of 10.14

The goal was to add coverage for back-deployment over the filesystem
library, but it was added in macOS 10.15, not 10.14.

Differential Revision: https://reviews.llvm.org/D92937
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
Commit 634a377bd8cbaa515a58295cfd85dcb6a21381c1 by sam.mccall
[clangd] Extract per-dir CDB cache to its own threadsafe class. NFC

This is a step towards making compile_commands.json reloadable.

The idea is:
- in addition to rare CDB loads we're soon going to have somewhat-rare CDB
   reloads and fairly-common stat() of files to validate the CDB
- so stop doing all our work under a big global lock, instead using it to
   acquire per-directory structures with their own locks
- each directory can be refreshed from disk every N seconds, like filecache
- avoid locking these at all in the most common case: directory has no CDB

Differential Revision: https://reviews.llvm.org/D92381
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.h
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
Commit f9a27df16bc4c86eb9c81b0fed3d263876334572 by mtrofin
[FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms

Explicitly opt-out llvm/test/Transforms/Attributor.

Verified by flipping the default value of allow-unused-prefixes and
observing that none of the failures were under llvm/test/Transforms.

Differential Revision: https://reviews.llvm.org/D92404
The file was modifiedllvm/test/Transforms/Inline/inline_stats.ll
The file was modifiedllvm/test/Transforms/LowerTypeTests/export-inline.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/loop-idiom-vs-indvars.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
The file was modifiedllvm/test/Transforms/Inline/noalias2.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll
The file was addedllvm/test/Transforms/lit.local.cfg
The file was modifiedllvm/test/Transforms/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/LICM/pr23608.ll
The file was modifiedllvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
The file was modifiedllvm/test/Transforms/HardwareLoops/scalar-while.ll
The file was addedllvm/test/Transforms/Attributor/lit.local.cfg
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
The file was modifiedllvm/test/lit.cfg.py
Commit fed7565ee2172fbb77c22b2362c76ffc1fdf39d7 by aeubanks
[COFF][LTO][NPM] Use NPM for LTO with ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D92866
The file was modifiedlld/COFF/Driver.cpp
Commit 5861234e72c035ad39b5fd843eef78ab4039351e by Jonas Devlieghere
[lldb] Track the API boundary using a thread_local variable.

The reproducers currently use a static variable to track the API
boundary. This is obviously incorrect when the SB API is used
concurrently. While I do not plan to support that use-case (right now),
I do want to avoid us crashing. As a first step, correctly track API
boundaries across multiple threads.

Before this patch SB API calls made by the embedded script interpreter
would be considered "behind the API boundary" and correctly ignored.
After this patch, we need to tell the reproducers to ignore the
scripting thread as a "private thread".

Differential revision: https://reviews.llvm.org/D92811
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Utility/ReproducerInstrumentation.cpp
The file was modifiedlldb/include/lldb/Utility/ReproducerInstrumentation.h

Summary

  1. [buildbot] Fix worker for ThinLTO whole program devirtualization (details)
Commit 7342c1f39cfadd347c2937725af9adbab266df09 by tejohnson
[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
stage.

Is there a way to test my change to ClangLTOBuilder.py?

Differential Revision: https://reviews.llvm.org/D91474
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedzorg/buildbot/builders/ClangLTOBuilder.py