Progress:
In progressChanges

Summary

  1. [libomptarget][NFC] Avoid gcc 5/6 issue with lambda captures. (details)
  2. llvm-lib: Pull error printing code out of two functions (details)
  3. Disable rosegment for old Android versions. (details)
  4. [gn build] restore build command removed in 9595a7ff55b6 for platforms without prebuilts (details)
  5. [gn build] fix get.py change (details)
  6. [libomptarget][cuda] Handle missing _v2 symbols gracefully (details)
  7. [OpenMP] Modify OMP_ALLOCATOR environment variable (details)
  8. [libc++] Give `MoveOnly` all six comparison operators, not just == and <. (details)
  9. Support for instrumenting only selected files or functions (details)
  10. [RISCV] Add rv64 run lines to rv32 MC layer tests for B extension (details)
  11. [OpenMP][NVPTX] Drop dependence on CUDA to build NVPTX `deviceRTLs` (details)
  12. [gn build] Port bb9eb1982980 (details)
Commit 3caa2d3354e31827ba7a5e258f0025bac5336cbe by vyacheslav.p.zakharin
[libomptarget][NFC] Avoid gcc 5/6 issue with lambda captures.

Differential Revision: https://reviews.llvm.org/D95486
The file was modifiedopenmp/libomptarget/include/Debug.h (diff)
Commit f3c9687a4f79fc5e31890278507294594d8787bd by thakis
llvm-lib: Pull error printing code out of two functions

Slightly changes the output in error code, but no behavior change in
normal use. This is for preparation for using these two functions
elsewhere.
The file was modifiedllvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp (diff)
Commit fae16fc0eed7cf60207901818cfe040116f2ef00 by danalbert
Disable rosegment for old Android versions.

The unwinder used by the crash handler on versions of Android prior to
API 29 did not correctly handle binaries built with rosegment, which is
enabled by default for LLD. Android only supports LLD, so it's not an
issue that this flag is not accepted by other linkers.

Reviewed By: srhines

Differential Revision: https://reviews.llvm.org/D95166
The file was modifiedclang/test/Driver/linux-ld.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp (diff)
Commit 4dcb5c440323a60d05a6bfeb1ba2e77ff8e6e9f3 by thakis
[gn build] restore build command removed in 9595a7ff55b6 for platforms without prebuilts
The file was modifiedllvm/utils/gn/get.py (diff)
Commit 65e2fa50604c01cf1ed3b8cd05253dc447bc107b by thakis
[gn build] fix get.py change
The file was modifiedllvm/utils/gn/get.py (diff)
Commit 653655040f3e89f7725ce6961d797d4ac918708b by jonathanchesterfield
[libomptarget][cuda] Handle missing _v2 symbols gracefully

[libomptarget][cuda] Handle missing _v2 symbols gracefully

Follow on from D95367. Dlsym the _v2 symbols if present, otherwise use the
unsuffixed version. Builds a hashtable for the check, can revise for zero
heap allocations later if necessary.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95415
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.h (diff)
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.cpp (diff)
Commit 927af4b3c57681e623b8449fb717a447559358d0 by nawrin.sultana
[OpenMP] Modify OMP_ALLOCATOR environment variable

This patch sets the def-allocator-var ICV based on the environment variables
provided in OMP_ALLOCATOR. Previously, only allowed value for OMP_ALLOCATOR
was a predefined memory allocator. OpenMP 5.1 specification allows predefined
memory allocator, predefined mem space, or predefined mem space with traits in
OMP_ALLOCATOR. If an allocator can not be created using the provided environment
variables, the def-allocator-var is set to omp_default_mem_alloc.

Differential Revision: https://reviews.llvm.org/D94985
The file was addedopenmp/runtime/test/env/omp51_alloc_env.c
The file was modifiedopenmp/runtime/src/kmp_settings.cpp (diff)
Commit fc3192026b3156d39c223cc092297c39dd8013f3 by arthur.j.odwyer
[libc++] Give `MoveOnly` all six comparison operators, not just == and <.

Split out of D93512.
The file was modifiedlibcxx/test/support/MoveOnly.h (diff)
Commit bb9eb198298099742c823dce11c5edacc9c48d4e by phosek
Support for instrumenting only selected files or functions

This change implements support for applying profile instrumentation
only to selected files or functions. The implementation uses the
sanitizer special case list format to select which files and functions
to instrument, and relies on the new noprofile IR attribute to exclude
functions from instrumentation.

Differential Revision: https://reviews.llvm.org/D94820
The file was modifiedllvm/include/llvm/IR/Attributes.td (diff)
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was addedclang/test/CodeGen/profile-filter.c
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.h (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was addedclang/include/clang/Basic/ProfileList.h
The file was modifiedllvm/lib/AsmParser/LLToken.h (diff)
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was addedclang/lib/Basic/ProfileList.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp (diff)
The file was modifiedclang/include/clang/AST/ASTContext.h (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/docs/ClangCommandLineReference.rst (diff)
The file was modifiedllvm/lib/IR/Attributes.cpp (diff)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp (diff)
The file was modifiedclang/docs/UsersManual.rst (diff)
The file was modifiedclang/lib/AST/ASTContext.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenModule.h (diff)
The file was addedllvm/test/Transforms/PGOProfile/noprofile.ll
The file was modifiedclang/lib/Basic/CMakeLists.txt (diff)
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h (diff)
Commit e1d6178951de20b67950039470ac99377b29ddc7 by craig.topper
[RISCV] Add rv64 run lines to rv32 MC layer tests for B extension

Remove common instructions from rv64 tests since they are now
covered by the rv64 run lines in the rv32 tests.

Add rv32-only* tests for a few cases that aren't common between
r32 and rv64.

Addresses review feedback from D95150.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D95272
The file was modifiedllvm/test/MC/RISCV/rv32zbb-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zbf-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zbt-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbe-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbs-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbb-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbbp-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zbc-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbproposedc-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zbe-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbf-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zbp-valid.s (diff)
The file was removedllvm/test/MC/RISCV/rv64zbc-valid.s
The file was modifiedllvm/test/MC/RISCV/rv32zbs-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zbbp-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv64zba-valid.s (diff)
The file was addedllvm/test/MC/RISCV/rv32zbbp-only-valid.s
The file was modifiedllvm/test/MC/RISCV/rv32zbproposedc-valid.s (diff)
The file was addedllvm/test/MC/RISCV/rv32zbp-only-valid.s
The file was modifiedllvm/test/MC/RISCV/rv64zbt-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zba-valid.s (diff)
The file was modifiedllvm/test/MC/RISCV/rv32zbp-valid.s (diff)
Commit e7535f8fedb5f355c332df9f2a87ebd61c82d983 by tianshilei1992
[OpenMP][NVPTX] Drop dependence on CUDA to build NVPTX `deviceRTLs`

With D94745, we no longer use CUDA SDK to compile `deviceRTLs`. Therefore,
many CMake code in the project is useless. This patch cleans up unnecessary code
and also drops the requirement to build NVPTX `deviceRTLs`. CUDA detection is
still being used however to determine whether we need to involve the tests. Auto
detection of compute capability is enabled by default and can be disabled by
setting CMake variable `LIBOMPTARGET_NVPTX_AUTODETECT_COMPUTE_CAPABILITY=OFF`.
If auto detection is enabled, and CUDA is also valid, it will only build the
bitcode library for the detected version; otherwise, all variants supported will
be generated. One drawback of this patch is, we now generate 96 variants of
bitcode library, and totally 1485 files to be built with a clean build on a
non-CUDA system. `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=""` can be used to
disable building NVPTX `deviceRTLs`.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D95466
The file was modifiedopenmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake (diff)
The file was modifiedopenmp/README.rst (diff)
The file was removedopenmp/libomptarget/cmake/Modules/LibomptargetNVPTXBitcodeLibrary.cmake
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt (diff)
Commit 145898740764ff2ff90f7b74e6bb0bb88422afa1 by llvmgnsyncbot
[gn build] Port bb9eb1982980
The file was modifiedllvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn (diff)