[all-commits] [llvm/llvm-project] 7d8616: [analyzer] Fix stores through label locations (#89...

agozillon via All-commits all-commits at lists.llvm.org
Wed Apr 24 15:19:36 PDT 2024


  Branch: refs/heads/users/agozillon/main.openmpmlir-add-new-arguments-to-map_info-to-help-support-record-type-maps
  Home:   https://github.com/llvm/llvm-project
  Commit: 7d8616ed500f01b201667020c9be545d686950be
      https://github.com/llvm/llvm-project/commit/7d8616ed500f01b201667020c9be545d686950be
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    A clang/test/Analysis/gh-issue-89185.c

  Log Message:
  -----------
  [analyzer] Fix stores through label locations (#89265)

Interestingly, this case crashed from the very beginning of the project,
at least starting by clang-3.

As a "fix" I just do the same thing as we do for concrete integers. It
might not be the best we could do, but arguably, it's still better than
crashing.

Fixes #89185


  Commit: a309c07ad3fc4a9b0bf41a4e66e812b54338aa02
      https://github.com/llvm/llvm-project/commit/a309c07ad3fc4a9b0bf41a4e66e812b54338aa02
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp
    M flang/test/Semantics/cuf11.cuf

  Log Message:
  -----------
  [flang][cuda] Allow if stmt in device subroutine (#89347)


  Commit: 5fa21e5fc7384069276e15dbb1c27986a6e86483
      https://github.com/llvm/llvm-project/commit/5fa21e5fc7384069276e15dbb1c27986a6e86483
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/Headers/avxintrin.h

  Log Message:
  -----------
  [NFC][X86][Headers] Fix missing blank line

It caused the \headerfile directive to be considered as part of
the brief description in some of our tooling.


  Commit: 78dca4af5a9fd77972f80e9f1ff33a00b95f669e
      https://github.com/llvm/llvm-project/commit/78dca4af5a9fd77972f80e9f1ff33a00b95f669e
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/docs/ClangOffloadBundler.rst
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/test/Driver/clang-offload-bundler-zstd.c

  Log Message:
  -----------
  [ClangOffloadBundler] Add file size to header (#88827)

__hipRegisterFatBinary only accepts one pointer argument. It is expected
to get the fat binary size from the header.

This patch adds a file size field to the header of the compressed
bundle.


  Commit: f4c0c40f388fff0975ecada4997683cef3cb1fae
      https://github.com/llvm/llvm-project/commit/f4c0c40f388fff0975ecada4997683cef3cb1fae
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M mlir/docs/Passes.md
    M mlir/include/mlir/Dialect/XeGPU/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.h
    A mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
    A mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
    M mlir/include/mlir/InitAllPasses.h
    M mlir/lib/Dialect/XeGPU/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
    A mlir/test/Dialect/XeGPU/xegpu-fold-alias-ops.mlir

  Log Message:
  -----------
  [mlir][xegpu] XeGPU alias ops folder pass (#88886)

Adds a pass that folds aliasing ops into XeGPU ops.


  Commit: b859a9fc152f83d657b1b59a99ede2478e285b27
      https://github.com/llvm/llvm-project/commit/b859a9fc152f83d657b1b59a99ede2478e285b27
  Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir

  Log Message:
  -----------
  [mlir][ArmNeon] Update `LowerContractionToSMMLAPattern` to support proper unrolling for k dimension (#88591)

Fixes correctness issue with current smmla unrolling patterns whereby
unrolling K dimension would only include the result from the last tile
along K. Updates patterns to feed previous smmla output of the previous
tile into the next one along K.


  Commit: 3a4bc11b675c0511319c2843221133e986825b3b
      https://github.com/llvm/llvm-project/commit/3a4bc11b675c0511319c2843221133e986825b3b
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-func-attrs.c

  Log Message:
  -----------
  Reapply "[Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)"

This reverts commit 950bb097e11d6ee26533c00519c62df994322228


  Commit: 97c71247312c7e5261168283c13cd7e3ecd039a5
      https://github.com/llvm/llvm-project/commit/97c71247312c7e5261168283c13cd7e3ecd039a5
  Author: ZelinMa557 <72912470+ZelinMa557 at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/add.ll

  Log Message:
  -----------
  [InstCombine] Regard zext nneg as sext when folding add(zext neg(add)) (#88887)

fixes #88348
proof:
https://alive2.llvm.org/ce/z/fJnM7t
test will be added later

---------

Signed-off-by: ZelinMa557 <3388706467 at qq.com>


  Commit: f76475c026acbc30ef42834b3956bfa7bd61052b
      https://github.com/llvm/llvm-project/commit/f76475c026acbc30ef42834b3956bfa7bd61052b
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/test/Target/LLVMIR/Import/ignore-composite-type-elements.ll

  Log Message:
  -----------
  [MLIR][LLVM] Add vector exception to composite type element ignore mode (#89385)

This commit fixes a bug in the DICompositeType element ignore mode. It
seems that vectors require the presence of elements, as they otherwise
do not pass the verifier.


  Commit: 9dbf3e2384e450c2b4f282b85b9ec47c65976194
      https://github.com/llvm/llvm-project/commit/9dbf3e2384e450c2b4f282b85b9ec47c65976194
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Simplify handling of insertion points (#89221)

This patch replaces some `saveInsertionPoint`, `restoreInsertionPoint`
call pairs for an `InsertionGuard` instance where it makes sense within
Flang OpenMP lowering to make further modifications less error-prone.


  Commit: 5e5b8c49096afba8e4e0fd094a5ab905a9acced0
      https://github.com/llvm/llvm-project/commit/5e5b8c49096afba8e4e0fd094a5ab905a9acced0
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Verify loop wrapper properties of omp.parallel (#88722)

This patch extends verification of the `omp.parallel` operation to check
it is correctly defined when taking a loop wrapper role.

In OpenMP, a PARALLEL construct can be either a (potenially combined)
block construct or a loop construct, when appearing as part of a
composite construct. This is currently the case for the DISTRIBUTE
PARALLEL DO/FOR and DISTRIBUTE PARALLEL DO/FOR SIMD exclusively.

When used to represent the PARALLEL leaf of a composite construct, it
must follow the rules of a wrapper loop operation in MLIR, and this is
what this patch ensures. No additional restrictions are introduced for
PARALLEL block constructs.


  Commit: 64cc3fad53c8313ad2fb3f2ba2fd44f280e5babf
      https://github.com/llvm/llvm-project/commit/64cc3fad53c8313ad2fb3f2ba2fd44f280e5babf
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGenCXX/mangle-lambdas-gh88906.cpp

  Log Message:
  -----------
  [Clang] Fix the mangling of lambdas (#89204)

Lambdas used in the initializer of a local class were not mangling the
name of the member.

Fixes #88906


  Commit: 26a59bf6fcfe3717d41ae6a92b8e0d3913c3fc1f
      https://github.com/llvm/llvm-project/commit/26a59bf6fcfe3717d41ae6a92b8e0d3913c3fc1f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp

  Log Message:
  -----------
  [TableGen] MacroFusionPredicatorEmitter - pass constant std::vector arguments by ArrayRef instead

Silence pass by value warnings

Fixes #89210


  Commit: f02a27df2f133503b39bad38d0e2b3e95d3f8a23
      https://github.com/llvm/llvm-project/commit/f02a27df2f133503b39bad38d0e2b3e95d3f8a23
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/Options.td
    M lld/docs/ld.lld.1
    A lld/test/ELF/linkerscript/default-script.s
    M lld/test/ELF/reproduce.s

  Log Message:
  -----------
  [ELF] Add --default-script/-dT

GNU ld added --default-script (alias: -dT) in 2007. The option specifies
a default script that is processed if --script/-T is not specified. -dT
can be used to override GNU ld's internal linker script, but only when
the application does not specify -T.
In addition, dynamorio's CMakeLists.txt may use -dT.

The implementation is simple and the feature can be useful to dabble
with different section layouts.

Pull Request: https://github.com/llvm/llvm-project/pull/89327


  Commit: 854cc8986650267846c5eaf8ba164584a9ea7c01
      https://github.com/llvm/llvm-project/commit/854cc8986650267846c5eaf8ba164584a9ea7c01
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_condattr_test.cpp

  Log Message:
  -----------
  [libc] fixup nascent pthread_condattr_test (#89308)

- use namespaced identifiers
- add corresponding headers for namespaced declarations
- replace time.h and errno.h with finer grain includes
- update cmake

Fixes: #88987
Fixes: #89261
Link: #88997
Link: #89262


  Commit: d86079f93c9f59d31f2cebb55dce24783070bd77
      https://github.com/llvm/llvm-project/commit/d86079f93c9f59d31f2cebb55dce24783070bd77
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M lld/test/ELF/pack-dyn-relocs.s
    M lld/test/ELF/partition-pack-dyn-relocs.s
    M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readelf] Print more information for RELR

llvm-readelf/llvm-readobj print RELR as REL relocations with a fixed
type (e.g. `R_*_RELATIVE`). GNU readelf printed only addresses and have
recently switched to a more descritive style that includes a symbolic
address column (symbolized using .symtab/.strtab) (milestone: binutils
2.43).

This patch implements the new GNU style, which seems superior to the
current REL style and essentially obsoletes LLVM-specific --raw-relr
(`printRelrReloc`).

Pull Request: https://github.com/llvm/llvm-project/pull/89162


  Commit: e553ac4d8148291914526f4f66f09e362ce0a63f
      https://github.com/llvm/llvm-project/commit/e553ac4d8148291914526f4f66f09e362ce0a63f
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp

  Log Message:
  -----------
  [mlir][llvm] Port `overflowFlags` to a native operation property (RELAND) (#89410)

This PR changes the LLVM dialect's IntegerOverflowFlags to be stored on
operations as native properties.

Reland to fix flang


  Commit: 1b79a34a56378f5b75fb0abd03bb7029ea1c60ec
      https://github.com/llvm/llvm-project/commit/1b79a34a56378f5b75fb0abd03bb7029ea1c60ec
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    A clang/test/CodeGen/pgo-force-function-attrs.ll

  Log Message:
  -----------
  [clang] Add flag to experiment with cold function attributes (#89298)

To be removed and promoted to a proper driver flag if experiments turn
out fruitful.

For now, this can be experimented with `-mllvm
-pgo-cold-func-opt=[optsize|minsize|optnone|default] -mllvm
-enable-pgo-force-function-attrs`.

Original LLVM patch for this functionality: #69030


  Commit: e6e931960b917e3a37f059a75d476966f572f787
      https://github.com/llvm/llvm-project/commit/e6e931960b917e3a37f059a75d476966f572f787
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/TextAPI/TextStub.cpp

  Log Message:
  -----------
  [LLVM][TextAPI] Refactor Redundant Condition (#86542)

Fixes #83241

---------

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: cd9f98de7309bf94369929b0bd957cd6f5e5a9ed
      https://github.com/llvm/llvm-project/commit/cd9f98de7309bf94369929b0bd957cd6f5e5a9ed
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] add bazel rule for XeGPU


  Commit: e4f63202b926072e75997936806e659252a43077
      https://github.com/llvm/llvm-project/commit/e4f63202b926072e75997936806e659252a43077
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel][mlir] Fix invalid quotation mark in BUILD file


  Commit: 82c320ca59744b5082ef6e45dab6bab20cbd0795
      https://github.com/llvm/llvm-project/commit/82c320ca59744b5082ef6e45dab6bab20cbd0795
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M lld/test/ELF/pack-dyn-relocs.s

  Log Message:
  -----------
  [ELF,test] Remove --raw-relr from pack-dyn-relocs.s


  Commit: 41e696291c64fe19629e14887ed1ed9b9c2271f0
      https://github.com/llvm/llvm-project/commit/41e696291c64fe19629e14887ed1ed9b9c2271f0
  Author: LRFLEW <LRFLEW at aol.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp

  Log Message:
  -----------
  linear_congruential_engine: add using more precision to prevent overflow (#81583)

This PR is a followup to #81080.

This PR makes two major changes to how the LCG operation is computed:

The first is that I added an additional case where `ax + c` might
overflow the intermediate variable, but `ax` by itself won't. In this
case, it's much better to use `(ax mod m) + c mod m` than the previous
behavior of falling back to Schrage's algorithm. The addition modulo is
done in the same way as when using Schrage's algorithm (i.e. `x += c -
(x >= m - c)*m`), but the multiplication modulo is calculated directly,
which is faster.

The second is that I added handling for the case where the `ax`
intermediate might overflow, but Schrage's algorithm doesn't apply (i.e.
r > q). In this case, the only real option is to increase the precision
of the intermediate values. The good news is that - for `x`, `a`, and
`c` being n-bit values - `ax + c` will never overflow a 2n-bit
intermediary, meaning this promotion can only happen once, and will
always be able to use the simplest implementation. This is already the
case for 16-bit LCGs, as libcxx chooses to compute them with 32-bit
intermediate values. For 32-bit LCGs, I simply added code similar to the
16-bit case to use the existing 64-bit implementations. Lastly, for
64-bit LCGs, I wrote a case that calculates it using `unsigned __int128`
if it is available to use.

While this implementation covers a *lot* of the missing cases from
#81080, this still won't compile **every** possible
`linear_congruential_engine`. Specifically, if `a`, `c`, and `m` are
chosen such that it needs 128-bit integers, but the platform doesn't
support `__int128` (eg. 32-bit x86), then it will fail to compile.
However, this is a fairly rare case to see actually used, and libcxx
would be in good company with this, as [libstdc++ also fails to compile
under these
circumstances](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87744).
Fixing **this** gap would require even **more** work of further
complexity, so that would probably be best handled by a different PR
(I'll put more details on what that PR would entail in a comment).


  Commit: 6bbccd2516c3a843809a8303da48abce58a88855
      https://github.com/llvm/llvm-project/commit/6bbccd2516c3a843809a8303da48abce58a88855
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/GlobalsModRef.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    M llvm/test/CodeGen/X86/threadlocal_address.ll

  Log Message:
  -----------
  GlobalsModRef, ValueTracking: Look through threadlocal.address intrinsic (#88418)

This improves handling of `threadlocal.address` intrinsic in analyses:

The thread-id cannot change within a function with the exception of
suspend points of pre-split coroutines. This changes
`llvm::getUnderlyingObject` to look through `threadlocal.address` in
these cases.

`GlobalsAAResult::AnalyzeUsesOfPointer` checks whether an address can be
traced to simple loads/stores or escapes to other places. Starting the
analysis from a thread-local `GlobalValue` the `threadlocal.address`
intrinsic is safe to skip here.

This improves issue #87437


  Commit: ab22504479cb7b8985855aa2f2c851390bc1d167
      https://github.com/llvm/llvm-project/commit/ab22504479cb7b8985855aa2f2c851390bc1d167
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Fix usage of 'exclude_from_explicit_instantiation' attribute on local class members (#89377)

#88777 adds a warning for when the `exclude_from_explicit_instantiation`
attribute is applied to local classes and members thereof. This patch
addresses the few instances of `exclude_from_explicit_instantiation`
being applied to local class members in libc++.


  Commit: c045955501ed28fee7c40d8822a1aacc2022786e
      https://github.com/llvm/llvm-project/commit/c045955501ed28fee7c40d8822a1aacc2022786e
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold `tensor.reshape` for dynamic reshape (#88961)

If `tensor.reshape` occurs with `d0, d1, d2, ...` for the dimensions we
know that the reshape is a no-op. Checking for this case lets us fold
away the computation.


  Commit: 4841d70a4b7d7cd8c492c16a9da339ec75bca135
      https://github.com/llvm/llvm-project/commit/4841d70a4b7d7cd8c492c16a9da339ec75bca135
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/docs/FlangDriver.md
    M flang/tools/f18/CMakeLists.txt
    R flang/tools/f18/flang-to-external-fc.in

  Log Message:
  -----------
  [flang] Remove obsolete flang-to-external-fc tool (#88904)

It seems like the `flang-to-external-fc` tool is no longer needed,
because Flang is now a full compiler in its own right. After PR #85249
has landed, this tool will not be able to pick up the `.f18.mod` files.


  Commit: a6a4d4a0949fa7aab93429754704f28505d56d3f
      https://github.com/llvm/llvm-project/commit/a6a4d4a0949fa7aab93429754704f28505d56d3f
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  Reland "[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)"

This reverts commit 215eee60497489ae0cc7cc78c0d8b8270e057a70.


  Commit: afc8ad0d938b3fa74e92f1d066d28e64a7f7f905
      https://github.com/llvm/llvm-project/commit/afc8ad0d938b3fa74e92f1d066d28e64a7f7f905
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-fshl-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll

  Log Message:
  -----------
  [X86] LowerFunnelShift - improve handling of vXi8 constant splat funnel shifts

This patch moves the promotion to vXi16 shifts and the upper/lower bit masking into LowerFunnelShift for targets that have a bit-select instruction (XOP's VPCMOV and AVX512's VPTERNLOG).

This prevents the regressions in #89115 due to the masking of ((X << V) | (Y >> (8-V))) vXi8 shifts.


  Commit: 5b4ed0dc9fac9144efe74da77517dcff46e731e9
      https://github.com/llvm/llvm-project/commit/5b4ed0dc9fac9144efe74da77517dcff46e731e9
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll

  Log Message:
  -----------
  [test] Fix test. NFC

- Add the missing token in @llvm.coro.end


  Commit: 30b9537ff438366547f968c7909718e27d65c815
      https://github.com/llvm/llvm-project/commit/30b9537ff438366547f968c7909718e27d65c815
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/riscv-features.c

  Log Message:
  -----------
  [Driver] Add m_Group to -m[no-]strict-align

so that `Args.ClaimAllArgs(options::OPT_CompileOnly_Group);` in
Driver::handleArguments will claim the options even if only linking is
performed.

Fix #87945


  Commit: adc11b34b1d7f99b3931f945073a652f0dec5aaf
      https://github.com/llvm/llvm-project/commit/adc11b34b1d7f99b3931f945073a652f0dec5aaf
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_config.h

  Log Message:
  -----------
  Sync FuchsiaConfig with downstream's custom_scudo_config.h (#89244)

Downstream disabled EnableContiguousRegions on RISCV-64 to avoid
running out of virtual memory, but our tests still use the internal
FuchsiaConfig class, which therefore needs to be changed too.


  Commit: ce48f43f054f396fec50287cf8c7624bfaa5842a
      https://github.com/llvm/llvm-project/commit/ce48f43f054f396fec50287cf8c7624bfaa5842a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG] Require UADDO_CARRY carryin and carryout to have the same type. (#89255)

This requires type legalization to keep them the same. This means we no
longer need to legalize the operand since it will be legalized when we
legalize the second result.


  Commit: 016ce9ed5cd3694cbff72a768a593714913822ea
      https://github.com/llvm/llvm-project/commit/016ce9ed5cd3694cbff72a768a593714913822ea
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp

  Log Message:
  -----------
  [RISCV] Rename FeatureRVE to FeatureStdExtE. NFC (#89174)

Planning to declare all extensions in tablegen so we can generate the
tables for RISCVISAInfo.cpp. This requires making "e" consistent with
other extensions.


  Commit: 8e2060bf210e83d6cc34f61185918ca67b54f6f1
      https://github.com/llvm/llvm-project/commit/8e2060bf210e83d6cc34f61185918ca67b54f6f1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [X86][TableGen] Remove unnecessary use of formatted_raw_ostream. NFC (#89343)

This code used to use the PadToColumn feature of formatted_raw_ostream,
but no longer does. formatted_raw_ostream is slower than regular
raw_ostream because it has to keep track of the number of character
since the last new line character.


  Commit: 3ea5dff0efdbb4bf5590d882810aa42f9ec26e4e
      https://github.com/llvm/llvm-project/commit/3ea5dff0efdbb4bf5590d882810aa42f9ec26e4e
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/ClangScanDeps/modules-full.cpp
    R clang/test/Modules/add-remove-irrelevant-module-map.m
    A clang/test/Modules/prune-non-affecting-module-map-files.m

  Log Message:
  -----------
  [clang][modules] Only avoid pruning module maps when asked to (#89428)

Pruning non-affecting module maps is useful even when passing module
maps explicitly via `-fmodule-map-file=<path>`. For this situation, this
patch reinstates the behavior we had prior to #87849. For the situation
where the explicit module map file arguments were generated by the
dependency scanner (which already pruned the non-affecting ones), this
patch introduces new `-cc1` flag
`-fno-modules-prune-non-affecting-module-map-files` that avoids the
extra work.


  Commit: aa7c104124ac4a8da12fbd25c797bc8ab438c545
      https://github.com/llvm/llvm-project/commit/aa7c104124ac4a8da12fbd25c797bc8ab438c545
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf03.cuf

  Log Message:
  -----------
  [flang][cuda] Allow fixed size array with the managed attribute (#89436)

Fixed size array and scalar should be allowed with the `managed`
attribute.


  Commit: c32712d1763d74329b42c1cd68a24d4c0075b596
      https://github.com/llvm/llvm-project/commit/c32712d1763d74329b42c1cd68a24d4c0075b596
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/attr-counted-by-pr88931.c
    A clang/test/CodeGen/attr-counted-by-pr88931.cpp

  Log Message:
  -----------
  [Clang] Handle structs with inner structs and no fields (#89126)

A struct that declares an inner struct, but no fields, won't have a
field count. So getting the offset of the inner struct fails. This
happens in both C and C++:

  struct foo {
    struct bar {
      int Quantizermatrix[];
    };
  };

Here 'struct foo' has no fields.

Closes: https://github.com/llvm/llvm-project/issues/88931


  Commit: 0c455ee34823cb991a35e33ff020bb7cc4e44c8a
      https://github.com/llvm/llvm-project/commit/0c455ee34823cb991a35e33ff020bb7cc4e44c8a
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90

  Log Message:
  -----------
  [flang][OpenMP] Use maxnum/minnum for lowering of max/min reduction operators (#89258)

This patch changes the lowering of max and min to be lowered to
arith::MaxNumFop and arith::MinNumFOp instead of using arith::MaximumFOp
and arith::MinimumFOp. The arith::MaximumFOp and arith::MinimumFOp map
to the corresponding intrinsics llvm.maximum.* and llvm.minimum.*
intrinsics which conform to the semantics specified in the draft of IEEE
754-2019, which is not supported by all hardware. Instead using
arith::MaximumFOp and arith::MinimumFOp will allow code generation for
more targets and match the code generated by clang OpenMP.

fixes #87955


  Commit: cee7d994b94db625177cdfebcb8a6ce1ed677f85
      https://github.com/llvm/llvm-project/commit/cee7d994b94db625177cdfebcb8a6ce1ed677f85
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-reduced.ll

  Log Message:
  -----------
  [SLP]Fix PR89438: Check for same vectorized node in MinBWs, not user.

Need to check if the buildvector node has perfect diamond match in the
graph and the matched node is resized.


  Commit: c8e65e193d542464421ad4f9a9965d45b302ac0c
      https://github.com/llvm/llvm-project/commit/c8e65e193d542464421ad4f9a9965d45b302ac0c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [clang] CTAD: Fix require-clause is not transformed. (#89378)

Fixes https://github.com/llvm/llvm-project/issues/89013

When building the deduction guide, we use the
TemplateArgsForBuildingFPrime to transform the require-clause from the
underlying class deduction guide. However, we do this at the wrong place
where not all elements of TemplateArgsForBuildingFPrime are initialized.
The fix involves rearranging the transformRequireClause call to the
correct location.

As part of the fix, we extend the TemplateInstantiator to support more
types in the template-rewrite mode. Otherwise, we will encounter an
assertion error when attempting to rewrite the template type parameter
type like D with a complex type like Derived<U>.


  Commit: 08163cd9d82690e808c28515523b5fd0923d7b38
      https://github.com/llvm/llvm-project/commit/08163cd9d82690e808c28515523b5fd0923d7b38
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py

  Log Message:
  -----------
  [lldb] Provide a better error message for missing symbols (#89433)

This adds a hint to the missing symbols error message to make it easier
to understand what this means to users.


  Commit: d634b233640dc38cf5f673a9cfcd1fe55124430a
      https://github.com/llvm/llvm-project/commit/d634b233640dc38cf5f673a9cfcd1fe55124430a
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp

  Log Message:
  -----------
  [clang][dataflow] Expose getReferencedDecls for a Stmt. (#89444)


  Commit: 5232cec8f947ed8bff4ca57f990954228d58e66d
      https://github.com/llvm/llvm-project/commit/5232cec8f947ed8bff4ca57f990954228d58e66d
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp
    M lldb/unittests/Host/FileSystemTest.cpp
    M llvm/unittests/Support/VirtualFileSystemTest.cpp

  Log Message:
  -----------
  Apply modernize-use-starts-ends-with on llvm-project (#89140)

Run `modernize-use-starts-ends-with` on llvm-project. Two instances are
flagged, minor readability improvements, extremely minor performance
improvements.

```
python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py \
    -clang-tidy-binary="build/bin/clang-tidy" \
    -clang-apply-replacements-binary="build/bin/clang-apply-replacements" \
    -checks="-*,modernize-use-starts-ends-with" \
    -header-filter=".*" \
    -fix -format
```

I am working on some additions to this check, but they don't seem to
flag any additional cases anyway.


  Commit: 45432eec0ae6a7f7452196eb099814d1a7dc2c0f
      https://github.com/llvm/llvm-project/commit/45432eec0ae6a7f7452196eb099814d1a7dc2c0f
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [ARM64EC] Add softintrin.lib as an implicit dependency to object files. (#89171)

This copies MSVC behavior, and avoids weird link errors in certain
cases.


  Commit: 5bcf31ebfad8b32aed20dd47be6238cc19710e63
      https://github.com/llvm/llvm-project/commit/5bcf31ebfad8b32aed20dd47be6238cc19710e63
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp

  Log Message:
  -----------
  [Clang] Loop over FieldDecls instead of all Decls (#89453)

Only FieldDecls are of importance here. A struct defined within another
struct has the same semantics as if it were defined outside of the
struct. So there's no need to look into RecordDecls that aren't a field.


  Commit: 2a632d3d9f5c70db38c617b0816deb37ef722a7b
      https://github.com/llvm/llvm-project/commit/2a632d3d9f5c70db38c617b0816deb37ef722a7b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Allocatable.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Use fir.cuda_deallocate for automatic deallocation (#89450)

Automatic deallocation of allocatable that are cuda device variable must
use the fir.cuda_deallocate operation. This patch update the automatic
deallocation code generation to use this operation when the variable is
a cuda variable.


  Commit: 7c3dfb29dc4b5345da6a7fb25f92bf8d2919bce9
      https://github.com/llvm/llvm-project/commit/7c3dfb29dc4b5345da6a7fb25f92bf8d2919bce9
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M mlir/python/mlir/dialects/memref.py

  Log Message:
  -----------
  [mlir][python] fix memref._is_constant_int_like (#89447)


  Commit: 16e3464852efe3001060ff7feb3261dd397bfe84
      https://github.com/llvm/llvm-project/commit/16e3464852efe3001060ff7feb3261dd397bfe84
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-allocate.cpp
    M flang/test/Semantics/cuf07.cuf

  Log Message:
  -----------
  [flang][cuda] Enforce PINNED attribute when ALLOCATE with PINNED option (#89455)

When the PINNED option is specified on an ALLOCATE statement, the object
must have the PINNED attribute.


  Commit: 4523a267829c807f3fc8fab8e5e9613985a51565
      https://github.com/llvm/llvm-project/commit/4523a267829c807f3fc8fab8e5e9613985a51565
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-allocate.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Parser/cuf-sanity-common
    M flang/test/Parser/cuf-sanity-tree.CUF
    M flang/test/Parser/cuf-sanity-unparse.CUF
    M flang/test/Semantics/cuf07.cuf

  Log Message:
  -----------
  [flang][cuda] Enforce DEVICE attribute when ALLOCATE with STREAM option (#89459)

When the STREAM option is specified on an ALLOCATE statement, the object
must have the DEVICE attribute.


  Commit: d9169ffaf7c01691644537d3443240748b107359
      https://github.com/llvm/llvm-project/commit/d9169ffaf7c01691644537d3443240748b107359
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M bolt/test/AArch64/constant_island_pie_update.s

  Log Message:
  -----------
  [BOLT,test] Update AArch64/constant_island_pie_update.s after llvm-readelf -r RELR change


  Commit: f433c3b38005701fdc219ae8c01e6af1b8bedba9
      https://github.com/llvm/llvm-project/commit/f433c3b38005701fdc219ae8c01e6af1b8bedba9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
    A llvm/test/Transforms/Inline/AMDGPU/inline-atomicrmw-md-preserve.ll

  Log Message:
  -----------
  AMDGPU: Add tests for atomicrmw handling of new metadata (#89248)

Add baseline tests which should comprehensively test the new atomic
metadata. Test codegen / expansion, and preservation in a few
transforms.

New metadata defined in #85052


  Commit: c69efcd54879835085cf03a09e1eec28dc80e1d3
      https://github.com/llvm/llvm-project/commit/c69efcd54879835085cf03a09e1eec28dc80e1d3
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf03.cuf

  Log Message:
  -----------
  [flang][cuda] Relax assumed size check on object with device attribute (#89466)

Assumed size arrays are apparently allowed with attribute device.


  Commit: f09f99ed329f58c79fba43abf5fc73a28a0e2055
      https://github.com/llvm/llvm-project/commit/f09f99ed329f58c79fba43abf5fc73a28a0e2055
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Add RISCVTuneProcessorModel to 'generic' CPU. NFC

Remove hardcode GENERIC cpu from RISCVTargetDefEmitter.cpp.


  Commit: 11019be4cf75ff40d2da84094477ab5dac818c99
      https://github.com/llvm/llvm-project/commit/11019be4cf75ff40d2da84094477ab5dac818c99
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
    M llvm/test/Instrumentation/SanitizerCoverage/stack-depth.ll

  Log Message:
  -----------
  [test][sancov] Regenerate with update_test_checks (#89457)

Prepare for #89458


  Commit: c8627e4e0c8ac453844638522b887ac7b7687672
      https://github.com/llvm/llvm-project/commit/c8627e4e0c8ac453844638522b887ac7b7687672
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py

  Log Message:
  -----------
  Revert "[lldb] Provide a better error message for missing symbols (#89433)"

This reverts commit 08163cd9d82690e808c28515523b5fd0923d7b38.

I accidentally broke the test while addressing review feedback.


  Commit: 6a35ee8077647b32626c3c41f9d9da4dae6670fc
      https://github.com/llvm/llvm-project/commit/6a35ee8077647b32626c3c41f9d9da4dae6670fc
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py

  Log Message:
  -----------
  [lldb] Provide a better error message for missing symbols (#89433)

This adds a hint to the missing symbols error message to make it easier
to understand what this means to users.

[Reapplies an earlier patch with a test fix.]


  Commit: 7fcca112034f55c26e943c13fd0d57adfbe96705
      https://github.com/llvm/llvm-project/commit/7fcca112034f55c26e943c13fd0d57adfbe96705
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/lambda-function-name.cpp

  Log Message:
  -----------
  [clang-tidy] bugprone-lambda-function-name ignore macro in captures (#89076)


  Commit: 777d2e54a9b69463a30c305a0d1a34fef90dbe93
      https://github.com/llvm/llvm-project/commit/777d2e54a9b69463a30c305a0d1a34fef90dbe93
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfReader.cpp

  Log Message:
  -----------
  [memprof] Drop the trait parameter (NFC) (#89461)

OnDiskIterableChainedHashTable::Create can default-contruct a trait
object for us.  We don't need to construct one on our own unless we
need to customize something (like a version number).


  Commit: f3587d41064ce22330231baee1553b210777f3e3
      https://github.com/llvm/llvm-project/commit/f3587d41064ce22330231baee1553b210777f3e3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
    M llvm/test/Instrumentation/SanitizerCoverage/stack-depth.ll

  Log Message:
  -----------
  [sancov] Apply branch weights when checking counters (#89458)

It reduces instrumentation overhead by ~50%.


  Commit: c60aa430dc4085d276a630699323068bf36bd9d8
      https://github.com/llvm/llvm-project/commit/c60aa430dc4085d276a630699323068bf36bd9d8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/MDBuilder.h
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/KCFI.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
    M llvm/test/Instrumentation/AddressSanitizer/basic.ll

  Log Message:
  -----------
  [NFCI][sanitizers][metadata] Exctract create{Unlikely,Likely}BranchWeights (#89464)

We have a lot of repeated code with random constants.
Particular values are not important, the one just needs to be
bigger then another.

UR_NONTAKEN_WEIGHT is selected as it's the most common one.


  Commit: f35e1931bebedf80c13939eda9c5c0aa2c2c4f6a
      https://github.com/llvm/llvm-project/commit/f35e1931bebedf80c13939eda9c5c0aa2c2c4f6a
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Allocatable.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  Revert "[flang][cuda] Use fir.cuda_deallocate for automatic deallocation (#89450)"

This reverts commit 2a632d3d9f5c70db38c617b0816deb37ef722a7b.

This has some implication on OpenACC postDeallocate action


  Commit: b48ea2d394911efcc56880fde58f806282db1e8a
      https://github.com/llvm/llvm-project/commit/b48ea2d394911efcc56880fde58f806282db1e8a
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  Revert "[clang] CTAD: Fix require-clause is not transformed." (#89476)

Reverts llvm/llvm-project#89378

Broke the windows premerge checks
https://lab.llvm.org/buildbot/#/builders/271/builds/6788


  Commit: c4a799b0566662a5d80543da0f720efc92899a59
      https://github.com/llvm/llvm-project/commit/c4a799b0566662a5d80543da0f720efc92899a59
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [NFC][hwasan] Use DEBUG_TYPE instead of "hwasan"


  Commit: f2931182fc877e813974a5f53721f859bfb5b130
      https://github.com/llvm/llvm-project/commit/f2931182fc877e813974a5f53721f859bfb5b130
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GettingStartedVS.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/TestingGuide.rst

  Log Message:
  -----------
  Reland "[python] Bump Python minimum version to 3.8 (#78828)"

This reverts commit 2dfa30d0ca6fb6991640a18e53401d82f567f8ff.

This relands commit 0a6c74e21cc6750c843310ab35b47763cddaaf32.

This patch originally caused a host of buildbot failures due to several
buildbots not having the necessary python version. That was tracked in
issue #83962, and all bots that failed in the first round have now been
updated. This is an attempt to reland the patch to see if it sticks or
if there are a number of long-running bots where this patch will cause
failures.


  Commit: 91c2e9c2d990473b7a3a1aad3e56a864a7481301
      https://github.com/llvm/llvm-project/commit/91c2e9c2d990473b7a3a1aad3e56a864a7481301
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp

  Log Message:
  -----------
  [NFC][SanCov] Pass DomTrees as const references

They are not optional.


  Commit: 905f34eeca628da526293a21daa6a645012219c6
      https://github.com/llvm/llvm-project/commit/905f34eeca628da526293a21daa6a645012219c6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp

  Log Message:
  -----------
  [NFCI][SanCov] Remove unused default arguments


  Commit: b0fe4d4ac3cbf0ef24c7a1b56e01472a19d746b4
      https://github.com/llvm/llvm-project/commit/b0fe4d4ac3cbf0ef24c7a1b56e01472a19d746b4
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp

  Log Message:
  -----------
  [NFCI][SanCov] Remove redundant copt<> defaults


  Commit: 30257dd4ae47ceb77c55481ecead02db79db8a51
      https://github.com/llvm/llvm-project/commit/30257dd4ae47ceb77c55481ecead02db79db8a51
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp

  Log Message:
  -----------
  [NFC][SanCov] Move Module and analysis callbacks into ModuleSanitizerCoverage class

Avoid passing them around.


  Commit: 0ccdd4c28fca72d1e1d518c6ed9715e92fb47edf
      https://github.com/llvm/llvm-project/commit/0ccdd4c28fca72d1e1d518c6ed9715e92fb47edf
  Author: Ding Fei <fding at feysh.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [ASTImporter] Fix infinite recurse on return type declared inside body (#68775)

Lambda without trailing auto could have return type declared inside the
body too.

Fixes #68775


  Commit: 6fedc18c9c25568c5aba6c0a7aaf5d2406bc84eb
      https://github.com/llvm/llvm-project/commit/6fedc18c9c25568c5aba6c0a7aaf5d2406bc84eb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp

  Log Message:
  -----------
  [NFC][SanCov] Re-format long line


  Commit: f03cd2db91956456f1c5e2da86d3c50183eebd28
      https://github.com/llvm/llvm-project/commit/f03cd2db91956456f1c5e2da86d3c50183eebd28
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/cmake/caches/Apple-stage2.cmake

  Log Message:
  -----------
  [clang][Apple][cmake] Disable plugin support at LLVM level (#89483)

Matches up with the clang setting


  Commit: c455b462da70e800124ca4f453c466ea05db6033
      https://github.com/llvm/llvm-project/commit/c455b462da70e800124ca4f453c466ea05db6033
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug in annotating CastRParen before unary && (#89346)

Also fix a bug in annotating TrailingAnnotation.

Closes #61233.


  Commit: 22bf7c5e01e869bbbb3b2da722e1a33e69e931d6
      https://github.com/llvm/llvm-project/commit/22bf7c5e01e869bbbb3b2da722e1a33e69e931d6
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Support __builtin_os_log_format_buffer_size


  Commit: 225ae82fdbbff7d22fbbf9aead00e67e08416ecf
      https://github.com/llvm/llvm-project/commit/225ae82fdbbff7d22fbbf9aead00e67e08416ecf
  Author: SahilPatidar <patidarsahil2001 at gmail.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fcmp.ll

  Log Message:
  -----------
  [InstCombine] fold `cond ? x : -x == 0` into `x == 0` (#85673)

Resolve #85250 
Alive2: https://alive2.llvm.org/ce/z/7DMRCy


  Commit: 29312d39ff89b664138c497716dd11d4e1f2876b
      https://github.com/llvm/llvm-project/commit/29312d39ff89b664138c497716dd11d4e1f2876b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__string/constexpr_c_functions.h

  Log Message:
  -----------
  [libc++] Optimize char_traits a bit (#72799)

This implements two kinds of optimizations. Specifically
- `char_traits<char8_t>` uses `char` code paths; these are heavily
  optimized and the operations are equivalent
- `char16_t` and `char32_t` `find` uses `std::find` to forward to
  `wmemchr` if they have the same size


  Commit: 32623a3fc09a87867df495ab8c059706f24a126c
      https://github.com/llvm/llvm-project/commit/32623a3fc09a87867df495ab8c059706f24a126c
  Author: Amila Senadheera <amilaruk1995 at gmail.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h

  Log Message:
  -----------
  [clang] Marshallers.h - use move semantics for 'NodeKinds' and update possible callers to use it  (#87273)

Fixes: https://github.com/llvm/llvm-project/issues/87248

Signed-off-by: amila <amila.15 at cse.mrt.ac.lk>


  Commit: a4422a51941bfcffc870d1e2fff682e5387f89c2
      https://github.com/llvm/llvm-project/commit/a4422a51941bfcffc870d1e2fff682e5387f89c2
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/local_info.h
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__chrono/sys_info.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__config
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
    M libcxx/test/libcxx/transitive_includes.gen.py
    M libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/types.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][TZDB] Renames incomplete. (#89250)

The new name uses experimental which better conveys what it means.


  Commit: 55ed4e314fb6f2c3e66113931088c36e6bcfca74
      https://github.com/llvm/llvm-project/commit/55ed4e314fb6f2c3e66113931088c36e6bcfca74
  Author: Alexander <Smertig at users.noreply.github.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [Clang][Sema] Remove invalid ctor (NFC) (#82161)

`TemplateArgumentLocInventIterator` default constructor should not
exists

https://github.com/llvm/llvm-project/blob/3496927edcd0685807351ba88a7e2cfb006e1c0d/clang/lib/Sema/TreeTransform.h#L4742
because it doesn't and couldn't initialize `Self` member that is
reference:

https://github.com/llvm/llvm-project/blob/3496927edcd0685807351ba88a7e2cfb006e1c0d/clang/lib/Sema/TreeTransform.h#L4721-L4723

Instantiation of this constructor is always a compile-time error. 

Please note, that I didn't run any tests, because cannot imagine
situation where this constructor can be properly used. There are no new
tests for this fix for the same reason.


  Commit: 95e668f8c8a746bc10805d4a77d192cef3dc286e
      https://github.com/llvm/llvm-project/commit/95e668f8c8a746bc10805d4a77d192cef3dc286e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M libcxx/include/sstream

  Log Message:
  -----------
  [libc++] Removes a Clang 16 Windows workaround. (#88560)


  Commit: 31480b0cc8fe2bb1e080ffd38e38780ba7e8dec6
      https://github.com/llvm/llvm-project/commit/31480b0cc8fe2bb1e080ffd38e38780ba7e8dec6
  Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/test/CodeGen/PowerPC/builtins-ppc-htm.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    M clang/test/Sema/ppc-attr-target-inline.c
    M clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    M llvm/test/MachineVerifier/verify-inlineasmbr.mir

  Log Message:
  -----------
  [test] Avoid writing to a potentially write-protected dir (#89242)

These tests just don't check the output written to the current directory. The
current directory may be write protected e.g. in a sandboxed environment.

The Testcases that use -emit-llvm and -verify only care about stdout/stderr
and are in this patch changed to use -emit-llvm-only to avoid writing to an
output file. The verify-inlineasmbr.mir testcase that also only care about
stdout/stderr is in this patch changed to throw away the output file and just
write to /dev/null.


  Commit: 60baaf153d05a7828b304050aba461ebb66232c6
      https://github.com/llvm/llvm-project/commit/60baaf153d05a7828b304050aba461ebb66232c6
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M mlir/lib/Transforms/Mem2Reg.cpp

  Log Message:
  -----------
  [mlir] fix typo in mem2reg [NFC]


  Commit: d8503a38b974930599417a747cec3615330c367e
      https://github.com/llvm/llvm-project/commit/d8503a38b974930599417a747cec3615330c367e
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/update-bpi.ll

  Log Message:
  -----------
  [InstCombine] Update BranchProbabilityAnalysis cache result (#86470)

InstCombine may invert branch condition and profile metadata. In such
case, BranchProbabilityAnalysis should also be updated.


  Commit: 5a1a5226b578ec7f123f67efd4e24e39fecd11d7
      https://github.com/llvm/llvm-project/commit/5a1a5226b578ec7f123f67efd4e24e39fecd11d7
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M llvm/test/CodeGen/DirectX/fmad.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll

  Log Message:
  -----------
  [SPIRV][HLSL] Add mad intrinsic lowering for spirv (#89130)

- `clang/lib/CodeGen/CGBuiltin.cpp` - Add a generic mull add
implementation. Make DXIL implementation tied to target.

resolves #88944


  Commit: 87d36c5d8285b61f3e39b3f63d5eced733bd9d3e
      https://github.com/llvm/llvm-project/commit/87d36c5d8285b61f3e39b3f63d5eced733bd9d3e
  Author: David Green <david.green at arm.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll

  Log Message:
  -----------
  [AArch64] Add phase ordering tests for some basic interleaving vectorization patterns. NFC


  Commit: a8105026ff548412967bc68ffb57f4fb6aecb652
      https://github.com/llvm/llvm-project/commit/a8105026ff548412967bc68ffb57f4fb6aecb652
  Author: David Green <david.green at arm.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Fix warning about Mask being set twice. NFC


  Commit: efe0a2eddb5e71034d426d8c9bd7510e544fb191
      https://github.com/llvm/llvm-project/commit/efe0a2eddb5e71034d426d8c9bd7510e544fb191
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [nfc][github] subscribe myself to MLIR Mem2Reg PRs


  Commit: 7f0bbbb19b4f13c2efb400db300817aa7ed589cc
      https://github.com/llvm/llvm-project/commit/7f0bbbb19b4f13c2efb400db300817aa7ed589cc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h

  Log Message:
  -----------
  [clang][Interp] Change array index types in OffsetHelper

This is closer to that the current interpreter does. It also fixes
diagnostics in a case I was looking into. Unfortunately, this is not
possible to test right now since it requires a large array and we
don't implement array fillers yet.


  Commit: 1faf3148fdef34ce0d556ec6a4049e06cbde71b3
      https://github.com/llvm/llvm-project/commit/1faf3148fdef34ce0d556ec6a4049e06cbde71b3
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h

  Log Message:
  -----------
  [clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)

Clang's CodeGen is designed to work with a single llvm::Module. In many
cases
for convenience various CodeGen parts have a reference to the
llvm::Module
(TheModule or Module) which does not change when a new module is pushed.
However, the execution engine wants to take ownership of the module
which does
not map well to CodeGen's design. To work this around we clone the
module and
pass it down.

With some effort it is possible to teach CodeGen to ask the
CodeGenModule for
its current module and that would have an overall positive impact on
CodeGen
improving the encapsulation of various parts but that's not resilient to
future
regression.

This patch takes a more conservative approach and keeps the first
llvm::Module
empty intentionally and does not pass it to the Jit. That's also not
bullet
proof because we have to guarantee that CodeGen does not write on the
blueprint. However, we have inserted some assertions to catch accidental
additions to that canary module.

This change will fixes a long-standing invalid memory access reported by
valgrind when we enable the TBAA optimization passes. It also unblock
progress
on https://github.com/llvm/llvm-project/pull/84758.


  Commit: 34dffc5e00b2428e3c824029891f3c8fbf411d2c
      https://github.com/llvm/llvm-project/commit/34dffc5e00b2428e3c824029891f3c8fbf411d2c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [memprof] Accept Schema in the constructor of RecordWriterTrait (NFC) (#89486)

The comment being deleted in this patch is not correct.  We already
construct an instance of RecordWriterTrait with Version.

This patch teaches the constructor of RecordWriterTrait to accept
Schema.  While I am at it, this patch makes Version a private
variable.


  Commit: ca090452d64e229b539a66379a3be891c4e8f3d8
      https://github.com/llvm/llvm-project/commit/ca090452d64e229b539a66379a3be891c4e8f3d8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp

  Log Message:
  -----------
  [Interpreter] Fix warnings

This patch fixes:

  clang/lib/Interpreter/IncrementalParser.cpp:214:29: error: moving a
  temporary object prevents copy elision [-Werror,-Wpessimizing-move]

  clang/lib/Interpreter/IncrementalParser.cpp:232:22: error: moving a
  temporary object prevents copy elision [-Werror,-Wpessimizing-move]


  Commit: adc4f6233df734fbe3793118ecc89d3584e0c90f
      https://github.com/llvm/llvm-project/commit/adc4f6233df734fbe3793118ecc89d3584e0c90f
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h

  Log Message:
  -----------
  Revert "[clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)"

This reverts commit ca090452d64e229b539a66379a3be891c4e8f3d8 and
1faf3148fdef34ce0d556ec6a4049e06cbde71b3 because it broke a darwin bot.


  Commit: a3f07d36cbc9e3a0d004609d140474c1d8a25bb6
      https://github.com/llvm/llvm-project/commit/a3f07d36cbc9e3a0d004609d140474c1d8a25bb6
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h

  Log Message:
  -----------
  Reland "[clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)"

Original commit message: "

Clang's CodeGen is designed to work with a single llvm::Module. In many cases
for convenience various CodeGen parts have a reference to the llvm::Module
(TheModule or Module) which does not change when a new module is pushed.
However, the execution engine wants to take ownership of the module which does
not map well to CodeGen's design. To work this around we clone the module and
pass it down.

With some effort it is possible to teach CodeGen to ask the CodeGenModule for
its current module and that would have an overall positive impact on CodeGen
improving the encapsulation of various parts but that's not resilient to future
regression.

This patch takes a more conservative approach and keeps the first llvm::Module
empty intentionally and does not pass it to the Jit. That's also not bullet
proof because we have to guarantee that CodeGen does not write on the
blueprint. However, we have inserted some assertions to catch accidental
additions to that canary module.

This change will fixes a long-standing invalid memory access reported by
valgrind when we enable the TBAA optimization passes. It also unblock progress
on https://github.com/llvm/llvm-project/pull/84758.
"

This patch reverts adc4f6233df734fbe3793118ecc89d3584e0c90f and removes
the check of `named_metadata_empty` of the first llvm::Module because on darwin
clang inserts some harmless metadata which we can ignore.


  Commit: b6824c9d459da059e247a60c1ebd1aeb580dacc2
      https://github.com/llvm/llvm-project/commit/b6824c9d459da059e247a60c1ebd1aeb580dacc2
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GettingStartedVS.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/TestingGuide.rst

  Log Message:
  -----------
  Revert "Reland "[python] Bump Python minimum version to 3.8 (#78828)""

This reverts commit f2931182fc877e813974a5f53721f859bfb5b130.

This was again causing buildbot failures. #83962 has been updated with the new
failures, notifying the buildbot maintainers that they need to update their
bots.


  Commit: 34acbb3801515f9f41cc2d790d26072eb004ac46
      https://github.com/llvm/llvm-project/commit/34acbb3801515f9f41cc2d790d26072eb004ac46
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll

  Log Message:
  -----------
  [X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)


  Commit: 37fe3c6788a152dd88a54e2f22db05d9c7e53468
      https://github.com/llvm/llvm-project/commit/37fe3c6788a152dd88a54e2f22db05d9c7e53468
  Author: Abhishek Kulkarni <11399+adk9 at users.noreply.github.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/async_dialect/__init__.py
    M mlir/test/python/dialects/async_dialect.py
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel

  Log Message:
  -----------
  [mlir][python] Fix generation of Python bindings for `async` dialect (#75960)

The Python bindings generated for "async" dialect didn't include any of
the "async" dialect ops. This PR fixes issues with generation of Python
bindings for "async" dialect and adds a test case to use them.


  Commit: de1d4eb06bc22834fe8008769b4c9344a0a8330f
      https://github.com/llvm/llvm-project/commit/de1d4eb06bc22834fe8008769b4c9344a0a8330f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h

  Log Message:
  -----------
  [memprof] Omit the key length for the call stack table (#89510)

The call stack table has a constant key length, so we don't need to
serialize or deserialize it for every key-data pair.  Omitting the key
length saves 0.64% of the indexed MemProf file size.

Note that it's OK to change the format because Version2 is still under
development.


  Commit: 6cebd3577245a687947506ff423ea726ccd80849
      https://github.com/llvm/llvm-project/commit/6cebd3577245a687947506ff423ea726ccd80849
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-20 (Sat, 20 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td

  Log Message:
  -----------
  [RISCV] Remove extra indentation from RISCVProcessors.td.


  Commit: 811ffc049ff914e15116c25ca8db7b8bd9a8e186
      https://github.com/llvm/llvm-project/commit/811ffc049ff914e15116c25ca8db7b8bd9a8e186
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [tidy] update check list [NFC]


  Commit: cb7cb83010bbcd8e5325d81b6d80653c7b513516
      https://github.com/llvm/llvm-project/commit/cb7cb83010bbcd8e5325d81b6d80653c7b513516
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp

  Log Message:
  -----------
  [InstCombine] Add check to avoid dependent optimization order, NFC

Since PR86428, foldPowiReassoc is called by both FMul and FDiv,
as the optimization of FDiv is placed after the FMul, so now
it is correct we don't add the checking of FDiv for powi(X, Y) / X.
But, we may add more matching scenarios later, so add the checking opcode
explicitly is easier to understand.


  Commit: 56ca5ecf416ad0e57c5e3558159bd73e5d662476
      https://github.com/llvm/llvm-project/commit/56ca5ecf416ad0e57c5e3558159bd73e5d662476
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/powi.ll

  Log Message:
  -----------
  [InstCombine] Optimize powi(X, Y)/ (X * Z) with Ofast

foldFDivPowDivisor can address A / powi(x, y) to A * powi(x, -y),
while for small const value y, for example y=2, the instcombine will
transform powi(x, 2) to fmul x, x, so it is not optimal for A / powi(x, 2).

Fix https://github.com/llvm/llvm-project/issues/77171


  Commit: fa01d04c9b9a3c8454194a36a0e64daf43cddaf2
      https://github.com/llvm/llvm-project/commit/fa01d04c9b9a3c8454194a36a0e64daf43cddaf2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h

  Log Message:
  -----------
  [clang][Interp][NFC] Change pointer offset to uint64

To accomodate for recent changes in array index calculations.


  Commit: e32c4dfefcd1d54eb8f353f6fa08ef6f06d0fcc4
      https://github.com/llvm/llvm-project/commit/e32c4dfefcd1d54eb8f353f6fa08ef6f06d0fcc4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll

  Log Message:
  -----------
  Revert "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)"

This reverts commit 34acbb3801515f9f41cc2d790d26072eb004ac46.

This change causes major compile-time regressions.


  Commit: aa22d4422ee031d3867290e6ec12985f87d9ea2f
      https://github.com/llvm/llvm-project/commit/aa22d4422ee031d3867290e6ec12985f87d9ea2f
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Do not try to diagnose parameter packs in invalid pack expressions (#89257)

In a pack expression, if the id-expression is not valid, do no try to
detect whether it is a pack as that would lead to a crash trying to
print a recovery expression.

Fixes #88929


  Commit: e095d978ba476c9624b4e72776089ea7301fa657
      https://github.com/llvm/llvm-project/commit/e095d978ba476c9624b4e72776089ea7301fa657
  Author: Gaurav Shukla <gaurav at nod-labs.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
    M mlir/test/Dialect/Linalg/collapse-dim.mlir
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
    M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/ops.mlir
    M mlir/test/Dialect/MemRef/runtime-verification.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tensor/ops.mlir
    M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR] Generalize expand_shape to take shape as explicit input (#69267)

This patch generalizes tensor.expand_shape and memref.expand_shape to
consume the output shape as a list of SSA values. This enables us to
implement generic reshape operations with dynamic shapes using
collapse_shape/expand_shape pairs.

The output_shape input to expand_shape follows the static/dynamic
representation that's also used in `tensor.extract_slice`.

Differential Revision: https://reviews.llvm.org/D140821

Co-authored-by: Ramiro Leal-Cavazos <ramiroleal050 at gmail.com>


  Commit: 8c0341df029d7eb8e60d1e4f49edd3e4af1b1e11
      https://github.com/llvm/llvm-project/commit/8c0341df029d7eb8e60d1e4f49edd3e4af1b1e11
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
    M mlir/test/Dialect/Linalg/collapse-dim.mlir
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
    M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/ops.mlir
    M mlir/test/Dialect/MemRef/runtime-verification.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tensor/ops.mlir
    M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Revert "[MLIR] Generalize expand_shape to take shape as explicit input" (#89540)

Reverts llvm/llvm-project#69267

this broke some bots.


  Commit: 18bb175428f520aaa4a5e388bd3b680a1a7c60c0
      https://github.com/llvm/llvm-project/commit/18bb175428f520aaa4a5e388bd3b680a1a7c60c0
  Author: David Green <david.green at arm.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll

  Log Message:
  -----------
  [AArch64] Add costs for LD3/LD4 shuffles.

Similar to #87934, this adds costs to the shuffles in a canonical LD3/LD4
pattern, which are represented in LLVM as deinterleaving-shuffle(load). This
likely has less effect at the moment than the ST3/ST4 costs as instcombine will
perform certain transforms without considering the cost.


  Commit: 6309440c218778db027306826993e484eab2be17
      https://github.com/llvm/llvm-project/commit/6309440c218778db027306826993e484eab2be17
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-divrem.ll

  Log Message:
  -----------
   [InstCombine] Fix unexpected overwriting in `foldSelectWithSRem` (#89539)

Fixes #89516


  Commit: d674f45d51bffbba474b12e07f7d57a2390d2f31
      https://github.com/llvm/llvm-project/commit/d674f45d51bffbba474b12e07f7d57a2390d2f31
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [Transforms] Remove extraneous ArrayRef (NFC) (#89535)

We don't need to create these instances of ArrayRef because
ConstantDataVector::get takes ArrayRef, and ArrayRef can be implicitly
constructed from C arrays.


  Commit: 48324f0f7b26b981e0f68e0faf9bb05d4a0e0fbb
      https://github.com/llvm/llvm-project/commit/48324f0f7b26b981e0f68e0faf9bb05d4a0e0fbb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-21 (Sun, 21 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Combine variable declaration with its only assignment. NFC (#89526)


  Commit: ec062f5b33ed22c61742e3c1486f6cba915801e0
      https://github.com/llvm/llvm-project/commit/ec062f5b33ed22c61742e3c1486f6cba915801e0
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/test/MC/X86/apx/cmpccxadd-att.s
    R llvm/test/MC/X86/cmpccxadd-att-64-alias.s
    R llvm/test/MC/X86/cmpccxadd-att-64.s
    A llvm/test/MC/X86/cmpccxadd-att-alias.s
    A llvm/test/MC/X86/cmpccxadd-att.s
    R llvm/test/MC/X86/cmpccxadd-intel-64-alias.s
    R llvm/test/MC/X86/cmpccxadd-intel-64.s
    A llvm/test/MC/X86/cmpccxadd-intel-alias.s
    A llvm/test/MC/X86/cmpccxadd-intel.s

  Log Message:
  -----------
  [X86][MC] Error out for CMPCCXADD on 32 bit targets. (#88672)

This resolves issue #88501.


  Commit: 2a47ee070145438424b065a35c4a680ea0cb0c1f
      https://github.com/llvm/llvm-project/commit/2a47ee070145438424b065a35c4a680ea0cb0c1f
  Author: donald chen <62002319+cxy-1993 at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  [MLIR][Linalg] Enable fuse consumer (#85528)

This patch adds support for consumer fusion to the tiling interface, and
implements fuse consumers on FuseIntoContainingOp.

- Add interface method 'getIterDomainTilePositionFromOperandPosition' to
tiling interface which get iteration domain position from operand
position.
- Add interface method 'getTiledImplementationFromOperandPosition' to
tiling interface which generate tiled implementation according to
operand position.
- Implemented the above two methods and supported consumer fusion for
FuseIntoContainingOp.

Signed-off-by: Donald Chen


  Commit: e86ebe4ff8705ef30b332e2104ed1c84fc729966
      https://github.com/llvm/llvm-project/commit/e86ebe4ff8705ef30b332e2104ed1c84fc729966
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/LTO/LTOBackend.cpp
    A llvm/test/tools/llvm-split/target-specific-split.ll
    M llvm/tools/llvm-split/CMakeLists.txt
    M llvm/tools/llvm-split/llvm-split.cpp

  Log Message:
  -----------
  [LTO] Allow target-specific module splittting (#83128)

Allow targets to implement custom module splitting logic for
--lto-partitions, see #89245

https://discourse.llvm.org/t/rfc-lto-target-specific-module-splittting/77252


  Commit: abb958f1610becc0a753ad8f4308a90f85e1338f
      https://github.com/llvm/llvm-project/commit/abb958f1610becc0a753ad8f4308a90f85e1338f
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Model conditional operator correctly. (#89213)


  Commit: 8ff6434546bcb4602bd079f4161f746956905c60
      https://github.com/llvm/llvm-project/commit/8ff6434546bcb4602bd079f4161f746956905c60
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Model conditional operator correctly." (#89577)

Reverts llvm/llvm-project#89213

This is causing buildbot failures.


  Commit: d18ab0e1bd5032d213acb94ef70564d221f63fa7
      https://github.com/llvm/llvm-project/commit/d18ab0e1bd5032d213acb94ef70564d221f63fa7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fabs.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll

  Log Message:
  -----------
  [InstCombine] Fold fabs over selects (#86390)

This patch folds fabs over select if it is beneficial. I also tried
other interger/fp intrinsics. Only handling fabs shows benefit to some
real-world applications.


  Commit: 83f7a3a21f6cfbc209b3ccf183abc57c8c51fcc9
      https://github.com/llvm/llvm-project/commit/83f7a3a21f6cfbc209b3ccf183abc57c8c51fcc9
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/tools/llvm-split/target-specific-split.ll

  Log Message:
  -----------
  [llvm-split] Require x86-registered-target for target-specific-split.ll


  Commit: a4bacb0f42ee8bd9d09baaae0fc0ff4650fbef2b
      https://github.com/llvm/llvm-project/commit/a4bacb0f42ee8bd9d09baaae0fc0ff4650fbef2b
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG] Remove redundant KnownBits smin and smax operations (#89519)

It turns out that if any of the operations can be zero, and neither of
the operands can be proven to be positive, it is possible for smax to be
zero, and KnownBits cannot prove otherwise even with KnownBits::smax. In
fact, proving it based on the KnownBits itself at that point without
increasing the depth is actually, provably impossible.

Same with smin.

This covers all the possible cases and is proven to be complete.


  Commit: 7f975b6b4027c39d0e44e64a1a78d79d724ce8cf
      https://github.com/llvm/llvm-project/commit/7f975b6b4027c39d0e44e64a1a78d79d724ce8cf
  Author: David Green <david.green at arm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll

  Log Message:
  -----------
  [AArch64] Add tests for more undef lanes on zip/uzp. NFC


  Commit: 3fbaad5a0c67d0a04739ccf51c180c7d829200a7
      https://github.com/llvm/llvm-project/commit/3fbaad5a0c67d0a04739ccf51c180c7d829200a7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll

  Log Message:
  -----------
  [VectorCombine] Add test coverage for #89390


  Commit: 4cc9c6d98dfef90d1ffa69977d13ffa2894a10f7
      https://github.com/llvm/llvm-project/commit/4cc9c6d98dfef90d1ffa69977d13ffa2894a10f7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - don't fold shuffle(divrem(x,y),divrem(z,w)) if mask contains poison

Fixes #89390


  Commit: eef5798844a6ed489c28b37113f3bcaafd1d6e68
      https://github.com/llvm/llvm-project/commit/eef5798844a6ed489c28b37113f3bcaafd1d6e68
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/builtin-align-cxx.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Create full type info for dummy pointers


  Commit: 57c24eb0a7482ca7f661a2a9cb45249f1553d6d2
      https://github.com/llvm/llvm-project/commit/57c24eb0a7482ca7f661a2a9cb45249f1553d6d2
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  Reland "[clang] CTAD: Fix require-clause is not transformed." (#89476)

This relands the c8e65e193d542464421ad4f9a9965d45b302ac0c, which was
reverted in b48ea2d394911efcc56880fde58f806282db1e8a due to the breakage
of windows builtbot.

The reland contains some adjustments in the lit test deduction-gudie.cpp, to
make the checking text less strict.


  Commit: 57b267905110967860f35a3e97caf3260c681e6d
      https://github.com/llvm/llvm-project/commit/57b267905110967860f35a3e97caf3260c681e6d
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M mlir/include/mlir/IR/Value.h

  Log Message:
  -----------
  Mark `mlir::Value::isa/dyn_cast/cast/...` member functions deprecated. (#89238)

See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443/4


  Commit: dc9664a8adae17f2083fbcc8e96cfce606c56d57
      https://github.com/llvm/llvm-project/commit/dc9664a8adae17f2083fbcc8e96cfce606c56d57
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/Target/GenericOpcodes.td

  Log Message:
  -----------
  CodeGen: Strengthen definition of F{MIN|MAX}NUM_IEEE nodes (#85195)

Previously these were declared as having the 2008 behavior, with
underspecified signed zero handling. Currently, AMDGPU, PPC and
LoongArch mark these as legal. The AMDGPU and PPC instructions respect
the signed zero behavior. The LoongArch documentation doesn't state, but
I'm assuming it also does.


  Commit: 8b2e50bdda3c7cf68268ef23e9cc532797743511
      https://github.com/llvm/llvm-project/commit/8b2e50bdda3c7cf68268ef23e9cc532797743511
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [llvm][bazel] Fix BUILD after e86ebe4ff8705ef30b332e2104ed1c84fc729966.


  Commit: adb25477fb41dc42fc1abef75039dd7b60c05206
      https://github.com/llvm/llvm-project/commit/adb25477fb41dc42fc1abef75039dd7b60c05206
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/tools/llvm-split/CMakeLists.txt

  Log Message:
  -----------
  [llvm-split] Add missing TargetParser dependency


  Commit: 6195e228eb2a7085fac53603f534d2401ab1ac39
      https://github.com/llvm/llvm-project/commit/6195e228eb2a7085fac53603f534d2401ab1ac39
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/builtin-align-cxx.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  Revert "[clang][Interp] Create full type info for dummy pointers"

This reverts commit eef5798844a6ed489c28b37113f3bcaafd1d6e68.

This breaks two tests on an arm builder:
https://lab.llvm.org/buildbot/#/builders/245/builds/23496


  Commit: 0ff992e5f210fdcbfdd1dcc3687c9aeabde318c3
      https://github.com/llvm/llvm-project/commit/0ff992e5f210fdcbfdd1dcc3687c9aeabde318c3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Get ComplexType directly

Instead of doing a isa<> + getAs<>


  Commit: 6b6c7e46cc1e97b678e969bad78825dd02c11ff9
      https://github.com/llvm/llvm-project/commit/6b6c7e46cc1e97b678e969bad78825dd02c11ff9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/test/AST/Interp/vectors.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Test out-of-bounds access on vectors


  Commit: e614e037f371e92499e19ada730f61e77d640780
      https://github.com/llvm/llvm-project/commit/e614e037f371e92499e19ada730f61e77d640780
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Fix build with Unix Makefiles (#89147)

Commit #87622 broke the build. Ninja was happy with creating the output
directories as necessary, but Unix Makefiles isn't. Ensure they are
always created.

Fixes #88626.


  Commit: c2d665b7aeb68f3e8e643ee9dfe5bb7dd31137e5
      https://github.com/llvm/llvm-project/commit/c2d665b7aeb68f3e8e643ee9dfe5bb7dd31137e5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/vectors.cpp

  Log Message:
  -----------
  [clang][Interp] Support ImplicitArrayInitExpr for vectors


  Commit: bfd19445c38a2ad6a1def7ee9a1f8ff26a159caf
      https://github.com/llvm/llvm-project/commit/bfd19445c38a2ad6a1def7ee9a1f8ff26a159caf
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/abstract-result-2.fir
    M flang/test/Fir/abstract-results.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/non-trivial-procedure-binding-description.f90

  Log Message:
  -----------
  [flang] de-duplicate AbstractResult pass (#88867)

This is the first proof of concept of the modification of FIR codegen to
fully support a variety of top level operations (beyond just func.func)
proposed in
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations


  Commit: c88b84d467a201129e329b0bca3425fef326db03
      https://github.com/llvm/llvm-project/commit/c88b84d467a201129e329b0bca3425fef326db03
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] visitOR/visitORLike - merge repeated SDLoc calls.


  Commit: bd84f5d5d71ee26d9552a9cd96ef058cfb8a39fc
      https://github.com/llvm/llvm-project/commit/bd84f5d5d71ee26d9552a9cd96ef058cfb8a39fc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp

  Log Message:
  -----------
  clang: Remove unnecessary pointer bitcast


  Commit: ca9a44ef4791931fe77d123709fa1a9d18f827fd
      https://github.com/llvm/llvm-project/commit/ca9a44ef4791931fe77d123709fa1a9d18f827fd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] visitORCommutative - use sd_match to reduce the need for commutative operand matching. NFCI.

Use sd_match to match commutative inner AND/OR/XOR node arguments instead of some messy manual matching of each commutation.


  Commit: 821935bb55449f708f822d0e381164ebbc33483c
      https://github.com/llvm/llvm-project/commit/821935bb55449f708f822d0e381164ebbc33483c
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-shufflevector.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Combine Shuffles of G_CONCAT_VECTORS (#87489)

Combines G_SHUFFLE_VECTOR whose sources comes from G_CONCAT_VECTORS into
a single G_CONCAT_VECTORS instruction.

a = G_CONCAT_VECTORS x, y, undef, undef
b = G_CONCAT_VECTORS z, undef, undef, undef
c = G_SHUFFLE_VECTORS a, b, <0, 1, 4, undef>
===>
c = G_CONCAT_VECTORS x, y, z, undef`


  Commit: c8e5ad4e123a5fb082355947a896980464689c31
      https://github.com/llvm/llvm-project/commit/c8e5ad4e123a5fb082355947a896980464689c31
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/Verifier.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Verifier/tbaa-struct.ll

  Log Message:
  -----------
  Revert "[TBAA] Add verifier for tbaa.struct metadata (#86709)"

This reverts commit 7dbba39e583a3fd64e7e6b947251c035e483f054.

Revert as there are reports this triggers during ThinLTO in some
configurations.


  Commit: fdc8c5440041ac53726d0b3587762ceeb8cbbb4f
      https://github.com/llvm/llvm-project/commit/fdc8c5440041ac53726d0b3587762ceeb8cbbb4f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90

  Log Message:
  -----------
  [flang][driver] Avoid mentions of Clang in Flang's command line reference. (#88932)

The help text was not updated in #87360.

Clang is also mentioned for the diagnostic warnings reference, which
mostly applies to C/C++/Obj-C, not Fortran. #81726 already tried to fix
this, and I don't know a better solution.


  Commit: 087b33bbff1ab966656a81f9dd8e136fbd966f58
      https://github.com/llvm/llvm-project/commit/087b33bbff1ab966656a81f9dd8e136fbd966f58
  Author: abidh <haqadeer at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    A flang/test/Driver/debug-level.f90

  Log Message:
  -----------
  [flang] Default -g to full debug info. (#89418)

Currently, -g defaults to line tables only. This PR changes that to full
debug information. This will allow us to test/use the upcoming debug
info changes.


  Commit: 5b6db43f29ac5a114ce6c61010ddd6553c0770c0
      https://github.com/llvm/llvm-project/commit/5b6db43f29ac5a114ce6c61010ddd6553c0770c0
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/atomics-hw-remarks-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll

  Log Message:
  -----------
  AMDGPU: Simplify DS atomicrmw fadd handling (#89468)

DS atomic fadd F32 does respect the denormal mode, so we do not need to
consider the expected FP mode or unsafe-fp-atomics attribute. They don't
respect the rounding mode, but we don't care outside of strictfp. This
also reveals the fp-mode-is-flush check has been missing in the cases
that should be considering it alongside amdgpu-unsafe-fp-atomics.

This also stops considering the case where flushing is enabled for f64,
as flushing isn't mandated and we barely handle this case.


  Commit: 093171b053838020a30c7710015c56c88d51c7ef
      https://github.com/llvm/llvm-project/commit/093171b053838020a30c7710015c56c88d51c7ef
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/debug-options.c

  Log Message:
  -----------
  [Clang] Fix template alias default DWARF version (#89594)

DW_TAG_template_alias DIEs were added in DWARFv4, not DWARFv5


  Commit: b7db392b687463e1f2815279e7dc4554b2ccb83f
      https://github.com/llvm/llvm-project/commit/b7db392b687463e1f2815279e7dc4554b2ccb83f
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    A llvm/test/tools/llvm-dwarfdump/X86/verify_template_alias.yaml

  Log Message:
  -----------
  Fix DW_TAG_template_alias refs in llvm-dwarfdump --verify (#89589)

A DW_TAG_template_alias referenced by a DW_AT_type incorrectly produces
the error:

error: DIE has DW_AT_type with incompatible tag DW_TAG_template_alias

Fix and add test.


  Commit: a2692ac23f1421097f0d51c7325045ed38db6408
      https://github.com/llvm/llvm-project/commit/a2692ac23f1421097f0d51c7325045ed38db6408
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/tools/llvm-split/llvm-split.cpp

  Log Message:
  -----------
  [llvm-split] Correctly deallocate TargetMachine

Should fix the ASAN error.


  Commit: 10654e46d28ef0dd483a63dfc5e2bcfd9ea7e86a
      https://github.com/llvm/llvm-project/commit/10654e46d28ef0dd483a63dfc5e2bcfd9ea7e86a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [KnownBitsTest] Common up isCorrect and isOptimal. NFC. (#89585)

This de-duplicates the code that prints useful information when a test
fails.


  Commit: c93f02978c33897615a312a85c6149911544ad63
      https://github.com/llvm/llvm-project/commit/c93f02978c33897615a312a85c6149911544ad63
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp

  Log Message:
  -----------
  [VPlan] Remove custom checks for EVL placement in verifier (NFCI).

After e2a72fa583d9, def-use chains of EVL are modeled explicitly.
So there's no need for a custom check of its placement, as regular
def-use verification will catch mis-placements.


  Commit: f0cbdd3e352a1d45965be686f48eee51159bb218
      https://github.com/llvm/llvm-project/commit/f0cbdd3e352a1d45965be686f48eee51159bb218
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [KnownBitsTest] Print name of function when exhaustive tests fail (#89588)

When exhaustive unary/binary tests fail, print the name of the function
being tested as well as the values of the inputs and outputs.

Example of a simulated failure in testing "udiv exact":

    unittests/Support/KnownBitsTest.cpp:99: Failure
Value of: checkResult(Name, Exact, Computed, {Known1, Known2},
CheckOptimality)
Actual: false (udiv exact: Inputs = ???1, ????, Computed = ???1, Exact =
0???)
    Expected: true


  Commit: e4f7c524d7f3efa1e819ca2e2d835c8f4c5765f4
      https://github.com/llvm/llvm-project/commit/e4f7c524d7f3efa1e819ca2e2d835c8f4c5765f4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  AMDGPU: Refactor atomicrmw fadd expansion logic (NFC) (#89469)

This had some repeated and overlapping conditions, which
made it more difficult to handle the new metadata scheme. Reflow
the function to handle the easy LDS cases first. For the flat/global
cases, write in a positive-enabled style where everything unhandled
hits a default cmpxchg.

Depends #89468


  Commit: 2e7bd22b37cd6f4e266d0512220b983144d9be0b
      https://github.com/llvm/llvm-project/commit/2e7bd22b37cd6f4e266d0512220b983144d9be0b
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h

  Log Message:
  -----------
  [NFC] Fix comments in PassBuilder functions (#89513)

The original comments mention `addPreLinkLTODefaultPipeline`, but I
could not find any functions with this name, even in
https://reviews.llvm.org/D33540
(8b3be4e59d861130746206e41ae42c918bc165df) where this comment was added.
I assume they meant to refer to `buildThinLTOPreLinkDefaultPipeline` and
`buildLTOPreLinkDefaultPipeline` and so this patch uses them.


  Commit: 5597d97e9982d8f87c9226898f90c5875b498f71
      https://github.com/llvm/llvm-project/commit/5597d97e9982d8f87c9226898f90c5875b498f71
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/utils/TableGen/MveEmitter.cpp

  Log Message:
  -----------
   [clang] MveEmitter: Pass Args as a const reference  (#89551)

Closes #89192.


  Commit: 8e45935824a905dec7739ea8c95af5fdf2c0c123
      https://github.com/llvm/llvm-project/commit/8e45935824a905dec7739ea8c95af5fdf2c0c123
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  [RemoveDIs] Make verify-uselistorder preserve the input debug info format (#87789)

Verify-uselistorder wants to take some input IR and verify that the
uselist order is stable after roundtripping to bitcode and assembly.
This is disrupted if the file is converted between the new and old debug
info formats after parsing - while there's no functional difference, the
change to the in-memory representation of the IR modifies the uselist.
This patch changes verify-uselistorder to not convert input files
between debug info formats by default, preventing changes from being
made to the file being checked. In addition, this patch makes it so that
when we _do_ print IR in the new debug info format to bitcode or
assembly, we delete any lingering debug intrinsic declarations, ensuring
that we don't write uselist entries for them.


  Commit: 103f1be76fbb82ef8ed95b6112d914d4996e27be
      https://github.com/llvm/llvm-project/commit/103f1be76fbb82ef8ed95b6112d914d4996e27be
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] getRecord() might return null


  Commit: 15883684a72cf6c64d856a11f8cd10b3a332dbcf
      https://github.com/llvm/llvm-project/commit/15883684a72cf6c64d856a11f8cd10b3a332dbcf
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Fix casting pointers to int128


  Commit: 346d2c0268a552abecdc9b7f7a4da860dc4235a5
      https://github.com/llvm/llvm-project/commit/346d2c0268a552abecdc9b7f7a4da860dc4235a5
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [KnownBitsTest] Standardize variable names in exhaustive tests


  Commit: e2754890ca75d64b3acb9b8655874421aed8f9cb
      https://github.com/llvm/llvm-project/commit/e2754890ca75d64b3acb9b8655874421aed8f9cb
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    R libcxx/include/libcxx.imp
    M libcxx/utils/CMakeLists.txt
    M libcxx/utils/generate_iwyu_mapping.py

  Log Message:
  -----------
  [libc++] Don't commit libcxx.imp (#89391)

We can instead generate it on-the-fly when we install the headers. This
reduces the amount of boilerplate we have to re-generate whenever we
add, remove or relocate header files.

Fixes #88529


  Commit: c61f0a8e94004b05d9ec115d3bff8cff331b4491
      https://github.com/llvm/llvm-project/commit/c61f0a8e94004b05d9ec115d3bff8cff331b4491
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Remove stray CMake install step for modulemap file (#89394)

The modulemap file is not generated anymore, so it's just part of our
list of includes and gets installed like every other header. We don't
need a special step to install it anymore. This was overlooked when I
removed the generation of the modulemap file.


  Commit: e8b31fb39d9728e7505dfee7630158f14bc224de
      https://github.com/llvm/llvm-project/commit/e8b31fb39d9728e7505dfee7630158f14bc224de
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/docs/Tutorials/transform/ChH.md

  Log Message:
  -----------
  [mlir] fix latex formulas in the tutorial


  Commit: 35b292efc6fc31b884255d7cb46db7d6346c6f46
      https://github.com/llvm/llvm-project/commit/35b292efc6fc31b884255d7cb46db7d6346c6f46
  Author: Steven Varoumas <steven.varoumas1 at huawei.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
    M mlir/test/Dialect/Linalg/hoisting.mlir

  Log Message:
  -----------
  [mlir][Hoisting] Hoisting vector.extract/vector.broadcast pairs (#86108)

This transformation, inspired by what is done in
hoist_redundant_transfers, hoists pairs of extract/broadcast operations
out of scf.for loops.

It changes a loop of the form:

```
%res = scf.for _ = _ to _ step _ iter_args(%iarg = %v) -> (t1) {
  %e = vector.extract %iarg : t1 to t2
  %u = "some_use"(%e) : (t2) -> t2
  %b = vector.broadcast %u : t2 to t1
  scf.yield %b : t1
}
```

into the following:

```
%e = vector.extract %v: t1 to t2
%res' = scf.for _ = _ to _ step _ iter_args(%iarg = %e) -> (t2) {
  %u' = "some_use"(%iarg) : (t2) -> t2
  scf.yield %u' : t2
}
%res = vector.broadcast %res' : t2 to t1
```


  Commit: c7e0f1e988d73555d1da7474528996e748622f42
      https://github.com/llvm/llvm-project/commit/c7e0f1e988d73555d1da7474528996e748622f42
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/pmaddubsw.ll

  Log Message:
  -----------
  [X86] Allow input vector extracted from larger vector when combining to VPMADDUBSW (#89584)

Failed on main trunk: https://godbolt.org/z/edWMz8chE


  Commit: b099dd693c729e19b0343e4551bb764369997376
      https://github.com/llvm/llvm-project/commit/b099dd693c729e19b0343e4551bb764369997376
  Author: David Green <david.green at arm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/sve-reassocadd.ll

  Log Message:
  -----------
  [AArch64] Add some tests for reassociated addressing modes. NFC


  Commit: 0accda7f17a1f85b4270edf4f0976c55de4e958c
      https://github.com/llvm/llvm-project/commit/0accda7f17a1f85b4270edf4f0976c55de4e958c
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/test/Sema/unroll-template-value-crash.cpp

  Log Message:
  -----------
  [Clang] Fix a crash introduced in PR#88666 (#89567)


  Commit: fe28a0e4823f59d193a14a07d12e3f60555350e0
      https://github.com/llvm/llvm-project/commit/fe28a0e4823f59d193a14a07d12e3f60555350e0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] Document reasoning in multiple places in isDependent (NFC). (#89381)

As suggested in https://github.com/llvm/llvm-project/pull/88039, add
extra documentation for reasoning in isDependent.

PR: https://github.com/llvm/llvm-project/pull/89381


  Commit: 5198923c70bb5b91b07e15ce141339d778322635
      https://github.com/llvm/llvm-project/commit/5198923c70bb5b91b07e15ce141339d778322635
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/resolve03.f90

  Log Message:
  -----------
  [flang][OpenMP] Allow common blocks in nested directives (#88430)

COMMON block names must be declared in the same scoping unit in
which the OpenMP directive or clause appears, but OpenMP
constructs must not be considered as scoping units. Instead,
consider only program units and block constructs as such.


  Commit: 36c8af66e08e10b42e964765c9b24dcc60fdf4c0
      https://github.com/llvm/llvm-project/commit/36c8af66e08e10b42e964765c9b24dcc60fdf4c0
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    A mlir/docs/Dialects/Polynomial.md
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix polynomial dialect docs

Some docs were emitted into the wrong location (Polynomial/ instead of
Dialect/). Furthermore, `-gen-dialect-docs` subsumes
`-gen-attr/typedef-docs` so the latter are not required.

Add a top-level entry that includes both other files in a proper order.


  Commit: 024c3d0c079fd9297725c35082316f2ca29c9526
      https://github.com/llvm/llvm-project/commit/024c3d0c079fd9297725c35082316f2ca29c9526
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Refactor Program::getGlobal()

Move the iterator declarations into the if statements and return
std::nullopt explicitly.


  Commit: abca85b3f7d5d3a1ae8dfea37d41e913c67b9bab
      https://github.com/llvm/llvm-project/commit/abca85b3f7d5d3a1ae8dfea37d41e913c67b9bab
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Remove faulty assertion

The assertion doesn't work if there are multiple declarations for
a variable involved.


  Commit: 5ef5eb66fb428aaf61fb51b709f065c069c11242
      https://github.com/llvm/llvm-project/commit/5ef5eb66fb428aaf61fb51b709f065c069c11242
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/SemaCXX/cxx23-assume.cpp

  Log Message:
  -----------
  [clang][Interp] Implement C++23 [[assume]] support


  Commit: ef1d19b0a58f92241963a1403905e8b0a8484b5f
      https://github.com/llvm/llvm-project/commit/ef1d19b0a58f92241963a1403905e8b0a8484b5f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-reduced.ll

  Log Message:
  -----------
  [SLP]Fix PR89438: check for all tree entries for the resized value.

Need to check all possible entries, before trying looking for the
minbitwidth in the user node. Otherwise we may incorrectly get
signedness info.


  Commit: 1fb3ea6ded051e1e78aed96435b830920b59ac56
      https://github.com/llvm/llvm-project/commit/1fb3ea6ded051e1e78aed96435b830920b59ac56
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/llvm-split/BUILD.gn

  Log Message:
  -----------
  [gn] port e86ebe4ff870 (llvm-split target dep)


  Commit: 9803196849bd9c473aba7ead03da9aee5591f373
      https://github.com/llvm/llvm-project/commit/9803196849bd9c473aba7ead03da9aee5591f373
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libcxx/test/support/invocable_with_telemetry.h

  Log Message:
  -----------
  [libc++][NFC] Fix unparenthesized comma expression in mem-initializer (#89605)

#84050 resolves class member access expressions naming members of the
current instantiation prior to instantiation. In testing, it has
revealed a mem-initializer in the move constructor of
`invocable_with_telemetry` that uses an unparenthesized comma expression
to initialize a non-static data member of pointer type. This patch fixes it.


  Commit: 9ef9db7087fe6ce00a84f1456fce9f2e98db0769
      https://github.com/llvm/llvm-project/commit/9ef9db7087fe6ce00a84f1456fce9f2e98db0769
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h

  Log Message:
  -----------
  [lldb][DWARF] Remove m_forward_decl_die_to_compiler_type as it never actually being used. (#89427)

This removes `m_forward_decl_die_to_compiler_type` which is a map from
`const DWARFDebugInfoEntry *` to `lldb::opaque_compiler_type_t`. This
map is currently used in `DWARFASTParserClang::ParseEnum` and
`DWARFASTParserClang::ParseStructureLikeDIE` to avoid creating duplicate
CompilerType for the specific DIE. But before entering these two
functions in `DWARFASTParserClang::ParseTypeFromDWARF`, we already
checked with `SymbolFileDWARF::GetDIEToType()` if we have a Type created
from this DIE to avoid trying to parse the same DIE twice. So, this map
is unnecessary and not useful.


  Commit: 70abbd9084e25d2485edfeb252b603b3910a23bc
      https://github.com/llvm/llvm-project/commit/70abbd9084e25d2485edfeb252b603b3910a23bc
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-traits.cpp

  Log Message:
  -----------
  [AST] Dump argument types for TypeTraitExpr. (#89370)

The argument types are not modeled as children of TypeTraitExpr,
therefore they are not dumped with the default implementation.

Dumping them is really useful for ad-hoc debugging, context #89358


  Commit: 5138ccd0e479d1702c2adefe1cd611e1aebe2f8b
      https://github.com/llvm/llvm-project/commit/5138ccd0e479d1702c2adefe1cd611e1aebe2f8b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll

  Log Message:
  -----------
  [LAA] Add etra tests with strides with different signs.

Extra tests with strides with different signs for
https://github.com/llvm/llvm-project/pull/88039.


  Commit: bddfbe748ba5fa4363bb343687841f5f389e38f8
      https://github.com/llvm/llvm-project/commit/bddfbe748ba5fa4363bb343687841f5f389e38f8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
    M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/pr67803.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, undef), (shuffle y, undef)" -> "shuffle x, y" (#88743)

Another step towards cleaning up shuffles that have been split, often across bitcasts between SSE intrinsic.

Strip shuffles entirely if we fold to an identity shuffle.


  Commit: cce4dc7b7a80347c2ef9ad3d55091dbe7adddcb6
      https://github.com/llvm/llvm-project/commit/cce4dc7b7a80347c2ef9ad3d55091dbe7adddcb6
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/zos-ret-addr.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Implement llvm.returnaddress for XPLINK (#89440)

The implementation follows the ELF implementation.


  Commit: 19a625a0a7798da030e8d2174a5a243aa565f644
      https://github.com/llvm/llvm-project/commit/19a625a0a7798da030e8d2174a5a243aa565f644
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect size of the external user detection.


  Commit: 102a8110943bf18fab923e01610a693587a01945
      https://github.com/llvm/llvm-project/commit/102a8110943bf18fab923e01610a693587a01945
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll

  Log Message:
  -----------
  [SLP]Fix a check for multi-users for icmp user.

The compiler should not take into account the type of the cmp
instruction, otherwise it may treat the size incorrectly and it may lead
to incorrect codegen.


  Commit: 6bd29d66398d54869670f237c0ffd34ca84b7abe
      https://github.com/llvm/llvm-project/commit/6bd29d66398d54869670f237c0ffd34ca84b7abe
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/phi-reordered-reshuffled.ll

  Log Message:
  -----------
  [SLP]Fix PR89614: phis can be reordered, if reuses are not empty.

Need to relax assertion and check ReuseShuffleIndices is not empty, if
the root phi node has reorder indices.


  Commit: 5c4b923c727767c9e6ad16324c559a1a92616171
      https://github.com/llvm/llvm-project/commit/5c4b923c727767c9e6ad16324c559a1a92616171
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/SemaTemplate/instantiate-using-decl.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541, #88311)" (#88731)

Reapplies #87541 and #88311 (again) addressing the bug which caused
expressions naming overload sets to be incorrectly rebuilt, as well as
the bug which caused base class members to always be treated as overload
sets.

The primary change since #88311 is `UnresolvedLookupExpr::Create` is called directly in `BuildPossibleImplicitMemberExpr` with `KnownDependent` as `true` (which causes the expression type to be set to `ASTContext::DependentTy`). This ensures that any further semantic analysis involving the type of the potentially implicit class member access expression is deferred until instantiation.


  Commit: dc20a0ea1fd04a2ef95eb5c73e9f88357fc5f694
      https://github.com/llvm/llvm-project/commit/dc20a0ea1fd04a2ef95eb5c73e9f88357fc5f694
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'num_gangs' sema for compute constructs (#89460)

num_gangs takes an 'int-expr-list', for 'parallel', and an 'int-expr'
for 'kernels'. This patch changes the parsing to always parse it as an
'int-expr-list', then correct the expression count during Sema. It also
implements the rest of the semantic analysis changes for this clause.


  Commit: 947cd677083d69412b5a900d8fad59e3062c4875
      https://github.com/llvm/llvm-project/commit/947cd677083d69412b5a900d8fad59e3062c4875
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Interp/IntegralAP.h
    A clang/test/Sema/bitint-bitfield-promote.c

  Log Message:
  -----------
  [C23] Select the correct promoted type for a bit-field (#89254)

Bit-fields of bit-precise integer type do not promote to int, but
instead promote to the type of the field.

Fixes #87641


  Commit: 583795e1ca7c331a9e5a12a7829b572625321f92
      https://github.com/llvm/llvm-project/commit/583795e1ca7c331a9e5a12a7829b572625321f92
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.h

  Log Message:
  -----------
  [NVPTX][NFCI] Use DataLayout to determine short shared/local/const pointers (#89404)

Use the datalayout directly to determine the correct `cvta` instruction
for converting shared/local/const pointers. This is cleaner as it
eliminates the need to keep a redundant copy of this info in the TM and
makes clear which address spaces short pointers are applicable for.


  Commit: 60535229dd640efacc9d3dfc1cddecc718640067
      https://github.com/llvm/llvm-project/commit/60535229dd640efacc9d3dfc1cddecc718640067
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/stack-protector-target.ll

  Log Message:
  -----------
  [RISCV] Precommit stack protector checks for Linux and Android (#87679)

Upcoming patches will add TP relative stack checks for Android, and
Linux currently uses the default GOT based stack protector.


  Commit: 7c581b554efa7c720b780f721877107ae0fc78ff
      https://github.com/llvm/llvm-project/commit/7c581b554efa7c720b780f721877107ae0fc78ff
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [Clang][Sema] Remove unused function after #88731 (#89618)

Removes an unused static function `IsOverloaded` from `SemaOverload.cpp`
that is unused after #88731.


  Commit: 6ad22c879aab88b6bb0531eeb3a6708a82f88cf6
      https://github.com/llvm/llvm-project/commit/6ad22c879aab88b6bb0531eeb3a6708a82f88cf6
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp

  Log Message:
  -----------
  [compiler-rt][ctx_instr] Add `ctx_profile` component (#89304)

Add the component structure for contextual instrumented PGO and the bump allocator + test.

(Tracking Issue: #89287, RFC referenced there)


  Commit: 0ab0c1d982876662a45adb9bafaa3c2d3bdf1939
      https://github.com/llvm/llvm-project/commit/0ab0c1d982876662a45adb9bafaa3c2d3bdf1939
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll

  Log Message:
  -----------
  [SLP]Introduce transformNodes() and transform loads + reverse to strided loads.

Introduced transformNodes() function to perform transformation of the
nodes (cost-based, instruction count based, etc.).
Implemented transformation of consecutive loads + reverse order to
strided loads with stride -1, if profitable.

Reviewers: RKSimon, preames, topperc

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/88530


  Commit: 832d3a42c34eee2a6ca323ef97a1c6fe14c1f651
      https://github.com/llvm/llvm-project/commit/832d3a42c34eee2a6ca323ef97a1c6fe14c1f651
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll

  Log Message:
  -----------
  [X86] gfni-funnel-shifts.ll - add vXi8 variable/splat/constant test coverage

Once #89115 has landed, we can handle per-element rotates as well using (V)GF2P8MULB


  Commit: 8b2ba6a144e728ee4116e2804e9b5aed8824e726
      https://github.com/llvm/llvm-project/commit/8b2ba6a144e728ee4116e2804e9b5aed8824e726
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    R compiler-rt/lib/ctx_profile/CMakeLists.txt
    R compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    R compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    R compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    R compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    R compiler-rt/lib/ctx_profile/tests/driver.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][ctx_instr] Add `ctx_profile` component" (#89625)

Reverts llvm/llvm-project#89304

Some build bot failures - will fix and reland.

Example: https://lab.llvm.org/buildbot/#/builders/165/builds/52789


  Commit: c4c54af569f7c17bc89ae73c3e5c5c4be0a586b9
      https://github.com/llvm/llvm-project/commit/c4c54af569f7c17bc89ae73c3e5c5c4be0a586b9
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll

  Log Message:
  -----------
  [SPIRV][HLSL] map lerp to Fmix (#88976)

- `clang/lib/CodeGen/CGBuiltin.cpp` - switch to using
`getLerpIntrinsic()` to abstract backend intrinsic
- `clang/lib/CodeGen/CGHLSLRuntime.h` - add `getLerpIntrinsic()` 
- `llvm/include/llvm/IR/IntrinsicsSPIRV.td` - add SPIRV intrinsic for
lerp
- `llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp` - add mapping of
HLSL's lerp to GLSL's Fmix.

resolves #88940


  Commit: b6628c24ef017138b8d6eb288e94c141e7c846b0
      https://github.com/llvm/llvm-project/commit/b6628c24ef017138b8d6eb288e94c141e7c846b0
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/static-assert-cxx26.cpp

  Log Message:
  -----------
  [Clang] Fix crash on invalid size in user-defined `static_assert` message (#89420)

This addresses two problems observed in #89407 wrt user-defined
`static_assert` messages:

1. In `Expr::EvaluateCharRangeAsString`, we were calling `getExtValue()`
instead of `getZExtValue()`, which would assert if a negative or very
large number was returned from `size()`.
2. If the value could not be converted to `std::size_t`, attempting to
diagnose that would crash because `ext_cce_narrowing` was missing two
`%select` cases.

This fixes #89407.


  Commit: 330d8983d25d08580fc1642fea48b2473f47a9da
      https://github.com/llvm/llvm-project/commit/330d8983d25d08580fc1642fea48b2473f47a9da
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    A offload/CMakeLists.txt
    A offload/DeviceRTL/CMakeLists.txt
    A offload/DeviceRTL/include/Allocator.h
    A offload/DeviceRTL/include/Configuration.h
    A offload/DeviceRTL/include/Debug.h
    A offload/DeviceRTL/include/Interface.h
    A offload/DeviceRTL/include/LibC.h
    A offload/DeviceRTL/include/Mapping.h
    A offload/DeviceRTL/include/State.h
    A offload/DeviceRTL/include/Synchronization.h
    A offload/DeviceRTL/include/Types.h
    A offload/DeviceRTL/include/Utils.h
    A offload/DeviceRTL/include/generated_microtask_cases.gen
    A offload/DeviceRTL/src/Allocator.cpp
    A offload/DeviceRTL/src/Configuration.cpp
    A offload/DeviceRTL/src/Debug.cpp
    A offload/DeviceRTL/src/Kernel.cpp
    A offload/DeviceRTL/src/LibC.cpp
    A offload/DeviceRTL/src/Mapping.cpp
    A offload/DeviceRTL/src/Misc.cpp
    A offload/DeviceRTL/src/Parallelism.cpp
    A offload/DeviceRTL/src/Reduction.cpp
    A offload/DeviceRTL/src/State.cpp
    A offload/DeviceRTL/src/Stub.cpp
    A offload/DeviceRTL/src/Synchronization.cpp
    A offload/DeviceRTL/src/Tasking.cpp
    A offload/DeviceRTL/src/Utils.cpp
    A offload/DeviceRTL/src/Workshare.cpp
    A offload/DeviceRTL/src/exports
    A offload/README.txt
    A offload/cmake/Modules/LibomptargetGetDependencies.cmake
    A offload/cmake/Modules/LibomptargetUtils.cmake
    A offload/cmake/OpenMPTesting.cmake
    A offload/docs/declare_target_indirect.md
    A offload/include/DeviceImage.h
    A offload/include/ExclusiveAccess.h
    A offload/include/OffloadEntry.h
    A offload/include/OffloadPolicy.h
    A offload/include/OpenMP/InternalTypes.h
    A offload/include/OpenMP/InteropAPI.h
    A offload/include/OpenMP/Mapping.h
    A offload/include/OpenMP/OMPT/Callback.h
    A offload/include/OpenMP/OMPT/Connector.h
    A offload/include/OpenMP/OMPT/Interface.h
    A offload/include/OpenMP/omp.h
    A offload/include/PluginManager.h
    A offload/include/Shared/APITypes.h
    A offload/include/Shared/Debug.h
    A offload/include/Shared/Environment.h
    A offload/include/Shared/EnvironmentVar.h
    A offload/include/Shared/PluginAPI.h
    A offload/include/Shared/PluginAPI.inc
    A offload/include/Shared/Profile.h
    A offload/include/Shared/Requirements.h
    A offload/include/Shared/SourceInfo.h
    A offload/include/Shared/Utils.h
    A offload/include/Utils/ExponentialBackoff.h
    A offload/include/device.h
    A offload/include/omptarget.h
    A offload/include/rtl.h
    A offload/plugins-nextgen/CMakeLists.txt
    A offload/plugins-nextgen/amdgpu/CMakeLists.txt
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    A offload/plugins-nextgen/amdgpu/src/rtl.cpp
    A offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    A offload/plugins-nextgen/common/CMakeLists.txt
    A offload/plugins-nextgen/common/OMPT/OmptCallback.cpp
    A offload/plugins-nextgen/common/include/DLWrap.h
    A offload/plugins-nextgen/common/include/GlobalHandler.h
    A offload/plugins-nextgen/common/include/JIT.h
    A offload/plugins-nextgen/common/include/MemoryManager.h
    A offload/plugins-nextgen/common/include/PluginInterface.h
    A offload/plugins-nextgen/common/include/RPC.h
    A offload/plugins-nextgen/common/include/Utils/ELF.h
    A offload/plugins-nextgen/common/src/GlobalHandler.cpp
    A offload/plugins-nextgen/common/src/JIT.cpp
    A offload/plugins-nextgen/common/src/PluginInterface.cpp
    A offload/plugins-nextgen/common/src/RPC.cpp
    A offload/plugins-nextgen/common/src/Utils/ELF.cpp
    A offload/plugins-nextgen/cuda/CMakeLists.txt
    A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    A offload/plugins-nextgen/cuda/src/rtl.cpp
    A offload/plugins-nextgen/exports
    A offload/plugins-nextgen/host/CMakeLists.txt
    A offload/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    A offload/plugins-nextgen/host/dynamic_ffi/ffi.h
    A offload/plugins-nextgen/host/src/rtl.cpp
    A offload/src/CMakeLists.txt
    A offload/src/DeviceImage.cpp
    A offload/src/LegacyAPI.cpp
    A offload/src/OffloadRTL.cpp
    A offload/src/OpenMP/API.cpp
    A offload/src/OpenMP/InteropAPI.cpp
    A offload/src/OpenMP/Mapping.cpp
    A offload/src/OpenMP/OMPT/Callback.cpp
    A offload/src/PluginManager.cpp
    A offload/src/device.cpp
    A offload/src/exports
    A offload/src/interface.cpp
    A offload/src/omptarget.cpp
    A offload/src/private.h
    A offload/test/CMakeLists.txt
    A offload/test/Inputs/basic_array.f90
    A offload/test/Inputs/declare_indirect_func.c
    A offload/test/api/assert.c
    A offload/test/api/is_initial_device.c
    A offload/test/api/omp_device_managed_memory.c
    A offload/test/api/omp_device_managed_memory_alloc.c
    A offload/test/api/omp_device_memory.c
    A offload/test/api/omp_dynamic_shared_memory.c
    A offload/test/api/omp_dynamic_shared_memory_amdgpu.c
    A offload/test/api/omp_dynamic_shared_memory_mixed.inc
    A offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    A offload/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
    A offload/test/api/omp_env_vars.c
    A offload/test/api/omp_get_device_num.c
    A offload/test/api/omp_get_mapped_ptr.c
    A offload/test/api/omp_get_num_devices.c
    A offload/test/api/omp_get_num_devices_with_empty_target.c
    A offload/test/api/omp_get_num_procs.c
    A offload/test/api/omp_host_pinned_memory.c
    A offload/test/api/omp_host_pinned_memory_alloc.c
    A offload/test/api/omp_indirect_call.c
    A offload/test/api/omp_target_memcpy_async1.c
    A offload/test/api/omp_target_memcpy_async2.c
    A offload/test/api/omp_target_memcpy_rect_async1.c
    A offload/test/api/omp_target_memcpy_rect_async2.c
    A offload/test/api/omp_target_memset.c
    A offload/test/api/ompx_3d.c
    A offload/test/api/ompx_3d.cpp
    A offload/test/api/ompx_sync.c
    A offload/test/api/ompx_sync.cpp
    A offload/test/env/base_ptr_ref_count.c
    A offload/test/env/omp_target_debug.c
    A offload/test/jit/empty_kernel.inc
    A offload/test/jit/empty_kernel_lvl1.c
    A offload/test/jit/empty_kernel_lvl2.c
    A offload/test/jit/type_punning.c
    A offload/test/libc/assert.c
    A offload/test/libc/fwrite.c
    A offload/test/libc/global_ctor_dtor.cpp
    A offload/test/libc/host_call.c
    A offload/test/libc/malloc.c
    A offload/test/libc/puts.c
    A offload/test/lit.cfg
    A offload/test/lit.site.cfg.in
    A offload/test/mapping/alloc_fail.c
    A offload/test/mapping/array_section_implicit_capture.c
    A offload/test/mapping/array_section_use_device_ptr.c
    A offload/test/mapping/auto_zero_copy.cpp
    A offload/test/mapping/auto_zero_copy_apu.cpp
    A offload/test/mapping/auto_zero_copy_globals.cpp
    A offload/test/mapping/data_absent_at_exit.c
    A offload/test/mapping/data_member_ref.cpp
    A offload/test/mapping/declare_mapper_api.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_array.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_var.cpp
    A offload/test/mapping/declare_mapper_nested_mappers.cpp
    A offload/test/mapping/declare_mapper_target.cpp
    A offload/test/mapping/declare_mapper_target_data.cpp
    A offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
    A offload/test/mapping/declare_mapper_target_update.cpp
    A offload/test/mapping/delete_inf_refcount.c
    A offload/test/mapping/device_ptr_update.c
    A offload/test/mapping/firstprivate_aligned.cpp
    A offload/test/mapping/has_device_addr.cpp
    A offload/test/mapping/implicit_device_ptr.c
    A offload/test/mapping/is_device_ptr.cpp
    A offload/test/mapping/lambda_by_value.cpp
    A offload/test/mapping/lambda_mapping.cpp
    A offload/test/mapping/low_alignment.c
    A offload/test/mapping/map_back_race.cpp
    A offload/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    A offload/test/mapping/ompx_hold/struct.c
    A offload/test/mapping/ompx_hold/target-data.c
    A offload/test/mapping/ompx_hold/target.c
    A offload/test/mapping/padding_not_mapped.c
    A offload/test/mapping/power_of_two_alignment.c
    A offload/test/mapping/pr38704.c
    A offload/test/mapping/prelock.cpp
    A offload/test/mapping/present/target.c
    A offload/test/mapping/present/target_array_extension.c
    A offload/test/mapping/present/target_data.c
    A offload/test/mapping/present/target_data_array_extension.c
    A offload/test/mapping/present/target_data_at_exit.c
    A offload/test/mapping/present/target_enter_data.c
    A offload/test/mapping/present/target_exit_data_delete.c
    A offload/test/mapping/present/target_exit_data_release.c
    A offload/test/mapping/present/target_update.c
    A offload/test/mapping/present/target_update_array_extension.c
    A offload/test/mapping/present/unified_shared_memory.c
    A offload/test/mapping/present/zero_length_array_section.c
    A offload/test/mapping/present/zero_length_array_section_exit.c
    A offload/test/mapping/private_mapping.c
    A offload/test/mapping/ptr_and_obj_motion.c
    A offload/test/mapping/reduction_implicit_map.cpp
    A offload/test/mapping/target_data_array_extension_at_exit.c
    A offload/test/mapping/target_derefence_array_pointrs.cpp
    A offload/test/mapping/target_has_device_addr.c
    A offload/test/mapping/target_implicit_partial_map.c
    A offload/test/mapping/target_map_for_member_data.cpp
    A offload/test/mapping/target_pointers_members_map.cpp
    A offload/test/mapping/target_update_array_extension.c
    A offload/test/mapping/target_use_device_addr.c
    A offload/test/mapping/target_uses_allocator.c
    A offload/test/mapping/target_wrong_use_device_addr.c
    A offload/test/offloading/assert.cpp
    A offload/test/offloading/atomic-compare-signedness.c
    A offload/test/offloading/back2back_distribute.c
    A offload/test/offloading/barrier_fence.c
    A offload/test/offloading/bug47654.cpp
    A offload/test/offloading/bug49021.cpp
    A offload/test/offloading/bug49334.cpp
    A offload/test/offloading/bug49779.cpp
    A offload/test/offloading/bug50022.cpp
    A offload/test/offloading/bug51781.c
    A offload/test/offloading/bug51982.c
    A offload/test/offloading/bug53727.cpp
    A offload/test/offloading/bug64959.c
    A offload/test/offloading/bug64959_compile_only.c
    A offload/test/offloading/bug74582.c
    A offload/test/offloading/complex_reduction.cpp
    A offload/test/offloading/ctor_dtor.cpp
    A offload/test/offloading/cuda_no_devices.c
    A offload/test/offloading/d2d_memcpy.c
    A offload/test/offloading/d2d_memcpy_sync.c
    A offload/test/offloading/default_thread_limit.c
    A offload/test/offloading/dynamic_module.c
    A offload/test/offloading/dynamic_module_load.c
    A offload/test/offloading/extern.c
    A offload/test/offloading/force-usm.cpp
    A offload/test/offloading/fortran/basic-target-parallel-do.f90
    A offload/test/offloading/fortran/basic-target-parallel-region.f90
    A offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    A offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    A offload/test/offloading/fortran/basic-target-region-3D-array.f90
    A offload/test/offloading/fortran/basic_array.c
    A offload/test/offloading/fortran/basic_target_region.f90
    A offload/test/offloading/fortran/constant-arr-index.f90
    A offload/test/offloading/fortran/declare-target-vars-in-target-region.f90
    A offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    A offload/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
    A offload/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
    A offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    A offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array.f90
    A offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    A offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    A offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    A offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    A offload/test/offloading/fortran/target-nested-target-data.f90
    A offload/test/offloading/fortran/target-parallel-do-collapse.f90
    A offload/test/offloading/fortran/target-region-implicit-array.f90
    A offload/test/offloading/fortran/target_map_common_block.f90
    A offload/test/offloading/fortran/target_map_common_block1.f90
    A offload/test/offloading/fortran/target_map_common_block2.f90
    A offload/test/offloading/fortran/target_update.f90
    A offload/test/offloading/generic_multiple_parallel_regions.c
    A offload/test/offloading/global_constructor.cpp
    A offload/test/offloading/host_as_target.c
    A offload/test/offloading/indirect_fp_mapping.c
    A offload/test/offloading/info.c
    A offload/test/offloading/interop.c
    A offload/test/offloading/lone_target_exit_data.c
    A offload/test/offloading/looptripcnt.c
    A offload/test/offloading/malloc.c
    A offload/test/offloading/malloc_parallel.c
    A offload/test/offloading/mandatory_but_no_devices.c
    A offload/test/offloading/memory_manager.cpp
    A offload/test/offloading/multiple_reductions_simple.c
    A offload/test/offloading/non_contiguous_update.cpp
    A offload/test/offloading/offloading_success.c
    A offload/test/offloading/offloading_success.cpp
    A offload/test/offloading/ompx_bare.c
    A offload/test/offloading/ompx_coords.c
    A offload/test/offloading/ompx_saxpy_mixed.c
    A offload/test/offloading/parallel_offloading_map.cpp
    A offload/test/offloading/parallel_target_teams_reduction.cpp
    A offload/test/offloading/parallel_target_teams_reduction_max.cpp
    A offload/test/offloading/parallel_target_teams_reduction_min.cpp
    A offload/test/offloading/requires.c
    A offload/test/offloading/runtime_init.c
    A offload/test/offloading/shared_lib_fp_mapping.c
    A offload/test/offloading/small_trip_count.c
    A offload/test/offloading/small_trip_count_thread_limit.cpp
    A offload/test/offloading/spmdization.c
    A offload/test/offloading/static_linking.c
    A offload/test/offloading/std_complex_arithmetic.cpp
    A offload/test/offloading/struct_mapping_with_pointers.cpp
    A offload/test/offloading/target-teams-atomic.c
    A offload/test/offloading/target-tile.c
    A offload/test/offloading/target_constexpr_mapping.cpp
    A offload/test/offloading/target_critical_region.cpp
    A offload/test/offloading/target_depend_nowait.cpp
    A offload/test/offloading/target_map_for_member_data.cpp
    A offload/test/offloading/target_nowait_target.cpp
    A offload/test/offloading/task_in_reduction_target.c
    A offload/test/offloading/taskloop_offload_nowait.cpp
    A offload/test/offloading/test_libc.cpp
    A offload/test/offloading/thread_limit.c
    A offload/test/offloading/thread_state_1.c
    A offload/test/offloading/thread_state_2.c
    A offload/test/offloading/weak.c
    A offload/test/offloading/workshare_chunk.c
    A offload/test/offloading/wtime.c
    A offload/test/ompt/callbacks.h
    A offload/test/ompt/register_both.h
    A offload/test/ompt/register_emi.h
    A offload/test/ompt/register_emi_map.h
    A offload/test/ompt/register_no_device_init.h
    A offload/test/ompt/register_non_emi.h
    A offload/test/ompt/register_non_emi_map.h
    A offload/test/ompt/register_wrong_return.h
    A offload/test/ompt/target_memcpy.c
    A offload/test/ompt/target_memcpy_emi.c
    A offload/test/ompt/veccopy.c
    A offload/test/ompt/veccopy_data.c
    A offload/test/ompt/veccopy_disallow_both.c
    A offload/test/ompt/veccopy_emi.c
    A offload/test/ompt/veccopy_emi_map.c
    A offload/test/ompt/veccopy_map.c
    A offload/test/ompt/veccopy_no_device_init.c
    A offload/test/ompt/veccopy_wrong_return.c
    A offload/test/unified_shared_memory/api.c
    A offload/test/unified_shared_memory/associate_ptr.c
    A offload/test/unified_shared_memory/close_enter_exit.c
    A offload/test/unified_shared_memory/close_manual.c
    A offload/test/unified_shared_memory/close_member.c
    A offload/test/unified_shared_memory/close_modifier.c
    A offload/test/unified_shared_memory/shared_update.c
    A offload/tools/CMakeLists.txt
    A offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-omp-device-info.cpp
    A offload/tools/kernelreplay/CMakeLists.txt
    A offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    A offload/unittests/CMakeLists.txt
    A offload/unittests/Plugins/CMakeLists.txt
    A offload/unittests/Plugins/NextgenPluginsTest.cpp
    A offload/utils/generate_microtask_cases.py
    M openmp/CMakeLists.txt
    R openmp/libomptarget/CMakeLists.txt
    R openmp/libomptarget/DeviceRTL/CMakeLists.txt
    R openmp/libomptarget/DeviceRTL/include/Allocator.h
    R openmp/libomptarget/DeviceRTL/include/Configuration.h
    R openmp/libomptarget/DeviceRTL/include/Debug.h
    R openmp/libomptarget/DeviceRTL/include/Interface.h
    R openmp/libomptarget/DeviceRTL/include/LibC.h
    R openmp/libomptarget/DeviceRTL/include/Mapping.h
    R openmp/libomptarget/DeviceRTL/include/State.h
    R openmp/libomptarget/DeviceRTL/include/Synchronization.h
    R openmp/libomptarget/DeviceRTL/include/Types.h
    R openmp/libomptarget/DeviceRTL/include/Utils.h
    R openmp/libomptarget/DeviceRTL/include/generated_microtask_cases.gen
    R openmp/libomptarget/DeviceRTL/src/Allocator.cpp
    R openmp/libomptarget/DeviceRTL/src/Configuration.cpp
    R openmp/libomptarget/DeviceRTL/src/Debug.cpp
    R openmp/libomptarget/DeviceRTL/src/Kernel.cpp
    R openmp/libomptarget/DeviceRTL/src/LibC.cpp
    R openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    R openmp/libomptarget/DeviceRTL/src/Misc.cpp
    R openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
    R openmp/libomptarget/DeviceRTL/src/Reduction.cpp
    R openmp/libomptarget/DeviceRTL/src/State.cpp
    R openmp/libomptarget/DeviceRTL/src/Stub.cpp
    R openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
    R openmp/libomptarget/DeviceRTL/src/Tasking.cpp
    R openmp/libomptarget/DeviceRTL/src/Utils.cpp
    R openmp/libomptarget/DeviceRTL/src/Workshare.cpp
    R openmp/libomptarget/DeviceRTL/src/exports
    R openmp/libomptarget/README.txt
    R openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
    R openmp/libomptarget/cmake/Modules/LibomptargetUtils.cmake
    R openmp/libomptarget/docs/declare_target_indirect.md
    R openmp/libomptarget/include/DeviceImage.h
    R openmp/libomptarget/include/ExclusiveAccess.h
    R openmp/libomptarget/include/OffloadEntry.h
    R openmp/libomptarget/include/OffloadPolicy.h
    R openmp/libomptarget/include/OpenMP/InternalTypes.h
    R openmp/libomptarget/include/OpenMP/InteropAPI.h
    R openmp/libomptarget/include/OpenMP/Mapping.h
    R openmp/libomptarget/include/OpenMP/OMPT/Callback.h
    R openmp/libomptarget/include/OpenMP/OMPT/Connector.h
    R openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    R openmp/libomptarget/include/OpenMP/omp.h
    R openmp/libomptarget/include/PluginManager.h
    R openmp/libomptarget/include/Shared/APITypes.h
    R openmp/libomptarget/include/Shared/Debug.h
    R openmp/libomptarget/include/Shared/Environment.h
    R openmp/libomptarget/include/Shared/EnvironmentVar.h
    R openmp/libomptarget/include/Shared/PluginAPI.h
    R openmp/libomptarget/include/Shared/PluginAPI.inc
    R openmp/libomptarget/include/Shared/Profile.h
    R openmp/libomptarget/include/Shared/Requirements.h
    R openmp/libomptarget/include/Shared/SourceInfo.h
    R openmp/libomptarget/include/Shared/Utils.h
    R openmp/libomptarget/include/Utils/ExponentialBackoff.h
    R openmp/libomptarget/include/device.h
    R openmp/libomptarget/include/omptarget.h
    R openmp/libomptarget/include/rtl.h
    R openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    R openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    R openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    R openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
    R openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    R openmp/libomptarget/plugins-nextgen/common/include/JIT.h
    R openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
    R openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    R openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    R openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
    R openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    R openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    R openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/exports
    R openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
    R openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
    R openmp/libomptarget/src/CMakeLists.txt
    R openmp/libomptarget/src/DeviceImage.cpp
    R openmp/libomptarget/src/LegacyAPI.cpp
    R openmp/libomptarget/src/OffloadRTL.cpp
    R openmp/libomptarget/src/OpenMP/API.cpp
    R openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    R openmp/libomptarget/src/OpenMP/Mapping.cpp
    R openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
    R openmp/libomptarget/src/PluginManager.cpp
    R openmp/libomptarget/src/device.cpp
    R openmp/libomptarget/src/exports
    R openmp/libomptarget/src/interface.cpp
    R openmp/libomptarget/src/omptarget.cpp
    R openmp/libomptarget/src/private.h
    R openmp/libomptarget/test/CMakeLists.txt
    R openmp/libomptarget/test/Inputs/basic_array.f90
    R openmp/libomptarget/test/Inputs/declare_indirect_func.c
    R openmp/libomptarget/test/api/assert.c
    R openmp/libomptarget/test/api/is_initial_device.c
    R openmp/libomptarget/test/api/omp_device_managed_memory.c
    R openmp/libomptarget/test/api/omp_device_managed_memory_alloc.c
    R openmp/libomptarget/test/api/omp_device_memory.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_amdgpu.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed.inc
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
    R openmp/libomptarget/test/api/omp_env_vars.c
    R openmp/libomptarget/test/api/omp_get_device_num.c
    R openmp/libomptarget/test/api/omp_get_mapped_ptr.c
    R openmp/libomptarget/test/api/omp_get_num_devices.c
    R openmp/libomptarget/test/api/omp_get_num_devices_with_empty_target.c
    R openmp/libomptarget/test/api/omp_get_num_procs.c
    R openmp/libomptarget/test/api/omp_host_pinned_memory.c
    R openmp/libomptarget/test/api/omp_host_pinned_memory_alloc.c
    R openmp/libomptarget/test/api/omp_indirect_call.c
    R openmp/libomptarget/test/api/omp_target_memcpy_async1.c
    R openmp/libomptarget/test/api/omp_target_memcpy_async2.c
    R openmp/libomptarget/test/api/omp_target_memcpy_rect_async1.c
    R openmp/libomptarget/test/api/omp_target_memcpy_rect_async2.c
    R openmp/libomptarget/test/api/omp_target_memset.c
    R openmp/libomptarget/test/api/ompx_3d.c
    R openmp/libomptarget/test/api/ompx_3d.cpp
    R openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
    R openmp/libomptarget/test/api/ompx_sync.c
    R openmp/libomptarget/test/api/ompx_sync.cpp
    R openmp/libomptarget/test/env/base_ptr_ref_count.c
    R openmp/libomptarget/test/env/omp_target_debug.c
    R openmp/libomptarget/test/jit/empty_kernel.inc
    R openmp/libomptarget/test/jit/empty_kernel_lvl1.c
    R openmp/libomptarget/test/jit/empty_kernel_lvl2.c
    R openmp/libomptarget/test/jit/type_punning.c
    R openmp/libomptarget/test/libc/assert.c
    R openmp/libomptarget/test/libc/fwrite.c
    R openmp/libomptarget/test/libc/global_ctor_dtor.cpp
    R openmp/libomptarget/test/libc/host_call.c
    R openmp/libomptarget/test/libc/malloc.c
    R openmp/libomptarget/test/libc/puts.c
    R openmp/libomptarget/test/lit.cfg
    R openmp/libomptarget/test/lit.site.cfg.in
    R openmp/libomptarget/test/mapping/alloc_fail.c
    R openmp/libomptarget/test/mapping/array_section_implicit_capture.c
    R openmp/libomptarget/test/mapping/array_section_use_device_ptr.c
    R openmp/libomptarget/test/mapping/auto_zero_copy.cpp
    R openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
    R openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
    R openmp/libomptarget/test/mapping/data_absent_at_exit.c
    R openmp/libomptarget/test/mapping/data_member_ref.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_api.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_var.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_mappers.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_data.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_data_enter_exit.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_update.cpp
    R openmp/libomptarget/test/mapping/delete_inf_refcount.c
    R openmp/libomptarget/test/mapping/device_ptr_update.c
    R openmp/libomptarget/test/mapping/firstprivate_aligned.cpp
    R openmp/libomptarget/test/mapping/has_device_addr.cpp
    R openmp/libomptarget/test/mapping/implicit_device_ptr.c
    R openmp/libomptarget/test/mapping/is_device_ptr.cpp
    R openmp/libomptarget/test/mapping/lambda_by_value.cpp
    R openmp/libomptarget/test/mapping/lambda_mapping.cpp
    R openmp/libomptarget/test/mapping/low_alignment.c
    R openmp/libomptarget/test/mapping/map_back_race.cpp
    R openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    R openmp/libomptarget/test/mapping/ompx_hold/struct.c
    R openmp/libomptarget/test/mapping/ompx_hold/target-data.c
    R openmp/libomptarget/test/mapping/ompx_hold/target.c
    R openmp/libomptarget/test/mapping/padding_not_mapped.c
    R openmp/libomptarget/test/mapping/power_of_two_alignment.c
    R openmp/libomptarget/test/mapping/pr38704.c
    R openmp/libomptarget/test/mapping/prelock.cpp
    R openmp/libomptarget/test/mapping/present/target.c
    R openmp/libomptarget/test/mapping/present/target_array_extension.c
    R openmp/libomptarget/test/mapping/present/target_data.c
    R openmp/libomptarget/test/mapping/present/target_data_array_extension.c
    R openmp/libomptarget/test/mapping/present/target_data_at_exit.c
    R openmp/libomptarget/test/mapping/present/target_enter_data.c
    R openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
    R openmp/libomptarget/test/mapping/present/target_exit_data_release.c
    R openmp/libomptarget/test/mapping/present/target_update.c
    R openmp/libomptarget/test/mapping/present/target_update_array_extension.c
    R openmp/libomptarget/test/mapping/present/unified_shared_memory.c
    R openmp/libomptarget/test/mapping/present/zero_length_array_section.c
    R openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
    R openmp/libomptarget/test/mapping/private_mapping.c
    R openmp/libomptarget/test/mapping/ptr_and_obj_motion.c
    R openmp/libomptarget/test/mapping/reduction_implicit_map.cpp
    R openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
    R openmp/libomptarget/test/mapping/target_derefence_array_pointrs.cpp
    R openmp/libomptarget/test/mapping/target_has_device_addr.c
    R openmp/libomptarget/test/mapping/target_implicit_partial_map.c
    R openmp/libomptarget/test/mapping/target_map_for_member_data.cpp
    R openmp/libomptarget/test/mapping/target_pointers_members_map.cpp
    R openmp/libomptarget/test/mapping/target_update_array_extension.c
    R openmp/libomptarget/test/mapping/target_use_device_addr.c
    R openmp/libomptarget/test/mapping/target_uses_allocator.c
    R openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
    R openmp/libomptarget/test/offloading/assert.cpp
    R openmp/libomptarget/test/offloading/atomic-compare-signedness.c
    R openmp/libomptarget/test/offloading/back2back_distribute.c
    R openmp/libomptarget/test/offloading/barrier_fence.c
    R openmp/libomptarget/test/offloading/bug47654.cpp
    R openmp/libomptarget/test/offloading/bug49021.cpp
    R openmp/libomptarget/test/offloading/bug49334.cpp
    R openmp/libomptarget/test/offloading/bug49779.cpp
    R openmp/libomptarget/test/offloading/bug50022.cpp
    R openmp/libomptarget/test/offloading/bug51781.c
    R openmp/libomptarget/test/offloading/bug51982.c
    R openmp/libomptarget/test/offloading/bug53727.cpp
    R openmp/libomptarget/test/offloading/bug64959.c
    R openmp/libomptarget/test/offloading/bug64959_compile_only.c
    R openmp/libomptarget/test/offloading/bug74582.c
    R openmp/libomptarget/test/offloading/complex_reduction.cpp
    R openmp/libomptarget/test/offloading/ctor_dtor.cpp
    R openmp/libomptarget/test/offloading/cuda_no_devices.c
    R openmp/libomptarget/test/offloading/d2d_memcpy.c
    R openmp/libomptarget/test/offloading/d2d_memcpy_sync.c
    R openmp/libomptarget/test/offloading/default_thread_limit.c
    R openmp/libomptarget/test/offloading/dynamic_module.c
    R openmp/libomptarget/test/offloading/dynamic_module_load.c
    R openmp/libomptarget/test/offloading/extern.c
    R openmp/libomptarget/test/offloading/force-usm.cpp
    R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90
    R openmp/libomptarget/test/offloading/fortran/basic_array.c
    R openmp/libomptarget/test/offloading/fortran/basic_target_region.f90
    R openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90
    R openmp/libomptarget/test/offloading/fortran/declare-target-vars-in-target-region.f90
    R openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-scopes.f90
    R openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90
    R openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90
    R openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90
    R openmp/libomptarget/test/offloading/fortran/target_update.f90
    R openmp/libomptarget/test/offloading/generic_multiple_parallel_regions.c
    R openmp/libomptarget/test/offloading/global_constructor.cpp
    R openmp/libomptarget/test/offloading/host_as_target.c
    R openmp/libomptarget/test/offloading/indirect_fp_mapping.c
    R openmp/libomptarget/test/offloading/info.c
    R openmp/libomptarget/test/offloading/interop.c
    R openmp/libomptarget/test/offloading/lone_target_exit_data.c
    R openmp/libomptarget/test/offloading/looptripcnt.c
    R openmp/libomptarget/test/offloading/malloc.c
    R openmp/libomptarget/test/offloading/malloc_parallel.c
    R openmp/libomptarget/test/offloading/mandatory_but_no_devices.c
    R openmp/libomptarget/test/offloading/memory_manager.cpp
    R openmp/libomptarget/test/offloading/multiple_reductions_simple.c
    R openmp/libomptarget/test/offloading/non_contiguous_update.cpp
    R openmp/libomptarget/test/offloading/offloading_success.c
    R openmp/libomptarget/test/offloading/offloading_success.cpp
    R openmp/libomptarget/test/offloading/ompx_bare.c
    R openmp/libomptarget/test/offloading/ompx_coords.c
    R openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
    R openmp/libomptarget/test/offloading/parallel_offloading_map.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_max.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_min.cpp
    R openmp/libomptarget/test/offloading/requires.c
    R openmp/libomptarget/test/offloading/runtime_init.c
    R openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
    R openmp/libomptarget/test/offloading/small_trip_count.c
    R openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
    R openmp/libomptarget/test/offloading/spmdization.c
    R openmp/libomptarget/test/offloading/static_linking.c
    R openmp/libomptarget/test/offloading/std_complex_arithmetic.cpp
    R openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp
    R openmp/libomptarget/test/offloading/target-teams-atomic.c
    R openmp/libomptarget/test/offloading/target-tile.c
    R openmp/libomptarget/test/offloading/target_constexpr_mapping.cpp
    R openmp/libomptarget/test/offloading/target_critical_region.cpp
    R openmp/libomptarget/test/offloading/target_depend_nowait.cpp
    R openmp/libomptarget/test/offloading/target_map_for_member_data.cpp
    R openmp/libomptarget/test/offloading/target_nowait_target.cpp
    R openmp/libomptarget/test/offloading/task_in_reduction_target.c
    R openmp/libomptarget/test/offloading/taskloop_offload_nowait.cpp
    R openmp/libomptarget/test/offloading/test_libc.cpp
    R openmp/libomptarget/test/offloading/thread_limit.c
    R openmp/libomptarget/test/offloading/thread_state_1.c
    R openmp/libomptarget/test/offloading/thread_state_2.c
    R openmp/libomptarget/test/offloading/weak.c
    R openmp/libomptarget/test/offloading/workshare_chunk.c
    R openmp/libomptarget/test/offloading/wtime.c
    R openmp/libomptarget/test/ompt/callbacks.h
    R openmp/libomptarget/test/ompt/register_both.h
    R openmp/libomptarget/test/ompt/register_emi.h
    R openmp/libomptarget/test/ompt/register_emi_map.h
    R openmp/libomptarget/test/ompt/register_no_device_init.h
    R openmp/libomptarget/test/ompt/register_non_emi.h
    R openmp/libomptarget/test/ompt/register_non_emi_map.h
    R openmp/libomptarget/test/ompt/register_wrong_return.h
    R openmp/libomptarget/test/ompt/target_memcpy.c
    R openmp/libomptarget/test/ompt/target_memcpy_emi.c
    R openmp/libomptarget/test/ompt/veccopy.c
    R openmp/libomptarget/test/ompt/veccopy_data.c
    R openmp/libomptarget/test/ompt/veccopy_disallow_both.c
    R openmp/libomptarget/test/ompt/veccopy_emi.c
    R openmp/libomptarget/test/ompt/veccopy_emi_map.c
    R openmp/libomptarget/test/ompt/veccopy_map.c
    R openmp/libomptarget/test/ompt/veccopy_no_device_init.c
    R openmp/libomptarget/test/ompt/veccopy_wrong_return.c
    R openmp/libomptarget/test/unified_shared_memory/api.c
    R openmp/libomptarget/test/unified_shared_memory/associate_ptr.c
    R openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c
    R openmp/libomptarget/test/unified_shared_memory/close_manual.c
    R openmp/libomptarget/test/unified_shared_memory/close_member.c
    R openmp/libomptarget/test/unified_shared_memory/close_modifier.c
    R openmp/libomptarget/test/unified_shared_memory/shared_update.c
    R openmp/libomptarget/tools/CMakeLists.txt
    R openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
    R openmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp
    R openmp/libomptarget/tools/kernelreplay/CMakeLists.txt
    R openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    R openmp/libomptarget/unittests/CMakeLists.txt
    R openmp/libomptarget/unittests/Plugins/CMakeLists.txt
    R openmp/libomptarget/unittests/Plugins/NextgenPluginsTest.cpp
    R openmp/libomptarget/utils/generate_microtask_cases.py
    M openmp/runtime/src/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Move `/openmp/libomptarget` to `/offload` (#75125)

In a nutshell, this moves our libomptarget code to populate the offload
subproject.

With this commit, users need to enable the new LLVM/Offload subproject
as a runtime in their cmake configuration.
No further changes are expected for downstream code.

Tests and other components still depend on OpenMP and have also not been
renamed. The results below are for a build in which OpenMP and Offload
are enabled runtimes. In addition to the pure `git mv`, we needed to
adjust some CMake files. Nothing is intended to change semantics.

```
ninja check-offload
```
Works with the X86 and AMDGPU offload tests

```
ninja check-openmp
```
Still works but doesn't build offload tests anymore.

```
ls install/lib
```
Shows all expected libraries, incl.
- `libomptarget.devicertl.a`
- `libomptarget-nvptx-sm_90.bc`
- `libomptarget.rtl.amdgpu.so` -> `libomptarget.rtl.amdgpu.so.18git`
- `libomptarget.so` -> `libomptarget.so.18git`

Fixes: https://github.com/llvm/llvm-project/issues/75124

---------

Co-authored-by: Saiyedul Islam <Saiyedul.Islam at amd.com>


  Commit: 8128d4b1229203c2ab20d3136410c149ea3652cf
      https://github.com/llvm/llvm-project/commit/8128d4b1229203c2ab20d3136410c149ea3652cf
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/tools/llvm-reduce/remove-dp-values.ll
    M llvm/tools/llvm-reduce/llvm-reduce.cpp

  Log Message:
  -----------
  [RemoveDIs] Preserve debug info format in llvm-reduce (#89220)

As the goal of LLVM reduce is to simplify the input file, it should not
modify the debug info format - doing so by default would make it
impossible to reduce an error that only occurs in the old format, for
example (as briefly discussed at
https://github.com/llvm/llvm-project/pull/86275). This patch uses the
new "preserve debug info format" flag in llvm-reduce to prevent the
input from being subtly transformed by llvm-reduce itself; this has no
effect on any tools used for the interestingness check (i.e. if `opt` is
invoked, it will still convert the reduced input to the new format by
default), but simply ensures that the reduced file is strictly reduced
rather than modified.


  Commit: 7c20576cc37ab6b078782caf7575dab4ef87b37c
      https://github.com/llvm/llvm-project/commit/7c20576cc37ab6b078782caf7575dab4ef87b37c
  Author: Iman Hosseini <hosseini.iman at yahoo.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf

  Log Message:
  -----------
  [flang][cuda] fix parsing of cuda_kernel (#89613)

Fix parsing of cuda_kernel: it missed a mlir::succeeded check and it was
not setting up the `types` and causing mismatch between values and types
of the grid/block (CUFKernelValues). @clementval

---------

Co-authored-by: Iman Hosseini <imanh at nvidia.com>
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>


  Commit: 73ed2153beb529973741344874c0084d24c2f268
      https://github.com/llvm/llvm-project/commit/73ed2153beb529973741344874c0084d24c2f268
  Author: ZijunZhaoCCK <zijunzhao at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/FixIt/format-darwin-enum-class.cpp
    M clang/test/FixIt/format.cpp
    M clang/test/SemaCXX/format-strings.cpp

  Log Message:
  -----------
  Carving out -Wformat warning about scoped enums into a subwarning (#88595)

Make it part of -Wformat-pedantic.

Fixes #81647


  Commit: 772863e3120fc770ae1ab458022284be04810097
      https://github.com/llvm/llvm-project/commit/772863e3120fc770ae1ab458022284be04810097
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp

  Log Message:
  -----------
  [SystemZ][NFC] Use new getPointerSize function (#89623)

Use the new getPointerSize() function throughout the frame lowering class.


  Commit: 180cf4daec290e68aa4dd6dc14697add3e18bcec
      https://github.com/llvm/llvm-project/commit/180cf4daec290e68aa4dd6dc14697add3e18bcec
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp

  Log Message:
  -----------
  [clangd] Fix unittests in TargetDeclTest bucket (#89630)

This PR fixes the build errors for one of the `clangd` unit tests bucket
similar to the following:

```
.../clang-tools-extra/clangd/unittests/FindTargetTests.cpp:430:29: error: passing no argument for the '...' parameter of a variadic macro is a C++20 extension [-Werror,-Wc++20-extensions]
  430 |   EXPECT_DECLS("AutoTypeLoc");
      |                             ^
.../clang-tools-extra/clangd/unittests/FindTargetTests.cpp:98:9: note: macro 'EXPECT_DECLS' defined here
   98 | #define EXPECT_DECLS(NodeType, ...)                                            \
      |         ^
```

This happens when using a build compiler with #84520. The fix is to
include commas to compensate for empty vararg macro arguments in a few
instances.


  Commit: 9aa663bb9ef3dbab8ccc324ef3df5138aa458fbd
      https://github.com/llvm/llvm-project/commit/9aa663bb9ef3dbab8ccc324ef3df5138aa458fbd
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [Clang] Fix __is_trivially_equaltiy_comparable documentation (#88528)

Currently `__is_trivially_equality_comparable` is documented to return
true if comparing the value representation is equivalent to calling the
comparison operator, which is not quite what the trait actually checks.
The traits actually checks that comparing the object representation is
equivalent, which means that there cannot be padding bytes in the type.


  Commit: a6c028299cbce9885dd3c3e989b2cb3273ba6e05
      https://github.com/llvm/llvm-project/commit/a6c028299cbce9885dd3c3e989b2cb3273ba6e05
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td

  Log Message:
  -----------
  [RISCV] Add extension information to RISCVFeatures.td. NFC (#89326)

This adds a new RISCVExtension class that inherits from
SubtargetFeature. This contains the major/minor version and whether the
extension is experimental. The plan is to use this to generate the
tables for RISCVISAInfo.cpp.

The version numbers might not be accurate yet. If there are errors they
will be fixed before they are used for anything. It will be easier to
verify once the new tablegen backend is written to generate the
RISCVISAInfo.cpp table.


  Commit: c1b6cca1214e7a9c14a30b81585dd8b81baeaa77
      https://github.com/llvm/llvm-project/commit/c1b6cca1214e7a9c14a30b81585dd8b81baeaa77
  Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/statement-expression.c

  Log Message:
  -----------
  [clang][CoverageMapping] do not emit a gap region when either end doesn't have valid source locations (#89564)

Fixes #86998


  Commit: 92631a4824a91f3268a5716dd3459df8dc6bfb63
      https://github.com/llvm/llvm-project/commit/92631a4824a91f3268a5716dd3459df8dc6bfb63
  Author: Miro Bucko <mbucko at hotmail.co.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb][MinidumpFileBuilder] Fix addition of MemoryList steam (#88564)

Summary:
AddMemoryList() was returning the last error status returned by
ReadMemory(). So if an invalid memory region was read last, the function
would return an error.

Test Plan:
./bin/llvm-lit -sv
~/src/llvm-project/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

Reviewers:
kevinfrei,clayborg 

Subscribers:

Tasks:

Tags:


  Commit: f352ce368af39e57d337495d7ca3a21975ede8e6
      https://github.com/llvm/llvm-project/commit/f352ce368af39e57d337495d7ca3a21975ede8e6
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/MC/SPIRVObjectWriter.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/SPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
    M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll

  Log Message:
  -----------
  [SPIR-V] Emit SPIR-V generator magic number and version (#87951)

This patch:
- Adds SPIR-V backend's registered generator magic number to the emitted
binary. The magic number consists of the generator ID (43) and LLVM
major version.
- Adds SPIR-V version to the binary.
- Allows reading the expected (maximum supported) SPIR-V version from
the target triple.
- Uses VersionTuple for representing versions throughout the backend's
codebase.
- Registers v1.6 for spirv32 and spirv64 triple.

See more: https://github.com/KhronosGroup/SPIRV-Headers/commit/7d500c


  Commit: 9c9dea943706340f8a45dc74887bf9beddd67810
      https://github.com/llvm/llvm-project/commit/9c9dea943706340f8a45dc74887bf9beddd67810
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Concatenate begin and end clauses into single list (#89090)

This will remove the distinction between begin clauses and end clauses,
and process all of them together.


  Commit: f94ed6f7977305db8fa6b48a85c9db2b8cc4d3b3
      https://github.com/llvm/llvm-project/commit/f94ed6f7977305db8fa6b48a85c9db2b8cc4d3b3
  Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/GlobList.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp

  Log Message:
  -----------
  [clang-tidy] Improved --verify-config when using literal style in config file (#85591)

Specifying checks using the literal style (|) in the clang-tidy config
file is currently supported but was not implemented for the
--verify-config options. This means that clang-tidy would work properly
but, using the --verify-config option would raise an error due to some
checks not being parsed properly.

Fixes #53737


  Commit: 758d97dce0c669a0ba6927728b40030a76acb144
      https://github.com/llvm/llvm-project/commit/758d97dce0c669a0ba6927728b40030a76acb144
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
    M llvm/test/CodeGen/Mips/atomic-min-max.ll

  Log Message:
  -----------
  [MIPS]: Rework atomic max/min expand for subword (#89575)

The current code is so buggy: it can work for few cases. The problems
include:
1. ll/sc works on a whole word, while other parts other than we rmw are
dropped.
  2. The oprands are not well zero-extended for unsigned ops.
3. It doesn't work for big-endian, as the postion of subword differs
with little endian.

And in fact, we can set the return value correct in ll/sc scope, so we
can skip the sinkMBB.


  Commit: 2834e8ad1cfe32b69a8b5a1dd2477725683a61c4
      https://github.com/llvm/llvm-project/commit/2834e8ad1cfe32b69a8b5a1dd2477725683a61c4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    R lldb/third_party/Python/module/pexpect-4.6/.gitignore
    R lldb/third_party/Python/module/pexpect-4.6/.travis.yml
    R lldb/third_party/Python/module/pexpect-4.6/DEVELOPERS.rst
    R lldb/third_party/Python/module/pexpect-4.6/LICENSE
    R lldb/third_party/Python/module/pexpect-4.6/MANIFEST.in
    R lldb/third_party/Python/module/pexpect-4.6/README.rst
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/ANSI.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/__init__.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/_async.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/bashrc.sh
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/exceptions.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/fdpexpect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/popen_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pxssh.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/replwrap.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/run.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/screen.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/spawnbase.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/utils.py
    R lldb/third_party/Python/module/pexpect-4.6/requirements-testing.txt
    R lldb/third_party/Python/module/pexpect-4.6/setup.cfg
    R lldb/third_party/Python/module/pexpect-4.6/setup.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.gitignore
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.travis.yml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/LICENSE
    R lldb/third_party/Python/module/ptyprocess-0.6.0/README.rst
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/__init__.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/_fork_pty.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/util.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/pyproject.toml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/readthedocs.yml

  Log Message:
  -----------
  [lldb][NFC] Remove unused pexpect/ptyprocess (#89609)


  Commit: 9a3595167d3ee875e3180800cec5f5c3fd170e63
      https://github.com/llvm/llvm-project/commit/9a3595167d3ee875e3180800cec5f5c3fd170e63
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Add freeze when expanding mul by constant to two or more uses (#89290)

topperc pointed this out in review of
https://github.com/llvm/llvm-project/pull/88791, but I believe the
problem applies
here as well. Worth noting is that the code I introduced with this bug
was mostly copied from other targets - which
also have this bug.


  Commit: ca1f1c957232b05d6529916bcd769ae1c57ff935
      https://github.com/llvm/llvm-project/commit/ca1f1c957232b05d6529916bcd769ae1c57ff935
  Author: js324 <jins918 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/AST/bitint-suffix.cpp
    M clang/test/Lexer/bitint-constants-compat.c
    A clang/test/Lexer/bitint-constants.cpp

  Log Message:
  -----------
  [BitInt] Expose a _BitInt literal suffix in C++ (#86586)

This exposes _BitInt literal suffixes __wb and u__wb as an extension
in C++. There is a new Extension warning, and the tests are
essentially the same as the existing _BitInt literal tests for C but
with a few additional cases.

Fixes #85223


  Commit: 43c26bbc425dbd8caee311a0d5e4d90c8e71d0d8
      https://github.com/llvm/llvm-project/commit/43c26bbc425dbd8caee311a0d5e4d90c8e71d0d8
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/src/stdlib/bsearch.h

  Log Message:
  -----------
  [libc] don't over include stdlib in the hdr declaring bsearch (#89471)

When building overlay mode with GCC in release mode, glibc's stdlib.h
contains
an extern inline declaration of bsearch. This breaks our use of the
gnu::alias
function attribute in LLVM_LIBC_FUNCTION with GCC because GCC checks
that the
aliasee is defined in the same TU (clang does not).

We're looking at also potentially updating our definition of
LLVM_LIBC_FUNCTION
from libc/src/__support/common.h. Upon testing, I was able to get
-Wnonnull-compare diagnostics from GCC in our definition of bsearch
because
glibc declares bsearch with the fugly nonnull function attribute.

There's more we can do here though to improve our implementation of
bsearch.
7.24.5.1 says:

    Pointer arguments on such a call shall still have valid values, as
    described in 7.1.4.

We could also use either function attributes or parameter attributes to
denote
these should not be null (for users/callers) and perhaps still check for
non-null explicitly under some yet to be discussed hardening
configurations in
the future.

Link: #60481
Link:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-nonnull-function-attribute


  Commit: a54102a093190f3a29add5d9327e62f13fce896a
      https://github.com/llvm/llvm-project/commit/a54102a093190f3a29add5d9327e62f13fce896a
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Support/MathExtras.h
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [llvm] Add support for zero-width integers in MathExtras.h (#87193)

MLIR uses zero-width integers, but also re-uses integer logic from LLVM
to avoid duplication. This creates issues when LLVM logic is used in
MLIR on integers which can be zero-width. In order to avoid
special-casing the bitwidth-related logic in MLIR, this PR adds support
for zero-width integers in LLVM's MathExtras (and consequently APInt).

While most of the logic in theory works the same way out of the box,
because bitshifting right by the entire bitwidth in C++ is undefined
behavior instead of being zero, some special cases had to be added.
Fortunately, it seems like the performance penalty is small. In x86,
this usually yields the addition of a predicated conditional move. I
checked that no branch is inserted in Arm too.

This happens to fix a crash in `arith.extsi` canonicalization in MLIR. I
think a follow-up PR to add tests for i0 in arith would be beneficial.


  Commit: 0336116ed463c2ad125793a5aa4d7290a2155709
      https://github.com/llvm/llvm-project/commit/0336116ed463c2ad125793a5aa4d7290a2155709
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/docs/dev/code_style.rst

  Log Message:
  -----------
  [libc][docs] codify Policy on Assembler Sources (#88185)

It would be helpful in future code reviews to document a policy with
regards to
where and when Assembler sources are appropriate. That way when
reviewers point
out infractions, they can point to this written policy, which may help
contributors understand that it's not solely the personal preferences of
individual reviewers but instead rather a previously agreed upon rule by
maintainers.

Link: https://github.com/llvm/llvm-project/pull/87837
Link: https://github.com/llvm/llvm-project/pull/88157
Link:
https://discourse.llvm.org/t/hand-written-in-assembly-in-libc-setjmp-longjmp/73249/12


  Commit: dd7963239e94bcd46e56ae90b08d2d0c9904ff00
      https://github.com/llvm/llvm-project/commit/dd7963239e94bcd46e56ae90b08d2d0c9904ff00
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/pthread_rwlockattr_t.h
    M libc/spec/posix.td
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_rwlockattr_destroy.cpp
    A libc/src/pthread/pthread_rwlockattr_destroy.h
    A libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_getpshared.h
    A libc/src/pthread/pthread_rwlockattr_init.cpp
    A libc/src/pthread/pthread_rwlockattr_init.h
    A libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/test/src/pthread/CMakeLists.txt
    A libc/test/src/pthread/pthread_rwlockattr_test.cpp

  Log Message:
  -----------
  [libc][POSIX][pthreads] implement pthread_rwlockattr_t functions (#89322)

Implement:
- pthread_rwlockattr_destroy
- pthread_rwlockattr_getpshared
- pthread_rwlockattr_init
- pthread_rwlockattr_setpshared


  Commit: 6b1b4c1c54d4276409c336eaf6d47b3bc04035c3
      https://github.com/llvm/llvm-project/commit/6b1b4c1c54d4276409c336eaf6d47b3bc04035c3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/integrated-as.c

  Log Message:
  -----------
  [RISCV][clang] Don't enable -mrelax-all for -O0 on RISC-V (#88538)

-O0 implies -mrelax-all as an assembler compile time optimization.
-mrelax-all allows the assembler to complete layout in 2 passes instead
of doing iterative branch relaxation.

Jump offsets larger than +/-1MiB require an indirect jump on RISC-V.
This can't be done by the assembler, so we use a branch relaxation MIR
pass and use register scavenging to find a free register.

The conditional branch offsets for RISC-V are also somewhat small so we
support MC layer branch relaxation to make life easier for assembly
programmers. This may also cover up bugs in our function size estimation
in MachineIR.

Enabling -mrelax-all causes the MC layer relaxation to agressively relax
branches. This increases code size and can create cases where we need an
indirect jump, but we can't create one. This leads to linker failures.

The easiest way to avoid this is to not default to -mrelax-all for -O0
and sacrifice the compile time optimization. That's what this patch
does.

Fixes #87127


  Commit: a6f1b3a4c79209b01733bc1857c87b2abe0b4ecf
      https://github.com/llvm/llvm-project/commit/a6f1b3a4c79209b01733bc1857c87b2abe0b4ecf
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M offload/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Fix per-target install directory (#89645)

Summary:
The move from `openmp` to `offload` did not preserve the per-target
runtime directory installation. This is important because this
per-target directory is always included first and is likely the de-facto
way to handle these going forward. Without this installation, old
installations of the library will be linked against first.


  Commit: 89c95effe82c09b9a42408f4823409331f8fa266
      https://github.com/llvm/llvm-project/commit/89c95effe82c09b9a42408f4823409331f8fa266
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-readelf.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.h

  Log Message:
  -----------
  [llvm-readobj] Remove --raw-relr

https://reviews.llvm.org/D47919 dumped RELR relocations as
`R_*_RELATIVE` and added --raw-relr (not in GNU) for testing purposes
(more readable than `llvm-readelf -x .relr.dyn`). The option is obsolete
after `llvm-readelf -r` output gets improved (#89162).

Since --raw-relr never seems to get more adoption. Let's remove it to
avoid some complexity.

Pull Request: https://github.com/llvm/llvm-project/pull/89426


  Commit: 40137ff0d81be80e4900c17c57b1f66c53ddf2f9
      https://github.com/llvm/llvm-project/commit/40137ff0d81be80e4900c17c57b1f66c53ddf2f9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/OpenMPComposeTest.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Refactor getLeafConstructs, add getCompoundConstruct (#87247)

Emit a special leaf construct table in DirectiveEmitter.cpp, which will
allow both decomposition of a construct into leafs, and composition of
constituent constructs into a single compound construct (if possible).
The function `getLeafConstructs` is no longer auto-generated, but
implemented in OMP.cpp.

The table contains a row for each directive, and each row has the
following format
`dir_id, num_leafs, leaf1, leaf2, ..., leafN, -1, ...`
The rows are sorted lexicographically with respect to the leaf
constructs. This allows a binary search for the row corresponding to the
given list of leafs.

There is an auxiliary table that for each directive contains the index
of the row corresponding to that directive.

Looking up leaf constructs for a directive `dir_id` is of constant time,
and and consists of two lookups: `LeafTable[Auxiliary[dir_id]]`.
Finding a compound directive given the set of leafs is of time O(logn),
and is roughly represented by
`row = binary_search(LeafTable); return row[0]`.

The functions `getLeafConstructs` and `getCompoundConstruct` use these
lookup methods internally.


  Commit: 99f42e6b88177328ebe725b5cb6d422106bbb3e6
      https://github.com/llvm/llvm-project/commit/99f42e6b88177328ebe725b5cb6d422106bbb3e6
  Author: Xu Jun <693788454 at qq.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb][dap] always add column field in StackFrame body (#73393)

The `column` field is mandatory in StackTraceResponse, otherwise the
debugger client may raise error (e.g. VSCode can't correctly open an
editor without the column field)

---------

Signed-off-by: Xu Jun <693788454 at qq.com>


  Commit: bcd150d2906ac83ea0ab680e981770a71c021a03
      https://github.com/llvm/llvm-project/commit/bcd150d2906ac83ea0ab680e981770a71c021a03
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 40137ff0d81b


  Commit: 7c5854673391940d578c591c727614bf50b78301
      https://github.com/llvm/llvm-project/commit/7c5854673391940d578c591c727614bf50b78301
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [nfc][llvm] Fix a typo in MathExtras.h testing (#89653)

I made a small typo when writing a test for MathExtras.h, sorry!


  Commit: 83bc7b57714dc2f6b33c188f2b95a0025468ba51
      https://github.com/llvm/llvm-project/commit/83bc7b57714dc2f6b33c188f2b95a0025468ba51
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libcxx/.clang-format
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/all_of.h
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    M libcxx/include/__algorithm/fold.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_partitioned.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/minmax_element.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/pstl_any_all_none_of.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/ranges_adjacent_find.h
    M libcxx/include/__algorithm/ranges_all_of.h
    M libcxx/include/__algorithm/ranges_any_of.h
    M libcxx/include/__algorithm/ranges_binary_search.h
    M libcxx/include/__algorithm/ranges_clamp.h
    M libcxx/include/__algorithm/ranges_contains.h
    M libcxx/include/__algorithm/ranges_contains_subrange.h
    M libcxx/include/__algorithm/ranges_count.h
    M libcxx/include/__algorithm/ranges_count_if.h
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_equal.h
    M libcxx/include/__algorithm/ranges_equal_range.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__algorithm/ranges_find_end.h
    M libcxx/include/__algorithm/ranges_find_first_of.h
    M libcxx/include/__algorithm/ranges_find_if.h
    M libcxx/include/__algorithm/ranges_find_if_not.h
    M libcxx/include/__algorithm/ranges_includes.h
    M libcxx/include/__algorithm/ranges_is_heap.h
    M libcxx/include/__algorithm/ranges_is_heap_until.h
    M libcxx/include/__algorithm/ranges_is_partitioned.h
    M libcxx/include/__algorithm/ranges_is_permutation.h
    M libcxx/include/__algorithm/ranges_is_sorted.h
    M libcxx/include/__algorithm/ranges_is_sorted_until.h
    M libcxx/include/__algorithm/ranges_lexicographical_compare.h
    M libcxx/include/__algorithm/ranges_lower_bound.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_min.h
    M libcxx/include/__algorithm/ranges_min_element.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/ranges_minmax_element.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/ranges_none_of.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_if.h
    M libcxx/include/__algorithm/ranges_search.h
    M libcxx/include/__algorithm/ranges_search_n.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/ranges_unique.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/unique.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/bit_ceil.h
    M libcxx/include/__bit/bit_floor.h
    M libcxx/include/__bit/bit_width.h
    M libcxx/include/__bit/byteswap.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/has_single_bit.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__config
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__iterator/empty.h
    M libcxx/include/__math/abs.h
    M libcxx/include/__math/copysign.h
    M libcxx/include/__math/min_max.h
    M libcxx/include/__math/roots.h
    M libcxx/include/__math/rounding_functions.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__node_handle
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__utility/as_const.h
    M libcxx/include/__utility/forward.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/cstddef
    M libcxx/include/deque
    M libcxx/include/forward_list
    M libcxx/include/future
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/module.modulemap
    M libcxx/include/new
    M libcxx/include/queue
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/stack
    M libcxx/include/stdlib.h
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/vector
    M libcxx/src/tzdb.cpp
    A libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory_resource.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/scoped_allocator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp
    R libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp
    R libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp
    R libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)

This also adds a few tests that were missing.


  Commit: 8482dbdcd208ebccafd848d35550aa8a484e445e
      https://github.com/llvm/llvm-project/commit/8482dbdcd208ebccafd848d35550aa8a484e445e
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/lib/builtins/fp_add_impl.inc
    M compiler-rt/lib/builtins/fp_fixint_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h

  Log Message:
  -----------
  compiler-rt: fix few builtins build warnings. (#88991)


  Commit: a3e7a125e11872b97a84bf7766ce05ccc100e896
      https://github.com/llvm/llvm-project/commit/a3e7a125e11872b97a84bf7766ce05ccc100e896
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp

  Log Message:
  -----------
  Reapply "[compiler-rt][ctx_instr] Add `ctx_profile` component" (#89625)

This reverts commit 8b2ba6a144e728ee4116e2804e9b5aed8824e726.

The uild errors (see below) were likely due to the same issue PR #88074 fixed. Addressed by following that PR.

https://lab.llvm.org/buildbot/#/builders/165/builds/52789
https://lab.llvm.org/buildbot/#/builders/91/builds/25273


  Commit: b8ff08d0e668e5397dd799b76ede0bd54fcba75c
      https://github.com/llvm/llvm-project/commit/b8ff08d0e668e5397dd799b76ede0bd54fcba75c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMP.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add missing "return" statement after 40137ff0d81be

When responding to review comments, `return {}` was accidentally replaced
by `std::nullptr` instead of `return std::nullptr`.


  Commit: 5a7c80ca58c628fab80aa4f95bb6d18598c70c80
      https://github.com/llvm/llvm-project/commit/5a7c80ca58c628fab80aa4f95bb6d18598c70c80
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)

This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.

If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.

The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.

On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
doesn't really make sense to me, and the test changes appear positive.


  Commit: e95e94adc6bb748de015ac3053e7f0786b65f351
      https://github.com/llvm/llvm-project/commit/e95e94adc6bb748de015ac3053e7f0786b65f351
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.h
    M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.h
    A mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    A mlir/test/lib/Dialect/Test/TestOps.cpp
    A mlir/test/lib/Dialect/Test/TestOps.h
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
    M mlir/test/lib/IR/TestClone.cpp
    M mlir/test/lib/IR/TestSideEffects.cpp
    M mlir/test/lib/IR/TestSymbolUses.cpp
    M mlir/test/lib/IR/TestTypes.cpp
    M mlir/test/lib/IR/TestVisitorsGeneric.cpp
    M mlir/test/lib/Pass/TestPassManager.cpp
    M mlir/test/lib/Transforms/TestInlining.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
    M mlir/unittests/IR/AdaptorTest.cpp
    M mlir/unittests/IR/IRMapping.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/unittests/IR/InterfaceTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp
    M mlir/unittests/IR/PatternMatchTest.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp

  Log Message:
  -----------
  [mlir][test] Reorganize the test dialect (#89424)

This PR massively reorganizes the Test dialect's source files. It moves
manually-written op hooks into `TestOpDefs.cpp`, moves format custom
directive parsers and printers into `TestFormatUtils`, adds missing
comment blocks, and moves around where generated source files are
included for types, attributes, enums, etc. into their own source file.

This will hopefully help navigate the test dialect source code, but also
speeds up compile time of the test dialect by putting generated source
files into separate compilation units.

This also sets up the test dialect to shard its op definitions, done in
the next PR.


  Commit: 14e6f63ee64711bbd74a0fda745f62f62556d70d
      https://github.com/llvm/llvm-project/commit/14e6f63ee64711bbd74a0fda745f62f62556d70d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/DirectiveEmitter.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add suggested brackets in array initialization

Fixes -Werror build after 40137ff0d8.


  Commit: e8572d0fc9940512ead2e81ec731208cb0d9ee50
      https://github.com/llvm/llvm-project/commit/e8572d0fc9940512ead2e81ec731208cb0d9ee50
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp

  Log Message:
  -----------
  [flang] Don't emit conversion error for max(a,b, optionalCharacter) (#88156)

A recent patch added an error message for whole optional dummy argument
usage as optional arguments (third or later) to MAX and MIN when those
names required type conversion, since that conversion only works when
the optional arguments are present. This check shouldn't care about
character lengths. Make it so.


  Commit: cb1b846eda2b18955cad28742350e4a73f166c07
      https://github.com/llvm/llvm-project/commit/cb1b846eda2b18955cad28742350e4a73f166c07
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/select-rank.f90

  Log Message:
  -----------
  [flang] Improve error reporting for procedures determined by usage (#88184)

When a symbol is known to be a procedure due to its being referenced as
a function or subroutine, improve the error messages that appear if the
symbol is also used as an object by attaching the source location of its
procedural use. Also, for errors spotted in name resolution due to how a
given symbol has been used, don't unconditionally set the symbol's error
flag (which is otherwise generally a good idea, to prevent cascades of
errors), so that more unrelated errors related to usage will appear.


  Commit: 31505c4f6b977c2ccc785de29a047a31563e5c90
      https://github.com/llvm/llvm-project/commit/31505c4f6b977c2ccc785de29a047a31563e5c90
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/int-power.h

  Log Message:
  -----------
  [flang] Fix spurious overflow warning folding exponentiation by integ… (#88188)

…er powers

The code that folds exponentiation by an integer power can report a
spurious overflow warning because it calculates one last unnecessary
square of the base value. 10.**(+/-32) exposes the problem -- the value
of 10.**64 is calculated but not needed. Rearrange the implementation to
only calculate squares that are necessary.

Fixes https://github.com/llvm/llvm-project/issues/88151.


  Commit: 2987fca041caddead6655a34009b6a6517d0c7df
      https://github.com/llvm/llvm-project/commit/2987fca041caddead6655a34009b6a6517d0c7df
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb][Core] Fix pointless if conditon (#89650)

Addresses #85984

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: ce1b6783d26df46f0a70f72301283138adea80df
      https://github.com/llvm/llvm-project/commit/ce1b6783d26df46f0a70f72301283138adea80df
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  [AMDGPU] simplify VOP3_Real definitions. NFC. (#89656)


  Commit: 6884c1fc449890455751901b84e4eb6a3b558aea
      https://github.com/llvm/llvm-project/commit/6884c1fc449890455751901b84e4eb6a3b558aea
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/test/gwp_asan/CMakeLists.txt

  Log Message:
  -----------
  [test][GWP-ASan] Only add check-gwp_asan when its dependencies are built (#89164)

Currently, `check-gwp_asan` is added no matter its dependencies are
built or not, this is wrong and will cause cmake error when scudo is not
built. This patch includes the target in the dependencies check.


  Commit: 138524ef8ea9d63e47d78f5e344c263e769a293e
      https://github.com/llvm/llvm-project/commit/138524ef8ea9d63e47d78f5e344c263e769a293e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h

  Log Message:
  -----------
  [flang] Fix crash on erroneous program (#88192)

Constant folding had a CHECK on array subscript rank that should more
gracefully handle a bad program with a subscript that is a matrix or
higher rank.

Fixes https://github.com/llvm/llvm-project/issues/88112.


  Commit: 59bf49a63261344998756a31ce03af552e4dae61
      https://github.com/llvm/llvm-project/commit/59bf49a63261344998756a31ce03af552e4dae61
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func02.f90

  Log Message:
  -----------
  [flang] Fix bogus error on statement function (#89402)

When a statement function in a nested scope has a name that clashes with
a name that exists in the host scope, the compiler can handle it
correctly (with a portability warning)... unless the host scope acquired
the name via USE association. Fix.

Fixes https://github.com/llvm/llvm-project/issues/88678.


  Commit: d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
      https://github.com/llvm/llvm-project/commit/d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    R libc/test/UnitTest/FuchsiaTest.h
    A libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    R libc/test/UnitTest/PigweedTest.h
    M libc/test/UnitTest/Test.h
    A libc/test/UnitTest/ZxTest.h

  Log Message:
  -----------
  [libc] Clean up alternate test framework support (#89659)

This replaces the old macros LIBC_COPT_TEST_USE_FUCHSIA and
LIBC_COPT_TEST_USE_PIGWEED with LIBC_COPT_TEST_ZXTEST and
LIBC_COPT_TEST_GTEST, respectively.  These are really not about
whether the code is in the Fuchsia build or in the Pigweed build,
but just about what test framework is being used.  The gtest
framework can be used in many contexts, and the zxtest framework
is not always what's used in the Fuchsia build.

The test/UnitTest/Test.h wrapper header now provides the macro
LIBC_TEST_HAS_MATCHERS() for use in `#if` conditionals on use of
gmock-style matchers, replacing `#if` conditionals that test the
framework selection macros directly.


  Commit: cb2639196842630c0a1d5f91e26261f1c42b49fb
      https://github.com/llvm/llvm-project/commit/cb2639196842630c0a1d5f91e26261f1c42b49fb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/test/Semantics/resolve102.f90

  Log Message:
  -----------
  [flang] Make proc characterization error conditional for generics (#89429)

When the characteristics of a procedure depend on a procedure that
hasn't yet been defined, the compiler currently emits an unconditional
error message. This includes the case of a procedure whose
characteristics depend, perhaps indirectly, on itself. However, in the
case where the characteristics of a procedure are needed to resolve a
generic, we should not emit an error for a hitherto undefined procedure
-- either the call will resolve to another specific procedure, in which
case the error is spurious, or it won't, and then an error will issue
anyway.

Fixes https://github.com/llvm/llvm-project/issues/88677.


  Commit: 2f7775775c486c1afc725719fd55a318b589d7c6
      https://github.com/llvm/llvm-project/commit/2f7775775c486c1afc725719fd55a318b589d7c6
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [docs] Rewrite cmake LLVM_RAM_PER_*_JOB description (#88570)

Rewrite  `LLVM_PARALLEL_{}_JOBS` and `LLVM_RAM_PER_{}_JOB` documentation.


  Commit: fde5e471df3e946482422c10fa422b09a854c7cb
      https://github.com/llvm/llvm-project/commit/fde5e471df3e946482422c10fa422b09a854c7cb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/module/__fortran_builtins.f90

  Log Message:
  -----------
  [flang] C_LOC is PURE (#89437)

The standard defines C_LOC as being PURE (actually SIMPLE now in
F'2023); characterize it appropriately.

Fixes https://github.com/llvm/llvm-project/issues/88747.


  Commit: 1444e5acfb75630c23b118c39454a05cf3792d35
      https://github.com/llvm/llvm-project/commit/1444e5acfb75630c23b118c39454a05cf3792d35
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/real.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/type.h
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Evaluate/complex.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/integer.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/test/Evaluate/fold-out_of_range.f90
    A flang/test/Evaluate/rewrite-out_of_range.F90

  Log Message:
  -----------
  [flang] Complete implementation of OUT_OF_RANGE() (#89334)

The intrinsic function OUT_OF_RANGE() lacks support in lowering and the
runtime. This patch obviates a need for any such support by implementing
OUT_OF_RANGE() via rewriting in semantics. This rewriting of
OUT_OF_RANGE() calls replaces the existing code that folds
OUT_OF_RANGE() calls with constant arguments.

Some changes and fixes were necessary outside of OUT_OF_RANGE()'s
folding code (now rewriting code), whose testing exposed some other
issues worth fixing.

- The common::RealDetails<> template class was recoded in terms of a new
base class with a constexpr constructor, so that the the characteristics
of the various REAL kinds could be queried dynamically as well. This
affected some client usage.
- There were bugs in the code that folds TRANSFER() when the type of X
or MOLD was REAL(10) -- this is a type that occupies 16 bytes per
element in execution memory but only 10 bytes (was 12) in the data of
std::vector<Scalar<>> in a Constant<>.
- Folds of REAL->REAL conversions weren't preserving infinities.


  Commit: 579efe011b0c8909d88ac9fd068a30a5f32dd1b2
      https://github.com/llvm/llvm-project/commit/579efe011b0c8909d88ac9fd068a30a5f32dd1b2
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Temporarily remove `clang_rt.ctx_profile` target

Trying to address the build failure on the `clang-ve-ninja`bot, which
appears hard to repro locally. The target isn't needed currently (there
are unit tests exercising the new functionality). Removing it for now
to green-ify the build bot.


  Commit: 5fef5e68dcb015a73220173d08ab0987b6cf1582
      https://github.com/llvm/llvm-project/commit/5fef5e68dcb015a73220173d08ab0987b6cf1582
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp

  Log Message:
  -----------
  [GlobalISel] matchSDivByConst should use isNullValue() (#89666)

It has been using isZeroValue(), which is for floats, not integers.


  Commit: 6094b3b7db7eab8318b9d30dec2691d231c7bdff
      https://github.com/llvm/llvm-project/commit/6094b3b7db7eab8318b9d30dec2691d231c7bdff
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  [ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl.

Updates ExecutionSession to use the ExecutorProcessControl object's
TaskDispatcher rather than having a separate dispatch function. This gives the
TaskDispatcher a global view of all tasks to be executed, and provides a
single point to wait on for tasks to complete when shutting down the JIT.


  Commit: 2e2ac6f29c80b715c8b0495b7037f5d2427289ef
      https://github.com/llvm/llvm-project/commit/2e2ac6f29c80b715c8b0495b7037f5d2427289ef
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-logical.cpp

  Log Message:
  -----------
  [flang] Fix build warning (#89686)

A recent patch had three declared but unused variables in it, triggering
a warning in some build bots. Remove them.


  Commit: a28557aadd89d80733c608e5bfa6e672aca423eb
      https://github.com/llvm/llvm-project/commit/a28557aadd89d80733c608e5bfa6e672aca423eb
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl."

This reverts commit 6094b3b7db7eab8318b9d30dec2691d231c7bdff.

Multiple bots are broken.


  Commit: 365bddf634993d5ea357e9715d8aacd7ee40c4b5
      https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll

  Log Message:
  -----------
  [hwasan] Add intrinsics for fixed shadow on Aarch64 (#89319)

This patch introduces HWASan memaccess intrinsics that assume a fixed
shadow (with the offset provided by --hwasan-mapping-offset=...), with
and without short granule support.

The behavior of HWASan is not meaningfully changed by this patch;
future work ("Optimize outlined memaccess for
fixed shadow on Aarch64": https://github.com/llvm/llvm-project/pull/88544) will make HWASan use these intrinsics.

We currently only support lowering the LLVM IR intrinsic to AArch64.

The test case is adapted from hwasan-check-memaccess.ll.


  Commit: 8f54ed2173cb6a55d8be3a24764db61692a329dc
      https://github.com/llvm/llvm-project/commit/8f54ed2173cb6a55d8be3a24764db61692a329dc
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td

  Log Message:
  -----------
  Update CHECK lines in tests after 14e6f63 added new output causing the tests to fail on multiple bots. (#89689)

Update the check lines added in #87247 after 14e6f63 updated the output
causing the tests to fail.

This should hopefully unbreak the bots failing due to these two tests
failing.


  Commit: 28cea99845601cad840ccda23a8415f83e5a2b8c
      https://github.com/llvm/llvm-project/commit/28cea99845601cad840ccda23a8415f83e5a2b8c
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [Bazel][libc] Fix build failure


  Commit: 30d4f6afc9d594fff309121116d8373b66fb1a24
      https://github.com/llvm/llvm-project/commit/30d4f6afc9d594fff309121116d8373b66fb1a24
  Author: Lubomir Litchev <9732688+LLITCHEV at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  Make createReadOrMaskedRead and isValidMaskedInputVector vector utilities (#89119)

Made the createReadOrMaskedRead and isValidMaskedInputVector utility
functions - to be accessible outside of the CU. Needed by the IREE new
TopK implementation.


  Commit: dc3f94384d79941a712b15ac5c53bf86daa860c8
      https://github.com/llvm/llvm-project/commit/dc3f94384d79941a712b15ac5c53bf86daa860c8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  Revert "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"

This reverts commit 5a7c80ca58c628fab80aa4f95bb6d18598c70c80.  Noticed failures
with the following command:
$ llc -mtriple=riscv64 -mattr=+m,+xtheadba -verify-machineinstrs < test/CodeGen/RISCV/rv64zba.ll

I think I know the cause and will likely reland with a fix tomorrow.


  Commit: 1effa19de2493b835f3b74dd92e77c8b199069a5
      https://github.com/llvm/llvm-project/commit/1effa19de2493b835f3b74dd92e77c8b199069a5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Re-apply "[ORC] Unify task dispatch across ExecutionSession and..." with fix.

This re-applies 6094b3b7db7, which was reverted in a28557aadd8 due to broken
bots. As far as I can tell all failures were due to a missing #include <deque>,
which has been adedd in this commit.


  Commit: 16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
      https://github.com/llvm/llvm-project/commit/16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
  Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
    R clang/test/Driver/aix-small-local-exec-tls.c

  Log Message:
  -----------
  [AIX][TLS][clang]  Add -maix-small-local-dynamic-tls clang option (#88829)

This patch adds the clang portion of an AIX-specific option to inform
the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls).

This patch mainly references Amy's work on small local-exec TLS support.


  Commit: aa89c1bd78a0c49801193bec5e7f5c023448bd19
      https://github.com/llvm/llvm-project/commit/aa89c1bd78a0c49801193bec5e7f5c023448bd19
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py

  Log Message:
  -----------
  [lldb][DAP] Fix test failure from #73393 (#89692)

#73393 introduced a mandatory column field. Update test for that.


  Commit: e7efd37c2296f329fb0fd687dd0cfb846d47480f
      https://github.com/llvm/llvm-project/commit/e7efd37c2296f329fb0fd687dd0cfb846d47480f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Revert "Re-apply [ORC] Unify task dispatch across ExecutionSession and..."

This reverts commit 1effa19de24 while I investigate the test failure at
https://lab.llvm.org/buildbot/#/builders/285/builds/888.


  Commit: ff153bd553574e8049fb1f4d6858c889bc2e99a8
      https://github.com/llvm/llvm-project/commit/ff153bd553574e8049fb1f4d6858c889bc2e99a8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll

  Log Message:
  -----------
  [InstCombine] Add test for #89669 (NFC)


  Commit: 28d85e2d9e9f3b62554ad8446095aac275022c3c
      https://github.com/llvm/llvm-project/commit/28d85e2d9e9f3b62554ad8446095aac275022c3c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [InstCombine] Add test for #89500 (NFC)


  Commit: af8445e9ce4d9bd74775a68b694957640f29d28a
      https://github.com/llvm/llvm-project/commit/af8445e9ce4d9bd74775a68b694957640f29d28a
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp

  Log Message:
  -----------
  [lldb] Replace condition that always evaluates to false (#89685)

Addresses issue #87243. 

The current code incorrectly checks the validity of ```obj``` twice when
it should be checking the new ```str_obj``` pointer.

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: f8a19a8f74f2dffbca654c5d84881cfe17026dab
      https://github.com/llvm/llvm-project/commit/f8a19a8f74f2dffbca654c5d84881cfe17026dab
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  [SimplifyQuery] Avoid PatternMatch.h include (NFC)

Move the one method that uses it out of line. This is primarily to
reduce the number of files to rebuild when changing PatternMatch.h.


  Commit: 4127a69d6c9106cb96a5da30daec7df80fb812d1
      https://github.com/llvm/llvm-project/commit/4127a69d6c9106cb96a5da30daec7df80fb812d1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [Support] Fix a warning

This patch fixes:

  third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
  error: comparison of integers of different signs: 'const int' and
  'const unsigned long' [-Werror,-Wsign-compare]


  Commit: 34ee77c46ae70cdbac77d1d86de2c616e68c74f6
      https://github.com/llvm/llvm-project/commit/34ee77c46ae70cdbac77d1d86de2c616e68c74f6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for #89672 (NFC)


  Commit: 4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
      https://github.com/llvm/llvm-project/commit/4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Remove StringRef::{startswith,endswith} (#89548)

These functions have been deprecated since:

  commit 5ac12951b4e9bbfcc5791282d0961ec2b65575e9
  Author: Kazu Hirata <kazu at google.com>
  Date:   Sun Dec 17 15:52:50 2023 -0800


  Commit: b64e483785bfef5ec4977988543ed5cfaf62f306
      https://github.com/llvm/llvm-project/commit/b64e483785bfef5ec4977988543ed5cfaf62f306
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    A llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV][TableGen] Generate RISCVTargetParserDef.inc from the new RISCVExtension tblgen information. (#89335)

Instead of using RISCVISAInfo's extension information, use the extension
found in tblgen after #89326.
    
We still need to use RISCVISAInfo code to get the sorting rules for the
ISA string.
    
The ISA string we generate now is not quite the same extension we had
before. No implied extensions are included in the generate string unless
they are explicitly listed in RISCVProcessors.td. This primarily affects
Zicsr being implied by F, V implying Zve*, and Zvl*b implying a smaller
Zvl*b. All of these implication should be picked up when the string is
used by the frontend.
    
The benefit is that we get a more manageable ISA string for humans to
deal with.
    
This is a step towards generating RISCVISAInfo's extension list from
tblgen.


  Commit: 883887493c882d656d5da100ee637a348e81357c
      https://github.com/llvm/llvm-project/commit/883887493c882d656d5da100ee637a348e81357c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Check alignment when speculating stores

When speculating a store based on a preceding load/store, we need
to ensure that the speculated store does not have a higher
alignment (which might only be guaranteed by the branch condition).

There are various ways in which this could be strengthened (we
could get or enforce the alignment), but for now just do the
simple check against the preceding load/store.

Fixes https://github.com/llvm/llvm-project/issues/89672.


  Commit: e5f9de89e540b06893709d97f3ce9671071b3df0
      https://github.com/llvm/llvm-project/commit/e5f9de89e540b06893709d97f3ce9671071b3df0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp

  Log Message:
  -----------
  [clang][CodeGen][NFC] Make ConstExprEmitter a ConstStmtVisitor (#89041)

No reason for this to not be one. This gets rid of a few const_casts.


  Commit: 25a391c7718ee8ed22e85dec212b5b77722c7f4e
      https://github.com/llvm/llvm-project/commit/25a391c7718ee8ed22e85dec212b5b77722c7f4e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Sink some repeated code into parseVTypeToken. NFC (#89694)

Both calls to parseVTypeToken were proceeded by check for an Identifier
token and a call to getIdentifier. Sync those into the parseVTypeToken
to reduce repetition.


  Commit: 07b1177eed7549d0badf72078388422ce73167a0
      https://github.com/llvm/llvm-project/commit/07b1177eed7549d0badf72078388422ce73167a0
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Use semantical type DeclID instead of raw type 'uint32_t'

This patch tries to use DeclID in the code bases to avoid use the raw
type 'uint32_t'. It is problematic to use the raw type 'uint32_t' if we
want to change the type of DeclID some day.


  Commit: a2ccd5d88ffa8a730914c608601e1e3f7785cb08
      https://github.com/llvm/llvm-project/commit/a2ccd5d88ffa8a730914c608601e1e3f7785cb08
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/noundef.ll

  Log Message:
  -----------
  [FunctionAttrs] Fix incorrect noundef inference with poison attrs (#89348)

Currently, when inferring noundef, we only check that the return value
is not undef/poison. However, we fail to account for the possibility
that a poison-generating return attribute will convert the value to
poison, and then violate the noundef attribute, resulting in immediate
UB.

For the relevant return attributes (align, nonnull and range), check
whether we can trivially re-prove the relevant property, otherwise do
not infer noundef.

This fixes the FunctionAttrs side of
https://github.com/llvm/llvm-project/issues/88026.


  Commit: 02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
      https://github.com/llvm/llvm-project/commit/02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h

  Log Message:
  -----------
  [NFC] Remove unused LocalRedeclarationsInfo from ASTBitcodes.h

As the title suggested.


  Commit: b28f4d4dd0bbf50059cb19ca794af967374e1900
      https://github.com/llvm/llvm-project/commit/b28f4d4dd0bbf50059cb19ca794af967374e1900
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/OnDiskHashTable.h

  Log Message:
  -----------
  [memprof] Omit the key length for the record table (#89527)

The record table has a constant key length, so we don't need to
serialize or deserialize it for every key-data pair.  Omitting the key
length saves 0.06% of the indexed MemProf file size.

Note that it's OK to change the format because Version2 is still under
development.


  Commit: 4513050f526be8bc17883685efec91a15ae427f8
      https://github.com/llvm/llvm-project/commit/4513050f526be8bc17883685efec91a15ae427f8
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [MLIR] Harmonize the behavior of the folding API functions (#88508)

This commit changes `OpBuilder::tryFold` to behave more similarly to
`Operation::fold`. Concretely, this ensures that even an in-place fold
returns `success`.
This is necessary to fix a bug in the dialect conversion that occurred
when an in-place folding made an operation legal. The dialect conversion
infrastructure did not check if the result of an in-place folding
legalized the operation and just went ahead and tried to apply pattern
anyways.

The added test contains a simplified version of a breakage we observed
downstream.


  Commit: 9ba6961ce05b17a70c22354f0b54a963ed1ab49c
      https://github.com/llvm/llvm-project/commit/9ba6961ce05b17a70c22354f0b54a963ed1ab49c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Reapply "[clang][dataflow] Model conditional operator correctly." with fixes (#89596)

I reverted https://github.com/llvm/llvm-project/pull/89213 beause it was
causing buildbots to fail with assertion failures.

Embarrassingly, it turns out I had been running tests locally in
`Release` mode, i.e. with `assert()` compiled away.

This PR re-lands #89213 with fixes for the failing assertions.


  Commit: 79225349748bb556fd027cc0bfeb73b1e9a632f4
      https://github.com/llvm/llvm-project/commit/79225349748bb556fd027cc0bfeb73b1e9a632f4
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul.mlir

  Log Message:
  -----------
  [mlir][linalg] Add patterns to convert matmul to transposed variants (#89075)

This adds patterns to convert from the Linalg matmul and batch_matmul
ops to the transposed variants. By default the LHS matrix is transposed.

Our work enabling a lowering path from linalg.matmul to ArmSME has
revealed the current lowering results in non-contiguous memory accesses
for the A matrix and very poor performance.

These patterns provide a simple option to fix this.


  Commit: 87a2159553dce77a55b3f121ad4ce82bc20553ef
      https://github.com/llvm/llvm-project/commit/87a2159553dce77a55b3f121ad4ce82bc20553ef
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTRecordReader.h

  Log Message:
  -----------
  [NFC] [Serialization] Remove unused readVisibleDeclContextStorage from ASTRecordReader.h

As the title suggested.


  Commit: eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
      https://github.com/llvm/llvm-project/commit/eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [NFC] Rename hlsl semantics to hlsl annotations (#89309)

The attribute name "HLSLSemantics" is confusing, because semantics
aren't always the annotation that are applied to specific variables. The
name for this attribute needs to be less specific. This PR changes the
attribute name from HLSLSemantic to HLSLAnnotation, and changes the
associated function and variable names to support this conceptual
change.
The HLSLAnnotation attribute will never be output in ast-dump due to it
being parsed for the attribute that it represents. There is no
functional change, so there are no accompanying tests.


  Commit: 561b3decdfb56e6765bff90121fc0b6f918f1c0b
      https://github.com/llvm/llvm-project/commit/561b3decdfb56e6765bff90121fc0b6f918f1c0b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel

  Log Message:
  -----------
  [mlir][Bazel] Add test data to adapt for 79225349748bb556fd027cc0bfeb73b1e9a632f4


  Commit: a04624206ddf03dc54d5c372e7eac13575b4124b
      https://github.com/llvm/llvm-project/commit/a04624206ddf03dc54d5c372e7eac13575b4124b
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    A clang/test/AST/ast-dump-fpfeatures.m
    A clang/test/AST/ast-dump-late-parsing.cpp

  Log Message:
  -----------
  [clang] Set correct FPOptions if attribute 'optnone' presents (#85605)

Attribute `optnone` must turn off all optimizations including fast-math
ones. Actually AST nodes in the 'optnone' function still had fast-math
flags. This change implements fixing FP options before function body is
parsed.


  Commit: 35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
      https://github.com/llvm/llvm-project/commit/35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/include/flang/Evaluate/call.h
    M flang/test/Lower/HLFIR/calls-f77.f90

  Log Message:
  -----------
  [flang] handle intrinsic interfaces in FunctionRef::GetType (#89583)

User functions may be declared with an interface that is a specific
intrinsic. In such case, there is no result type available from the
procedure symbol (at least without using evaluate::Probe), and
FunctionRef::GetType() returned nullopt. This caused lowering to crash.
The result type of specific intrinsic procedures is always a lengthless
intrinsic type, so it is fully defined in the template argument of
FunctionRef. Use it.


  Commit: 3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
      https://github.com/llvm/llvm-project/commit/3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/WritingAnLLVMBackend.rst

  Log Message:
  -----------
  [GlobalISel] Expand IRTranslator docs. NFC (#89186)

Add some more details about how calls are lowered and what APIs are
available.


  Commit: 654846560c8892b32ea1e92c1fffc5e70bf0e75f
      https://github.com/llvm/llvm-project/commit/654846560c8892b32ea1e92c1fffc5e70bf0e75f
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/global.mlir

  Log Message:
  -----------
  EmitC: Add emitc.global and emitc.get_global (#145) (#88701)

This adds
- `emitc.global` and `emitc.get_global` ops to model global variables
similar to how `memref.global` and `memref.get_global` work.
- translation of those ops to C++
- lowering of `memref.global` and `memref.get_global` into those ops

---------

Co-authored-by: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>


  Commit: 05c1447b3eabe9cc4a27866094e46c57350c5d5a
      https://github.com/llvm/llvm-project/commit/05c1447b3eabe9cc4a27866094e46c57350c5d5a
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/availability.c

  Log Message:
  -----------
  [clang][ExtractAPI] Serialize platform specific unavailable attribute in symbol graphs (#89277)

rdar://125622225


  Commit: ce763bff081f8e97c7c3610ed0f15f14d60e875f
      https://github.com/llvm/llvm-project/commit/ce763bff081f8e97c7c3610ed0f15f14d60e875f
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp

  Log Message:
  -----------
  [analyzer] Fix performance of getTaintedSymbolsImpl() (#89606)

Previously the function
```
std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State,
                                                    const MemRegion *Reg,
                                                    TaintTagType K,
                                                    bool returnFirstOnly)
```
(one of the 4 overloaded variants under this name) was handling element
regions in a highly inefficient manner: it performed the "also examine
the super-region" step twice. (Once in the branch for element regions,
and once in the more general branch for all `SubRegion`s -- note that
`ElementRegion` is a subclass of `SubRegion`.)

As pointer arithmetic produces `ElementRegion`s, it's not too difficult
to get a chain of N nested element regions where this inefficient
recursion would produce 2^N calls.

This commit is essentially NFC, apart from the performance improvements
and the removal of (probably irrelevant) duplicate entries from the
return value of `getTaintedSymbols()` calls.

Fixes #89045


  Commit: 55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
      https://github.com/llvm/llvm-project/commit/55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll

  Log Message:
  -----------
  [LV] Add additional cost model tests with inductions and truncates.

Add test coverage for additional cases not covered by current tests with
multiple inductions and truncates.


  Commit: 0e44ffe817ae0f544199be70f468975fcc3ab5c5
      https://github.com/llvm/llvm-project/commit/0e44ffe817ae0f544199be70f468975fcc3ab5c5
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll

  Log Message:
  -----------
  [DWARF] Add option to add linkage_names to call_origin declaration refs (#89640)

If -mllvm -add-linkage-names-to-external-call-origins is true then add
DW_AT_linkage_name attributes to DW_TAG_subprogram DIEs referenced by
DW_AT_call_origin attributes that would otherwise be omitted.

A debugger may use DW_TAG_call_origin attributes to determine whether any
frames in a callstack are missing due to optimisations (e.g. tail calls).

For example, say a() calls b() tail-calls c(), and you stop in your debugger
in c():

The callstack looks like this:
    c()
    a()

Looking "up" from c(), call site information can be found in a(). This includes
a DW_AT_call_origin referencing b()'s subprogram DIE, which means the call at
this call site was to b(), not c() where we are currently stopped. This
indicates b()'s frame has been lost due to optimisation (or is misleading due
to ICF).

This patch makes it easier for a debugger to check whether the referenced
DIE describes the target function or not, for example by comparing the referenced
function name to the current frame.

There's already an option to apply DW_AT_linkage_name in a targeted manner:
-dwarf-linkage-names=Abstract, which limits adding DW_AT_linkage_names to
abstract subprogram DIEs (this is default for SCE tuning).

The new flag shouldn't affect non-SCE-tuned behaviour whether it is enabled
or not because the non-SCE-tuned behaviour is to always add linkage names to
subprogram DIEs.


  Commit: da57609947f254fb13f1556d4d29c7a0f9a23160
      https://github.com/llvm/llvm-project/commit/da57609947f254fb13f1556d4d29c7a0f9a23160
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/test/MC/AArch64/ilp32-diagnostics.s

  Log Message:
  -----------
  [PAC][MC][AArch64] Fix error message for AUTH_ABS64 reloc with ILP32 (#89563)

The `LP64 eqv:` should say that the equivalent is `AUTH_ABS64` rather
than `ABS64` when trying to emit an AUTH absolute reloc with ILP32.


  Commit: c921ac724ff06997bab25715786c98d4926b0c0e
      https://github.com/llvm/llvm-project/commit/c921ac724ff06997bab25715786c98d4926b0c0e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll

  Log Message:
  -----------
  [WebAssembly] Enable multivalue return when multivalue ABI is used (#88492)

Multivalue feature of WebAssembly has been standardized for several
years now. I think it makes sense to be able to enable it in the feature
section by default for our clang/llvm-produced binaries so that the
multivalue feature can be used as necessary when necessary within our
toolchain and also when running other optimizers (e.g. wasm-opt) after
the LLVM code generation.

But some WebAssembly toolchains, such as Emscripten, do not provide both
mulvalue-returning and not-multivalue-returning versions of libraries.
Also allowing the uses of multivalue in the features section does not
necessarily mean we generate them whenever we can to the fullest, which
is a different code generation / optimization option.

So this makes the lowering of multivalue returns conditional on the use
of 'experimental-mv' target ABI. This ABI is turned off by default and
turned on by passing `-Xclang -target-abi -Xclang experimental-mv` to
`clang`, or `-target-abi experimental-mv` to `clang -cc1` or `llc`.

But the purpose of this PR is not tying the multivalue lowering to this
specific 'experimental-mv'. 'experimental-mv' is just one multivalue ABI
we currently have, and it is still experimental, meaning it is not very
well optimized or tuned for performance. (e.g. it does not have the
limitation of the max number of multivalue-lowered values, which can be
detrimental to performance.) We may change the name of this ABI, or
improve it, or add a new multivalue ABI in the future. Also I heard that
WASI is planning to add their multivalue ABI soon. So the plan is,
whenever any one of multivalue ABIs is enabled, we enable the lowering
of multivalue returns in the backend. We currently have only
'experimental-mv' in the repo so we only check for that in this PR.

Related past discussions:
 #82714
https://github.com/WebAssembly/tool-conventions/pull/223#issuecomment-2008298652


  Commit: b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21
      https://github.com/llvm/llvm-project/commit/b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Turn type alias LocalDeclID into class

Previously, the LocalDeclID and GlobalDeclID are defined as:

```
using LocalDeclID = DeclID;
using GlobalDeclID = DeclID;
```

This is more or less concerning that we may misuse LocalDeclID and
GlobalDeclID without understanding it. There is also a FIXME saying
this.

This patch tries to turn LocalDeclID into a class to improve the type
safety here.


  Commit: a22ffe54a33035d95ee239a11b4dc771f66d102b
      https://github.com/llvm/llvm-project/commit/a22ffe54a33035d95ee239a11b4dc771f66d102b
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll

  Log Message:
  -----------
  [WebAssembly] Make RefTypeMem2Local recognize target-features (#88916)

Currently we check `Subtarget->hasReferenceTypes()` to decide whether to
run `RefTypeMem2Local` pass:

https://github.com/llvm/llvm-project/blob/6133878227efc30355c02c2f089e06ce58231a3d/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L491-L495

This works fine when `-mattr=+reference-types` is given in the command
line (of `llc` or of `wasm-ld` in case of LTO). This also works fine if
the backend is called by Clang, because Clang's feature set will be
passed to the backend when creating a `TargetMachine`:
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L549-L550
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L561-L562

But if the backend compilation is called by `llc`, a `TargetMachine` is
created here:

https://github.com/llvm/llvm-project/blob/bf1ad1d267b1f911cb9846403d2c3d3250a40870/llvm/tools/llc/llc.cpp#L554-L555
And if the backend is called by `wasm-ld`'s LTO, a `TargetMachine` is
created here:

https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/LTO/LTOBackend.cpp#L513
At this point, in the both places, the created `TargetMachine` only has
access to target features given by the command line with `-mattr=` and
doesn't have access to bitcode functions' `target-features` attribute.

We later gather the target features used by functions and store that
info in the `TargetMachine` in `CoalesceFeaturesAndStripAtomics`,
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L202-L206
but this runs in the pass pipeline driven by the pass manager, so this
has not run by the time we check `Subtarget->hasReferenceTypes()` in
`WebAssemblyPassConfig::addISelPrepare`. So currently `RefTypeMem2Local`
would not run on those functions with
`"target-features"="+reference-types"` attributes if the backend is
called by `llc` or `wasm-ld`.

So this makes `RefTypeMem2Local` pass run unconditionally, and checks
`target-featurs` function attribute to decide whether to run the pass on
each function. This allows the pass to run with `wasm-ld` + LTO and
`llc`, even if `-mattr=+reference-types` is not explicitly given in the
command line again, as long as `+reference-types` is in the function's
`target-features` attribute.

This also covers the case we give the target features by the command
line like `llc -mattr=+reference-types` and not in the bitcode
function's attribute, because attributes given in the command line will
be stored in the function's attributes anyway:

https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L673-L674
https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L732-L733

With this PR,
- `lto0.test_externref_emjs`
- `thinlto0.test_externref_emjs`,
- `lto0.test_externref_emjs_dynlink`,
- `thinlto0.test_externref_emjs_dynlnk`

pass. These currently fail but don't get checked in the CI. I think they
used to pass but started to fail after #83196, because we used to run
mem2reg even with `-O0` before that.
(`ltoN` (N > 0) tests are not affected because they run mem2reg anyway
so they don't need `RefTypeMem2Local`)


  Commit: d5093aac543dfd24f339f7d43aa02282f7c16fa5
      https://github.com/llvm/llvm-project/commit/d5093aac543dfd24f339f7d43aa02282f7c16fa5
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] drop unnecessary rule

#75960 added a bazel rule for generating enums for the async dialects, but there are no enums defined, and no cmake rule for that. Delete this rule.


  Commit: f220c359f451de900fc8738cbfa27f33c3fc000e
      https://github.com/llvm/llvm-project/commit/f220c359f451de900fc8738cbfa27f33c3fc000e
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  Revert "[mlir][linalg] Enable fuse consumer" (#89722)

Reverts llvm/llvm-project#85528. This was committed without tests,
despite reviewers requesting tests to be added. The post-commit
discussion leans towards revert, which would be consistent with the
policy.


  Commit: 20cb2ed5299bf1e8d9f2c92785179ec6c947d490
      https://github.com/llvm/llvm-project/commit/20cb2ed5299bf1e8d9f2c92785179ec6c947d490
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/OnDiskHashTable.h

  Log Message:
  -----------
  Revert b28f4d4dd0bbf50059cb19ca794af967374e1900 "[memprof] Omit the key length for the record table (#89527)"

Breaks on EXPENSIVE_CHECKS builds which still use the static ReadKeyDataLength implementation in several locations


  Commit: dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
      https://github.com/llvm/llvm-project/commit/dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M lldb/test/API/python_api/type/TestTypeList.py

  Log Message:
  -----------
  [lldb/test] Rename a function

I misunderstood what is the function looking up


  Commit: a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
      https://github.com/llvm/llvm-project/commit/a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

  Log Message:
  -----------
  [mlir][EmitC] Update GlobalOp description (#89726)


  Commit: 8cc34fadec71c358c2c69bbca236294afb259e02
      https://github.com/llvm/llvm-project/commit/8cc34fadec71c358c2c69bbca236294afb259e02
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] Support reduction of allocatable variables (#88392)

Both arrays and trivial scalars are supported. Both cases must use
by-ref reductions because both are boxed.

My understanding of the standards are that OpenMP says that this should
follow the rules of the intrinsic reduction operators in fortran, and
fortran says that unallocated allocatable variables can only be
referenced to allocate them or test if they are already allocated.
Therefore we do not need a null pointer check in the combiner region.


  Commit: bc7204811dd20e124fbb8713e652fcf70872b0b3
      https://github.com/llvm/llvm-project/commit/bc7204811dd20e124fbb8713e652fcf70872b0b3
  Author: Adam Paszke <adam.paszke at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl

  Log Message:
  -----------
  [bazel] Add a bazel flag to enable building MLIR with CUDA support (#88856)

This makes it possible to specify
`-- at llvm-project//mlir:enable_cuda=true` on the bazel command line and
get a build that includes NVIDIA GPU support in MLIR.


  Commit: 719112c2f667a1e4a51faeba966d8715d272cd98
      https://github.com/llvm/llvm-project/commit/719112c2f667a1e4a51faeba966d8715d272cd98
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir

  Log Message:
  -----------
  AMDGPU: precommit test for bug in RenameIndependentSubregs


  Commit: be1c72d2ba497de7e9420df0b6a136bbb8942a42
      https://github.com/llvm/llvm-project/commit/be1c72d2ba497de7e9420df0b6a136bbb8942a42
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    M mlir/test/Dialect/Linalg/transpose-matmul-b.mlir

  Log Message:
  -----------
  [mlir][linalg] Move transpose_matmul to targeted transform op (#89717)

More targeted than a blanket "apply everywhere" pattern. Follow up to
#89075 to address @ftynse's feedback.


  Commit: b467c6b53660dcaa458c2b5d7fbf5f93ee2af910
      https://github.com/llvm/llvm-project/commit/b467c6b53660dcaa458c2b5d7fbf5f93ee2af910
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Turn type alias GlobalDeclID into a class

Succsessor of b8e3b2ad66cf78ad2b. This patch also converts the type
alias GlobalDeclID to a class to improve the readability and type
safety.


  Commit: 132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
      https://github.com/llvm/llvm-project/commit/132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/test/Integration/lit.local.cfg

  Log Message:
  -----------
  [mlir][aarch64] Remove LIT config for lli (#89545)

This change will only affect MLIR integration tests to be run on
AArch64. When originally introduced, these tests would run with `lli`.
Those tests has since been updated to use `mlir-cpu-runner` instead, see
e.g.:

  * https://reviews.llvm.org/D155405
  * https://reviews.llvm.org/D146917

This patch removes all the leftover `lli` configuration in LIT that's
currently not needed (and is unlikely to be needed any time soon).


  Commit: b4c6607add8bba778b0a278ce7d069c057219eed
      https://github.com/llvm/llvm-project/commit/b4c6607add8bba778b0a278ce7d069c057219eed
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine][X86] Add test showing foldShuffleOfShuffles folding shuffles that would be better separate

On AVX+ targets a broadcast load can be treated as free.


  Commit: a9e87304a3da9ef8ab0f9e035b0c480f8dd4c017
      https://github.com/llvm/llvm-project/commit/a9e87304a3da9ef8ab0f9e035b0c480f8dd4c017
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/load-broadcast.ll

  Log Message:
  -----------
  [CostModel][X86] Add costs test coverage for broadcast loads

Broadcast shuffles can be free is fed from a one-use load


  Commit: f89f670d92b5726fc61bf8252a6ecc273086c501
      https://github.com/llvm/llvm-project/commit/f89f670d92b5726fc61bf8252a6ecc273086c501
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/load-broadcast.ll

  Log Message:
  -----------
  [CostModel][X86] Broadcast shuffles can be free if they are from a one-use load

AVX1+ can handle 32/64-bit broadcast loads, AVX2+ can handle all broadcast loads (we should be able to improve isLegalBroadcastLoad to handle more of this type matching).


  Commit: 34caafe84ffd8588e717c92da358ad9368cc4fe5
      https://github.com/llvm/llvm-project/commit/34caafe84ffd8588e717c92da358ad9368cc4fe5
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Simplify lowering for predicate inserts. (#89072)

The original code has an invalid use of UZP1 because the result vector
type does not match its input vector types. Rather than insert extra nop
casts I figure it would be better to use CONCAT_VECTORS because that's
the operation we're performing.

NOTE: This is a step to enable more asserts in verifyTargetSDNode.


  Commit: d610a513ce10b41c94da9299e926f22d96e873bc
      https://github.com/llvm/llvm-project/commit/d610a513ce10b41c94da9299e926f22d96e873bc
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir

  Log Message:
  -----------
  RenameIndependentSubregs: Add missing sub-range for new IMPLICIT_DEFs (#89050)

Existing sub-ranges are correctly updated because new IMPLICIT_DEF is
added, but there is missing sub-range for IMPLICIT_DEF itself.
Because of missing sub-range in live-intervals for IMPLICIT_DEF,
register allocator does not know that IMPLICIT_DEF rewrites its
virtual sub-registers and can end up assigning overlapping physical
registers to them.
This results in deleting instructions that were defined by sub-registers
overwritten by IMPLICIT_DEF as they are now dead.


  Commit: a9689c6029e3078e09e43a4efb2b2ced98e9020f
      https://github.com/llvm/llvm-project/commit/a9689c6029e3078e09e43a4efb2b2ced98e9020f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] rev(whilelo(a,b)) -> whilehi(b,a). (#88294)

Add similar isel patterns for lt, gt and hi comparison types.


  Commit: 17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
      https://github.com/llvm/llvm-project/commit/17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll

  Log Message:
  -----------
  [VPlan] Skip extending ICmp results in trunateToMinimalBitwidth.

Results of icmp don't need extending after truncating their operands, as
the result will always be i1. Skip them during extending.

Fixes https://github.com/llvm/llvm-project/issues/79742
Fixes https://github.com/llvm/llvm-project/issues/85185


  Commit: 7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
      https://github.com/llvm/llvm-project/commit/7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfShuffles - add missing arguments to getShuffleCost calls.

Ensure the getShuffleCost arguments/instruction args are populated - minor extension to #88743 to help improve shuffle costs for certain corner cases (e.g. shuffles of loads)


  Commit: 8a631d789859d09ba3a11a1206c30e595f4b6428
      https://github.com/llvm/llvm-project/commit/8a631d789859d09ba3a11a1206c30e595f4b6428
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h

  Log Message:
  -----------
  [TableGen] Fix ReplaceRegAction RTTI Kind


  Commit: bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
      https://github.com/llvm/llvm-project/commit/bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    A llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/ARM/ARM.td
    A llvm/lib/Target/ARM/ARMArchitectures.td
    A llvm/lib/Target/ARM/ARMFeatures.td
    A llvm/lib/Target/ARM/ARMProcessors.td

  Log Message:
  -----------
  [ARM][AArch64] Split out processor and feature tablegen defs [NFC] (#88282)


  Commit: c52b18d1e41107067b7557d8af3a06e6fe0beb0f
      https://github.com/llvm/llvm-project/commit/c52b18d1e41107067b7557d8af3a06e6fe0beb0f
  Author: ealcdan <daniel.alcaide.nombela at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp

  Log Message:
  -----------
  [clang-tidy] Avoid overflow when dumping unsigned integer values (#85060)

Some options take the maximum unsigned integer value as default, but
they are being dumped to a string as integers. This makes -dump-config
write invalid '-1' values for these options. This change fixes this
issue by using utostr if the option is unsigned.

Fixes #60217


  Commit: b8174512111bc116776de24e2cff3f6f94d536fe
      https://github.com/llvm/llvm-project/commit/b8174512111bc116776de24e2cff3f6f94d536fe
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp

  Log Message:
  -----------
  Make default initialization explicit

Coverity (a static analysis tool) reported that the emitted 'Features'
variable inside emitComputeAvailableFeatures in TableGen might be
unitialized.
Silence this warning by adding brackets for the default initialization.
Adapt test cases to take additional brackets into account.


  Commit: 9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
      https://github.com/llvm/llvm-project/commit/9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/select-select.ll

  Log Message:
  -----------
  [InstCombine] Fold fcmp into select (#86482)

This patch simplifies `fcmp (select Cond, C1, C2), C3` patterns in
ceres:
Alive2: https://alive2.llvm.org/ce/z/fWh_sD
```
define i1 @src(double %x) {
  %cmp1 = fcmp ord double %x, 0.000000e+00
  %sel = select i1 %cmp1, double 0xFFFFFFFFFFFFFFFF, double 0.000000e+00
  %cmp2 = fcmp oeq double %sel, 0.000000e+00
  ret i1 %cmp2
}

define i1 @tgt(double %x) {
  %cmp1 = fcmp uno double %x, 0.000000e+00
  ret i1 %cmp1
}

```


  Commit: 56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
      https://github.com/llvm/llvm-project/commit/56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll

  Log Message:
  -----------
  Pre-commit reproducer for argument copy elison related bug

Adding test case related to
  https://github.com/llvm/llvm-project/issues/89060

It shows that after argument copy elison the scheduler may reorder
a load of the input argument and a store to the same fixed stack
entry (the fixed stack entry that is reused for the local variable).


  Commit: d8b253be56b3e9073b3e59123cf2da0bcde20c63
      https://github.com/llvm/llvm-project/commit/d8b253be56b3e9073b3e59123cf2da0bcde20c63
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/Hexagon/arg-copy-elison.ll

  Log Message:
  -----------
  [SelectionDAG] Mark frame index as "aliased" at argument copy elison (#89712)

This is a fix for miscompiles reported in
  https://github.com/llvm/llvm-project/issues/89060

After argument copy elison the IR value for the eliminated alloca
is aliasing with the fixed stack object. This patch is making sure
that we mark the fixed stack object as being aliased with IR values
to avoid that for example schedulers are reordering accesses to
the fixed stack object. This could otherwise happen when there is a
mix of MemOperands refering the shared fixed stack slow via both
the IR value for the elided alloca, and via a fixed stack pseudo
source value (as would be the case when lowering the arguments).


  Commit: 0661af893f12c2b09089b4758cf00d9b84230ea0
      https://github.com/llvm/llvm-project/commit/0661af893f12c2b09089b4758cf00d9b84230ea0
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Semantics/OpenMP/firstprivate02.f90
    A flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add restriction about subobjects to firstprivate and … (#89608)

…lastprivate

OpenMP 5.2 standard (Section 5.3) defines privatization for list items.
Section 3.2.1 in the standard defines list items to exclude variables
that are part of other variables.

This patch adds the restriction to firstprivate and lastprivates, it was
previously added for privates.

Fixes https://github.com/llvm/llvm-project/issues/67227

Note: The specific checks that are added here are explicitly called out
in OpenMP 4.0
(https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf) Sections
2.14.3.4 and 2.14.3.5 but in later standards have become implicit
through other definitions.


  Commit: 5fd9bbdea6cc248469d5465de44e747378ffafcb
      https://github.com/llvm/llvm-project/commit/5fd9bbdea6cc248469d5465de44e747378ffafcb
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic

DAGCombiner is trying to fold shl over binops, and in the process
combining it with another shl. However it needs to be more careful
to ensure that the sum of the shift counts fits in the type used
for the shift amount.
For example, X86 is using i8 as shift amount type. So we need to
make sure that the sum of the shift amounts isn't greater than 255.

Fix will be applied in a later commit. This only pre-commits the
test case to show that we currently get the wrong result.

Bug was found when testing the C23 BitInt feature.


  Commit: f9b419b7a038dcd51a7943b160acc867714c595f
      https://github.com/llvm/llvm-project/commit/f9b419b7a038dcd51a7943b160acc867714c595f
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616)

Ensure that the sum of the shift amounts does not overflow the
shift amount type when combining shifts in combineShiftOfShiftedLogic.

Solves a miscompile bug found when testing the C23 BitInt feature.

Targets like X86 that only use an i8 for shift amounts after
legalization seems to be extra susceptible for bugs like this as it
isn't legal to shift more than 255 steps.


  Commit: 304dfe10bd96ef8badd53d4796bba070cc8d30dc
      https://github.com/llvm/llvm-project/commit/304dfe10bd96ef8badd53d4796bba070cc8d30dc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] getTargetShuffleMask - update to take a SDValue instead of a SDNode. NFC.

Also just get the value type from the SDValue instead of passing it separately.


  Commit: 8ab3caf4d3acef29f373e09bc6a0ac459918930e
      https://github.com/llvm/llvm-project/commit/8ab3caf4d3acef29f373e09bc6a0ac459918930e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/test/Parser/cxx2a-constrained-template-param.cpp

  Log Message:
  -----------
  [Clang][Parser] Don't always destroy template annotations at the end of a declaration (#89494)

Since
[6163aa9](https://github.com/llvm/llvm-project/commit/6163aa96799cbad7f2f58e02c5bebee9647056a5#diff-3a7ef0bff7d2b73b4100de636f09ea68b72eda191b39c8091a6a1765d917c1a2),
we have introduced an optimization that almost always destroys
TemplateIdAnnotations at the end of a function declaration. This doesn't
always work properly: a lambda within a default template argument could
also result in such deallocation and hence a use-after-free bug while
building a type constraint on the template parameter.

This patch adds another flag to the parser to tell apart cases when we
shouldn't do such cleanups eagerly. A bit complicated as it is, this retains
the optimization on a highly templated function with lots of generic lambdas.

Note the test doesn't always trigger a conspicuous bug/crash even with a
debug build. But a sanitizer build can detect them, I believe.

Fixes https://github.com/llvm/llvm-project/issues/67235
Fixes https://github.com/llvm/llvm-project/issues/89127


  Commit: dadf6f2c5aaf83b27dab181be91c5814be1fc466
      https://github.com/llvm/llvm-project/commit/dadf6f2c5aaf83b27dab181be91c5814be1fc466
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  [VPlan] Ignore incoming values with constant false mask. (#89384)

Ignore incoming values with constant false masks when trying to simplify
VPBlendRecipes.

As a follow-on optimization, we should also be able to drop all incoming
values with false masks by creating a new VPBlendRecipe with those
operands dropped.

PR: https://github.com/llvm/llvm-project/pull/89384


  Commit: 31af5e9001508dd2e58d2232e900adba01896736
      https://github.com/llvm/llvm-project/commit/31af5e9001508dd2e58d2232e900adba01896736
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll

  Log Message:
  -----------
  AtomicExpand: Emit or with constant on RHS

This will save later code from commuting it.


  Commit: 70d3ddb280ea47066349eed1cd99bc0348bf4186
      https://github.com/llvm/llvm-project/commit/70d3ddb280ea47066349eed1cd99bc0348bf4186
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    R llvm/unittests/Frontend/OpenMPComposeTest.cpp
    A llvm/unittests/Frontend/OpenMPCompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add functions for checking construct type (#87258)

Implement helper functions to identify leaf, composite, and combined
constructs.


  Commit: b926f75e89c025afeb040cbd245ce2ba9cce9fce
      https://github.com/llvm/llvm-project/commit/b926f75e89c025afeb040cbd245ce2ba9cce9fce
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Add some private headers to libcxx.imp (#89568)

https://github.com/llvm/llvm-project/pull/78295 dropped private headers
in top level directory from libcxx.imp.

This PR re-adds them to libcxx.imp.


  Commit: 670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
      https://github.com/llvm/llvm-project/commit/670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll

  Log Message:
  -----------
  [RemoveDIs][MLIR] Don't process debug records in the LLVM-IR translator (#89735)

We are almost ready to enable the use of debug records everywhere in
LLVM by default; part of the prep-work for this means ensuring that
every tool supports them. Every tool in the `llvm/` project supports
them, front-ends that use the `DIBuilder` will support them, and as far
as I can tell, the only other tool in the LLVM repo that needs to
support them but doesn't is `mlir-translate`. This patch trivially
unblocks them by converting from debug records to debug intrinsics
before translating a module.


  Commit: a9e3fbf429ad1869c9434a9660fb8185378d6df4
      https://github.com/llvm/llvm-project/commit/a9e3fbf429ad1869c9434a9660fb8185378d6df4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 70d3ddb280ea


  Commit: e0a763c490d8ef58dca867e0ef834978ccf8e17d
      https://github.com/llvm/llvm-project/commit/e0a763c490d8ef58dca867e0ef834978ccf8e17d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll

  Log Message:
  -----------
  [AMDGPU] Fix GFX12 encoding of s_wait_event export_ready (#89622)

As well as flipping the sense of the bit, GFX12 moved it from bit 0 to
bit 1 in the encoded simm16 operand.


  Commit: b4a0fd40f1b94eac571d29ee7695b492934d9bfc
      https://github.com/llvm/llvm-project/commit/b4a0fd40f1b94eac571d29ee7695b492934d9bfc
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll

  Log Message:
  -----------
  [SLP]Fix PR89635: do not try to vectorize single-gather alternate node.

No need to try to vectorize single gather/buildvector with alternate
opcode graph, it is not profitable. In other cases, need to use last
instruction for inserting the vectorized code.


  Commit: 282ab543a92740100c1119c701258c2900c5d00c
      https://github.com/llvm/llvm-project/commit/282ab543a92740100c1119c701258c2900c5d00c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Add additional mul strength reduction coverage with xtheadba


  Commit: 74cab546825b32f24e44d69942cdbdd129160471
      https://github.com/llvm/llvm-project/commit/74cab546825b32f24e44d69942cdbdd129160471
  Author: mahtohappy <Happy.Kumar at Windriver.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/SemaCXX/PR41441.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] placement new initializes typedef array with correct size (#83124)" (#89036)

When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).

The cause: typedef TYPE TArray[8]; TArray x; The type of declarator is
Tarray[8] and in SemaExprCXX.cpp::BuildCXXNew we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do TreeTransform.h:TransformCXXNEWExpr and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.

ArraySize gets calculated earlier in TreeTransform.h so that
if(!ArraySize) condition was failing.
fix: I changed that condition to if(ArraySize).
fixes https://github.com/llvm/llvm-project/issues/41441

---------

Co-authored-by: erichkeane <ekeane at nvidia.com>


  Commit: d5022d9ad4aec250f77d21c819a9810a97b8b6a8
      https://github.com/llvm/llvm-project/commit/d5022d9ad4aec250f77d21c819a9810a97b8b6a8
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/EHPersonalities.h
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Make z/OS personality function known (#89679)

This change adds the z/OS personality function to the list of known EH
personality functions. It enables removing of the EH data/labels if the
personality function is not invoked.


  Commit: adb0126ef11b0083d5a78be1534ccefa53def1cf
      https://github.com/llvm/llvm-project/commit/adb0126ef11b0083d5a78be1534ccefa53def1cf
  Author: Patrick O'Neill <patrick at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll

  Log Message:
  -----------
  [VPlan] Add scalar inferencing support for Not and Or insns (#89160)

Fixes #87394.

PR: https://github.com/llvm/llvm-project/pull/89160


  Commit: c1086532d4d5c0a261457dfb00e79fcb764e3d78
      https://github.com/llvm/llvm-project/commit/c1086532d4d5c0a261457dfb00e79fcb764e3d78
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/RangesMajorFeatures.csv
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/ranges
    A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] P2387R3: Pipe support for user-defined range adaptors (#89148)

This patch finalizes the std::ranges::range_adaptor_closure
class template from https://wg21.link/P2387R3.

  // [range.adaptor.object], range adaptor objects
  template<class D>
    requires is_class_v<D> && same_as<D, remove_cv_t<D>>
  class range_adaptor_closure { };

The current implementation of __range_adaptor_closure was introduced
in ee44dd8062a26541808fc0d3fd5c6703e19f6016 and has served as the
foundation for the range adaptors in libc++ for a while. This patch
keeps its implementation, with the exception of the following changes:

- __range_adaptor_closure now includes the missing constraints
  `is_class_v<D> && same_as<D, remove_cv_t<D>>` to restrict the 
  type of class that can inherit from it. (https://eel.is/c++draft/ranges.syn)
- The operator| of __range_adaptor_closure no longer requires its
  first argument to model viewable_range. (https://eel.is/c++draft/range.adaptor.object#1)
- The _RangeAdaptorClosure concept is refined to exclude cases where
  T models range or where T has base classes of type range_adaptor_closure<U>
  for another type U. (https://eel.is/c++draft/range.adaptor.object#2)


  Commit: 8317d366212763d907d6d61a6d07450168a33bfb
      https://github.com/llvm/llvm-project/commit/8317d366212763d907d6d61a6d07450168a33bfb
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][linalg] Add runtime verification for linalg ops (#89342)

This commit implements runtime verification for LinalgStructuredOps
using the existing `RuntimeVerifiableOpInterface`. The verification
checks that the runtime sizes of the operands match the runtime sizes
inferred by composing the loop ranges with the op's indexing maps.


  Commit: 1d7086e475c76046b58f4e1c5568720f1c67ad55
      https://github.com/llvm/llvm-project/commit/1d7086e475c76046b58f4e1c5568720f1c67ad55
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  clang/win: Add a flag to disable default-linking of compiler-rt libraries (#89642)

For ASan, users already manually have to pass in the path to the lib,
and for other libraries they have to pass in the path to the libpath.

With LLVM's unreliable name of the lib (due to
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR confusion and whatnot), it's useful
to be able to opt in to just explicitly passing the paths to the libs
everywhere.

Follow-up of sorts to https://reviews.llvm.org/D65543, and to #87866.


  Commit: 03760ad09d49f74c026f0b5d41d982cad81c67d7
      https://github.com/llvm/llvm-project/commit/03760ad09d49f74c026f0b5d41d982cad81c67d7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  Reapply "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"

Changes since original commit:
* Rebase over improved test coverage for theadba
* Revert change to use TargetConstant as it appears to prevent the uimm2
  clause from matching in the XTheadBa patterns.
* Fix an order of operands bug in the THeadBa pattern visible in the new
  test coverage.

Original commit message follows:

This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.

If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.

The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.

On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
  one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
  cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
  doesn't really make sense to me, and the test changes appear positive.


  Commit: e0c28485ad195f1650b6826ab2d856e7917788e2
      https://github.com/llvm/llvm-project/commit/e0c28485ad195f1650b6826ab2d856e7917788e2
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h

  Log Message:
  -----------
  [mlir] Update comment about `propertiesAttr` (NFC) (#89634)

The comment is misleading because `propertiesAttr` is not actually
ignored when the operation isn't unregistered.


  Commit: ed255ed20b730160f8aec54e0acdbb40e3bc7fcf
      https://github.com/llvm/llvm-project/commit/ed255ed20b730160f8aec54e0acdbb40e3bc7fcf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/pr34592.ll

  Log Message:
  -----------
  [X86] pr34592.ll - add nounwind to remove cfi noise


  Commit: 03c8a29d1061c9dd47953c21aae70f46075f1b0c
      https://github.com/llvm/llvm-project/commit/03c8a29d1061c9dd47953c21aae70f46075f1b0c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/pr34592.ll

  Log Message:
  -----------
  [X86] pr34592.ll - add O3 codegen run for comparison


  Commit: c793f4a4dab058cee4f283100946a1bb8e465f59
      https://github.com/llvm/llvm-project/commit/c793f4a4dab058cee4f283100946a1bb8e465f59
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for mul (zext), 2^N + 2/4/8 [nfc]


  Commit: f426be195a08874686d01783bbc490295bf4afb2
      https://github.com/llvm/llvm-project/commit/f426be195a08874686d01783bbc490295bf4afb2
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    R mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    R mlir/test/Dialect/Linalg/runtime-verification.mlir
    R mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  Revert "[mlir][linalg] Add runtime verification for linalg ops" (#89780)

Reverts llvm/llvm-project#89342 due to build failure


  Commit: df608051234c256f1dc2c89f30afd034706c2c2e
      https://github.com/llvm/llvm-project/commit/df608051234c256f1dc2c89f30afd034706c2c2e
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    A llvm/test/CodeGen/NVPTX/rsqrt.ll

  Log Message:
  -----------
  [NVPTX] Improve support for rsqrt.approx (#89417)

Complete support for rsqrt.approx with rsqrt.approx.f64 ([PTX ISA
9.7.3.17. Floating Point Instructions:
rsqrt.approx.ftz.f64](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions-rsqrt-approx-ftz-f64)).
Additionally, add support for folding `sqrt` into `rsqrt`, with an
optional flag to disable.


  Commit: 3197146cc6ae1cefe0b21326f0509add3369decb
      https://github.com/llvm/llvm-project/commit/3197146cc6ae1cefe0b21326f0509add3369decb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine][AArch64] shuffletoidentity.ll - regenerate checks

Reduce diffs in #88899


  Commit: 143be6a60186d6c1a6a298d0b7acdc1a4d69a321
      https://github.com/llvm/llvm-project/commit/143be6a60186d6c1a6a298d0b7acdc1a4d69a321
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [AArch64][GISel] Avoid scalarizing G_IMPLICIT_DEF and G_FREEZE in the Legalizer (#88469)

It does not make sense to scalarize G_FREEZE as it leads to the generation
of pairs of G_UNMERGE_VALUES and G_BUILD_VECTORs which are difficult to
optimize especially when operations like G_TRUNC operate before G_FREEZE
but after G_UNMERGE_VALUES.

Instead, it is better to legalize G_FREEZE like any other vector type
would be, as it gets lowered to a COPY during instruction selection
anyways.

This is an issue that was encountered when looking at the TSVC
benchmark, where the legalization of G_FREEZE would cause generation of
unnecessary MOVs that adversely affected the performance.


  Commit: c45fbfdb8e5a01cb4473c179dc390e9c039f3f39
      https://github.com/llvm/llvm-project/commit/c45fbfdb8e5a01cb4473c179dc390e9c039f3f39
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll

  Log Message:
  -----------
  [VectorCombine][X86] shuffle-of-binops.ll - adjust no matching operand test to use FDIV

Use of FDIV allows us to show a definite cost improvement with #88899


  Commit: cebc9609d8cdc6f488693cd8e4a616b935b38d2c
      https://github.com/llvm/llvm-project/commit/cebc9609d8cdc6f488693cd8e4a616b935b38d2c
  Author: David Green <david.green at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll

  Log Message:
  -----------
  [AArch64] Match ZIP and UZP starting from undef elements. (#89578)

In case the first element of a zip/uzp mask is undef, the isZIPMask and
isUZPMask functions have a 50% chance of picking the wrong
"WhichResult", meaning they don't match a zip/uzp where they could. This
patch alters the matching code to first check for the first non-undef
element, to try and get WhichResult correct.


  Commit: abfb4915e12f4767de8714cf79591b509b09896e
      https://github.com/llvm/llvm-project/commit/abfb4915e12f4767de8714cf79591b509b09896e
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp

  Log Message:
  -----------
  [NFC][InstrProf] Increment valid profile stat in populateCoverage (#89660)

We increment `NumOfCSPGOFunc` and `NumOfPGOFunc` in
`PGOUseFunc::readCounters()` already. We should do the same in
`PGOUseFunc::populateCoverage`.


https://github.com/llvm/llvm-project/blob/83bc7b57714dc2f6b33c188f2b95a0025468ba51/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1331


  Commit: 49cb6dbcb8537270cd0e2a9bcd6663d2e619f5aa
      https://github.com/llvm/llvm-project/commit/49cb6dbcb8537270cd0e2a9bcd6663d2e619f5aa
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf02.cuf

  Log Message:
  -----------
  [flang][cuda] Remove restriction on device subprogram (#89677)

Newer version allow `pure`, `elemental` and `recursive` on device
subprogram.


  Commit: 3a9d8cd5fc5e07629b46901accb1884eae1af694
      https://github.com/llvm/llvm-project/commit/3a9d8cd5fc5e07629b46901accb1884eae1af694
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/modules/std/ranges.inc

  Log Message:
  -----------
  [libc++][ranges] export `std::ranges::range_adaptor_closure` (#89793)

This patch exports the `std::ranges::range_adaptor_closure` class
template implemented in #89148 from the C++ Modules file.


  Commit: 579d30109ae9526ea3ec89d2cadc846bd8cffae5
      https://github.com/llvm/llvm-project/commit/579d30109ae9526ea3ec89d2cadc846bd8cffae5
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/include/__chrono/formatter.h
    M libcxx/test/std/time/time.clock/time.clock.file/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Fixes format output of negative values. (#89408)

When trying to express a time before the epoch (e.g. "one nanosecond
before 00:01:40 on 1900-01-01")
the date would be shown as:

  1900-01-01 00:01:39.-00000001

After this patch, that time would be correctly shown as:

  1900-01-01 00:01:39.999999999


  Commit: 37e27a4d6509fa6432d0125bf43249d2ad01dbc3
      https://github.com/llvm/llvm-project/commit/37e27a4d6509fa6432d0125bf43249d2ad01dbc3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86PfmCounters.td
    M llvm/lib/Target/X86/X86SchedAlderlakeP.td

  Log Message:
  -----------
  [llvm-exegesis] Add support for alderlake (#88967)

This patch adds the PFM counter definitions for Intel alderlake CPUs.


  Commit: 9e9595183001991a7d31d8880c4a2b33594ca30f
      https://github.com/llvm/llvm-project/commit/9e9595183001991a7d31d8880c4a2b33594ca30f
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++][CI] Removes clang-tidy references. (#89092)

The clang-tidy selection has been made automatic recently so this is not
longer needed.

Thanks to Louis for spotting this.


  Commit: 1a8935ada7cb0bb7943e18f2bc9f6d7a89887aa8
      https://github.com/llvm/llvm-project/commit/1a8935ada7cb0bb7943e18f2bc9f6d7a89887aa8
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-contribution-dwp.s
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-offset-dwp.s
    M llvm/test/DebugInfo/X86/invalid-cu-length-dwp.s

  Log Message:
  -----------
  [DebugInfo] Report errors when DWARFUnitHeader::applyIndexEntry fails (#89156)

Motivation: LLDB is able to report errors about these scenarios whereas
LLVM's DWARF parser only gives a boolean success/fail. I want to migrate
LLDB to using LLVM's DWARFUnitHeader class, but I don't want to lose
some of the error reporting, so I'm adding it to the LLVM class first.


  Commit: 033453a9ad2a62914358747b5beb347482d3fdbd
      https://github.com/llvm/llvm-project/commit/033453a9ad2a62914358747b5beb347482d3fdbd
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/docs/Modules.rst

  Log Message:
  -----------
  [libc++][doc] Updates module build instructions. (#89413)

CMake has landed experimental support for using the Standard modules.
This will be part of the CMake 3.30 release. This updates the build
instructions to use modules with CMake.

The changes have been tested locally.

---------

Co-authored-by: Will Hawkins <whh8b at obs.cr>


  Commit: 5fe93b0a4d91f1beb801e3a7588e1fa43955af15
      https://github.com/llvm/llvm-project/commit/5fe93b0a4d91f1beb801e3a7588e1fa43955af15
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

  Log Message:
  -----------
  [CodeGen][TII] Allow reassociation on custom operand indices (#88306)

This opens up a door for reusing reassociation optimizations on
target-specific binary operations with non-standard operand list.

This is effectively a NFC.


  Commit: 5f3f9d1a905b1f293d81758db3fa20c2a1dc3ff4
      https://github.com/llvm/llvm-project/commit/5f3f9d1a905b1f293d81758db3fa20c2a1dc3ff4
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir

  Log Message:
  -----------
  [flang] Remove hardcoded bits from AddDebugInfo. (#89231)

This PR adds following options to the AddDebugInfo pass.

1. IsOptimized flag.
2. Level of debug info to generate.
3. Name of the source file

This enables us to remove the hard coded values from the code. It also
allows us to test the pass with different options. The tests have been
modified to take advantage of that.

The calling convention flag and producer name have also been improved.


  Commit: a7e27260a92b7a40ede0c3ea4035733ea61e6571
      https://github.com/llvm/llvm-project/commit/a7e27260a92b7a40ede0c3ea4035733ea61e6571
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-variable.cpp

  Log Message:
  -----------
  [lldb/test] Add basic ld.lld --debug-names tests (#88335)

Test that ld.lld --debug-names (#86508) built per-module index can be
consumed by lldb. This has uncovered a bug during the development of the
lld feature.


  Commit: 06cc1754f829d6b94dc797ed0f653d0eb52ef1ac
      https://github.com/llvm/llvm-project/commit/06cc1754f829d6b94dc797ed0f653d0eb52ef1ac
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [NFC][msan] Fix typo in comment


  Commit: 1d140348733d5454c2dc72b3f4f16404981f2102
      https://github.com/llvm/llvm-project/commit/1d140348733d5454c2dc72b3f4f16404981f2102
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [NFC][msan] Add DebugInstrumentInstruction DEBUG_COUNTER


  Commit: 3ae10fde39419d7c985b9fff210ed44b699e438c
      https://github.com/llvm/llvm-project/commit/3ae10fde39419d7c985b9fff210ed44b699e438c
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libc/docs/index.rst
    A libc/docs/setjmp.rst
    A libc/utils/docgen/setjmp.json

  Log Message:
  -----------
  [libc] Generate docs for `setjmp.h` (#89542)

Resolves #88065

Added macros and functions.


  Commit: dc8f6a8cdad427345a60f5142411617df521c303
      https://github.com/llvm/llvm-project/commit/dc8f6a8cdad427345a60f5142411617df521c303
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    M clang/test/CodeGenCoroutines/coro-dwarf.cpp
    M clang/test/CodeGenCoroutines/pr65054.cpp

  Log Message:
  -----------
  [clang] coroutine: generate valid mangled name in CodeGenFunction::generateAwaitSuspendWrapper (#89731)

Fixes https://github.com/llvm/llvm-project/issues/89723


  Commit: 7e1fc15a6c83d62b04dbe8e5bed4d7852de34f95
      https://github.com/llvm/llvm-project/commit/7e1fc15a6c83d62b04dbe8e5bed4d7852de34f95
  Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M .github/CODEOWNERS
    M .github/workflows/libcxx-build-and-test.yaml
    M bolt/test/AArch64/constant_island_pie_update.s
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/GlobList.h
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/lambda-function-name.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
    M clang/cmake/caches/Apple-stage2.cmake
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/IntegralAP.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/literals.cpp
    M clang/test/AST/Interp/vectors.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    A clang/test/AST/ast-dump-fpfeatures.m
    A clang/test/AST/ast-dump-late-parsing.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-traits.cpp
    A clang/test/AST/bitint-suffix.cpp
    A clang/test/Analysis/gh-issue-89185.c
    M clang/test/ClangScanDeps/modules-full.cpp
    M clang/test/CodeGen/PowerPC/builtins-ppc-htm.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    A clang/test/CodeGen/attr-counted-by-pr88931.c
    A clang/test/CodeGen/attr-counted-by-pr88931.cpp
    A clang/test/CodeGen/pgo-force-function-attrs.ll
    A clang/test/CodeGenCXX/mangle-lambdas-gh88906.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    M clang/test/CodeGenCoroutines/coro-dwarf.cpp
    M clang/test/CodeGenCoroutines/pr65054.cpp
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    A clang/test/CoverageMapping/statement-expression.c
    A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
    R clang/test/Driver/aix-small-local-exec-tls.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/clang-offload-bundler-zstd.c
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/integrated-as.c
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/FixIt/format-darwin-enum-class.cpp
    M clang/test/FixIt/format.cpp
    M clang/test/Lexer/bitint-constants-compat.c
    A clang/test/Lexer/bitint-constants.cpp
    R clang/test/Modules/add-remove-irrelevant-module-map.m
    A clang/test/Modules/prune-non-affecting-module-map-files.m
    M clang/test/Parser/cxx2a-constrained-template-param.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-func-attrs.c
    A clang/test/Sema/bitint-bitfield-promote.c
    M clang/test/Sema/ppc-attr-target-inline.c
    A clang/test/Sema/unroll-template-value-crash.cpp
    A clang/test/SemaCXX/PR41441.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/format-strings.cpp
    M clang/test/SemaCXX/static-assert-cxx26.cpp
    M clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/instantiate-using-decl.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/builtins/fp_add_impl.inc
    M compiler-rt/lib/builtins/fp_fixint_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp
    M compiler-rt/lib/scudo/standalone/allocator_config.h
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M flang/CMakeLists.txt
    M flang/docs/FlangDriver.md
    M flang/include/flang/Common/real.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/complex.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/int-power.h
    M flang/lib/Evaluate/integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/module/__fortran_builtins.f90
    A flang/test/Driver/debug-level.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Evaluate/fold-out_of_range.f90
    A flang/test/Evaluate/rewrite-out_of_range.F90
    M flang/test/Fir/abstract-result-2.fir
    M flang/test/Fir/abstract-results.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/non-trivial-procedure-binding-description.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Parser/cuf-sanity-common
    M flang/test/Parser/cuf-sanity-tree.CUF
    M flang/test/Parser/cuf-sanity-unparse.CUF
    A flang/test/Semantics/OpenMP/firstprivate02.f90
    A flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/cuf02.cuf
    M flang/test/Semantics/cuf03.cuf
    M flang/test/Semantics/cuf07.cuf
    M flang/test/Semantics/cuf11.cuf
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/select-rank.f90
    M flang/test/Semantics/stmt-func02.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    M flang/tools/f18/CMakeLists.txt
    R flang/tools/f18/flang-to-external-fc.in
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/code_style.rst
    M libc/docs/index.rst
    A libc/docs/setjmp.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/pthread_rwlockattr_t.h
    M libc/spec/posix.td
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_rwlockattr_destroy.cpp
    A libc/src/pthread/pthread_rwlockattr_destroy.h
    A libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_getpshared.h
    A libc/src/pthread/pthread_rwlockattr_init.cpp
    A libc/src/pthread/pthread_rwlockattr_init.h
    A libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/src/stdlib/bsearch.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    R libc/test/UnitTest/FuchsiaTest.h
    A libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    R libc/test/UnitTest/PigweedTest.h
    M libc/test/UnitTest/Test.h
    A libc/test/UnitTest/ZxTest.h
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_condattr_test.cpp
    A libc/test/src/pthread/pthread_rwlockattr_test.cpp
    A libc/utils/docgen/setjmp.json
    M libclc/cmake/modules/AddLibclc.cmake
    M libcxx/.clang-format
    M libcxx/docs/Modules.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/RangesMajorFeatures.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/all_of.h
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    M libcxx/include/__algorithm/fold.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_partitioned.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/minmax_element.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/pstl_any_all_none_of.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/ranges_adjacent_find.h
    M libcxx/include/__algorithm/ranges_all_of.h
    M libcxx/include/__algorithm/ranges_any_of.h
    M libcxx/include/__algorithm/ranges_binary_search.h
    M libcxx/include/__algorithm/ranges_clamp.h
    M libcxx/include/__algorithm/ranges_contains.h
    M libcxx/include/__algorithm/ranges_contains_subrange.h
    M libcxx/include/__algorithm/ranges_count.h
    M libcxx/include/__algorithm/ranges_count_if.h
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_equal.h
    M libcxx/include/__algorithm/ranges_equal_range.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__algorithm/ranges_find_end.h
    M libcxx/include/__algorithm/ranges_find_first_of.h
    M libcxx/include/__algorithm/ranges_find_if.h
    M libcxx/include/__algorithm/ranges_find_if_not.h
    M libcxx/include/__algorithm/ranges_includes.h
    M libcxx/include/__algorithm/ranges_is_heap.h
    M libcxx/include/__algorithm/ranges_is_heap_until.h
    M libcxx/include/__algorithm/ranges_is_partitioned.h
    M libcxx/include/__algorithm/ranges_is_permutation.h
    M libcxx/include/__algorithm/ranges_is_sorted.h
    M libcxx/include/__algorithm/ranges_is_sorted_until.h
    M libcxx/include/__algorithm/ranges_lexicographical_compare.h
    M libcxx/include/__algorithm/ranges_lower_bound.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_min.h
    M libcxx/include/__algorithm/ranges_min_element.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/ranges_minmax_element.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/ranges_none_of.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_if.h
    M libcxx/include/__algorithm/ranges_search.h
    M libcxx/include/__algorithm/ranges_search_n.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/ranges_unique.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/unique.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/bit_ceil.h
    M libcxx/include/__bit/bit_floor.h
    M libcxx/include/__bit/bit_width.h
    M libcxx/include/__bit/byteswap.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/has_single_bit.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/local_info.h
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__chrono/sys_info.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__config
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__iterator/empty.h
    M libcxx/include/__math/abs.h
    M libcxx/include/__math/copysign.h
    M libcxx/include/__math/min_max.h
    M libcxx/include/__math/roots.h
    M libcxx/include/__math/rounding_functions.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__node_handle
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__string/constexpr_c_functions.h
    M libcxx/include/__utility/as_const.h
    M libcxx/include/__utility/forward.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/cstddef
    M libcxx/include/deque
    M libcxx/include/forward_list
    M libcxx/include/future
    R libcxx/include/libcxx.imp
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/module.modulemap
    M libcxx/include/new
    M libcxx/include/queue
    M libcxx/include/ranges
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdlib.h
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/modules/std/ranges.inc
    M libcxx/src/tzdb.cpp
    A libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory_resource.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/scoped_allocator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp
    M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
    R libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp
    R libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
    M libcxx/test/libcxx/transitive_includes.gen.py
    R libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/types.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/support/invocable_with_telemetry.h
    M libcxx/test/support/test_macros.h
    M libcxx/utils/CMakeLists.txt
    M libcxx/utils/generate_iwyu_mapping.py
    M libcxx/utils/libcxx/header_information.py
    M libcxx/utils/libcxx/test/params.py
    M lld/ELF/Driver.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/Options.td
    M lld/docs/ld.lld.1
    A lld/test/ELF/linkerscript/default-script.s
    M lld/test/ELF/pack-dyn-relocs.s
    M lld/test/ELF/partition-pack-dyn-relocs.s
    M lld/test/ELF/reproduce.s
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
    M lldb/source/Target/Process.cpp
    M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-variable.cpp
    R lldb/third_party/Python/module/pexpect-4.6/.gitignore
    R lldb/third_party/Python/module/pexpect-4.6/.travis.yml
    R lldb/third_party/Python/module/pexpect-4.6/DEVELOPERS.rst
    R lldb/third_party/Python/module/pexpect-4.6/LICENSE
    R lldb/third_party/Python/module/pexpect-4.6/MANIFEST.in
    R lldb/third_party/Python/module/pexpect-4.6/README.rst
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/ANSI.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/__init__.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/_async.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/bashrc.sh
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/exceptions.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/fdpexpect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/popen_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pxssh.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/replwrap.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/run.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/screen.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/spawnbase.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/utils.py
    R lldb/third_party/Python/module/pexpect-4.6/requirements-testing.txt
    R lldb/third_party/Python/module/pexpect-4.6/setup.cfg
    R lldb/third_party/Python/module/pexpect-4.6/setup.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.gitignore
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.travis.yml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/LICENSE
    R lldb/third_party/Python/module/ptyprocess-0.6.0/README.rst
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/__init__.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/_fork_pty.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/util.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/pyproject.toml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/readthedocs.yml
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/unittests/Host/FileSystemTest.cpp
    M llvm/CMakeLists.txt
    M llvm/docs/CMake.rst
    M llvm/docs/CommandGuide/llvm-readelf.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/WritingAnLLVMBackend.rst
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/include/llvm/IR/EHPersonalities.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/MDBuilder.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/Verifier.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/MathExtras.h
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/GlobalsModRef.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/MC/SPIRVObjectWriter.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    A llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    A llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARM.td
    A llvm/lib/Target/ARM/ARMArchitectures.td
    A llvm/lib/Target/ARM/ARMFeatures.td
    A llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
    M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/SPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/lib/Target/X86/X86PfmCounters.td
    M llvm/lib/Target/X86/X86SchedAlderlakeP.td
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/TextAPI/TextStub.cpp
    M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/KCFI.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
    A llvm/test/Analysis/CostModel/X86/load-broadcast.ll
    M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-shufflevector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll
    A llvm/test/CodeGen/AArch64/sve-reassocadd.ll
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/atomics-hw-remarks-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    M llvm/test/CodeGen/DirectX/fmad.ll
    A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll
    M llvm/test/CodeGen/Mips/atomic-min-max.ll
    A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    A llvm/test/CodeGen/NVPTX/rsqrt.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/stack-protector-target.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
    M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
    A llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/pmaddubsw.ll
    M llvm/test/CodeGen/X86/pr34592.ll
    M llvm/test/CodeGen/X86/shift-combine.ll
    M llvm/test/CodeGen/X86/threadlocal_address.ll
    M llvm/test/CodeGen/X86/vector-fshl-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-contribution-dwp.s
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-offset-dwp.s
    M llvm/test/DebugInfo/X86/invalid-cu-length-dwp.s
    M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
    M llvm/test/Instrumentation/AddressSanitizer/basic.ll
    M llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
    M llvm/test/Instrumentation/SanitizerCoverage/stack-depth.ll
    M llvm/test/MC/AArch64/ilp32-diagnostics.s
    M llvm/test/MC/X86/apx/cmpccxadd-att.s
    R llvm/test/MC/X86/cmpccxadd-att-64-alias.s
    R llvm/test/MC/X86/cmpccxadd-att-64.s
    A llvm/test/MC/X86/cmpccxadd-att-alias.s
    A llvm/test/MC/X86/cmpccxadd-att.s
    R llvm/test/MC/X86/cmpccxadd-intel-64-alias.s
    R llvm/test/MC/X86/cmpccxadd-intel-64.s
    A llvm/test/MC/X86/cmpccxadd-intel-alias.s
    A llvm/test/MC/X86/cmpccxadd-intel.s
    M llvm/test/MachineVerifier/verify-inlineasmbr.mir
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    A llvm/test/TableGen/riscv-target-def.td
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
    A llvm/test/Transforms/Inline/AMDGPU/inline-atomicrmw-md-preserve.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/fabs.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/fcmp.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/InstCombine/powi.ll
    M llvm/test/Transforms/InstCombine/select-divrem.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/update-bpi.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
    A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-reduced.ll
    A llvm/test/Transforms/SLPVectorizer/X86/phi-reordered-reshuffled.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll
    M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/pr67803.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
    M llvm/test/Verifier/tbaa-struct.ll
    A llvm/test/tools/llvm-dwarfdump/X86/verify_template_alias.yaml
    M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
    M llvm/test/tools/llvm-reduce/remove-dp-values.ll
    A llvm/test/tools/llvm-split/target-specific-split.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.h
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/tools/llvm-split/CMakeLists.txt
    M llvm/tools/llvm-split/llvm-split.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/OpenMPCompositionTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp
    M llvm/unittests/Support/MathExtrasTest.cpp
    M llvm/unittests/Support/VirtualFileSystemTest.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
    M llvm/utils/gn/secondary/llvm/tools/llvm-split/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
    A mlir/docs/Dialects/Polynomial.md
    M mlir/docs/Passes.md
    M mlir/docs/Tutorials/transform/ChH.md
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
    M mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/Dialect/XeGPU/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.h
    A mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
    A mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/InitAllPasses.h
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
    A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/Dialect/XeGPU/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/async_dialect/__init__.py
    M mlir/python/mlir/dialects/memref.py
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Dialect/Linalg/hoisting.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    A mlir/test/Dialect/XeGPU/xegpu-fold-alias-ops.mlir
    M mlir/test/Integration/lit.local.cfg
    A mlir/test/Target/Cpp/global.mlir
    M mlir/test/Target/LLVMIR/Import/ignore-composite-type-elements.ll
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.h
    M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.h
    A mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    A mlir/test/lib/Dialect/Test/TestOps.cpp
    A mlir/test/lib/Dialect/Test/TestOps.h
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
    M mlir/test/lib/IR/TestClone.cpp
    M mlir/test/lib/IR/TestSideEffects.cpp
    M mlir/test/lib/IR/TestSymbolUses.cpp
    M mlir/test/lib/IR/TestTypes.cpp
    M mlir/test/lib/IR/TestVisitorsGeneric.cpp
    M mlir/test/lib/Pass/TestPassManager.cpp
    M mlir/test/lib/Transforms/TestInlining.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
    M mlir/test/python/dialects/async_dialect.py
    M mlir/unittests/IR/AdaptorTest.cpp
    M mlir/unittests/IR/IRMapping.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/unittests/IR/InterfaceTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp
    M mlir/unittests/IR/PatternMatchTest.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp
    A offload/CMakeLists.txt
    A offload/DeviceRTL/CMakeLists.txt
    A offload/DeviceRTL/include/Allocator.h
    A offload/DeviceRTL/include/Configuration.h
    A offload/DeviceRTL/include/Debug.h
    A offload/DeviceRTL/include/Interface.h
    A offload/DeviceRTL/include/LibC.h
    A offload/DeviceRTL/include/Mapping.h
    A offload/DeviceRTL/include/State.h
    A offload/DeviceRTL/include/Synchronization.h
    A offload/DeviceRTL/include/Types.h
    A offload/DeviceRTL/include/Utils.h
    A offload/DeviceRTL/include/generated_microtask_cases.gen
    A offload/DeviceRTL/src/Allocator.cpp
    A offload/DeviceRTL/src/Configuration.cpp
    A offload/DeviceRTL/src/Debug.cpp
    A offload/DeviceRTL/src/Kernel.cpp
    A offload/DeviceRTL/src/LibC.cpp
    A offload/DeviceRTL/src/Mapping.cpp
    A offload/DeviceRTL/src/Misc.cpp
    A offload/DeviceRTL/src/Parallelism.cpp
    A offload/DeviceRTL/src/Reduction.cpp
    A offload/DeviceRTL/src/State.cpp
    A offload/DeviceRTL/src/Stub.cpp
    A offload/DeviceRTL/src/Synchronization.cpp
    A offload/DeviceRTL/src/Tasking.cpp
    A offload/DeviceRTL/src/Utils.cpp
    A offload/DeviceRTL/src/Workshare.cpp
    A offload/DeviceRTL/src/exports
    A offload/README.txt
    A offload/cmake/Modules/LibomptargetGetDependencies.cmake
    A offload/cmake/Modules/LibomptargetUtils.cmake
    A offload/cmake/OpenMPTesting.cmake
    A offload/docs/declare_target_indirect.md
    A offload/include/DeviceImage.h
    A offload/include/ExclusiveAccess.h
    A offload/include/OffloadEntry.h
    A offload/include/OffloadPolicy.h
    A offload/include/OpenMP/InternalTypes.h
    A offload/include/OpenMP/InteropAPI.h
    A offload/include/OpenMP/Mapping.h
    A offload/include/OpenMP/OMPT/Callback.h
    A offload/include/OpenMP/OMPT/Connector.h
    A offload/include/OpenMP/OMPT/Interface.h
    A offload/include/OpenMP/omp.h
    A offload/include/PluginManager.h
    A offload/include/Shared/APITypes.h
    A offload/include/Shared/Debug.h
    A offload/include/Shared/Environment.h
    A offload/include/Shared/EnvironmentVar.h
    A offload/include/Shared/PluginAPI.h
    A offload/include/Shared/PluginAPI.inc
    A offload/include/Shared/Profile.h
    A offload/include/Shared/Requirements.h
    A offload/include/Shared/SourceInfo.h
    A offload/include/Shared/Utils.h
    A offload/include/Utils/ExponentialBackoff.h
    A offload/include/device.h
    A offload/include/omptarget.h
    A offload/include/rtl.h
    A offload/plugins-nextgen/CMakeLists.txt
    A offload/plugins-nextgen/amdgpu/CMakeLists.txt
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    A offload/plugins-nextgen/amdgpu/src/rtl.cpp
    A offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    A offload/plugins-nextgen/common/CMakeLists.txt
    A offload/plugins-nextgen/common/OMPT/OmptCallback.cpp
    A offload/plugins-nextgen/common/include/DLWrap.h
    A offload/plugins-nextgen/common/include/GlobalHandler.h
    A offload/plugins-nextgen/common/include/JIT.h
    A offload/plugins-nextgen/common/include/MemoryManager.h
    A offload/plugins-nextgen/common/include/PluginInterface.h
    A offload/plugins-nextgen/common/include/RPC.h
    A offload/plugins-nextgen/common/include/Utils/ELF.h
    A offload/plugins-nextgen/common/src/GlobalHandler.cpp
    A offload/plugins-nextgen/common/src/JIT.cpp
    A offload/plugins-nextgen/common/src/PluginInterface.cpp
    A offload/plugins-nextgen/common/src/RPC.cpp
    A offload/plugins-nextgen/common/src/Utils/ELF.cpp
    A offload/plugins-nextgen/cuda/CMakeLists.txt
    A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    A offload/plugins-nextgen/cuda/src/rtl.cpp
    A offload/plugins-nextgen/exports
    A offload/plugins-nextgen/host/CMakeLists.txt
    A offload/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    A offload/plugins-nextgen/host/dynamic_ffi/ffi.h
    A offload/plugins-nextgen/host/src/rtl.cpp
    A offload/src/CMakeLists.txt
    A offload/src/DeviceImage.cpp
    A offload/src/LegacyAPI.cpp
    A offload/src/OffloadRTL.cpp
    A offload/src/OpenMP/API.cpp
    A offload/src/OpenMP/InteropAPI.cpp
    A offload/src/OpenMP/Mapping.cpp
    A offload/src/OpenMP/OMPT/Callback.cpp
    A offload/src/PluginManager.cpp
    A offload/src/device.cpp
    A offload/src/exports
    A offload/src/interface.cpp
    A offload/src/omptarget.cpp
    A offload/src/private.h
    A offload/test/CMakeLists.txt
    A offload/test/Inputs/basic_array.f90
    A offload/test/Inputs/declare_indirect_func.c
    A offload/test/api/assert.c
    A offload/test/api/is_initial_device.c
    A offload/test/api/omp_device_managed_memory.c
    A offload/test/api/omp_device_managed_memory_alloc.c
    A offload/test/api/omp_device_memory.c
    A offload/test/api/omp_dynamic_shared_memory.c
    A offload/test/api/omp_dynamic_shared_memory_amdgpu.c
    A offload/test/api/omp_dynamic_shared_memory_mixed.inc
    A offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    A offload/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
    A offload/test/api/omp_env_vars.c
    A offload/test/api/omp_get_device_num.c
    A offload/test/api/omp_get_mapped_ptr.c
    A offload/test/api/omp_get_num_devices.c
    A offload/test/api/omp_get_num_devices_with_empty_target.c
    A offload/test/api/omp_get_num_procs.c
    A offload/test/api/omp_host_pinned_memory.c
    A offload/test/api/omp_host_pinned_memory_alloc.c
    A offload/test/api/omp_indirect_call.c
    A offload/test/api/omp_target_memcpy_async1.c
    A offload/test/api/omp_target_memcpy_async2.c
    A offload/test/api/omp_target_memcpy_rect_async1.c
    A offload/test/api/omp_target_memcpy_rect_async2.c
    A offload/test/api/omp_target_memset.c
    A offload/test/api/ompx_3d.c
    A offload/test/api/ompx_3d.cpp
    A offload/test/api/ompx_sync.c
    A offload/test/api/ompx_sync.cpp
    A offload/test/env/base_ptr_ref_count.c
    A offload/test/env/omp_target_debug.c
    A offload/test/jit/empty_kernel.inc
    A offload/test/jit/empty_kernel_lvl1.c
    A offload/test/jit/empty_kernel_lvl2.c
    A offload/test/jit/type_punning.c
    A offload/test/libc/assert.c
    A offload/test/libc/fwrite.c
    A offload/test/libc/global_ctor_dtor.cpp
    A offload/test/libc/host_call.c
    A offload/test/libc/malloc.c
    A offload/test/libc/puts.c
    A offload/test/lit.cfg
    A offload/test/lit.site.cfg.in
    A offload/test/mapping/alloc_fail.c
    A offload/test/mapping/array_section_implicit_capture.c
    A offload/test/mapping/array_section_use_device_ptr.c
    A offload/test/mapping/auto_zero_copy.cpp
    A offload/test/mapping/auto_zero_copy_apu.cpp
    A offload/test/mapping/auto_zero_copy_globals.cpp
    A offload/test/mapping/data_absent_at_exit.c
    A offload/test/mapping/data_member_ref.cpp
    A offload/test/mapping/declare_mapper_api.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_array.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_var.cpp
    A offload/test/mapping/declare_mapper_nested_mappers.cpp
    A offload/test/mapping/declare_mapper_target.cpp
    A offload/test/mapping/declare_mapper_target_data.cpp
    A offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
    A offload/test/mapping/declare_mapper_target_update.cpp
    A offload/test/mapping/delete_inf_refcount.c
    A offload/test/mapping/device_ptr_update.c
    A offload/test/mapping/firstprivate_aligned.cpp
    A offload/test/mapping/has_device_addr.cpp
    A offload/test/mapping/implicit_device_ptr.c
    A offload/test/mapping/is_device_ptr.cpp
    A offload/test/mapping/lambda_by_value.cpp
    A offload/test/mapping/lambda_mapping.cpp
    A offload/test/mapping/low_alignment.c
    A offload/test/mapping/map_back_race.cpp
    A offload/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    A offload/test/mapping/ompx_hold/struct.c
    A offload/test/mapping/ompx_hold/target-data.c
    A offload/test/mapping/ompx_hold/target.c
    A offload/test/mapping/padding_not_mapped.c
    A offload/test/mapping/power_of_two_alignment.c
    A offload/test/mapping/pr38704.c
    A offload/test/mapping/prelock.cpp
    A offload/test/mapping/present/target.c
    A offload/test/mapping/present/target_array_extension.c
    A offload/test/mapping/present/target_data.c
    A offload/test/mapping/present/target_data_array_extension.c
    A offload/test/mapping/present/target_data_at_exit.c
    A offload/test/mapping/present/target_enter_data.c
    A offload/test/mapping/present/target_exit_data_delete.c
    A offload/test/mapping/present/target_exit_data_release.c
    A offload/test/mapping/present/target_update.c
    A offload/test/mapping/present/target_update_array_extension.c
    A offload/test/mapping/present/unified_shared_memory.c
    A offload/test/mapping/present/zero_length_array_section.c
    A offload/test/mapping/present/zero_length_array_section_exit.c
    A offload/test/mapping/private_mapping.c
    A offload/test/mapping/ptr_and_obj_motion.c
    A offload/test/mapping/reduction_implicit_map.cpp
    A offload/test/mapping/target_data_array_extension_at_exit.c
    A offload/test/mapping/target_derefence_array_pointrs.cpp
    A offload/test/mapping/target_has_device_addr.c
    A offload/test/mapping/target_implicit_partial_map.c
    A offload/test/mapping/target_map_for_member_data.cpp
    A offload/test/mapping/target_pointers_members_map.cpp
    A offload/test/mapping/target_update_array_extension.c
    A offload/test/mapping/target_use_device_addr.c
    A offload/test/mapping/target_uses_allocator.c
    A offload/test/mapping/target_wrong_use_device_addr.c
    A offload/test/offloading/assert.cpp
    A offload/test/offloading/atomic-compare-signedness.c
    A offload/test/offloading/back2back_distribute.c
    A offload/test/offloading/barrier_fence.c
    A offload/test/offloading/bug47654.cpp
    A offload/test/offloading/bug49021.cpp
    A offload/test/offloading/bug49334.cpp
    A offload/test/offloading/bug49779.cpp
    A offload/test/offloading/bug50022.cpp
    A offload/test/offloading/bug51781.c
    A offload/test/offloading/bug51982.c
    A offload/test/offloading/bug53727.cpp
    A offload/test/offloading/bug64959.c
    A offload/test/offloading/bug64959_compile_only.c
    A offload/test/offloading/bug74582.c
    A offload/test/offloading/complex_reduction.cpp
    A offload/test/offloading/ctor_dtor.cpp
    A offload/test/offloading/cuda_no_devices.c
    A offload/test/offloading/d2d_memcpy.c
    A offload/test/offloading/d2d_memcpy_sync.c
    A offload/test/offloading/default_thread_limit.c
    A offload/test/offloading/dynamic_module.c
    A offload/test/offloading/dynamic_module_load.c
    A offload/test/offloading/extern.c
    A offload/test/offloading/force-usm.cpp
    A offload/test/offloading/fortran/basic-target-parallel-do.f90
    A offload/test/offloading/fortran/basic-target-parallel-region.f90
    A offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    A offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    A offload/test/offloading/fortran/basic-target-region-3D-array.f90
    A offload/test/offloading/fortran/basic_array.c
    A offload/test/offloading/fortran/basic_target_region.f90
    A offload/test/offloading/fortran/constant-arr-index.f90
    A offload/test/offloading/fortran/declare-target-vars-in-target-region.f90
    A offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    A offload/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
    A offload/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
    A offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
    A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
    A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    A offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array.f90
    A offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    A offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    A offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    A offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    A offload/test/offloading/fortran/target-nested-target-data.f90
    A offload/test/offloading/fortran/target-parallel-do-collapse.f90
    A offload/test/offloading/fortran/target-region-implicit-array.f90
    A offload/test/offloading/fortran/target_map_common_block.f90
    A offload/test/offloading/fortran/target_map_common_block1.f90
    A offload/test/offloading/fortran/target_map_common_block2.f90
    A offload/test/offloading/fortran/target_update.f90
    A offload/test/offloading/generic_multiple_parallel_regions.c
    A offload/test/offloading/global_constructor.cpp
    A offload/test/offloading/host_as_target.c
    A offload/test/offloading/indirect_fp_mapping.c
    A offload/test/offloading/info.c
    A offload/test/offloading/interop.c
    A offload/test/offloading/lone_target_exit_data.c
    A offload/test/offloading/looptripcnt.c
    A offload/test/offloading/malloc.c
    A offload/test/offloading/malloc_parallel.c
    A offload/test/offloading/mandatory_but_no_devices.c
    A offload/test/offloading/memory_manager.cpp
    A offload/test/offloading/multiple_reductions_simple.c
    A offload/test/offloading/non_contiguous_update.cpp
    A offload/test/offloading/offloading_success.c
    A offload/test/offloading/offloading_success.cpp
    A offload/test/offloading/ompx_bare.c
    A offload/test/offloading/ompx_coords.c
    A offload/test/offloading/ompx_saxpy_mixed.c
    A offload/test/offloading/parallel_offloading_map.cpp
    A offload/test/offloading/parallel_target_teams_reduction.cpp
    A offload/test/offloading/parallel_target_teams_reduction_max.cpp
    A offload/test/offloading/parallel_target_teams_reduction_min.cpp
    A offload/test/offloading/requires.c
    A offload/test/offloading/runtime_init.c
    A offload/test/offloading/shared_lib_fp_mapping.c
    A offload/test/offloading/small_trip_count.c
    A offload/test/offloading/small_trip_count_thread_limit.cpp
    A offload/test/offloading/spmdization.c
    A offload/test/offloading/static_linking.c
    A offload/test/offloading/std_complex_arithmetic.cpp
    A offload/test/offloading/struct_mapping_with_pointers.cpp
    A offload/test/offloading/target-teams-atomic.c
    A offload/test/offloading/target-tile.c
    A offload/test/offloading/target_constexpr_mapping.cpp
    A offload/test/offloading/target_critical_region.cpp
    A offload/test/offloading/target_depend_nowait.cpp
    A offload/test/offloading/target_map_for_member_data.cpp
    A offload/test/offloading/target_nowait_target.cpp
    A offload/test/offloading/task_in_reduction_target.c
    A offload/test/offloading/taskloop_offload_nowait.cpp
    A offload/test/offloading/test_libc.cpp
    A offload/test/offloading/thread_limit.c
    A offload/test/offloading/thread_state_1.c
    A offload/test/offloading/thread_state_2.c
    A offload/test/offloading/weak.c
    A offload/test/offloading/workshare_chunk.c
    A offload/test/offloading/wtime.c
    A offload/test/ompt/callbacks.h
    A offload/test/ompt/register_both.h
    A offload/test/ompt/register_emi.h
    A offload/test/ompt/register_emi_map.h
    A offload/test/ompt/register_no_device_init.h
    A offload/test/ompt/register_non_emi.h
    A offload/test/ompt/register_non_emi_map.h
    A offload/test/ompt/register_wrong_return.h
    A offload/test/ompt/target_memcpy.c
    A offload/test/ompt/target_memcpy_emi.c
    A offload/test/ompt/veccopy.c
    A offload/test/ompt/veccopy_data.c
    A offload/test/ompt/veccopy_disallow_both.c
    A offload/test/ompt/veccopy_emi.c
    A offload/test/ompt/veccopy_emi_map.c
    A offload/test/ompt/veccopy_map.c
    A offload/test/ompt/veccopy_no_device_init.c
    A offload/test/ompt/veccopy_wrong_return.c
    A offload/test/unified_shared_memory/api.c
    A offload/test/unified_shared_memory/associate_ptr.c
    A offload/test/unified_shared_memory/close_enter_exit.c
    A offload/test/unified_shared_memory/close_manual.c
    A offload/test/unified_shared_memory/close_member.c
    A offload/test/unified_shared_memory/close_modifier.c
    A offload/test/unified_shared_memory/shared_update.c
    A offload/tools/CMakeLists.txt
    A offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-omp-device-info.cpp
    A offload/tools/kernelreplay/CMakeLists.txt
    A offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    A offload/unittests/CMakeLists.txt
    A offload/unittests/Plugins/CMakeLists.txt
    A offload/unittests/Plugins/NextgenPluginsTest.cpp
    A offload/utils/generate_microtask_cases.py
    M openmp/CMakeLists.txt
    R openmp/libomptarget/CMakeLists.txt
    R openmp/libomptarget/DeviceRTL/CMakeLists.txt
    R openmp/libomptarget/DeviceRTL/include/Allocator.h
    R openmp/libomptarget/DeviceRTL/include/Configuration.h
    R openmp/libomptarget/DeviceRTL/include/Debug.h
    R openmp/libomptarget/DeviceRTL/include/Interface.h
    R openmp/libomptarget/DeviceRTL/include/LibC.h
    R openmp/libomptarget/DeviceRTL/include/Mapping.h
    R openmp/libomptarget/DeviceRTL/include/State.h
    R openmp/libomptarget/DeviceRTL/include/Synchronization.h
    R openmp/libomptarget/DeviceRTL/include/Types.h
    R openmp/libomptarget/DeviceRTL/include/Utils.h
    R openmp/libomptarget/DeviceRTL/include/generated_microtask_cases.gen
    R openmp/libomptarget/DeviceRTL/src/Allocator.cpp
    R openmp/libomptarget/DeviceRTL/src/Configuration.cpp
    R openmp/libomptarget/DeviceRTL/src/Debug.cpp
    R openmp/libomptarget/DeviceRTL/src/Kernel.cpp
    R openmp/libomptarget/DeviceRTL/src/LibC.cpp
    R openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    R openmp/libomptarget/DeviceRTL/src/Misc.cpp
    R openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
    R openmp/libomptarget/DeviceRTL/src/Reduction.cpp
    R openmp/libomptarget/DeviceRTL/src/State.cpp
    R openmp/libomptarget/DeviceRTL/src/Stub.cpp
    R openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
    R openmp/libomptarget/DeviceRTL/src/Tasking.cpp
    R openmp/libomptarget/DeviceRTL/src/Utils.cpp
    R openmp/libomptarget/DeviceRTL/src/Workshare.cpp
    R openmp/libomptarget/DeviceRTL/src/exports
    R openmp/libomptarget/README.txt
    R openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
    R openmp/libomptarget/cmake/Modules/LibomptargetUtils.cmake
    R openmp/libomptarget/docs/declare_target_indirect.md
    R openmp/libomptarget/include/DeviceImage.h
    R openmp/libomptarget/include/ExclusiveAccess.h
    R openmp/libomptarget/include/OffloadEntry.h
    R openmp/libomptarget/include/OffloadPolicy.h
    R openmp/libomptarget/include/OpenMP/InternalTypes.h
    R openmp/libomptarget/include/OpenMP/InteropAPI.h
    R openmp/libomptarget/include/OpenMP/Mapping.h
    R openmp/libomptarget/include/OpenMP/OMPT/Callback.h
    R openmp/libomptarget/include/OpenMP/OMPT/Connector.h
    R openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    R openmp/libomptarget/include/OpenMP/omp.h
    R openmp/libomptarget/include/PluginManager.h
    R openmp/libomptarget/include/Shared/APITypes.h
    R openmp/libomptarget/include/Shared/Debug.h
    R openmp/libomptarget/include/Shared/Environment.h
    R openmp/libomptarget/include/Shared/EnvironmentVar.h
    R openmp/libomptarget/include/Shared/PluginAPI.h
    R openmp/libomptarget/include/Shared/PluginAPI.inc
    R openmp/libomptarget/include/Shared/Profile.h
    R openmp/libomptarget/include/Shared/Requirements.h
    R openmp/libomptarget/include/Shared/SourceInfo.h
    R openmp/libomptarget/include/Shared/Utils.h
    R openmp/libomptarget/include/Utils/ExponentialBackoff.h
    R openmp/libomptarget/include/device.h
    R openmp/libomptarget/include/omptarget.h
    R openmp/libomptarget/include/rtl.h
    R openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    R openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    R openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    R openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
    R openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    R openmp/libomptarget/plugins-nextgen/common/include/JIT.h
    R openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
    R openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    R openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    R openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
    R openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    R openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    R openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/exports
    R openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
    R openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
    R openmp/libomptarget/src/CMakeLists.txt
    R openmp/libomptarget/src/DeviceImage.cpp
    R openmp/libomptarget/src/LegacyAPI.cpp
    R openmp/libomptarget/src/OffloadRTL.cpp
    R openmp/libomptarget/src/OpenMP/API.cpp
    R openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    R openmp/libomptarget/src/OpenMP/Mapping.cpp
    R openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
    R openmp/libomptarget/src/PluginManager.cpp
    R openmp/libomptarget/src/device.cpp
    R openmp/libomptarget/src/exports
    R openmp/libomptarget/src/interface.cpp
    R openmp/libomptarget/src/omptarget.cpp
    R openmp/libomptarget/src/private.h
    R openmp/libomptarget/test/CMakeLists.txt
    R openmp/libomptarget/test/Inputs/basic_array.f90
    R openmp/libomptarget/test/Inputs/declare_indirect_func.c
    R openmp/libomptarget/test/api/assert.c
    R openmp/libomptarget/test/api/is_initial_device.c
    R openmp/libomptarget/test/api/omp_device_managed_memory.c
    R openmp/libomptarget/test/api/omp_device_managed_memory_alloc.c
    R openmp/libomptarget/test/api/omp_device_memory.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_amdgpu.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed.inc
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
    R openmp/libomptarget/test/api/omp_env_vars.c
    R openmp/libomptarget/test/api/omp_get_device_num.c
    R openmp/libomptarget/test/api/omp_get_mapped_ptr.c
    R openmp/libomptarget/test/api/omp_get_num_devices.c
    R openmp/libomptarget/test/api/omp_get_num_devices_with_empty_target.c
    R openmp/libomptarget/test/api/omp_get_num_procs.c
    R openmp/libomptarget/test/api/omp_host_pinned_memory.c
    R openmp/libomptarget/test/api/omp_host_pinned_memory_alloc.c
    R openmp/libomptarget/test/api/omp_indirect_call.c
    R openmp/libomptarget/test/api/omp_target_memcpy_async1.c
    R openmp/libomptarget/test/api/omp_target_memcpy_async2.c
    R openmp/libomptarget/test/api/omp_target_memcpy_rect_async1.c
    R openmp/libomptarget/test/api/omp_target_memcpy_rect_async2.c
    R openmp/libomptarget/test/api/omp_target_memset.c
    R openmp/libomptarget/test/api/ompx_3d.c
    R openmp/libomptarget/test/api/ompx_3d.cpp
    R openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
    R openmp/libomptarget/test/api/ompx_sync.c
    R openmp/libomptarget/test/api/ompx_sync.cpp
    R openmp/libomptarget/test/env/base_ptr_ref_count.c
    R openmp/libomptarget/test/env/omp_target_debug.c
    R openmp/libomptarget/test/jit/empty_kernel.inc
    R openmp/libomptarget/test/jit/empty_kernel_lvl1.c
    R openmp/libomptarget/test/jit/empty_kernel_lvl2.c
    R openmp/libomptarget/test/jit/type_punning.c
    R openmp/libomptarget/test/libc/assert.c
    R openmp/libomptarget/test/libc/fwrite.c
    R openmp/libomptarget/test/libc/global_ctor_dtor.cpp
    R openmp/libomptarget/test/libc/host_call.c
    R openmp/libomptarget/test/libc/malloc.c
    R openmp/libomptarget/test/libc/puts.c
    R openmp/libomptarget/test/lit.cfg
    R openmp/libomptarget/test/lit.site.cfg.in
    R openmp/libomptarget/test/mapping/alloc_fail.c
    R openmp/libomptarget/test/mapping/array_section_implicit_capture.c
    R openmp/libomptarget/test/mapping/array_section_use_device_ptr.c
    R openmp/libomptarget/test/mapping/auto_zero_copy.cpp
    R openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
    R openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
    R openmp/libomptarget/test/mapping/data_absent_at_exit.c
    R openmp/libomptarget/test/mapping/data_member_ref.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_api.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_var.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_mappers.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_data.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_data_enter_exit.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_update.cpp
    R openmp/libomptarget/test/mapping/delete_inf_refcount.c
    R openmp/libomptarget/test/mapping/device_ptr_update.c
    R openmp/libomptarget/test/mapping/firstprivate_aligned.cpp
    R openmp/libomptarget/test/mapping/has_device_addr.cpp
    R openmp/libomptarget/test/mapping/implicit_device_ptr.c
    R openmp/libomptarget/test/mapping/is_device_ptr.cpp
    R openmp/libomptarget/test/mapping/lambda_by_value.cpp
    R openmp/libomptarget/test/mapping/lambda_mapping.cpp
    R openmp/libomptarget/test/mapping/low_alignment.c
    R openmp/libomptarget/test/mapping/map_back_race.cpp
    R openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    R openmp/libomptarget/test/mapping/ompx_hold/struct.c
    R openmp/libomptarget/test/mapping/ompx_hold/target-data.c
    R openmp/libomptarget/test/mapping/ompx_hold/target.c
    R openmp/libomptarget/test/mapping/padding_not_mapped.c
    R openmp/libomptarget/test/mapping/power_of_two_alignment.c
    R openmp/libomptarget/test/mapping/pr38704.c
    R openmp/libomptarget/test/mapping/prelock.cpp
    R openmp/libomptarget/test/mapping/present/target.c
    R openmp/libomptarget/test/mapping/present/target_array_extension.c
    R openmp/libomptarget/test/mapping/present/target_data.c
    R openmp/libomptarget/test/mapping/present/target_data_array_extension.c
    R openmp/libomptarget/test/mapping/present/target_data_at_exit.c
    R openmp/libomptarget/test/mapping/present/target_enter_data.c
    R openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
    R openmp/libomptarget/test/mapping/present/target_exit_data_release.c
    R openmp/libomptarget/test/mapping/present/target_update.c
    R openmp/libomptarget/test/mapping/present/target_update_array_extension.c
    R openmp/libomptarget/test/mapping/present/unified_shared_memory.c
    R openmp/libomptarget/test/mapping/present/zero_length_array_section.c
    R openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
    R openmp/libomptarget/test/mapping/private_mapping.c
    R openmp/libomptarget/test/mapping/ptr_and_obj_motion.c
    R openmp/libomptarget/test/mapping/reduction_implicit_map.cpp
    R openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
    R openmp/libomptarget/test/mapping/target_derefence_array_pointrs.cpp
    R openmp/libomptarget/test/mapping/target_has_device_addr.c
    R openmp/libomptarget/test/mapping/target_implicit_partial_map.c
    R openmp/libomptarget/test/mapping/target_map_for_member_data.cpp
    R openmp/libomptarget/test/mapping/target_pointers_members_map.cpp
    R openmp/libomptarget/test/mapping/target_update_array_extension.c
    R openmp/libomptarget/test/mapping/target_use_device_addr.c
    R openmp/libomptarget/test/mapping/target_uses_allocator.c
    R openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
    R openmp/libomptarget/test/offloading/assert.cpp
    R openmp/libomptarget/test/offloading/atomic-compare-signedness.c
    R openmp/libomptarget/test/offloading/back2back_distribute.c
    R openmp/libomptarget/test/offloading/barrier_fence.c
    R openmp/libomptarget/test/offloading/bug47654.cpp
    R openmp/libomptarget/test/offloading/bug49021.cpp
    R openmp/libomptarget/test/offloading/bug49334.cpp
    R openmp/libomptarget/test/offloading/bug49779.cpp
    R openmp/libomptarget/test/offloading/bug50022.cpp
    R openmp/libomptarget/test/offloading/bug51781.c
    R openmp/libomptarget/test/offloading/bug51982.c
    R openmp/libomptarget/test/offloading/bug53727.cpp
    R openmp/libomptarget/test/offloading/bug64959.c
    R openmp/libomptarget/test/offloading/bug64959_compile_only.c
    R openmp/libomptarget/test/offloading/bug74582.c
    R openmp/libomptarget/test/offloading/complex_reduction.cpp
    R openmp/libomptarget/test/offloading/ctor_dtor.cpp
    R openmp/libomptarget/test/offloading/cuda_no_devices.c
    R openmp/libomptarget/test/offloading/d2d_memcpy.c
    R openmp/libomptarget/test/offloading/d2d_memcpy_sync.c
    R openmp/libomptarget/test/offloading/default_thread_limit.c
    R openmp/libomptarget/test/offloading/dynamic_module.c
    R openmp/libomptarget/test/offloading/dynamic_module_load.c
    R openmp/libomptarget/test/offloading/extern.c
    R openmp/libomptarget/test/offloading/force-usm.cpp
    R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90
    R openmp/libomptarget/test/offloading/fortran/basic_array.c
    R openmp/libomptarget/test/offloading/fortran/basic_target_region.f90
    R openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90
    R openmp/libomptarget/test/offloading/fortran/declare-target-vars-in-target-region.f90
    R openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-derived-type-full-1.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-derived-type-full-2.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-scopes.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    R openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90
    R openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90
    R openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90
    R openmp/libomptarget/test/offloading/fortran/target_update.f90
    R openmp/libomptarget/test/offloading/generic_multiple_parallel_regions.c
    R openmp/libomptarget/test/offloading/global_constructor.cpp
    R openmp/libomptarget/test/offloading/host_as_target.c
    R openmp/libomptarget/test/offloading/indirect_fp_mapping.c
    R openmp/libomptarget/test/offloading/info.c
    R openmp/libomptarget/test/offloading/interop.c
    R openmp/libomptarget/test/offloading/lone_target_exit_data.c
    R openmp/libomptarget/test/offloading/looptripcnt.c
    R openmp/libomptarget/test/offloading/malloc.c
    R openmp/libomptarget/test/offloading/malloc_parallel.c
    R openmp/libomptarget/test/offloading/mandatory_but_no_devices.c
    R openmp/libomptarget/test/offloading/memory_manager.cpp
    R openmp/libomptarget/test/offloading/multiple_reductions_simple.c
    R openmp/libomptarget/test/offloading/non_contiguous_update.cpp
    R openmp/libomptarget/test/offloading/offloading_success.c
    R openmp/libomptarget/test/offloading/offloading_success.cpp
    R openmp/libomptarget/test/offloading/ompx_bare.c
    R openmp/libomptarget/test/offloading/ompx_coords.c
    R openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
    R openmp/libomptarget/test/offloading/parallel_offloading_map.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_max.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_min.cpp
    R openmp/libomptarget/test/offloading/requires.c
    R openmp/libomptarget/test/offloading/runtime_init.c
    R openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
    R openmp/libomptarget/test/offloading/small_trip_count.c
    R openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
    R openmp/libomptarget/test/offloading/spmdization.c
    R openmp/libomptarget/test/offloading/static_linking.c
    R openmp/libomptarget/test/offloading/std_complex_arithmetic.cpp
    R openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp
    R openmp/libomptarget/test/offloading/target-teams-atomic.c
    R openmp/libomptarget/test/offloading/target-tile.c
    R openmp/libomptarget/test/offloading/target_constexpr_mapping.cpp
    R openmp/libomptarget/test/offloading/target_critical_region.cpp
    R openmp/libomptarget/test/offloading/target_depend_nowait.cpp
    R openmp/libomptarget/test/offloading/target_map_for_member_data.cpp
    R openmp/libomptarget/test/offloading/target_nowait_target.cpp
    R openmp/libomptarget/test/offloading/task_in_reduction_target.c
    R openmp/libomptarget/test/offloading/taskloop_offload_nowait.cpp
    R openmp/libomptarget/test/offloading/test_libc.cpp
    R openmp/libomptarget/test/offloading/thread_limit.c
    R openmp/libomptarget/test/offloading/thread_state_1.c
    R openmp/libomptarget/test/offloading/thread_state_2.c
    R openmp/libomptarget/test/offloading/weak.c
    R openmp/libomptarget/test/offloading/workshare_chunk.c
    R openmp/libomptarget/test/offloading/wtime.c
    R openmp/libomptarget/test/ompt/callbacks.h
    R openmp/libomptarget/test/ompt/register_both.h
    R openmp/libomptarget/test/ompt/register_emi.h
    R openmp/libomptarget/test/ompt/register_emi_map.h
    R openmp/libomptarget/test/ompt/register_no_device_init.h
    R openmp/libomptarget/test/ompt/register_non_emi.h
    R openmp/libomptarget/test/ompt/register_non_emi_map.h
    R openmp/libomptarget/test/ompt/register_wrong_return.h
    R openmp/libomptarget/test/ompt/target_memcpy.c
    R openmp/libomptarget/test/ompt/target_memcpy_emi.c
    R openmp/libomptarget/test/ompt/veccopy.c
    R openmp/libomptarget/test/ompt/veccopy_data.c
    R openmp/libomptarget/test/ompt/veccopy_disallow_both.c
    R openmp/libomptarget/test/ompt/veccopy_emi.c
    R openmp/libomptarget/test/ompt/veccopy_emi_map.c
    R openmp/libomptarget/test/ompt/veccopy_map.c
    R openmp/libomptarget/test/ompt/veccopy_no_device_init.c
    R openmp/libomptarget/test/ompt/veccopy_wrong_return.c
    R openmp/libomptarget/test/unified_shared_memory/api.c
    R openmp/libomptarget/test/unified_shared_memory/associate_ptr.c
    R openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c
    R openmp/libomptarget/test/unified_shared_memory/close_manual.c
    R openmp/libomptarget/test/unified_shared_memory/close_member.c
    R openmp/libomptarget/test/unified_shared_memory/close_modifier.c
    R openmp/libomptarget/test/unified_shared_memory/shared_update.c
    R openmp/libomptarget/tools/CMakeLists.txt
    R openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
    R openmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp
    R openmp/libomptarget/tools/kernelreplay/CMakeLists.txt
    R openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    R openmp/libomptarget/unittests/CMakeLists.txt
    R openmp/libomptarget/unittests/Plugins/CMakeLists.txt
    R openmp/libomptarget/unittests/Plugins/NextgenPluginsTest.cpp
    R openmp/libomptarget/utils/generate_microtask_cases.py
    M openmp/runtime/src/CMakeLists.txt
    M runtimes/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/1ffa70413655...7e1fc15a6c83

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list