[all-commits] [llvm/llvm-project] 984384: SelectionDAG: Do not propagate divergence through ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Aug 1 14:29:21 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slprepresent-externally-used-values-as-original-scalars-if
  Home:   https://github.com/llvm/llvm-project
  Commit: 9843843c88f6cd8fa68c301ba751c001c254cb63
      https://github.com/llvm/llvm-project/commit/9843843c88f6cd8fa68c301ba751c001c254cb63
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.ll
    M llvm/test/CodeGen/AMDGPU/sdag-print-divergence.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  SelectionDAG: Do not propagate divergence through copy glue (#101210)

This fixes DAG divergence mishandling inline asm.

This was considering the glue nodes for divergence, when the
divergence should only come from the individual CopyFromRegs
that are glued. As a result, having any VGPR CopyFromRegs would
taint any uniform SGPR copies as divergent, resulting in SGPR
copies to VGPR virtual registers later.


  Commit: 245e6070daa191b1fc6ce05d8fc38a74f918159a
      https://github.com/llvm/llvm-project/commit/245e6070daa191b1fc6ce05d8fc38a74f918159a
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopSink.cpp

  Log Message:
  -----------
  [LoopSink] Exit loop finding BBs to sink into early when possible (NFC) (#101115)

As noted in the comments, findBBsToSinkInto is
   O(UseBBs.size() * ColdLoopBBs.size())

A very large function with a huge loop was incurring a high compile time
in this code. The size of the ColdLoopBBs set was over 14K. There is a
limit on the size of the UseBBs set, but not the ColdLoopBBs (and adding
a limit for the latter actually slowed down some later passes).

This change exits the loop early once we detect that there is no further
refinement possible for the BBsToSinkInto set. This is possible because
the ColdLoopBBs set is sorted in ascending magnitude of frequency.

This cut down the LoopSinkPass time by around 33% (78s to just over
50s).


  Commit: 4ad2628ec9bf492f7c2ad4a9ada835d06b1a55e7
      https://github.com/llvm/llvm-project/commit/4ad2628ec9bf492f7c2ad4a9ada835d06b1a55e7
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M libc/fuzzing/stdlib/CMakeLists.txt
    A libc/fuzzing/stdlib/heap_sort_fuzz.cpp

  Log Message:
  -----------
  [libc] fuzz test for heap_sort (#100826)

Made a fuzz test for heap_sort based off of qsort_fuzz implementation


  Commit: 8364a6e108faea1a6f05f7bb53720a6fc101fed2
      https://github.com/llvm/llvm-project/commit/8364a6e108faea1a6f05f7bb53720a6fc101fed2
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  [libc] Switch ON for New HeaderGen (#100044)

Turned option to use New HeaderGen when building libc to ON


  Commit: f70f1228035c9610de38e0e376afdacb647c4ad9
      https://github.com/llvm/llvm-project/commit/f70f1228035c9610de38e0e376afdacb647c4ad9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll

  Log Message:
  -----------
  [SLP]Fix PR101213: Reuse extractelement, only if its vector operand comes before new vector value.

When trying to reuse extractelement instruction, need to check that it
is inserted into proper position. Its original vector operand should
come before new vector value, otherwise new extractelement instruction
must be generated.

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


  Commit: 89b67a640063189bbd727ade4c912f6e48fee5a0
      https://github.com/llvm/llvm-project/commit/89b67a640063189bbd727ade4c912f6e48fee5a0
  Author: David Green <david.green at arm.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll

  Log Message:
  -----------
  [SLP] Cluster SortedBases before sorting. (#101144)

In order to enforce a strict-weak ordering, this patch clusters the
bases that are being sorted by the root - the first value in a gep
chain. The sorting is then performed in each cluster.


  Commit: 9808f484534f503e9975d367082ff6933676ca20
      https://github.com/llvm/llvm-project/commit/9808f484534f503e9975d367082ff6933676ca20
  Author: Allan Shortlidge <tshortli at gmail.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/os_version_check.c
    M compiler-rt/test/builtins/TestCases/Darwin/platform_version_check_test.c

  Log Message:
  -----------
  [compiler-rt][builtins] Upstream __isPlatformOrVariantPlatformVersionAtLeast() (#100605)

Add `__isPlatformOrVariantPlatformVersionAtLeast()` which is used to
check OS version availability from zippered libraries on macOS. This
routine is needed for complete macCatalyst support in the Swift
compiler.


  Commit: cdfd884b0ec698f86a321ba53dc4d9c0b0e930fa
      https://github.com/llvm/llvm-project/commit/cdfd884b0ec698f86a321ba53dc4d9c0b0e930fa
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/test/CodeGen/DirectX/abs.ll
    M llvm/test/CodeGen/DirectX/acos.ll
    M llvm/test/CodeGen/DirectX/acos_error.ll
    M llvm/test/CodeGen/DirectX/asin.ll
    M llvm/test/CodeGen/DirectX/asin_error.ll
    M llvm/test/CodeGen/DirectX/atan.ll
    M llvm/test/CodeGen/DirectX/atan_error.ll
    M llvm/test/CodeGen/DirectX/ceil.ll
    M llvm/test/CodeGen/DirectX/ceil_error.ll
    M llvm/test/CodeGen/DirectX/clamp.ll
    M llvm/test/CodeGen/DirectX/comput_ids.ll
    M llvm/test/CodeGen/DirectX/cos.ll
    M llvm/test/CodeGen/DirectX/cos_error.ll
    M llvm/test/CodeGen/DirectX/cosh.ll
    M llvm/test/CodeGen/DirectX/cosh_error.ll
    M llvm/test/CodeGen/DirectX/dot2_error.ll
    M llvm/test/CodeGen/DirectX/dot3_error.ll
    M llvm/test/CodeGen/DirectX/dot4_error.ll
    M llvm/test/CodeGen/DirectX/exp.ll
    M llvm/test/CodeGen/DirectX/exp2_error.ll
    M llvm/test/CodeGen/DirectX/fabs.ll
    M llvm/test/CodeGen/DirectX/fdot.ll
    A llvm/test/CodeGen/DirectX/flattened_thread_id_in_group_error.ll
    M llvm/test/CodeGen/DirectX/floor.ll
    M llvm/test/CodeGen/DirectX/floor_error.ll
    M llvm/test/CodeGen/DirectX/fmax.ll
    M llvm/test/CodeGen/DirectX/fmin.ll
    M llvm/test/CodeGen/DirectX/frac_error.ll
    A llvm/test/CodeGen/DirectX/group_id_error.ll
    M llvm/test/CodeGen/DirectX/idot.ll
    M llvm/test/CodeGen/DirectX/isinf.ll
    M llvm/test/CodeGen/DirectX/isinf_error.ll
    M llvm/test/CodeGen/DirectX/log.ll
    M llvm/test/CodeGen/DirectX/log10.ll
    M llvm/test/CodeGen/DirectX/log2.ll
    M llvm/test/CodeGen/DirectX/log2_error.ll
    M llvm/test/CodeGen/DirectX/pow.ll
    M llvm/test/CodeGen/DirectX/reversebits.ll
    M llvm/test/CodeGen/DirectX/round.ll
    M llvm/test/CodeGen/DirectX/round_error.ll
    M llvm/test/CodeGen/DirectX/rsqrt.ll
    M llvm/test/CodeGen/DirectX/rsqrt_error.ll
    M llvm/test/CodeGen/DirectX/sin.ll
    M llvm/test/CodeGen/DirectX/sin_error.ll
    A llvm/test/CodeGen/DirectX/sin_no_stage_error.ll
    M llvm/test/CodeGen/DirectX/sinh.ll
    M llvm/test/CodeGen/DirectX/sinh_error.ll
    M llvm/test/CodeGen/DirectX/smax.ll
    M llvm/test/CodeGen/DirectX/smin.ll
    M llvm/test/CodeGen/DirectX/sqrt.ll
    M llvm/test/CodeGen/DirectX/sqrt_error.ll
    M llvm/test/CodeGen/DirectX/tan.ll
    M llvm/test/CodeGen/DirectX/tan_error.ll
    M llvm/test/CodeGen/DirectX/tanh.ll
    M llvm/test/CodeGen/DirectX/tanh_error.ll
    A llvm/test/CodeGen/DirectX/thread_id_error.ll
    A llvm/test/CodeGen/DirectX/thread_id_in_group_error.ll
    M llvm/test/CodeGen/DirectX/trunc.ll
    M llvm/test/CodeGen/DirectX/trunc_error.ll
    M llvm/test/CodeGen/DirectX/umax.ll
    M llvm/test/CodeGen/DirectX/umin.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DXIL] Add DXIL version-specific TableGen specification and implementation of DXIL Ops (#97593)

Update TableGen specification of DXIL Op records in DXIL.td per the
current design document.

- Facilitate specification of overloads, shader stage and attributes
predicated on DXIL Ops predicated DXIL version.

Implement functionality to consume in TableGen backend, DXILEmitter, the
above specification enhancements, and generate C++ code (in
(DXILOperations.inc) that represents properties of DXIL Ops, associated
type declarations and corresponding accessor functions.

Changes to DXIL Op Lowering pass to consume the DXIL Op representation
generated by the TableGen back end.

Add mtriple with the required shader model version to commandline of
tests.


  Commit: d9c85338ea9baa0290725e36c5ba548347a57e18
      https://github.com/llvm/llvm-project/commit/d9c85338ea9baa0290725e36c5ba548347a57e18
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Linalg] Add a pattern to fold concats of fill. (#98995)

If a concat has all its operands as just fills, and the values match,
then the fill could happen on the concatenated values of the `outs`
operands.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 76a15e5fc1af921de229190f3ca6189fcdd28277
      https://github.com/llvm/llvm-project/commit/76a15e5fc1af921de229190f3ca6189fcdd28277
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Keep all the setOperationActions for the same types and opcodes together.

Some of XCV subtarget checks were in their own area.


  Commit: 4eb5450f630849ee0518487de38d857fbe5b1aee
      https://github.com/llvm/llvm-project/commit/4eb5450f630849ee0518487de38d857fbe5b1aee
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCSection.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  Revert "[MC] Compute fragment offsets eagerly"

This reverts commit 1a47f3f3db66589c11f8ddacfeaecc03fb80c510.

Fix #100283

This commit is actually a trigger of other preexisting problems:

* Size change of fill fragments does not influence the fixed-point iteration.
* The `invalid number of bytes` error is reported too early. Since
  `.zero A-B` might have temporary negative values in the first few
  iterations.

However, the problems appeared at least "benign" (did not affect the
Linux kernel builds) before this commit.


  Commit: 6c7557d44139e335c037c644545388c7e7d6a2e4
      https://github.com/llvm/llvm-project/commit/6c7557d44139e335c037c644545388c7e7d6a2e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

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

  Log Message:
  -----------
  [DXIL] Fix -Wunused-but-set-variable after #97593


  Commit: a6ef0864e9cf365a5cc4a3c39c9c749c49c87c1d
      https://github.com/llvm/llvm-project/commit/a6ef0864e9cf365a5cc4a3c39c9c749c49c87c1d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    R llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll

  Log Message:
  -----------
  Revert "[SLP]Fix PR101213: Reuse extractelement, only if its vector operand comes before new vector value."

This reverts commit f70f1228035c9610de38e0e376afdacb647c4ad9 to fix the
crash reported by https://lab.llvm.org/buildbot/#/builders/133/builds/2456.


  Commit: e59c8322632d9e6c9a56d9dfbaf79b4c4ba05bfa
      https://github.com/llvm/llvm-project/commit/e59c8322632d9e6c9a56d9dfbaf79b4c4ba05bfa
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement BitCastInst (#101227)

This patch implements sandboxir::BitCastInst which mirrors
llvm::BitCastInst.


  Commit: 273e74b4458fa0d11cafb31b5b2164a8d2006541
      https://github.com/llvm/llvm-project/commit/273e74b4458fa0d11cafb31b5b2164a8d2006541
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LCSSA.cpp

  Log Message:
  -----------
  [LCSSA] Cache the loop exit blocks across recursive analysis (NFC) (#101087)

The computation of loop exit blocks recently showed up as a huge compile
time cost for a large file. This computation was already being cached
during an invocation of formLCSSAForInstructions, but can also be cached
across callers formLCSSA and formLCSSARecursively (the latter was what
was being invoked in the examined case).

Since each of these functions has an external entry point invoked from
other passes, doing so required refactoring each into a worker mechanism
that takes a LoopExitBlocks map, and the externally callable version
that declares the map. That way we can pass it down from the outermost
formLCSSARecursively.

This reduced the time spent in the LCSSA pass from ~110s to ~1s.


  Commit: c69ed8a3122569a65cd54d8e0d5ef9431f160245
      https://github.com/llvm/llvm-project/commit/c69ed8a3122569a65cd54d8e0d5ef9431f160245
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps4-linker.c

  Log Message:
  -----------
  [PS4][Driver] Only pass -lto-debug-options to linker when necessary (#101202)

The PS4 linker doesn't accept an empty LTO options string. Passing
nothing is also consistent with other drivers.

SIE tracker: TOOLCHAIN-16575


  Commit: 3ab0e958cc9338a8435ae29f9d381395aaba03c6
      https://github.com/llvm/llvm-project/commit/3ab0e958cc9338a8435ae29f9d381395aaba03c6
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M polly/lib/Analysis/ScopBuilder.cpp

  Log Message:
  -----------
  [polly] Remove unused variable in ScopBuilder.cpp (NFC)

/llvm-project/polly/lib/Analysis/ScopBuilder.cpp:2725:18:
error: unused variable 'DT' [-Werror,-Wunused-variable]
  DominatorTree *DT = Stmt.getParent()->getDT();
                 ^
1 error generated.


  Commit: 6b1d13761ac0c9857763e5f4c0ae554f076dd9b7
      https://github.com/llvm/llvm-project/commit/6b1d13761ac0c9857763e5f4c0ae554f076dd9b7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll

  Log Message:
  -----------
  [SLP]Fix PR101213: Reuse extractelement, only if its vector operand comes before new vector value.

When trying to reuse extractelement instruction, need to check that it
is inserted into proper position. Its original vector operand should
come before new vector value, otherwise new extractelement instruction
must be generated.

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


  Commit: 39e192b379362e9e645427631c35450d55ed517d
      https://github.com/llvm/llvm-project/commit/39e192b379362e9e645427631c35450d55ed517d
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Support/Windows/Process.inc
    M llvm/lib/Support/Windows/Signals.inc

  Log Message:
  -----------
  [Support] Silence warnings when retrieving exported functions (#97905)

Since functions exported from DLLs are type-erased, before this patch I
was seeing the new Clang 19 warning `-Wcast-function-type-mismatch`.

This happens when building LLVM on Windows.

Following discussion in
https://github.com/llvm/llvm-project/commit/593f708118aef792f434185547f74fedeaf51dd4#commitcomment-143905744


  Commit: 99fb40d488c9d53dc1dfa0a1791f690523d7e50a
      https://github.com/llvm/llvm-project/commit/99fb40d488c9d53dc1dfa0a1791f690523d7e50a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    R llvm/test/CodeGen/RISCV/rvv/mask-exts-truncs-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/mask-exts-truncs-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/mask-exts-truncs.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.s.x-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.s.x-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.v-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.v-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.x-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.x-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.x.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.x.s-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.x.s-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.x.s.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgather-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgather-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vrgather.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgatherei16-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgatherei16-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1down-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1down-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vslide1down.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1up-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1up-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vslide1up.ll

  Log Message:
  -----------
  [RISCV] Merge more rv32/rv64 intrtinsic tests that have (or should have) the same content. NFC

We weren't testing i64 vrgather.vv on rv32.


  Commit: 12189f800585ab459afa20b4f159db93ae474b57
      https://github.com/llvm/llvm-project/commit/12189f800585ab459afa20b4f159db93ae474b57
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir

  Log Message:
  -----------
  [mlir][sparse] introduce `sparse_tensor.extract_value` operation. (#101219)


  Commit: ebdcb76d1a3b6d8fed06c91c0a318f07f4bca628
      https://github.com/llvm/llvm-project/commit/ebdcb76d1a3b6d8fed06c91c0a318f07f4bca628
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/src/math/CMakeLists.txt

  Log Message:
  -----------
  [libc] Only link in the appropriate architecture's device libs


  Commit: 546e4a210cb23e24a8086532c007280cb8ad3f13
      https://github.com/llvm/llvm-project/commit/546e4a210cb23e24a8086532c007280cb8ad3f13
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/setpayload.cpp
    A libc/src/math/generic/setpayloadf.cpp
    A libc/src/math/generic/setpayloadf128.cpp
    A libc/src/math/setpayload.h
    A libc/src/math/setpayloadf.h
    A libc/src/math/setpayloadf128.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/setpayload_test.cpp
    A libc/test/src/math/smoke/setpayloadf128_test.cpp
    A libc/test/src/math/smoke/setpayloadf_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add entrypoints and tests for setpayload{,f,f128} (#101122)


  Commit: 79dcd93b70e1e36fea43b1bb297b98299bbbf612
      https://github.com/llvm/llvm-project/commit/79dcd93b70e1e36fea43b1bb297b98299bbbf612
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/debug-fission-single.s
    R bolt/test/X86/dwarf4-ftypes-dwo-input-dwp-output.test
    R bolt/test/X86/dwarf4-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
    M bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
    R bolt/test/X86/dwarf5-ftypes-dwo-mono-input-dwp-output.test

  Log Message:
  -----------
  [BOLT][DWARF] Remove option to write to DWP (#100771)

Remove the --write-dwp option as well as related code and tests.


  Commit: a982cabea3cfbf456a01ed85499fa7dfc7ec18c7
      https://github.com/llvm/llvm-project/commit/a982cabea3cfbf456a01ed85499fa7dfc7ec18c7
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M clang/cmake/modules/AddClang.cmake
    M lldb/cmake/modules/AddLLDB.cmake
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [cmake][llvm] Limit the number of Xcode schemes created by default (#101243)

CMake -GXcode would otherwise offer to create one scheme for each
target, which ends up being a lot. For now, limit the default to the
`check-*` LIT targets, plus `ALL_BUILD` and `install`.

For targets that aren't in the default list, we now have a configuration
variable to promote an extra list of targets into schemes, for example
`-DLLVM_XCODE_EXTRA_TARGET_SCHEMES="TargetParserTests;SupportTests"` to
add schemes for `TargetParserTests` and `SupportTests` respectively.


  Commit: 80c0e8d572d3b1c34d66faffc42bcfc9432583ec
      https://github.com/llvm/llvm-project/commit/80c0e8d572d3b1c34d66faffc42bcfc9432583ec
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/fp-strict-libcalls-msvc32.ll

  Log Message:
  -----------
  [x86][Windows] Fix chromium build break (#101268)

Windows does not support float C89 math functions like:
- acosf
- asinf
- atanf
- coshf
- sinhf
- tanhf 
All 6 are disabled in
[TargetLibraryInfo.cpp:293](https://github.com/llvm/llvm-project/blob/39e192b379362e9e645427631c35450d55ed517d/llvm/lib/Analysis/TargetLibraryInfo.cpp#L293C4-L296C41)
These 6 libfuncs need to be type promoted.

This PR fixes the bug introduced by
https://github.com/llvm/llvm-project/pull/98949


  Commit: 9589c128ae40df3e2277487544e693f3887f7d63
      https://github.com/llvm/llvm-project/commit/9589c128ae40df3e2277487544e693f3887f7d63
  Author: Allen <zhongyunde at huawei.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/math-libcalls-tbaa.c
    R clang/test/CodeGen/math-libcalls-tbaa.cpp

  Log Message:
  -----------
  [clang codegen] Emit int TBAA metadata on more FP math libcalls (#100302)

Follow #96025, except expf, more FP math libcalls in libm should also be
supported.

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


  Commit: cc01c83a4ab10fc5421e2121ea273ff1adb3e84c
      https://github.com/llvm/llvm-project/commit/cc01c83a4ab10fc5421e2121ea273ff1adb3e84c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    A llvm/test/MC/ELF/layout-interdependency2.s

  Log Message:
  -----------
  [MC,test] Add a stress test for layout algorithm

Reduced from #100283


  Commit: d2f77eb8ec620c8068fa471a1d7b9c9756da1913
      https://github.com/llvm/llvm-project/commit/d2f77eb8ec620c8068fa471a1d7b9c9756da1913
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll

  Log Message:
  -----------
  [MC/DC][Coverage] Introduce "Bitmap Bias" for continuous mode (#96126)

`counter_bias` is incompatible to Bitmap. The distance between Counters
and Bitmap is different between on-memory sections and profraw image.

Reference to `__llvm_profile_bitmap_bias` is generated only if
`-fcoverge-mcdc` `-runtime-counter-relocation` are specified. The
current implementation rejected their options.

```
Runtime counter relocation is presently not supported for MC/DC bitmaps
```


  Commit: 6aaf87021eda13727bfee690652cbbb9d1b3cdb2
      https://github.com/llvm/llvm-project/commit/6aaf87021eda13727bfee690652cbbb9d1b3cdb2
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc][math] fix header spec bug (#101273)


  Commit: c35c4c72e4977258fc1da940e0470e8d0671bf07
      https://github.com/llvm/llvm-project/commit/c35c4c72e4977258fc1da940e0470e8d0671bf07
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb] Reland 2402b3213c2f with `-H` to debug the windows build issue

This patch relands 2402b3213c2f to investigate the ambigious typedef
issue happening on the windows bots:

https://lab.llvm.org/buildbot/#/builders/141/builds/1175/

However this patch adds the `-H` compiler flag when building
the ScriptedProcessPythonInterface library to be able to investigate the
include order issue.

This patch will be revert after 1 failing run on the windows bot.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: be5a845e4c29aadb513ae6e5e2879dccf37efdbb
      https://github.com/llvm/llvm-project/commit/be5a845e4c29aadb513ae6e5e2879dccf37efdbb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCSection.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/test/MC/ELF/relax-recompute-align.s

  Log Message:
  -----------
  [MC] Compute fragment offsets eagerly

This builds on top of commit 9d0754ada5dbbc0c009bcc2f7824488419cc5530
("[MC] Relax fragments eagerly") and relaxes fragments eagerly to
eliminate MCSection::HasLayout and `getFragmentOffset` overhead. The
approach is slightly different from
1a47f3f3db66589c11f8ddacfeaecc03fb80c510 and has less performance
benefit.

The new layout algorithm also addresses the following problems:

* Size change of MCFillFragment/MCOrgFragment did not influence the
  fixed-point iteration, which could be problematic for contrived cases.
* The `invalid number of bytes` error was reported too early. Since
  `.zero A-B` might have temporary negative values in the first few
  iterations.
* X86AsmBackend::finishLayout performed only one iteration, which might
  not converge. In addition, the removed `#ifndef NDEBUG` code (disabled
  by default) in X86AsmBackend::finishLayout was problematic, as !NDEBUG
  and NDEBUG builds evaluated fragment offsets at different times before
  this patch.
* The computed layout for relax-recompute-align.s is optimal now.

Builds with many text sections (e.g. full LTO) shall observe a decrease
in compile time while the new algorithm could be slightly slower for
some -O0 -g projects.

Aligned bundling from the deprecated PNaCl placed constraints how we can
perform iteration.


  Commit: 891d89804b9a8a2be949aa2aca30acba9bc64ebb
      https://github.com/llvm/llvm-project/commit/891d89804b9a8a2be949aa2aca30acba9bc64ebb
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll

  Log Message:
  -----------
  Fixup (#96126) mcdc.ll for aarch64. align is not 8.


  Commit: 41003ff3fe344dee5c963d462a4bc6d528811d86
      https://github.com/llvm/llvm-project/commit/41003ff3fe344dee5c963d462a4bc6d528811d86
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Fetch composite actions outside of default workspace (#100845)

Otherwise, the checkout step will override them.


  Commit: 7231776a0218033ea81f73e69ca4bf66734d3117
      https://github.com/llvm/llvm-project/commit/7231776a0218033ea81f73e69ca4bf66734d3117
  Author: Julius Alexandre <juliuswoosebert at gmail.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/RISCV/avgflooru.ll
    A llvm/test/CodeGen/X86/avgflooru-i128.ll
    M llvm/test/CodeGen/X86/avgflooru-scalar.ll

  Log Message:
  -----------
  Recommit "[DAG] Reducing instructions by better legalization handling of AVGFLOORU for illegal data types" (#101223)

Previous reverted merge: https://github.com/llvm/llvm-project/pull/99913

Original message:
**Issue:** https://github.com/rust-lang/rust/issues/124790
**Previous PR:** https://github.com/llvm/llvm-project/pull/99614

https://rust.godbolt.org/z/T7eKP3Tvo

**Aarch64:** https://alive2.llvm.org/ce/z/dqr2Kg
**x86:** https://alive2.llvm.org/ce/z/ze88Hw


  Commit: fd6faee5b3b5a7c0e5e87aa0b5719a1a48159ea0
      https://github.com/llvm/llvm-project/commit/fd6faee5b3b5a7c0e5e87aa0b5719a1a48159ea0
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/test/Driver/x86-target-features.c
    M llvm/lib/Target/X86/X86Subtarget.cpp
    A llvm/test/CodeGen/X86/apx/i386-ndd.ll

  Log Message:
  -----------
  [Driver,CodeGen] Report error when enabling 64-bit-only features on non-64-bit arch (#101151)

In front-end, now we detect for `-mapx-features=/-mapxf` and `-muintr`,
which is aligned with GCC

https://gcc.gnu.org/bugzilla/attachment.cgi?id=58698&action=diff

In backend, we just disable these 64-bit-only features silently, so that
there is no error for
`-march=native -m32` on APX-supported arch.

llvm-issue: https://github.com/llvm/llvm-project/issues/94810
GCC thread: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115978


  Commit: f65fa5461dcbaf554babf10ca67ae8fea5b4da7e
      https://github.com/llvm/llvm-project/commit/f65fa5461dcbaf554babf10ca67ae8fea5b4da7e
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  Revert "[lldb] Reland 2402b3213c2f with `-H` to debug the windows build issue"

This reverts commit c35c4c72e4977258fc1da940e0470e8d0671bf07.


  Commit: e72cdae47b4e263ea97b2bdd75cf44c1510cf3be
      https://github.com/llvm/llvm-project/commit/e72cdae47b4e263ea97b2bdd75cf44c1510cf3be
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb] Reland 2402b3213c2f with `/H` to debug the windows build issue

This patch relands 2402b3213c2f to investigate the ambigious typedef
issue happening on the windows bots:

https://lab.llvm.org/buildbot/#/builders/141/builds/1175/

However this patch adds the `/H` compiler flag when building
the ScriptedProcessPythonInterface library to be able to investigate the
include order issue.

This patch will be revert after 1 failing run on the windows bot.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 57acabb8e09baa38b156965b2dc567a8c7eb2429
      https://github.com/llvm/llvm-project/commit/57acabb8e09baa38b156965b2dc567a8c7eb2429
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/test/Preprocessor/x86_target_features.c

  Log Message:
  -----------
  [Driver,X86] Update test Clang::Preprocessor/x86_target_features.c after #101151


  Commit: 7c1ddcd94e4bd5cfe34d5e1a6e4630ca2d526c36
      https://github.com/llvm/llvm-project/commit/7c1ddcd94e4bd5cfe34d5e1a6e4630ca2d526c36
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmerge.ll

  Log Message:
  -----------
  [RISCV] Remove isel patterns for riscv.vfmerge with vector-vector operands. (#101277)

The vfmerge intrinsic is only used by clang for vfmerge.vfm. vmerge.vvm
for both int and float should use the llvm.vmerge intrinsic.

This patch removes the vector-vector support for llvm.vfmerge and
updates the tests to test what clang really uses.


  Commit: 7a80c86726f7c37128bfee3618707c1607f5014d
      https://github.com/llvm/llvm-project/commit/7a80c86726f7c37128bfee3618707c1607f5014d
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/MC/MCContext.cpp

  Log Message:
  -----------
  [MC] Remove redundant null check, NFCI (#100928)

`getOrCreateSymbol` should never return a `nullptr`, add an assert and
remove the redundant null check in the if condition.


  Commit: ee1040b02adc95e376b295c4f59d30b991a8be9a
      https://github.com/llvm/llvm-project/commit/ee1040b02adc95e376b295c4f59d30b991a8be9a
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    A llvm/test/tools/llvm-objdump/BPF/disassemble-symbolize-operands.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-objdump][BPF] --symbolize-operands: infer local labels for BPF (#100550)

Enable local labels computation for BPF disassembly when
`--symbolize-operands` option is specified.
This relies on `MCInstrAnalysis::evaluateBranch()` method, which is
already defined in `BPFMCInstrAnalysis::evaluateBranch`.

After this change the assembly code below:

        if r1 > 42 goto +1
        r1 -= 10
        ...

Would be printed as:

        if r1 > 42 goto +1 <L0>
        r1 -= 10
      <L0>:
        ...

(when `--symbolize-operands` option is set).

See https://reviews.llvm.org/D84191 for the main part of the
`--symbolize-operands` implementation logic.


  Commit: 94da6bfb27dcff68bebd0d1ce1a61346c231ed64
      https://github.com/llvm/llvm-project/commit/94da6bfb27dcff68bebd0d1ce1a61346c231ed64
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILConstants.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Simplify DXIL_OP_INTRINSIC_MAP tablegen'ed code

Rather than generate a map with a known name, just define the mapping
so the code that uses it can do what it needs.

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


  Commit: 20d723e626befde6d1de66595ce37521cbde0538
      https://github.com/llvm/llvm-project/commit/20d723e626befde6d1de66595ce37521cbde0538
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingFile.c

  Log Message:
  -----------
  Fix for #96126, add `BitmapBiasAddr` to definitions for unsupported targets.


  Commit: 1961f9fc6d7b207734354ca152a6c0a267cce0c0
      https://github.com/llvm/llvm-project/commit/1961f9fc6d7b207734354ca152a6c0a267cce0c0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Sema/Overload.h
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/Consumed.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Add Type::isPointerOrReferenceType() (#101206)

Seems to be a common pattern.


  Commit: 50cf413426805d32c19c71756f601c864dd6fa7a
      https://github.com/llvm/llvm-project/commit/50cf413426805d32c19c71756f601c864dd6fa7a
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/setzucc.ll

  Log Message:
  -----------
  [X86,CodeGen] Return the correct condition code for SETZUCC

llvm-issue: https://github.com/llvm/llvm-project/issues/101288


  Commit: 40940980bf87832b0275dcfa91ab03738c569b18
      https://github.com/llvm/llvm-project/commit/40940980bf87832b0275dcfa91ab03738c569b18
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILConstants.h
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Simplify tablegen'd OpCode and OpClass enums

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


  Commit: 07d2709a17860a202d91781769a88837e4fb5f2a
      https://github.com/llvm/llvm-project/commit/07d2709a17860a202d91781769a88837e4fb5f2a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCSection.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/test/MC/ELF/relax-recompute-align.s

  Log Message:
  -----------
  Revert "[MC] Compute fragment offsets eagerly"

This reverts commit be5a845e4c29aadb513ae6e5e2879dccf37efdbb.

This causes large code size regressions, which were not present
in the initial version of this change.


  Commit: aa07282a25c3d6df04af9a4d34874cc433c9c68a
      https://github.com/llvm/llvm-project/commit/aa07282a25c3d6df04af9a4d34874cc433c9c68a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp

  Log Message:
  -----------
  [lldb][test] Fix TestMultipleDebuggers test on non-x86, other small issues (#101169)

This test has been flaky lately
(https://github.com/llvm/llvm-project/issues/101162) and I disabled it
everywhere initially.

I found that it always uses "x86_64" for the program architecture so the
test was "passing" elsewhere but I don't think it was meant to. So I
have added a define to pass on the host's architecture when compiling.
This makes it work on AArch64 as well.

While I'm here I've fixed the uint64_t formatting warnings by using the
defined formats that'll work everywhere.

In addition, I found that the function names include "()" on Linux, so
now we check for "foo" or "foo()".

The test cpp file has never been, or was only partially formatted so
I've not formatted the changes, just kept to the local style.

I've removed the Linux skip to see if any of this helps the timeouts,
and to verify the build command changes. If the timeouts come back I'll
disable it again.


  Commit: 996075d68357d15b9bdbbafee002e50563532cb6
      https://github.com/llvm/llvm-project/commit/996075d68357d15b9bdbbafee002e50563532cb6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp] Handle virtual calls with covariant return types (#101218)


  Commit: 57d10b4fc9142d12fbdec578a0cc6f78deb67ef4
      https://github.com/llvm/llvm-project/commit/57d10b4fc9142d12fbdec578a0cc6f78deb67ef4
  Author: Pankaj Dwivedi <divedi.pk.117 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/frame-index.mir

  Log Message:
  -----------
  [AMDGPU] Inplace FI elimination during PEI for scalar copy instruction (#99556)

eliminateFrameIndex wasn't handling the FI copy to Scalar registers and
the default implementation breaks the code while trying to handle it.
This patch handles the broken lowering and also takes care of some edge
cases that might arise. This case is tricky for non-zero offset, scc &
vcc is live and we don't find sgpr pair available.
Co-authored by @arsenm

---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Co-authored-by: PankajDwivedi-25 <pankajkumar.divedi at amd.com>


  Commit: 8300eaad0f6c354f40f526f7501b624ffc389e63
      https://github.com/llvm/llvm-project/commit/8300eaad0f6c354f40f526f7501b624ffc389e63
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  [CMake][Fuchsia] Include libunwind and libc++abi in baremetal build (#100908)

These are needed for baremetal targets as well.


  Commit: 5ef087b705099574e131ba77143b49faaee0e7f8
      https://github.com/llvm/llvm-project/commit/5ef087b705099574e131ba77143b49faaee0e7f8
  Author: Bimo <rui.xu at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/python/mlir/runtime/np_to_memref.py
    M mlir/python/requirements.txt
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  Reapply "[MLIR][Python] add ctype python binding support for bf16" (#101271)

Reapply the PR which was reverted due to built-bots, and now the bots
get updated.
https://discourse.llvm.org/t/need-a-help-with-the-built-bots/79437
original PR: https://github.com/llvm/llvm-project/pull/92489, reverted
in https://github.com/llvm/llvm-project/pull/93771


  Commit: 79996cd0c2a84fca1776d07a6fef822f424d5095
      https://github.com/llvm/llvm-project/commit/79996cd0c2a84fca1776d07a6fef822f424d5095
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/wqm.ll

  Log Message:
  -----------
  [AMDGPU] Pre-commit tests for #101157. NFC


  Commit: 36b2c22e07f1663d7d7388568ab979b35ecceb94
      https://github.com/llvm/llvm-project/commit/36b2c22e07f1663d7d7388568ab979b35ecceb94
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Lower arith.divui, remui (#99313)

This commit lowers `arith.divui` and `arith.remui` to EmitC by wrapping
those operations with type conversions.


  Commit: f395d826bf48ba530d0ab9480e4bc07fa335ef56
      https://github.com/llvm/llvm-project/commit/f395d826bf48ba530d0ab9480e4bc07fa335ef56
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    A clang/test/CodeGen/LoongArch/align.c

  Log Message:
  -----------
  [clang][LoongArch] Pre-commit test for align global. NFC


  Commit: 6434dce85df21aabd5669dd9fbe8fa582e40c6ee
      https://github.com/llvm/llvm-project/commit/6434dce85df21aabd5669dd9fbe8fa582e40c6ee
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/test/AST/Interp/constexpr-subobj-initialization.cpp
    M clang/test/C/C23/n3018.c
    M clang/test/CodeGen/pr3518.c
    M clang/test/Preprocessor/embed_weird.cpp
    M clang/test/SemaCXX/constexpr-subobj-initialization.cpp

  Log Message:
  -----------
  [Clang][Interp] Fix the location of uninitialized base warning (#100761)

Fix the location of `diag::note_constexpr_uninitialized_base`, make it
same as current interpreter.
This PR does not print type name with namespacethat was used to improve
the current interpreter's type dump of base class type.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 38e64531171d230dbcb994b70e89c9efdf319f9f
      https://github.com/llvm/llvm-project/commit/38e64531171d230dbcb994b70e89c9efdf319f9f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/vselect.ll

  Log Message:
  -----------
  [AMDGPU] Regenerate vselect.ll


  Commit: b3b46963b772fcbc80cb2df0b7389c09830cf166
      https://github.com/llvm/llvm-project/commit/b3b46963b772fcbc80cb2df0b7389c09830cf166
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/task.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    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] NFC: Sort clauses alphabetically (1/2) (#101193)

This patch sorts the clause lists for the following OpenMP operations:
- omp.parallel
- omp.teams
- omp.sections
- omp.wsloop
- omp.distribute
- omp.task

This change results in the reordering of operation arguments, so
impacted unit tests are updated accordingly.


  Commit: a3800a60ed95a6b1e808ebd3a34e2dc1c0c04185
      https://github.com/llvm/llvm-project/commit/a3800a60ed95a6b1e808ebd3a34e2dc1c0c04185
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Sort clauses alphabetically (2/2) (#101194)

This patch sorts the clause lists for the following OpenMP operations:
- omp.taskloop
- omp.taskgroup
- omp.target_data
- omp.target_enter_data
- omp.target_exit_data
- omp.target_update
- omp.target

This change results in the reordering of operation arguments, so
impacted unit tests are updated accordingly.


  Commit: 5c406eacf4f4dda0cf9267d638954aa20f17e118
      https://github.com/llvm/llvm-project/commit/5c406eacf4f4dda0cf9267d638954aa20f17e118
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt

  Log Message:
  -----------
  [libc][math][c23] Fix totalorderf128 requiring support for 128-bit ints (#101229)


  Commit: dae7fb8c42877b16be2064bf3043841b13583a3a
      https://github.com/llvm/llvm-project/commit/dae7fb8c42877b16be2064bf3043841b13583a3a
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/while-break.ll

  Log Message:
  -----------
  [AMDGPU,test] Add one more while-break case (#101300)

which suffers from v_mov issue.


  Commit: 22ce33304ef9af9e773ac606670ed93944da2c65
      https://github.com/llvm/llvm-project/commit/22ce33304ef9af9e773ac606670ed93944da2c65
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  Revert "[DAG][NFC] Use SDPatternMatch for VScale in some instances"

This reverts commit d2304427cb0270259bc083a3db27413823f56e59.

The m_Add and m_Mul are commutative but the code does not expect the
communtativity.


  Commit: 4c670b266a10d613a58b71cc9c3d3a21cb6dc36b
      https://github.com/llvm/llvm-project/commit/4c670b266a10d613a58b71cc9c3d3a21cb6dc36b
  Author: Jannick Kremer <51118500+DeinAlptraum at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/bindings/python/clang/cindex.py

  Log Message:
  -----------
  [libclang/python] Factor out unsaved files processing (#101308)

Factor out the processing of unsaved files into its own function as
suggested by @Endilll
[here](https://github.com/llvm/llvm-project/pull/78114/files#r1697730196)


  Commit: 55255669077b191043b1a8920107890815151835
      https://github.com/llvm/llvm-project/commit/55255669077b191043b1a8920107890815151835
  Author: Jannick Kremer <51118500+DeinAlptraum at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/bindings/python/clang/cindex.py

  Log Message:
  -----------
  [libclang/python] type-ignore `Any` returns from library calls (#101310)

On its own, this change leads to _more_ strict typing errors as the
functions are mostly not annotated so far, so the `# type: ignore`s are
reported as Unused. This is part of the work leading up to #78114
though, and one of the bigger parts factored out from it, so these will
later lead to less strict typing errors as the functions are annotated
with return types.


  Commit: d8b985c9490664f7ec923e59cf6c603d998179ae
      https://github.com/llvm/llvm-project/commit/d8b985c9490664f7ec923e59cf6c603d998179ae
  Author: Andrey Timonin <112198242+EtoAndruwa at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td

  Log Message:
  -----------
  [mlir][cf] fix 'switch', 'assert' and 'cond_br' operations' description (#101319)


  Commit: 29ef92b9051bca3a35be0cbc5e03d787941f945e
      https://github.com/llvm/llvm-project/commit/29ef92b9051bca3a35be0cbc5e03d787941f945e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.verify.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.verify.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor tests for shared_mutex and shared_timed_mutex (#100783)

This makes the tests less flaky and also makes a few other refactorings
like using traits instead of .compile.fail.cpp tests.


  Commit: 569d8ce11f25aeb1596bd791905b16e73359470e
      https://github.com/llvm/llvm-project/commit/569d8ce11f25aeb1596bd791905b16e73359470e
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Papers.csv

  Log Message:
  -----------
  [libc++][docs] Remove misadded entry for P1937R2 from Cxx20Papers.csv (#100741)

P1937R2 only contains core language change and doesn't touch the library
at all.

Closes #100613.


  Commit: 93fecc2577ece0329f3bbe2719bbc5b4b9b30010
      https://github.com/llvm/llvm-project/commit/93fecc2577ece0329f3bbe2719bbc5b4b9b30010
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/tools/lldb-server/LLDBServerUtilities.cpp

  Log Message:
  -----------
  [lldb] Fixed lldb-server crash (TestLogHandler was not thread safe) (#101326)

Host::LaunchProcess() requires to SetMonitorProcessCallback. This
callback is called from the child process monitor thread. We cannot
control this thread anyway. lldb-server may crash if there is a logging
around this callback because TestLogHandler is not thread safe. I faced
this issue debugging 100 simultaneous child processes. Note
StreamLogHandler::Emit() in lldb/source/Utility/Log.cpp already contains
the similar mutex.


  Commit: 05c3a4b8f99d13df4249e9486d8aa42a37957685
      https://github.com/llvm/llvm-project/commit/05c3a4b8f99d13df4249e9486d8aa42a37957685
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    A llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll

  Log Message:
  -----------
  [CycleInfo] skip unreachable predecessors (#101316)

If an unreachable block B branches to a block S inside a cycle, it may
cause S to be incorrectly treated as an entry to the cycle. We avoid
that by skipping unreachable predecessors when locating entries.


  Commit: 9b017db6be8213a989517b494b56fc711af8bf8c
      https://github.com/llvm/llvm-project/commit/9b017db6be8213a989517b494b56fc711af8bf8c
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  Revert "[CMake][Fuchsia] Include libunwind and libc++abi in baremetal build" (#101340)

Reverts llvm/llvm-project#100908


  Commit: 89946bda5e1c7ceaf6d26634cc8c8c9498d9f7be
      https://github.com/llvm/llvm-project/commit/89946bda5e1c7ceaf6d26634cc8c8c9498d9f7be
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/driver/CMakeLists.txt
    M cmake/Modules/LLVMCheckCompilerLinkerFlag.cmake
    M compiler-rt/cmake/config-ix.cmake
    M libcxx/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/HandleLLVMStdlib.cmake
    R llvm/cmake/modules/LLVMCheckLinkerFlag.cmake

  Log Message:
  -----------
  [cmake] switch to CMake's native `check_{compiler,linker}_flag` (#96171)

Broken out from #93429

Somewhat closing the loop opened by 7017e6c9cfd2de.

Co-authored-by: Ryan Prichard <rprichard at google.com>


  Commit: 5b6b48800e625965064c2fd54efb976e0672455c
      https://github.com/llvm/llvm-project/commit/5b6b48800e625965064c2fd54efb976e0672455c
  Author: Hewill Kang <hewillk at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/include/__algorithm/find_end.h

  Log Message:
  -----------
  [libc++][NFC] Remove two unused implementation details `__find_end` (#100685)

Those two `__find_end` functions are no longer used after 101d1e9b3c86.
After that commit, `std::find_end` started dispatching to `__find_end_classic`,
and `ranges::find_end` to `__find_end_impl`, which means that the two `__find_end`
functions were no longer necessary.

Fixes #100569


  Commit: f90e51a508b1d9f6d74ca4cc6aca8b6b2fad5280
      https://github.com/llvm/llvm-project/commit/f90e51a508b1d9f6d74ca4cc6aca8b6b2fad5280
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Mark sort.pass.cpp as a long test (#100720)

Picolib testing skips any test requiring this feature, I just didn't
know the feature existed until now.


  Commit: 23d188ed91ed39879e6f6e36d07eca6ceae4bab5
      https://github.com/llvm/llvm-project/commit/23d188ed91ed39879e6f6e36d07eca6ceae4bab5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Require long_tests for eval.PR44847.pass.cp (#100722)

This takes 1m40s to run when testing picolib on qemu. This isn't the end
of the world but that's on an AArch64 server. So if someone felt the
need to mark this unsupported in the first place, it's likely much
slower on average hardware.


  Commit: 7ab643383fe49d5bb22e45610cb52476bf7a922e
      https://github.com/llvm/llvm-project/commit/7ab643383fe49d5bb22e45610cb52476bf7a922e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/tools/libclang/CMakeLists.txt

  Log Message:
  -----------
  [libclang] Use check_linker_flag instead of llvm_check_linker_flag

Follow-up to #96171 in an attempt to fix the Solaris bots.


  Commit: b5a7d3b6c2169d84f9da749425a38dcef914d1ce
      https://github.com/llvm/llvm-project/commit/b5a7d3b6c2169d84f9da749425a38dcef914d1ce
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/revec.ll

  Log Message:
  -----------
  [SLP][REVEC] Make Instruction::Select support vector instructions. (#100507)


  Commit: e9d5842ac7bd8d9b5700dc415910425ca796f4c1
      https://github.com/llvm/llvm-project/commit/e9d5842ac7bd8d9b5700dc415910425ca796f4c1
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.h
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp

  Log Message:
  -----------
  [libc++] Make std::unique_lock available with _LIBCPP_HAS_NO_THREADS (#99562)

This is a follow up to https://github.com/llvm/llvm-project/pull/98717,
which made lock_guard available under _LIBCPP_HAS_NO_THREADS. We can
make unique_lock available under similar circumstances. This patch
follows the example in #98717, by:

  - Removing the preprocessor guards for _LIBCPP_HAS_NO_THREADS in the
    unique_lock header.
  - providing a set of custom mutex implementations in a local header.
  - using custom locks in tests that can be made to work under
    `no-threads`.


  Commit: 78b4b5cccbd92363708906d9171e21b0307b91a2
      https://github.com/llvm/llvm-project/commit/78b4b5cccbd92363708906d9171e21b0307b91a2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    R libcxx/benchmarks/CMakeLists.txt
    R libcxx/benchmarks/CartesianBenchmarks.h
    R libcxx/benchmarks/ContainerBenchmarks.h
    R libcxx/benchmarks/GenerateInput.h
    R libcxx/benchmarks/Utilities.h
    R libcxx/benchmarks/VariantBenchmarks.h
    R libcxx/benchmarks/algorithms.partition_point.bench.cpp
    R libcxx/benchmarks/algorithms/common.h
    R libcxx/benchmarks/algorithms/count.bench.cpp
    R libcxx/benchmarks/algorithms/equal.bench.cpp
    R libcxx/benchmarks/algorithms/fill.bench.cpp
    R libcxx/benchmarks/algorithms/find.bench.cpp
    R libcxx/benchmarks/algorithms/for_each.bench.cpp
    R libcxx/benchmarks/algorithms/lower_bound.bench.cpp
    R libcxx/benchmarks/algorithms/make_heap.bench.cpp
    R libcxx/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/min.bench.cpp
    R libcxx/benchmarks/algorithms/min_max_element.bench.cpp
    R libcxx/benchmarks/algorithms/minmax.bench.cpp
    R libcxx/benchmarks/algorithms/mismatch.bench.cpp
    R libcxx/benchmarks/algorithms/pop_heap.bench.cpp
    R libcxx/benchmarks/algorithms/pstl.stable_sort.bench.cpp
    R libcxx/benchmarks/algorithms/push_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_contains.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_ends_with.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_make_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_pop_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_push_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_sort.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_stable_sort.bench.cpp
    R libcxx/benchmarks/algorithms/set_intersection.bench.cpp
    R libcxx/benchmarks/algorithms/sort.bench.cpp
    R libcxx/benchmarks/algorithms/sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/stable_sort.bench.cpp
    R libcxx/benchmarks/allocation.bench.cpp
    R libcxx/benchmarks/atomic_wait.bench.cpp
    R libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    R libcxx/benchmarks/deque.bench.cpp
    R libcxx/benchmarks/deque_iterator.bench.cpp
    R libcxx/benchmarks/exception_ptr.bench.cpp
    R libcxx/benchmarks/filesystem.bench.cpp
    R libcxx/benchmarks/format.bench.cpp
    R libcxx/benchmarks/format_to.bench.cpp
    R libcxx/benchmarks/format_to_n.bench.cpp
    R libcxx/benchmarks/formatted_size.bench.cpp
    R libcxx/benchmarks/formatter_float.bench.cpp
    R libcxx/benchmarks/formatter_int.bench.cpp
    R libcxx/benchmarks/function.bench.cpp
    R libcxx/benchmarks/join_view.bench.cpp
    R libcxx/benchmarks/lexicographical_compare_three_way.bench.cpp
    R libcxx/benchmarks/libcxxabi/dynamic_cast.bench.cpp
    R libcxx/benchmarks/libcxxabi/dynamic_cast_old_stress.bench.cpp
    R libcxx/benchmarks/lit.cfg.py
    R libcxx/benchmarks/lit.site.cfg.py.in
    R libcxx/benchmarks/map.bench.cpp
    R libcxx/benchmarks/monotonic_buffer.bench.cpp
    R libcxx/benchmarks/numeric/gcd.bench.cpp
    R libcxx/benchmarks/ordered_set.bench.cpp
    R libcxx/benchmarks/random.bench.cpp
    R libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
    R libcxx/benchmarks/std_format_spec_string_unicode.bench.cpp
    R libcxx/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/benchmarks/stop_token.bench.cpp
    R libcxx/benchmarks/string.bench.cpp
    R libcxx/benchmarks/stringstream.bench.cpp
    R libcxx/benchmarks/system_error.bench.cpp
    R libcxx/benchmarks/to_chars.bench.cpp
    R libcxx/benchmarks/unordered_set_operations.bench.cpp
    R libcxx/benchmarks/util_smartptr.bench.cpp
    R libcxx/benchmarks/variant_visit_1.bench.cpp
    R libcxx/benchmarks/variant_visit_2.bench.cpp
    R libcxx/benchmarks/variant_visit_3.bench.cpp
    R libcxx/benchmarks/vector_operations.bench.cpp
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/test/CMakeLists.txt
    A libcxx/test/benchmarks/CMakeLists.txt
    A libcxx/test/benchmarks/CartesianBenchmarks.h
    A libcxx/test/benchmarks/ContainerBenchmarks.h
    A libcxx/test/benchmarks/GenerateInput.h
    A libcxx/test/benchmarks/Utilities.h
    A libcxx/test/benchmarks/VariantBenchmarks.h
    A libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/common.h
    A libcxx/test/benchmarks/algorithms/count.bench.cpp
    A libcxx/test/benchmarks/algorithms/equal.bench.cpp
    A libcxx/test/benchmarks/algorithms/fill.bench.cpp
    A libcxx/test/benchmarks/algorithms/find.bench.cpp
    A libcxx/test/benchmarks/algorithms/for_each.bench.cpp
    A libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
    A libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/min.bench.cpp
    A libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
    A libcxx/test/benchmarks/algorithms/minmax.bench.cpp
    A libcxx/test/benchmarks/algorithms/mismatch.bench.cpp
    A libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_ends_with.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_make_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_pop_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_push_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/set_intersection.bench.cpp
    A libcxx/test/benchmarks/algorithms/sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
    A libcxx/test/benchmarks/allocation.bench.cpp
    A libcxx/test/benchmarks/atomic_wait.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    A libcxx/test/benchmarks/deque.bench.cpp
    A libcxx/test/benchmarks/deque_iterator.bench.cpp
    A libcxx/test/benchmarks/exception_ptr.bench.cpp
    A libcxx/test/benchmarks/filesystem.bench.cpp
    A libcxx/test/benchmarks/format.bench.cpp
    A libcxx/test/benchmarks/format_to.bench.cpp
    A libcxx/test/benchmarks/format_to_n.bench.cpp
    A libcxx/test/benchmarks/formatted_size.bench.cpp
    A libcxx/test/benchmarks/formatter_float.bench.cpp
    A libcxx/test/benchmarks/formatter_int.bench.cpp
    A libcxx/test/benchmarks/function.bench.cpp
    A libcxx/test/benchmarks/join_view.bench.cpp
    A libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
    A libcxx/test/benchmarks/libcxxabi/dynamic_cast.bench.cpp
    A libcxx/test/benchmarks/libcxxabi/dynamic_cast_old_stress.bench.cpp
    A libcxx/test/benchmarks/lit.cfg.py.in
    A libcxx/test/benchmarks/lit.site.cfg.py.in
    A libcxx/test/benchmarks/map.bench.cpp
    A libcxx/test/benchmarks/monotonic_buffer.bench.cpp
    A libcxx/test/benchmarks/numeric/gcd.bench.cpp
    A libcxx/test/benchmarks/ordered_set.bench.cpp
    A libcxx/test/benchmarks/random.bench.cpp
    A libcxx/test/benchmarks/shared_mutex_vs_mutex.bench.cpp
    A libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
    A libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    A libcxx/test/benchmarks/stop_token.bench.cpp
    A libcxx/test/benchmarks/string.bench.cpp
    A libcxx/test/benchmarks/stringstream.bench.cpp
    A libcxx/test/benchmarks/system_error.bench.cpp
    A libcxx/test/benchmarks/to_chars.bench.cpp
    A libcxx/test/benchmarks/unordered_set_operations.bench.cpp
    A libcxx/test/benchmarks/util_smartptr.bench.cpp
    A libcxx/test/benchmarks/variant_visit_1.bench.cpp
    A libcxx/test/benchmarks/variant_visit_2.bench.cpp
    A libcxx/test/benchmarks/variant_visit_3.bench.cpp
    A libcxx/test/benchmarks/vector_operations.bench.cpp

  Log Message:
  -----------
  [libc++] Move the benchmarks under libcxx/test (#99371)

This is an intermediate and fairly mechanical step towards unifying the
benchmarks with the rest of the test suite. Moving this around requires
a few changes, notably making sure we don't throw a wrench into the
discovery process of the normal test suite. This won't be a problem
anymore once benchmarks are taken into account by the test setup out of
the box.


  Commit: fa842970027b6d2f0160ad42fa82a872bf8d8600
      https://github.com/llvm/llvm-project/commit/fa842970027b6d2f0160ad42fa82a872bf8d8600
  Author: darkbuck <michael.hliao at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/test/CodeGenCUDA/convergent.cu
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/SemaCUDA/attr-noconvergent.cu

  Log Message:
  -----------
  [clang][CUDA] Add 'noconvergent' function and statement attribute

- For languages following SPMD/SIMT programming model, functions and
  call sites are marked 'convergent' by default. 'noconvergent' is added
  in this patch to allow developers to remove that 'convergent'
  attribute when it's safe.

Reviewers:
nhaehnle, Sirraide, yxsamliu, Artem-B, ilovepi, jayfoad, ssahasra, arsenm

Reviewed By: arsenm

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


  Commit: 2a6268d8f999d56a557079e7fd8ee8c4a4e9ac0c
      https://github.com/llvm/llvm-project/commit/2a6268d8f999d56a557079e7fd8ee8c4a4e9ac0c
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/config/config.json
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/docs/configure.rst
    M libc/include/llvm-libc-types/jmp_buf.h
    A libc/src/setjmp/aarch64/CMakeLists.txt
    A libc/src/setjmp/aarch64/longjmp.cpp
    A libc/src/setjmp/aarch64/setjmp.cpp

  Log Message:
  -----------
  [libc][AArch64] Add an AArch64 setjmp/longjmp. (#101177)

Previously, building libc for AArch64 in `LLVM_LIBC_FULL_BUILD` mode
would fail because no implementation of setjmp/longjmp was available.
This was the only obstacle, so now a full AArch64 build of libc is
possible.

This implementation automatically supports PAC and BTI if compiled with
the appropriate options. I would have liked to do the same for MTE stack
tagging, but as far as I can see there's currently no predefined macro
that allows detection of `-fsanitize=memtag-stack`, so I've left that
one as a TODO.

AAPCS64 delegates the x18 register to individual platform ABIs, and
allows them to choose what it's used for, which may or may not require
setjmp and longjmp to save and restore it. To accommodate this, I've
introduced a libc configuration option. The default is on, because the
only use of x18 I've so far encountered uses it to store information
specific to the current stack frame (so longjmp does need to restore
it), and this is also safe behavior in the default situation where the
platform ABI specifies no use of x18 and it becomes a temporary register
(restoring it to its previous value is no worse than any _other_ way for
a function call to clobber it). But if a platform ABI needs to use x18
in a way that requires longjmp to leave it alone, they can turn the
option off.


  Commit: 8b2688bd173e79392927bcaed91855e7c4db8eaa
      https://github.com/llvm/llvm-project/commit/8b2688bd173e79392927bcaed91855e7c4db8eaa
  Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  [scudo] Separated committed and decommitted entries. (#100818)

Initially, the LRU list stored all mapped entries with no distinction
between the committed (non-madvise()'d) entries and decommitted
(madvise()'d) entries. Now these two types of entries are separated into
two lists, allowing future cache logic to branch depending on whether or
not entries are committed or decommitted. Furthermore, the retrieval
algorithm will prioritize committed entries over decommitted entries.
Specifically, valid-fit, committed entries (not necessarily optimal-fit)
are retrieved before optimal-fit, decommitted entries.


  Commit: b455edbc4566dca5a367122eadd0bae9058fbd7b
      https://github.com/llvm/llvm-project/commit/b455edbc4566dca5a367122eadd0bae9058fbd7b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/bitcast.ll

  Log Message:
  -----------
  [InstCombine] Recognize copysign idioms (#101324)

This patch folds `(bitcast (or (and (bitcast X to int), signmask), nneg
Y) to fp)` into `copysign((bitcast Y to fp), X)`. I found this pattern
exists in some graphics applications/math libraries.

Alive2: https://alive2.llvm.org/ce/z/ggQZV2


  Commit: d36c9f828d795d77127ea0fada6be4b7b5e19dbb
      https://github.com/llvm/llvm-project/commit/d36c9f828d795d77127ea0fada6be4b7b5e19dbb
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement AddrSpaceCastInst (#101260)

This patch implements sandboxir::AddrSpaceCastInst which mirrors
llvm::AddrSpaceCastInst.


  Commit: 3715035797a8b07ddaf2e2eff08fedc535891e15
      https://github.com/llvm/llvm-project/commit/3715035797a8b07ddaf2e2eff08fedc535891e15
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/src/setjmp/aarch64/longjmp.cpp
    M libc/src/setjmp/aarch64/setjmp.cpp

  Log Message:
  -----------
  [libc] quick fix for aarch64 jmpbuf build (#101357)


  Commit: 45ef0d492f7b61613d0833fbf7eafdd41e137139
      https://github.com/llvm/llvm-project/commit/45ef0d492f7b61613d0833fbf7eafdd41e137139
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm-c/Error.h
    M llvm/lib/Support/Error.cpp
    M llvm/unittests/Support/ErrorTest.cpp

  Log Message:
  -----------
  Add llvm::Error C API, LLVMCantFail

It's barely testable - the test does exercise the code, but wouldn't
fail on an empty implementation. It would cause a memory leak though
(because the error handle wouldn't be unwrapped/reowned) which could be
detected by asan and other leak detectors.


  Commit: f0197a75e83d45514201432999616267ae0954e2
      https://github.com/llvm/llvm-project/commit/f0197a75e83d45514201432999616267ae0954e2
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement IntToPtrInst (#101359)

This patch implements sandboxir::IntToPtrInst which mirrors
llvm::IntToPtrInst.


  Commit: faf3333510e0c2c3f319af40456e10c471e11ce8
      https://github.com/llvm/llvm-project/commit/faf3333510e0c2c3f319af40456e10c471e11ce8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll

  Log Message:
  -----------
  [SCEV] Add coverage for flag inference with vscale strided IVs

Given vscale is a power of two, we should be able to prove no-self-wrap
in these cases.  We currently don't, but an upcoming change will fix this.


  Commit: 8398ad9cb21736dc57ee4dd766bd0859ef9bd000
      https://github.com/llvm/llvm-project/commit/8398ad9cb21736dc57ee4dd766bd0859ef9bd000
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp

  Log Message:
  -----------
  [lldb] Unify the way we get the Target in CommandObject (#101208)

Currently, CommandObjects are obtaining a target in a variety of ways.
Often the command incorrectly operates on the selected target. As an
example, when a breakpoint command is running, the current target is
passed into the command but the target that hit the breakpoint is not
the selected target. In other places we use the CommandObject's
execution context, which is frozen during the execution of the command,
and comes with its own limitations. Finally, we often want to fall back
to the dummy target if no real target is available.

Instead of having to guess how to get the target, this patch introduces
one helper function in CommandObject to get the most relevant target. In
order of priority, that's the target from the command object's execution
context, from the interpreter's execution context, the selected target
or the dummy target.

rdar://110846511


  Commit: 6a54dfbfe534276d644d7f9c027f0deeb748dd53
      https://github.com/llvm/llvm-project/commit/6a54dfbfe534276d644d7f9c027f0deeb748dd53
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
    M libcxx/test/benchmarks/algorithms/min.bench.cpp
    M libcxx/test/benchmarks/algorithms/minmax.bench.cpp
    M libcxx/test/benchmarks/atomic_wait.bench.cpp
    M libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    M libcxx/test/benchmarks/filesystem.bench.cpp
    M libcxx/test/benchmarks/format.bench.cpp
    M libcxx/test/benchmarks/format_to.bench.cpp
    M libcxx/test/benchmarks/format_to_n.bench.cpp
    M libcxx/test/benchmarks/formatted_size.bench.cpp
    M libcxx/test/benchmarks/formatter_float.bench.cpp
    M libcxx/test/benchmarks/formatter_int.bench.cpp
    M libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
    M libcxx/test/benchmarks/random.bench.cpp
    M libcxx/test/benchmarks/shared_mutex_vs_mutex.bench.cpp
    M libcxx/test/benchmarks/stop_token.bench.cpp
    M libcxx/test/benchmarks/string.bench.cpp
    M libcxx/test/benchmarks/stringstream.bench.cpp
    M libcxx/test/benchmarks/to_chars.bench.cpp
    M libcxx/test/benchmarks/unordered_set_operations.bench.cpp
    M libcxx/test/benchmarks/variant_visit_1.bench.cpp
    M libcxx/test/benchmarks/variant_visit_2.bench.cpp
    M libcxx/test/benchmarks/variant_visit_3.bench.cpp
    M libcxx/test/benchmarks/vector_operations.bench.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/ostream.syn/includes.compile.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/transcoding.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_posix.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_windows.pass.cpp
    M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/noexcept.extension.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.unexpected/noexcept.extension.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/noexcept.extension.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/value.lwg3940.verify.cpp
    M libcxx/test/libcxx/utilities/format/enable_insertable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.arguments/format.arg/arg_t.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.formatter/format.context/types.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.functions/ascii.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.functions/escaped_output.ascii.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/code_point_width_estimation.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/concepts_precision.h
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/test_exception.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.format.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.vformat.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/types.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.format.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.vformat.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/types.compile.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print_tests.h
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_nonunicode.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print_tests.h
    M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/println.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.sh.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/types.compile.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.day.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month_day.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month_day_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month_weekday.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.weekday.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.weekday_index.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.weekday_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_day.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_day_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_weekday.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_weekday_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.zoned_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter_tests.h
    M libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/ctor.error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/error.member.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.intializer_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.convert.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.convert.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.default.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.inplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.inplace_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.u.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpect.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpect_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/dtor.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/arrow.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/bool.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/deref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/value_or.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/swap/free.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.inplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.inplace_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/equality.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.const_ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.const_ref_ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.ref_ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/swap/swap.free.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/swap/swap.member.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/emplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.convert.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.convert.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.default.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.inplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpect.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpect_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/dtor.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/bool.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/deref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/has_value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/free.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.sh.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_wformat_args.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/operator_bool.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.float.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.verify.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.verify.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/P2418.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/fill.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h
    M libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/set_brackets.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/set_separator.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.verify.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/range_format.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/set_brackets.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/set_separator.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/underlying.pass.cpp
    M libcxx/test/std/utilities/format/format.string/format.string.std/lwg3720_arg_id_width_precision_allowed_types.pass.cpp
    M libcxx/test/std/utilities/format/format.string/format.string.std/lwg3720_arg_id_width_precision_allowed_types.verify.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.format.verify.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/set_brackets.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/set_separator.pass.cpp
    M libcxx/test/std/utilities/format/types.compile.pass.cpp
    M libcxx/test/support/format.functions.common.h
    M libcxx/test/support/test.support/make_string_header.pass.cpp
    M libcxx/test/support/test_basic_format_arg.h

  Log Message:
  -----------
  [libc++][NFC] Add missing license headers

Also standardize the license comment in several files where it was
different from what we normally do.


  Commit: a847b0f37d5dd0a3334eb822b35e89fa835a4b8d
      https://github.com/llvm/llvm-project/commit/a847b0f37d5dd0a3334eb822b35e89fa835a4b8d
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/README.txt

  Log Message:
  -----------
  Remove already implemented target independent optimization opportunity (#101233)

Fixes #101127

See this working example: https://godbolt.org/z/z15oj15eP


  Commit: 28a079223dd22f13ca51dfa8f5d51a9cd3514edf
      https://github.com/llvm/llvm-project/commit/28a079223dd22f13ca51dfa8f5d51a9cd3514edf
  Author: Brian Yahn <yahn at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h

  Log Message:
  -----------
  Fix typo: tyep -> type.


  Commit: a3fb30143565cca2c794ab0e9921d50b09cadfc7
      https://github.com/llvm/llvm-project/commit/a3fb30143565cca2c794ab0e9921d50b09cadfc7
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir

  Log Message:
  -----------
  [mlir][math] Fix polynomial `math.asin` approximation (#101247)

The polynomial approximation for asin is only good between [-9/16,
9/16]. Values beyond that range must be remapped to achieve good numeric
results. This is done by the equation below:

`arcsin(x) = PI/2 - arcsin(sqrt(1.0 - x*x))`


  Commit: 9718f3dec1c366809b0c2508ba77cc5dd3cf82ec
      https://github.com/llvm/llvm-project/commit/9718f3dec1c366809b0c2508ba77cc5dd3cf82ec
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement FPToSIInst (#101362)

This patch implements sandboxir::FPToSIInst which mirrors
llvm::FPToSIInst.


  Commit: a4c6ebeb20168bbedbb1a3aff9f5096416e5914a
      https://github.com/llvm/llvm-project/commit/a4c6ebeb20168bbedbb1a3aff9f5096416e5914a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/VTEmitter.cpp

  Log Message:
  -----------
  [MVT][TableGen] Extend Machine Value Type to `uint16_t` (#99657)

RFC:
https://discourse.llvm.org/t/rfc-extend-machine-value-type-from-uint8-t-to-uint16-t/80274
compile-time-tracker:
https://llvm-compile-time-tracker.com/compare.php?from=4b9fab591916eec9fd1942f37afe3b137b564089&to=177d28247efe5a4d59a8d8150b4daf01e4f57d74&stat=wall-time

Currently 208 out of 256 MVTs are used, it will be run out soon, so
ultimately we need to extend the original `MVT::SimpleValueType` from
`uint8_t` to `uint16_t` to accomodate more types.
The `MatcherTable` uses `unsigned char` for encoding the matcher code,
so the extended MVTs are no longer fit into the table, thus we need to
use VBR to encode them as we do on others that are wider than 8 bits.

The statistics below shows the difference of "Total Array size" of the
matcher table that appears in every files:
```
Table                       Before     After     Change(%)
WebAssemblyGenDAGISel.inc   23576      23775     0.844
NVPTXGenDAGISel.inc         173498     173498    0
RISCVGenDAGISel.inc         2179121    2369929   8.756
AVRGenDAGISel.inc           2754       2754      0
PPCGenDAGISel.inc           163315     163617    0.185
MipsGenDAGISel.inc          47280      47447     0.353
SystemZGenDAGISel.inc       56243      56461     0.388
AArch64GenDAGISel.inc       467893     487830    4.261
MSP430GenDAGISel.inc        8069       8069      0
LoongArchGenDAGISel.inc     78928      79131     0.257
XCoreGenDAGISel.inc         3432       3432      0
BPFGenDAGISel.inc           3733       3733      0
VEGenDAGISel.inc            65174      66456     1.967
LanaiGenDAGISel.inc         2067       2067      0
X86GenDAGISel.inc           628787     636987    1.304
ARMGenDAGISel.inc           170968     171036    0.040
HexagonGenDAGISel.inc       155764     155764    0
SparcGenDAGISel.inc         5762       5798      0.625
AMDGPUGenDAGISel.inc        504356     504463    0.021
R600GenDAGISel.inc          29785      29785     0
```

The statistics below shows the runtime peak memory usage by compiling a
simple C program:
`/bin/time -v clang -target $TARGET -O3 -c test.c`
```
  int test(int a) {
    return a * 3;
  }
```
```
Target        Before(kbytes)    After(kbytes)    Change(%)
wasm64        110172            110088           -0.076
nvptx64       109784            109980            0.179
riscv64       114020            113656           -0.319
avr           110352            110068           -0.257
ppc64         112612            112476           -0.120
mips64        113588            113668            0.070
systemz       110860            110760           -0.090
aarch64       113704            113432           -0.239
msp430        110284            110200           -0.076
loongarch64   111052            110756           -0.267
xcore         108340            108020           -0.295
bpf           110620            110708            0.080
ve            110960            110920           -0.036
lanai         110180            109960           -0.200
x86_64        113640            113304           -0.296
arm64         113540            113172           -0.324
hexagon       114620            114684            0.056
sparc         110412            110136           -0.250
amdgcn        118164            117144           -0.863
r600          111200            110508           -0.622
```


  Commit: 6d103d7746c94cc865138093c7c65138b89aa77c
      https://github.com/llvm/llvm-project/commit/6d103d7746c94cc865138093c7c65138b89aa77c
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
    M llvm/lib/Analysis/DomTreeUpdater.cpp
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
    M llvm/unittests/IR/DominatorTreeTest.cpp

  Log Message:
  -----------
  [Support] Erase blocks after DomTree::eraseNode (#101195)

Change eraseNode to require that the basic block is still contained
inside the function. This is a preparation for using numbers of basic
blocks inside the dominator tree, which are invalid for blocks that are
not inside a function.


  Commit: 9fe455fd0c7d6f2107b33b37c04bbd3b12fe65b3
      https://github.com/llvm/llvm-project/commit/9fe455fd0c7d6f2107b33b37c04bbd3b12fe65b3
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Add constant value mode for RegisterLocation in UnwindPlans (#100624)

This is useful for language runtimes that compute register values by
inspecting the state of the currently running process. Currently, there
are no mechanisms enabling these runtimes to set register values to
arbitrary values.

The alternative considered would involve creating a dwarf expression
that produces an arbitrary integer (e.g. using OP_constu). However, the
current data structure for Rows is such that they do not own any memory
associated with dwarf expressions, which implies any such expression
would need to have static storage and therefore could not contain a
runtime value.

Adding a new rule for constants leads to a simpler implementation. It's
also worth noting that this does not make the "Location" union any
bigger, since it already contains a pointer+size pair.


  Commit: 8b17b12912ff59b0c9f2825ac2cc258418ed349b
      https://github.com/llvm/llvm-project/commit/8b17b12912ff59b0c9f2825ac2cc258418ed349b
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement FPToUIInst (#101369)

This patch implements sandboxir::FPToUIInst which mirrors
llvm::FPToUIInst.


  Commit: 35a2e6d24bcb94720ec7b3aa00e58a1b7b837fbc
      https://github.com/llvm/llvm-project/commit/35a2e6d24bcb94720ec7b3aa00e58a1b7b837fbc
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll

  Log Message:
  -----------
  [SCEV] Regen a couple auto-gen tests


  Commit: f9827e67ce2ccad863fac9d062eacbd60d829375
      https://github.com/llvm/llvm-project/commit/f9827e67ce2ccad863fac9d062eacbd60d829375
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/Index/pch-with-errors.c
    M clang/test/Modules/load-module-with-errors.m

  Log Message:
  -----------
  [Modules][Diagnostic] Don't claim a METADATA mismatch is always in PCH file. (#101280)

You can provide more than one AST file as an input. Emit a path for a
file with a problem, so you can disambiguate between multiple files.

rdar://65005546


  Commit: 366eade911b54878c9cc1835d2544fb4ba907ef5
      https://github.com/llvm/llvm-project/commit/366eade911b54878c9cc1835d2544fb4ba907ef5
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90
    A flang/test/Semantics/OpenMP/copyprivate04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    A flang/test/Semantics/OpenMP/parallel-shared05.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90

  Log Message:
  -----------
  [flang][OpenMP] Reland Fix copyprivate semantic checks (#95799) (#101009)

There are some cases in which variables used in OpenMP constructs
are predetermined as private. The semantic checks for copyprivate
were not handling those cases.

Besides that, shared symbols were not being properly represented
in some cases. When there was no previously declared private
(implicit) symbol, no new association symbols, representing
shared ones, were being created.

These symbols must always be inserted in constructs that may
privatize the original symbol: parallel, teams and task
generating constructs.

Fixes #87214 and #86907


  Commit: 055893f164f595e5d4115db17dd479ed3401bf00
      https://github.com/llvm/llvm-project/commit/055893f164f595e5d4115db17dd479ed3401bf00
  Author: Brox Chen <broxigarchen at outlook.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] duplicate vop1 tests to fake16 and update real-true16 flags for GFX12 (#100849)

duplicate vop1 tests to fake16 and update real-true16 flags for GFX12

creating duplications here to avoid bulk copy in the following true16
patches

---------

Co-authored-by: guochen2 <guochen2 at amd.com>


  Commit: 6aa723daa9d9c54c597788d384b41dd735359316
      https://github.com/llvm/llvm-project/commit/6aa723daa9d9c54c597788d384b41dd735359316
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp

  Log Message:
  -----------
  [TLI] Add support for nan libfunc (#101356)

Reference: https://en.cppreference.com/w/cpp/numeric/math/nan


  Commit: 0a01e8ff530ab15277aa9fad5361297d7b55e247
      https://github.com/llvm/llvm-project/commit/0a01e8ff530ab15277aa9fad5361297d7b55e247
  Author: Alexandre Perez <alexandrecperez at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py

  Log Message:
  -----------
  [lldb] Allow mapping object file paths (#101361)

This introduces a `target.object-map` which allows us to remap module
locations, much in the same way as source mapping works today. This is
useful, for instance, when debugging coredumps, so we can replace some
of the locations where LLDB attempts to load shared libraries and
executables from, without having to setup an entire sysroot.


  Commit: 6d3317e5389d3041c4a0ae588919d7a2fe2764f0
      https://github.com/llvm/llvm-project/commit/6d3317e5389d3041c4a0ae588919d7a2fe2764f0
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement SIToFPInst (#101374)

This patch implements sandboxir::SIToFPInst which mirrors
llvm::SIToFPInst.


  Commit: 496fedaccac569438ccb1fd65bf3b30eb5557350
      https://github.com/llvm/llvm-project/commit/496fedaccac569438ccb1fd65bf3b30eb5557350
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  Revert "[scudo] Separated committed and decommitted entries." (#101375)

Reverts llvm/llvm-project#100818


  Commit: d0b4b6b12dea662a9316e2f83277288be37be666
      https://github.com/llvm/llvm-project/commit/d0b4b6b12dea662a9316e2f83277288be37be666
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [Driver] Correct comment on default for -falign-functions (#101257)


  Commit: 33960ce5a8e26baf05521fd7f8be5c5abb6bb0ff
      https://github.com/llvm/llvm-project/commit/33960ce5a8e26baf05521fd7f8be5c5abb6bb0ff
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/GDBIndex.h
    M bolt/lib/Core/GDBIndex.cpp
    M bolt/test/X86/dwarf4-split-gdb-index-types-gdb-generated.test

  Log Message:
  -----------
  [BOLT][DWARF] Sort GDBIndexTUEntryVector (#101264)

Sorts GDBIndexTUEntryVector in decreasing order by hash to ensure
determinism when parallelized.


  Commit: 9a1013220b668d846e63f241203b80515dee0a03
      https://github.com/llvm/llvm-project/commit/9a1013220b668d846e63f241203b80515dee0a03
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M offload/include/Shared/EnvironmentVar.h
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/ErrorReporting.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    A offload/test/sanitizer/kernel_crash.c
    A offload/test/sanitizer/kernel_crash_async.c
    A offload/test/sanitizer/kernel_crash_many.c
    A offload/test/sanitizer/kernel_crash_single.c
    A offload/test/sanitizer/kernel_trap.c
    A offload/test/sanitizer/kernel_trap_async.c
    A offload/test/sanitizer/kernel_trap_many.c
    M openmp/docs/design/Runtimes.rst

  Log Message:
  -----------
  [Offload] Allow to record kernel launch stack traces (#100472)

Similar to (de)allocation traces, we can record kernel launch stack
traces and display them in case of an error. However, the AMD GPU plugin
signal handler, which is invoked on memroy faults, cannot pinpoint the
offending kernel. Insteade print `<NUM>`, set via
`OFFLOAD_TRACK_NUM_KERNEL_LAUNCH_TRACES=<NUM>`, many traces. The
recoding/record uses a ring buffer of fixed size (for now 8).
For `trap` errors, we print the actual kernel name, and trace if
recorded.


  Commit: b66aa3bfff442a5eb67f1bfcfaa148e42e49b787
      https://github.com/llvm/llvm-project/commit/b66aa3bfff442a5eb67f1bfcfaa148e42e49b787
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/expf16.cpp
    M libc/test/src/math/performance_testing/expf16_perf.cpp
    M libc/test/src/math/smoke/expf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Refactor expf16 (#101373)

Also updates and sorts CMake target dependencies, and corrects the smoke
test that expected expf16(sNaN) to return sNaN instead of aNaN, although
the test still passed, as FPMatcher only checks whether both sides are
NaN, not whether they're the same NaN value.


  Commit: ef67664d81b395e6dea9586a1a508323ad2a9de7
      https://github.com/llvm/llvm-project/commit/ef67664d81b395e6dea9586a1a508323ad2a9de7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    A llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll

  Log Message:
  -----------
  AMDGPU: Add testcase for materializing sgpr frame indexes (#101306)

These add some IR tests for 57d10b4fc9142d12fbdec578a0cc6f78deb67ef4.
These do rely on some lucky MIR placement to test the scc input, but I
haven't found a better way to do it. Also, scc handling in inline asm
is extremely buggy.


  Commit: 6740d701bde4ad9b95d7d811852fa0a2542e6b28
      https://github.com/llvm/llvm-project/commit/6740d701bde4ad9b95d7d811852fa0a2542e6b28
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/Linalg/tile-tensors.mlir
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir
    M mlir/test/Dialect/Linalg/transform-op-tile.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-using-scfforall.mlir
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][Linalg] Deprecate `linalg::tileToForallOp` and `linalg::tileToForallOpUsingTileSizes` (#91878)

The implementation of these methods are legacy and they are removed in
favor of using the `scf::tileUsingSCF` methods as replacements. To get
the latter on par with requirements of the deprecated methods, the
tiling allows one to specify the maximum number of tiles to use instead
of specifying the tile sizes. When tiling to `scf.forall` this
specification is used to generate the `num_threads` version of the
operation.

A slight deviation from previous implementation is that the deprecated
method always generated the `num_threads` variant of the `scf.forall`
operation. Instead now this is driven by the tiling options specified.
This reduces the indexing math generated when the tile sizes are
specified.

**Moving from `linalg::tileToForallOp` to `scf::tileUsingSCF`**

```
OpBuilder b;
TilingInterface op;
ArrayRef<OpFoldResult> numThreads;
ArrayAttr mapping;
FailureOr<ForallTilingResult> result =linalg::tileToForallOp(b, op, numThreads, mapping);
```

can be replaced by
```
scf::SCFTilingOptions options;
options.setNumThreads(numThreads);
options.setLoopType(scf::SCFTilingOptions::LoopType::ForallOp);
options.setMapping(mapping.getValue()); /*note the difference that setMapping takes an ArrayRef<Attribute> */
FailureOr<scf::SCFTilingResult> result = scf::tileUsingSCF(b, op, options);
```

This generates the `numThreads` version of the `scf.forall` for the
inter-tile loops, i.e.

```
... = scf.forall (%arg0, %arg1) in (%nt0, %nt1) shared_outs(...)
```

**Moving from `linalg::tileToForallOpUsingTileSizes` to
`scf::tileUsingSCF`**

```
OpBuilder b;
TilingInterface op;
ArrayRef<OpFoldResult> tileSizes;
ArrayAttr mapping;
FailureOr<ForallTilingResult> result =linalg::tileToForallOpUsingTileSizes(b, op, tileSizes, mapping);
```

can be replaced by
```
scf::SCFTilingOptions options;
options.setTileSizes(tileSizes);
options.setLoopType(scf::SCFTilingOptions::LoopType::ForallOp);
options.setMapping(mapping.getValue()); /*note the difference that setMapping takes an ArrayRef<Attribute> */
FailureOr<scf::SCFTilingResult> result = scf::tileUsingSCF(b, op, options);
```

Also note that `linalg::tileToForallOpUsingTileSizes` would effectively
call the `linalg::tileToForallOp` by computing the `numThreads` from the
`op` and `tileSizes` and generate the `numThreads` version of the
`scf.forall`. That is not the case anymore. Instead this will directly
generate the `tileSizes` version of the `scf.forall` op

```
... = scf.forall(%arg0, %arg1) = (%lb0, %lb1) to (%ub0, %ub1) step(%step0, %step1) shared_outs(...)
```

If you actually want to use the `numThreads` version, it is upto the
caller to compute the `numThreads` and set `options.setNumThreads`
instead of `options.setTileSizes`. Note that there is a slight
difference in the num threads version and tile size version. The former
requires an additional `affine.max` on the tile size to ensure
non-negative tile sizes. When lowering to `numThreads` version this
`affine.max` is not needed since by construction the tile sizes are
non-negative. In previous implementations, the `numThreads` version
generated when using the `linalg::tileToForallOpUsingTileSizes` method
would avoid generating the `affine.max` operation. To get the same
state, downstream users will have to additionally normalize the
`scf.forall` operation.

**Changes to `transform.structured.tile_using_forall`**

The transform dialect op that called into `linalg::tileToForallOp` and
`linalg::tileToForallOpUsingTileSizes` have been modified to call
`scf::tileUsingSCF`. The transform dialect op always generates the
`numThreads` version of the `scf.forall` op. So when `tile_sizes` are
specified for the transform dialect op, first the `tile_sizes` version
of the `scf.forall` is generated by the `scf::tileUsingSCF` method which
is then further normalized to get back to the same state. So there is no
functional change to `transform.structured.tile_using_forall`. It always
generates the `numThreads` version of the `scf.forall` op (as it did
before this change).

---------

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 2bf58f5d27a233e63e58d644ff7aff126ee99aa7
      https://github.com/llvm/llvm-project/commit/2bf58f5d27a233e63e58d644ff7aff126ee99aa7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/startup/gpu/CMakeLists.txt

  Log Message:
  -----------
  [Clang] Suppress missing architecture error when doing LTO (#100652)

Summary:
The `nvlink-wrapper` can do LTO now, which means we can still create
some LLVM-IR without needing an architecture. In the case that we try to
invoke `nvlink` internally, that will still fail. This patch simply
defers the error until later so we can use `--lto-emit-llvm` to get the
IR without specifying an architecture.


  Commit: 5d972c582a076768885e6d33df8f5d3860594e43
      https://github.com/llvm/llvm-project/commit/5d972c582a076768885e6d33df8f5d3860594e43
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/CMakeLists.txt
    A lld/test/ELF/zsectionheader.s

  Log Message:
  -----------
  [ELF] Add -z nosectionheader

GNU ld since 2.41 supports this option, which is mildly useful. It omits
the section header table and non-ALLOC sections (including
.symtab/.strtab (--strip-all)).

This option is simple to implement and might be used by LLDB to test
program headers parsing without the section header table (#100900).

-z sectionheader, which is the default, is also added.

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


  Commit: bf5e56deba1e6d69f5ff0714fcade08c1329f882
      https://github.com/llvm/llvm-project/commit/bf5e56deba1e6d69f5ff0714fcade08c1329f882
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/CODE_OWNERS.TXT

  Log Message:
  -----------
  [NFC][LLVM] Add RealtimeSanitizer LLVM code owners (#101231)

Split from #100596


  Commit: 36264435071ecb5790d7944f0653c8195033135f
      https://github.com/llvm/llvm-project/commit/36264435071ecb5790d7944f0653c8195033135f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vslide1down-constant-vl-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/vslide1up-constant-vl-rv32.ll

  Log Message:
  -----------
  [RISCV] Use X0 for VLMax for slide1up/slide1down in lowerVectorIntrinsicScalars. (#101384)

Previously, we created a vsetvlimax intrinsic. Using X0 simplifies the
code and enables some optimizations to kick when the exact value of
vlmax is known.


  Commit: 30b5d4a76357feebf4797d1d80bc9d5608c74a88
      https://github.com/llvm/llvm-project/commit/30b5d4a76357feebf4797d1d80bc9d5608c74a88
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/llvm_libc_ext.td
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/dfmaf128.h
    A libc/src/math/dfmal.h
    A libc/src/math/dsubf128.h
    A libc/src/math/dsubl.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/dfmaf128.cpp
    A libc/src/math/generic/dfmal.cpp
    A libc/src/math/generic/dsubf128.cpp
    A libc/src/math/generic/dsubl.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/dfmal_test.cpp
    A libc/test/src/math/dsubl_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/SubTest.h
    A libc/test/src/math/smoke/dfmaf128_test.cpp
    A libc/test/src/math/smoke/dfmal_test.cpp
    A libc/test/src/math/smoke/dsubf128_test.cpp
    A libc/test/src/math/smoke/dsubl_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp

  Log Message:
  -----------
  [libc][math][c23] Add dfma{l,f128} and dsub{l,f128} C23 math functions (#101089)

Co-authored-by: OverMighty <its.overmighty at gmail.com>


  Commit: 910012e7c5854a7e04e15a5a8750aad41b8bb137
      https://github.com/llvm/llvm-project/commit/910012e7c5854a7e04e15a5a8750aad41b8bb137
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Split DIEBuilder::finish (#101244)

Split DIEBuilder::finish so that code updating .debug_names is in a
separate function.


  Commit: c6a3f4e2f2586cb1ce51306c305752a78bdba263
      https://github.com/llvm/llvm-project/commit/c6a3f4e2f2586cb1ce51306c305752a78bdba263
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h

  Log Message:
  -----------
  [sanitizer] Make file headers more conventional

Add "-*- C++ -*-"


  Commit: 9effefbae8d96006a4dd29bb9ab8532fd408559d
      https://github.com/llvm/llvm-project/commit/9effefbae8d96006a4dd29bb9ab8532fd408559d
  Author: Haowei Wu <haowei at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  Revert "[lldb] Reland 2402b3213c2f with `/H` to debug the windows build issue"

This reverts commit e72cdae47b4e263ea97b2bdd75cf44c1510cf3be, which broke
LLVM's lldb builder for Windows msvc.


  Commit: 7583c484c81218ab4c8c2fba2774cb518d8bbd43
      https://github.com/llvm/llvm-project/commit/7583c484c81218ab4c8c2fba2774cb518d8bbd43
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll

  Log Message:
  -----------
  [SCEV] Use power of two facts involving vscale when inferring wrap flags (#101380)

SCEV has logic for inferring wrap flags on AddRecs which are known to
control an exit based on whether the step is a power of two. This logic
only considered constants, and thus did not trigger for steps such as (4
x vscale) which are common in scalably vectorized loops.

The net effect is that we were very sensative to the preservation of
nsw/nuw flags on such IVs, and could not infer trip counts if they got
lost for any reason.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 2aa96fcf751ee948702e8447de62d6bea8235e3a
      https://github.com/llvm/llvm-project/commit/2aa96fcf751ee948702e8447de62d6bea8235e3a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalize-type-conversion.mlir

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Skip materializations when running without converter (#101318)

TODO: test case


  Commit: 951a36309787c39d102798c7b86b06caa1a35257
      https://github.com/llvm/llvm-project/commit/951a36309787c39d102798c7b86b06caa1a35257
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir

  Log Message:
  -----------
  [mlir][sparse] implement `sparse_tensor.extract_value` operation. (#101220)


  Commit: c2dc46cd1532c57e3d16c69f54edeed67e2d46c7
      https://github.com/llvm/llvm-project/commit/c2dc46cd1532c57e3d16c69f54edeed67e2d46c7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h

  Log Message:
  -----------
  [TableGen] Pass ValueTypeByHwMode by const reference in a couple places. NFC

ValueTypeByHwMode contains a std::map. We shouldn't copy it if
we don't need to .

Fixes #101406.


  Commit: 24f8d1009e5359590a619cbbf596229ae5bfbbca
      https://github.com/llvm/llvm-project/commit/24f8d1009e5359590a619cbbf596229ae5bfbbca
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add an explicit cast to allow one TypeSetByHwMode constructor to be removed. NFC

This constructor was taking a ValueTypeByMode by value to create
an ArrayRef. By adding an explicit cast from ValueTypeByHwMode
to TypeSetByHwMode we allow the ArrayRef to be implicitly converted
from a single element.


  Commit: bf1666fb0bc19ffa18072e2727e4611c293a9aee
      https://github.com/llvm/llvm-project/commit/bf1666fb0bc19ffa18072e2727e4611c293a9aee
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libcxx/.clang-format
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__config
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/latch
    M libcxx/include/semaphore
    M libcxx/test/std/atomics/atomics.types.generic/general.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/pointer.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
    M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
    M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
    M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
    M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
    M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.barrier/max.pass.cpp
    M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
    M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
    M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
    M libcxx/test/std/thread/thread.latch/max.pass.cpp
    M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp

  Log Message:
  -----------
  [libc++] Drop support for the C++20 Synchronization Library before C++20 (#82008)

When we initially implemented the C++20 synchronization library, we
reluctantly accepted for the implementation to be backported to C++03
upon request from the person who provided the patch. This was when we
were only starting to have experience with the issues this can create,
so we flinched. Nowadays, we have a much stricter stance about not
backporting features to previous standards.

We have recently started fixing several bugs (and near bugs) in our
implementation of the synchronization library. A recurring theme during
these reviews has been how difficult to understand the current code is,
and upon inspection it becomes clear that being able to use a few recent
C++ features (in particular lambdas) would help a great deal. The code
would still be pretty intricate, but it would be a lot easier to reason
about the flow of callbacks through things like
__thread_poll_with_backoff.

As a result, this patch drops support for the synchronization library
before C++20. This makes us more strictly conforming and opens the door
to major simplifications, in particular around atomic_wait which was
supported all the way to C++03.

This change will probably have some impact on downstream users, however
since the C++20 synchronization library was added only in LLVM 10 (~3
years ago) and it's quite a niche feature, the set of people trying to
use this part of the library before C++20 should be reasonably small.


  Commit: 38ef6929a3322fdddd74b3d6abdf6936cc4d8e62
      https://github.com/llvm/llvm-project/commit/38ef6929a3322fdddd74b3d6abdf6936cc4d8e62
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/spec/stdc.td
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/vsscanf.cpp
    A libc/src/stdio/vsscanf.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/vsscanf_test.cpp

  Log Message:
  -----------
  [libc] Add vsscanf function (#101402)

Summary:
Adds support for the `vsscanf` function similar to `sscanf`.
Based off of https://github.com/llvm/llvm-project/pull/97529.


  Commit: 785a24f1561c610ecbce7cdfbff053e0a3a7caec
      https://github.com/llvm/llvm-project/commit/785a24f1561c610ecbce7cdfbff053e0a3a7caec
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseSpaceCollapse.cpp
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir

  Log Message:
  -----------
  [mlir][sparse] introduce `sparse_tensor.coiterate` operation. (#101100)

This PR introduces `sparse_tensor.coiterate` operation, which represents
a loop that traverses multiple sparse iteration space.


  Commit: 26766a00ff946c281b7dd517b2ba8d594012c21e
      https://github.com/llvm/llvm-project/commit/26766a00ff946c281b7dd517b2ba8d594012c21e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/legalize-store-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/regalloc-fast-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32-dead.ll
    M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64-dead.ll
    M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll

  Log Message:
  -----------
  [RISCV] Remove unncessary FP extensions from some integer only vector tests.

I'm going to do a review to make sure we are testing Zvfhmin instead of
Zvfh where clang expects it to work for half types, like loads/stores. Removing
unnecessary FP makes less things to review.


  Commit: 74f95794433f315a14bd6878d97877566863bc34
      https://github.com/llvm/llvm-project/commit/74f95794433f315a14bd6878d97877566863bc34
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/config/linux/arm/entrypoints.txt

  Log Message:
  -----------
  [libc][math][c23] removed dsubl for 32 arm (#101423)


  Commit: cf79aba99db4909437b8977a59c51bc8899ddb9c
      https://github.com/llvm/llvm-project/commit/cf79aba99db4909437b8977a59c51bc8899ddb9c
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp

  Log Message:
  -----------
  [Clang] [NFC] Fix potential dereferencing of nullptr (#101405)

This patch replaces getAs with castAs and dyn_cast with cast to ensure
type safety and prevents potential null pointer dereferences. These
changes enforce compile-time checks for correct type casting in
ASTContext and CodeGenModule.


  Commit: 6f318d47bfba56df65394db6c20befe3ed5bf243
      https://github.com/llvm/llvm-project/commit/6f318d47bfba56df65394db6c20befe3ed5bf243
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/math-intrins.ll

  Log Message:
  -----------
  [NVPTX] Make minimum/maximum work on older GPUs

We want to use newer instructions if we are targeting sufficiently new
SM and PTX versions. If we cannot use those newer instructions, let LLVM
synthesize the sequence from more fundamental instructions.


  Commit: ee0f43af2b344a7cd603a8564871c357d8fb108a
      https://github.com/llvm/llvm-project/commit/ee0f43af2b344a7cd603a8564871c357d8fb108a
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h

  Log Message:
  -----------
  [SandboxIR][NFC] Move BasicBlock class definition up (#101422)

To make future PRs smaller.


  Commit: a0d8fa5d3a7e05d30004dd4faeb45c1a96fd8769
      https://github.com/llvm/llvm-project/commit/a0d8fa5d3a7e05d30004dd4faeb45c1a96fd8769
  Author: Jiahan Xie <88367305+jiahanxie353 at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store.mir

  Log Message:
  -----------
  [RISCV][GlobalISel] Legalize Scalable Vector Loads and Stores (#84965)

This patch supports legalizing load and store instruction for scalable
vectors in RISCV


  Commit: 1c66ef915710fd4450f85ebb0486695e9bbc4dfc
      https://github.com/llvm/llvm-project/commit/1c66ef915710fd4450f85ebb0486695e9bbc4dfc
  Author: Jiahan Xie <88367305+jiahanxie353 at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/load.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/store.mir

  Log Message:
  -----------
  [GISEL][RISCV] RegBank Select for Scalable Vector Load/Store (#99932)

This patch supports GlobalISel for register bank selection for scalable vector
load and store instructions in RISC-V


  Commit: d5d1cf05499ba9a0adc192c723f622fc13ef9c0b
      https://github.com/llvm/llvm-project/commit/d5d1cf05499ba9a0adc192c723f622fc13ef9c0b
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

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

  Log Message:
  -----------
  [NFC][Clang] Clean up VisitUnaryPlus by removing unused FP feature check (#101412)

This commit removes an unnecessary call to `E->hasStoredFPFeatures()`
within the `VisitUnaryPlus` function. The method's return value was not
being used, leading to a redundant operation. The removal of this line
streamlines the function and eliminates an unneeded check for stored
floating-point features.


  Commit: 65d3c220a184b11e41d6fc5853d865f3eb92b02e
      https://github.com/llvm/llvm-project/commit/65d3c220a184b11e41d6fc5853d865f3eb92b02e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    R llvm/test/CodeGen/RISCV/rvv/vsadd-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vsadd-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vsadd.ll
    R llvm/test/CodeGen/RISCV/rvv/vsaddu-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vsaddu-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vsaddu.ll
    R llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vsmul.ll
    R llvm/test/CodeGen/RISCV/rvv/vssub-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vssub-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vssub.ll
    R llvm/test/CodeGen/RISCV/rvv/vssubu-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vssubu-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vssubu.ll

  Log Message:
  -----------
  [RISCV] Merge more rv32/rv64 intrinsic tests that have the same content. NFC


  Commit: 3403b593ae11e624ace8918a7840e85198f2ca3c
      https://github.com/llvm/llvm-project/commit/3403b593ae11e624ace8918a7840e85198f2ca3c
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/SandboxIR/Use.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement PHINodes (#101111)

This patch implements sandboxir::PHINode which mirrors llvm::PHINode.

Based almost entirely on work by vporpo.


  Commit: 3a4c7cc56c07b2db9010c2228fc7cb2a43dd9b2d
      https://github.com/llvm/llvm-project/commit/3a4c7cc56c07b2db9010c2228fc7cb2a43dd9b2d
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp

  Log Message:
  -----------
  Forward declare OSSpinLockLock on MacOS since it's not shipped on the system. (#101392)

Fixes build errors on some SDKs.

rdar://132607572


  Commit: 307d1249ea635a78fcd347a65ddaa395cf64130e
      https://github.com/llvm/llvm-project/commit/307d1249ea635a78fcd347a65ddaa395cf64130e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/LoongArch/ucmp.ll
    M llvm/test/CodeGen/RISCV/ucmp.ll

  Log Message:
  -----------
  [LegalizeTypes][RISCV][LoongArch] Optimize promotion of ucmp. (#101366)

ucmp can be promoted with either sext or zext. RISC-V and LoongArch
prefer sext for promoting i32 to i64 unless the inputs are known to be
zero extended already.

This patch uses the existing SExtOrZExtPromotedOperands function that is
used by SETCC promotion to intelligently handle this.


  Commit: 1c5f6cfc352c3bd2a4faa0e3aebb4028b557a5e7
      https://github.com/llvm/llvm-project/commit/1c5f6cfc352c3bd2a4faa0e3aebb4028b557a5e7
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/UAVMetadata.ll
    M llvm/test/CodeGen/DirectX/cbuf.ll

  Log Message:
  -----------
  [DirectX] Rename backend DXIL resource analysis passes to DXILResourceMD*. NFC

These passes will be replaced soon as we move to the target extension based
resource handling in the DirectX backend, but removing them now before the
replacement stuff is all up and running would be very disruptive. However, we
do need to move these passes out of the way to avoid symbol conflicts with the
new DXILResourceAnalysis in the Analysis library.

Note: I tried an even simpler hack in #100698 but it doesn't really work. A
rename is the most expedient path forward here.

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


  Commit: 5dbbc3b14bb04ef4bf2cbf4c23008f94f4253704
      https://github.com/llvm/llvm-project/commit/5dbbc3b14bb04ef4bf2cbf4c23008f94f4253704
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.h
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp

  Log Message:
  -----------
  [lldb] Use Target references instead of pointers in CommandObject (NFC)

The GetTarget helper returns a Target reference so there's reason to
convert it to a pointer and check its validity.


  Commit: 87af9ee870ad7ca93abced0b09459c3760dec891
      https://github.com/llvm/llvm-project/commit/87af9ee870ad7ca93abced0b09459c3760dec891
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll

  Log Message:
  -----------
  [RISCV] Use experimental.vp.splat to splat specific vector length elements. (#101329)

Previously, llvm IR is hard to create a scalable vector splat with a
specific vector length, so we use riscv.vmv.v.x and riscv.vmv.v.f to do
this work. But the two rvv intrinsics needs strict type constraint which
can not support fixed vector types and illegal vector types. Using
vp.splat could preserve old functionality and also generate more
optimized code for vector types and illegal vectors.
This patch also fixes crash for getEVT not serving ptr types.


  Commit: e2c74aa535752cd6cf098731608d26275d1e40ac
      https://github.com/llvm/llvm-project/commit/e2c74aa535752cd6cf098731608d26275d1e40ac
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/VTEmitter.cpp

  Log Message:
  -----------
  [TableGen][MVT] Lower the maximum 16-bit MVT from 16384 to 511. (#101401)

MachineValueTypeSet in tablegen allocates an array with a bit per MVT.
This used to be 256 bits, with the introduction of 16-bit MVT it
ballooned to 65536 bits. I suspect this is increasing the memory usage
of many of the data structures used by CodeGenDAGPatterns.

Since we don't need the full 16-bit range yet, this patch proposes
lowering the maximum MVT to 511 and using only 512 bits for
MachineValueTypeSet's storage.


  Commit: a1ba4fb4516a33bd61b8219e2fc46ba3c1787460
      https://github.com/llvm/llvm-project/commit/a1ba4fb4516a33bd61b8219e2fc46ba3c1787460
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp

  Log Message:
  -----------
  [RISCV][GISel] Slightly simplify the regbank selection for G_LOAD/STORE. NFC (#101431)

Merge the isVector early out with the previous check for isVector.


  Commit: bc6834f5c70daca7ec321398a16891800b1c2bd8
      https://github.com/llvm/llvm-project/commit/bc6834f5c70daca7ec321398a16891800b1c2bd8
  Author: Andrea 🦈 <anfaulds at amd.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M mlir/utils/spirv/gen_spirv_dialect.py

  Log Message:
  -----------
  [mlir][spirv] Fix tablegen generator script's stripping of prefixes (#101378)

This script looks for existing definitions with the `SPIRV_` prefix, so
that it can preserve them when updating the file. When the commit
2d628330482e49d36744cb8f3fb5047cfeae6c56 changed the prefix from `SPV_`,
the number of characters to strip from matched names was not updated,
which broke this feature. This commit fixes remaining cases that weren't
fixed by 339c87a8a086347bd8b5aae8b5bc43fc1c155cc1.

The relationship of this script to the files it is meant to maintain is
still bitrotten in other ways.


  Commit: e6aeb3f4daea0ffd43930c63f9b9a7668b915fd9
      https://github.com/llvm/llvm-project/commit/e6aeb3f4daea0ffd43930c63f9b9a7668b915fd9
  Author: lifengxiang1025 <lifengxiang at kuaishou.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll

  Log Message:
  -----------
  [MemProf] Fix when function has indirect call (#101170)

When function has indirect call in LTO mode, it causes `assert(Alias)`
in `findProfiledCalleeThroughTailCalls`


  Commit: 9227fd74e49b045baba910cb07ee93b2c660d267
      https://github.com/llvm/llvm-project/commit/9227fd74e49b045baba910cb07ee93b2c660d267
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Factor out common test for CastInst subclasses (#101410)

The tests for most CastInst sub-classes, except AddrSpaceCastInst, are
very similar.
This patch creates a common template function for all of them.


  Commit: 42c413b48917491efc5372752c6ad245530939f5
      https://github.com/llvm/llvm-project/commit/42c413b48917491efc5372752c6ad245530939f5
  Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M mlir/lib/Transforms/OpStats.cpp
    M mlir/lib/Transforms/PrintIR.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp

  Log Message:
  -----------
  [mlir][Transforms] Preserve all analysis in print passes (#101315)

PrintIRPass, PrintOpStatsPass and PrintOpGraphPass don't mutate IR so
preserve all analysis to save computation resource a bit.


  Commit: ed12f80ff0a8d304d10245c7bfb9f6af4a5c968c
      https://github.com/llvm/llvm-project/commit/ed12f80ff0a8d304d10245c7bfb9f6af4a5c968c
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/getpayload.cpp
    A libc/src/math/generic/getpayloadf.cpp
    A libc/src/math/generic/getpayloadf128.cpp
    A libc/src/math/getpayload.h
    A libc/src/math/getpayloadf.h
    A libc/src/math/getpayloadf128.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/getpayload_test.cpp
    A libc/test/src/math/smoke/getpayloadf128_test.cpp
    A libc/test/src/math/smoke/getpayloadf_test.cpp

  Log Message:
  -----------
  [libc][math][c23] add entrypoints and tests for getpayload{,f,f128} (#101285)


  Commit: 430b90f04533b099d788db2668176038be38c53b
      https://github.com/llvm/llvm-project/commit/430b90f04533b099d788db2668176038be38c53b
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

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

  Log Message:
  -----------
  [nsan][NFC] Use cast when dyn_cast is not needed. (#101147)

Use `cast` instead to replace `dyn_cast` when `dyn_cast` is not
needed/not checked.


  Commit: 27b608055f8e86e2decea519e6dc1ab6aff4824e
      https://github.com/llvm/llvm-project/commit/27b608055f8e86e2decea519e6dc1ab6aff4824e
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    A llvm/test/CodeGen/RISCV/riscv-tail-dup-size.ll

  Log Message:
  -----------
  [RISCV] Increase default tail duplication threshold to 6 at -O3 (#98873)

This is just like AArch64.

Changing the threshold to 6 will increase the code size, but will
also decrease unconditional branches. CPUs with wide fetch/issue units
can benefit from it.

The value 6 may be debatable, we can set it to `SchedModel.IssueWidth`.


  Commit: 991a6215a9ccd99eb91d2b2d46b58c2fd648c263
      https://github.com/llvm/llvm-project/commit/991a6215a9ccd99eb91d2b2d46b58c2fd648c263
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h

  Log Message:
  -----------
  [TargetLowering] Remove weird use of MVT::isVoid in an assert. (#101436)

At the time this was written there were no vector types in MVT. The
order was:
-scalar integer types
-scalar FP types
-isVoid

I believe this isVoid check was to catch walking off the end of the
scalar FP types. While the isInteger()==isInteger caught walking off the
end of scalar integer types.

These days we have:
-scalar integer types
-scalar FP types
-fixed vector integer types
-fixed vector FP types
-scalable vector integer types
-scalable vector FP types.
-Glue
-isVoid

So checking isVoid doesn't detect what it used to. I've changed it to
check isFloatingPoint() == isFloatingPoint() instead.


  Commit: fb97b4f96217442c684a940558135ffbfe45b756
      https://github.com/llvm/llvm-project/commit/fb97b4f96217442c684a940558135ffbfe45b756
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/timers.c

  Log Message:
  -----------
  [BOLT][NFC] Add timers for MetadataManager invocations



Test Plan: added bolt/test/timers.c

Reviewers: ayermolo, maksfb, rafaelauler, dcci

Reviewed By: dcci

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


  Commit: 3f51bec466c4b67814a7877859ba3eeb5f80da7a
      https://github.com/llvm/llvm-project/commit/3f51bec466c4b67814a7877859ba3eeb5f80da7a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/timers.c

  Log Message:
  -----------
  [BOLT][NFC] Print timers in perf2bolt invocation

When BOLT is run in AggregateOnly mode (perf2bolt), it exits with code
zero so destructors are not run thus TimerGroup never prints the timers.

Add explicit printing just before the exit to honor options requesting
timers (`--time-rewrite`, `--time-aggr`).

Test Plan: updated bolt/test/timers.c

Reviewers: ayermolo, maksfb, rafaelauler, dcci

Reviewed By: dcci

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


  Commit: 9d068f7137a2ad732d008df46eb71aadb0cd8a8e
      https://github.com/llvm/llvm-project/commit/9d068f7137a2ad732d008df46eb71aadb0cd8a8e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/vle.ll
    M llvm/test/CodeGen/RISCV/rvv/vse.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp-bf16.ll

  Log Message:
  -----------
  [RISCV] Remove Zfbfmin from some vector test RUN lines. NFC


  Commit: 86815a1842d308521f46048bb9ed08e47c0d8357
      https://github.com/llvm/llvm-project/commit/86815a1842d308521f46048bb9ed08e47c0d8357
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-frame-index.mir
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Permit mapping G_FRAME_INDEX to sgprs (#101325)

eliminateFrameIndex should now properly handle materializing
frame indices in SGPRs, so treat this like the other constant
operand types.

On average this will produce worse code; we need to detect
VGPR uses, and improve SGPR->VGPR frame index folds.


  Commit: 72ed80866fcfe1366ab49995d23782e8566cec43
      https://github.com/llvm/llvm-project/commit/72ed80866fcfe1366ab49995d23782e8566cec43
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp

  Log Message:
  -----------
  [MIR] Remove separate Size variable from parseMachineMemoryOperand. NFC (#101453)

Size is updated in sync with MemoryType. Instead of maintaining a
separate Size, use the size from MemoryType where needed.


  Commit: 129a8e1b756aa4e5932169ed2f1f7dbad692f44d
      https://github.com/llvm/llvm-project/commit/129a8e1b756aa4e5932169ed2f1f7dbad692f44d
  Author: Marina <173714676+citymarina at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/peephole-csel.ll
    A llvm/test/CodeGen/AArch64/peephole-csel.mir

  Log Message:
  -----------
  [AArch64] Add tests for redundant csel instructions. NFC (#101014)


  Commit: 972c02929ba61bd34417700d77605d8fd3f36de7
      https://github.com/llvm/llvm-project/commit/972c02929ba61bd34417700d77605d8fd3f36de7
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/operand-types.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/typeof-errors.td
    A llvm/test/TableGen/GlobalISelCombinerEmitter/variadic-errors.td
    M llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GlobalISel][TableGen] MIR Pattern Variadics (#100563)

Allow for matching & rewriting a variable number of arguments in an
instructions.

Solves #87459


  Commit: 04e8433165de66fa8514ef2db53d9f6dd7c244c0
      https://github.com/llvm/llvm-project/commit/04e8433165de66fa8514ef2db53d9f6dd7c244c0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vle.ll
    M llvm/test/CodeGen/RISCV/rvv/vleff.ll
    M llvm/test/CodeGen/RISCV/rvv/vloxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vloxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vlse.ll
    M llvm/test/CodeGen/RISCV/rvv/vluxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vluxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vse.ll
    M llvm/test/CodeGen/RISCV/rvv/vsoxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vsoxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vsse.ll
    M llvm/test/CodeGen/RISCV/rvv/vsuxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vsuxei.ll

  Log Message:
  -----------
  [RISCV] Add vector bf16 load/store intrinsic tests. NFC

This adds bf16 to the unit stride, strided, and index load and
store intrinsics. clang already assumes these work with Zvfbfmin.


  Commit: 84a3739ac072c95af9fa80e36d9e0f52d11e28eb
      https://github.com/llvm/llvm-project/commit/84a3739ac072c95af9fa80e36d9e0f52d11e28eb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vle.ll
    M llvm/test/CodeGen/RISCV/rvv/vleff.ll
    M llvm/test/CodeGen/RISCV/rvv/vloxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vloxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vlse.ll
    M llvm/test/CodeGen/RISCV/rvv/vluxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vluxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vse.ll
    M llvm/test/CodeGen/RISCV/rvv/vsoxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vsoxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vsse.ll
    M llvm/test/CodeGen/RISCV/rvv/vsuxei.ll

  Log Message:
  -----------
  [RISCV] Replace Zvfh with Zvfhmin on vector load/store intrinsic tests. NFC

clang uses these with Zvfhmin so we should test them.


  Commit: ab33c3dd65ab9b2101e42eaa05ed781a21753f65
      https://github.com/llvm/llvm-project/commit/ab33c3dd65ab9b2101e42eaa05ed781a21753f65
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/test/TableGen/GlobalISelCombinerEmitter/variadic-errors.td

  Log Message:
  -----------
  [GlobalISel][TableGen] Make variadic-errors.td test more robust

Use a regex instead of hardcoded numbers for anonymous pattern suffixes.


  Commit: e167f753bd4679329ebcf0232f72be9c63d9b671
      https://github.com/llvm/llvm-project/commit/e167f753bd4679329ebcf0232f72be9c63d9b671
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/Modules/inline-builtins.cppm

  Log Message:
  -----------
  [C++20] [Modules] Always emit the inline builtins (#101278)

See the attached test for the motivation example. If we're too greedy to
not emit the definition for inline builtins, we may meet a middle end
crash. And it should be good to emit inline builtins always.


  Commit: 1d2b2d29d733200b704f38d220d22ecc07d6cf42
      https://github.com/llvm/llvm-project/commit/1d2b2d29d733200b704f38d220d22ecc07d6cf42
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

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

  Log Message:
  -----------
  AMDGPU: Cleanup extract_subvector actions (NFC) (#101454)

The base AMDGPUISelLowering was setting custom action on 16-bit
vector types, but also set in SIISelLowering.


  Commit: fdce0bfb7f84dc3a29acaefe04ee2f3d75d52c46
      https://github.com/llvm/llvm-project/commit/fdce0bfb7f84dc3a29acaefe04ee2f3d75d52c46
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

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

  Log Message:
  -----------
  [RISCV] Add back missing vmv_v_x_vl pattern predicates (#101455)

Looks like these got left behind in
17e2d07ad15e02c9c757fdd4a532c43747ed8bf3


  Commit: 7088a5ed880f29129ec844c66068e8cb61ca98bf
      https://github.com/llvm/llvm-project/commit/7088a5ed880f29129ec844c66068e8cb61ca98bf
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm.h
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h

  Log Message:
  -----------
  [lldb][FreeBSD] Fix NativeRegisterContextFreeBSD_{arm,mips64,powerpc} declarations (#101403)

Similar to #97796, fix the type of the `native_thread` parameter for the
arm, mips64 and powerpc variants of `NativeRegisterContextFreeBSD_*`.

Otherwise, this leads to compile errors similar to:

```
lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp:85:39: error: out-of-line definition of 'NativeRegisterContextFreeBSD_powerpc' does not match any declaration in 'lldb_private::process_freebsd::NativeRegisterContextFreeBSD_powerpc'
   85 | NativeRegisterContextFreeBSD_powerpc::NativeRegisterContextFreeBSD_powerpc(
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


  Commit: 17ba4f4053e303be3e5408d34eaf687a49cefb06
      https://github.com/llvm/llvm-project/commit/17ba4f4053e303be3e5408d34eaf687a49cefb06
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalize-type-conversion.mlir

  Log Message:
  -----------
  Revert "[mlir][Transforms] Dialect conversion: Skip materializations when running without converter (#101318)"

This reverts commit 2aa96fcf751ee948702e8447de62d6bea8235e3a.

This was merged without a test. Also it seems it was only fixing an
issue for users which used a particular workaround that is not actually
needed anymore (skipping UnrealizedConversionCast operands).


  Commit: 5dfdac74cadd9483a66eb17e51dc632b554cccb1
      https://github.com/llvm/llvm-project/commit/5dfdac74cadd9483a66eb17e51dc632b554cccb1
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/test/libcxx/utilities/any/allocator.pass.cpp
    M libcxx/test/libcxx/utilities/format/enable_insertable.compile.pass.cpp
    M libcxx/test/std/concepts/concepts.lang/concept.common/common_with.compile.pass.cpp
    M libcxx/test/std/concepts/concepts.lang/concept.commonref/common_reference.compile.pass.cpp
    M libcxx/test/std/containers/Emplaceable.h
    M libcxx/test/std/containers/NotConstructible.h
    M libcxx/test/std/containers/container.node/node_handle.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/compare.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_or_assign.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/try.emplace.pass.cpp
    M libcxx/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/ErrorCodeEnum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/ErrorCodeEnum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/user_defined_char_type.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor.range_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp
    M libcxx/test/std/time/rep.h
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/difference_type.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/size_type.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_type.pass.cpp
    M libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp
    M libcxx/test/std/utilities/variant/variant.hash/hash.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
    M libcxx/test/support/Counter.h

  Log Message:
  -----------
  [libc++][NFC] Avoid opening namespace std in the tests (#94160)

This also adds a few FIXMEs where we use UB in the tests.


  Commit: f51a479520be75dec8117a0a6039604d8282ee38
      https://github.com/llvm/llvm-project/commit/f51a479520be75dec8117a0a6039604d8282ee38
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for aligning stack objects passed to memory intrinsics. NFC


  Commit: 4f42deb5f4fde1676e7cf3ddc54e44e0f4a89760
      https://github.com/llvm/llvm-project/commit/4f42deb5f4fde1676e7cf3ddc54e44e0f4a89760
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/nan.ll
    A llvm/test/Transforms/InstCombine/nanl-fp128.ll
    A llvm/test/Transforms/InstCombine/nanl-fp80.ll
    A llvm/test/Transforms/InstCombine/nanl-ppc-fp128.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Constant fold nan libcall (#101459)

Reference: https://en.cppreference.com/w/c/numeric/math/nan
The logic is copied from clang frontend:


https://github.com/llvm/llvm-project/blob/1d2b2d29d733200b704f38d220d22ecc07d6cf42/clang/lib/AST/ExprConstant.cpp#L14741-L14777

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: f3761a4bd320e4334315c87b55f882a4ba864caa
      https://github.com/llvm/llvm-project/commit/f3761a4bd320e4334315c87b55f882a4ba864caa
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/Headers/stdarg-cxx-modules.cpp

  Log Message:
  -----------
  [C++20][Modules] Allow using stdarg.h with header units (#100739)

Summary:
Macro like `va_start`/`va_end` marked as builtin functions that makes
these identifiers special and it results in redefinition of the
identifiers as builtins and it hides macro definitions during preloading
C++ modules. In case of modules Clang ignores special identifiers but
`PP.getCurrentModule()` was not set. This diff fixes IsModule detection
logic for this particular case.

Test Plan: check-clang

---------

Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>


  Commit: 65c000a1e5a2a1c79eb5e022c3dc51b239691153
      https://github.com/llvm/llvm-project/commit/65c000a1e5a2a1c79eb5e022c3dc51b239691153
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h

  Log Message:
  -----------
  Simplify hot-path size computations in BumpPtrAllocator. (#101312)

~0.1% instruction count improvements


https://llvm-compile-time-tracker.com/compare.php?from=07d2709a17860a202d91781769a88837e4fb5f2a&to=d5cc47831ecd9f0a2b164b16da67f74b94e9aafc&stat=instructions:u


  Commit: 3611c0b7038a8a11796f22fbd063074624b89081
      https://github.com/llvm/llvm-project/commit/3611c0b7038a8a11796f22fbd063074624b89081
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/test/CodeGen/AMDGPU/wqm.ll

  Log Message:
  -----------
  [AMDGPU] SIWholeQuadMode: avoid execz effects in exact regions (#101157)

Exact mode regions within WQM may have EXEC=0 in divergent control flow.
This occurs if a branch is only taken by helper lanes and an instruction
requiring WQM disabling is encountered.

The current code extends the exact region as far as possible; however,
this can result in it including instructions with unwanted side effects
at EXEC=0.
In particular readfirstlane combined with scalar loads can produce
invalid memory accesses in this circumstance.

Workaround this by shrinking exact regions to only the instructions
requiring WQM disabling when unwanted side effects are present.
Eventually we should branch over these regions when EXEC=0, but this
requires visibility of CFG/divergence information not currently
available.


  Commit: bbadbf751ec03b88b3348607c5e57c6b7416cebb
      https://github.com/llvm/llvm-project/commit/bbadbf751ec03b88b3348607c5e57c6b7416cebb
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
    M mlir/test/Target/LLVMIR/openmp-private.mlir

  Log Message:
  -----------
  [flang][OpenMP] Delayed privatization for variables with `equivalence` association (#100531)

Handles variables that are storage associated via `equivalence`. The
problem is that these variables are declared as `fir.ptr`s while their
privatized storage is declared as `fir.ref` which was triggering a
validation error in the OpenMP dialect.


  Commit: 3b3b89105ee33214654677a02ab30a62eedbd338
      https://github.com/llvm/llvm-project/commit/3b3b89105ee33214654677a02ab30a62eedbd338
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg8xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Add CWG882 test (Defining `main` as deleted) (#101382)

https://cplusplus.github.io/CWG/issues/882.html

This was implemented for Clang 3.5 by
b63b6ee9a00ef0710d899df6cfda78a1b8bd762a


  Commit: 85fbc4fcd7a8bb6cb06aea9bb48c3ce1a0ce9e77
      https://github.com/llvm/llvm-project/commit/85fbc4fcd7a8bb6cb06aea9bb48c3ce1a0ce9e77
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [mlir][vector] Add tests xfer-permute-lowering (nfc)(2/n) (#96033)

Adds more tests to:
  * vector-transfer-permutation-lowering.mlir

Specifically, adds tests for:
  * out-of-bounds access for the `TransferWritePermutationLowering`
    pattern
  * in-bounds access for `TransferWriteNonPermutationLowering` +
    `TransferWritePermutationLowering`

Also renames `@permutation_with_mask_xfer_write_fixed_width` as
`@xfer_write_non_transposing_permutation_map`.

This is a part of a larger effort to make sure that all key cases for
patterns under populateVectorTransferPermutationMapLoweringPatterns
(*) are tested. I also want to make sure that tests use consistent
function and variable names.

(*) transform.apply_patterns.vector.transfer_permutation_patterns in
TD parlance)


  Commit: 67730ae19c6bcb08dca292e0576b6cd55a843932
      https://github.com/llvm/llvm-project/commit/67730ae19c6bcb08dca292e0576b6cd55a843932
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h

  Log Message:
  -----------
  Revert "Simplify hot-path size computations in BumpPtrAllocator. (#101312)"

This reverts commit 65c000a1e5a2a1c79eb5e022c3dc51b239691153.


  Commit: 05d3f5ed910f5bb96962bf913c9d4fe5ab7abec9
      https://github.com/llvm/llvm-project/commit/05d3f5ed910f5bb96962bf913c9d4fe5ab7abec9
  Author: sbite0138 <sbite0138 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-row-major.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32-row-major.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll

  Log Message:
  -----------
  [LowerMatrixIntrinsics] Fix type suffix for matrix.multiply.* (#100940)

Based on the [proposal
PDF](https://llvm.org/devmtg/2020-09/slides/Hahn-Matrix_Support_in_LLVM_and_Clang.pdf)
and the test code under
[llvm/test/Transforms/LowerMatrixIntrinsics](https://github.com/llvm/llvm-project/tree/main/llvm/test/Transforms/LowerMatrixIntrinsics),
the suffix for the `@llvm.matrix.multiply.*` intrinsic should be {output
matrix type}.{input matrix 1 type}.{input matrix 2 type} (e.g.,
`@llvm.matrix.multiply.v4i32.v4i32.v4i32`).

This PR corrects the places where these suffixes do not follow the
aforementioned format.


  Commit: cab91ecffd7a6cb94fa27e7fe8cd93dfc4d9a672
      https://github.com/llvm/llvm-project/commit/cab91ecffd7a6cb94fa27e7fe8cd93dfc4d9a672
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
    M clang/test/Analysis/pointer-sub.c

  Log Message:
  -----------
  [clang][analyzer] Improve PointerSubChecker (#96501)

The checker could report false positives if pointer arithmetic was done
on pointers to non-array data before pointer subtraction. Another
problem is fixed that could cause false positive if members of the same
structure but in different memory objects are subtracted.


  Commit: 2d3655037ccfa276cb0949c2ce0cff56985f6637
      https://github.com/llvm/llvm-project/commit/2d3655037ccfa276cb0949c2ce0cff56985f6637
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/test/libcxx/vendor/ibm/bad_function_call.pass.cpp
    M libcxxabi/test/vendor/ibm/aix_xlclang_nested_excp_32.pass.sh.s
    M libcxxabi/test/vendor/ibm/aix_xlclang_nested_excp_64.pass.sh.s
    M libcxxabi/test/vendor/ibm/aix_xlclang_passing_excp_obj_32.pass.sh.S
    M libcxxabi/test/vendor/ibm/aix_xlclang_passing_excp_obj_64.pass.sh.S
    M libcxxabi/test/vendor/ibm/cond_reg_restore.pass.cpp
    M libcxxabi/test/vendor/ibm/vec_reg_restore.pass.cpp
    M libunwind/test/aix_signal_unwind.pass.sh.S

  Log Message:
  -----------
  [NFC][libc++][libc++abi][libunwind][test] Fix/unify AIX triples used in LIT tests (#101196)

This patch fixes/unifies AIX target triples used in libc++, libc++abi,
and libunwind LIT tests.


  Commit: 0a5e5728fbb61d7c775aabc8048b7b629e9ca2d2
      https://github.com/llvm/llvm-project/commit/0a5e5728fbb61d7c775aabc8048b7b629e9ca2d2
  Author: joshua-arch1 <68843032+joshua-arch1 at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/PartialInlining.cpp

  Log Message:
  -----------
  [Inliner] Fix bugs for partial inlining with vector

In the cost model of partial inlining, cost for intrinsics will be applied. However, some intrinsics for vector have invalid cost, which is not allowed for partial inlining. Instead of assertion, we directly do not do partial inlining  in this circumstance to avoid compiling errors.


  Commit: feeb8335a010c90071b65618634cf775d2d720a4
      https://github.com/llvm/llvm-project/commit/feeb8335a010c90071b65618634cf775d2d720a4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    R libc/utils/gpu/loader/amdgpu/Loader.cpp
    A libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/CMakeLists.txt
    R libc/utils/gpu/loader/nvptx/Loader.cpp
    A libc/utils/gpu/loader/nvptx/nvptx-loader.cpp

  Log Message:
  -----------
  [libc] Change the GPU loaders to LLVM executables (#101442)

Summary:
I am going to rework these tools to just me LLVM tools. This patch is
pretty much NFC to set up the CMake for that.


  Commit: 241a05af0c2324eb073747d42466b9dde229655f
      https://github.com/llvm/llvm-project/commit/241a05af0c2324eb073747d42466b9dde229655f
  Author: joshua-arch1 <68843032+joshua-arch1 at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/PartialInlining.cpp

  Log Message:
  -----------
  Revert "[Inliner] Fix bugs for partial inlining with vector"

This reverts commit https://github.com/llvm/llvm-project/commit/0a5e5728fbb61d7c775aabc8048b7b629e9ca2d2,
since I forgot to start a pull request.


  Commit: 097a1d28ed6654f1297feb9cb80890c7dffa2864
      https://github.com/llvm/llvm-project/commit/097a1d28ed6654f1297feb9cb80890c7dffa2864
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/utils/gpu/loader/CMakeLists.txt

  Log Message:
  -----------
  [libc] Remove extra parens


  Commit: 2feb0586b75bae87bb6e053b502ec7739da37837
      https://github.com/llvm/llvm-project/commit/2feb0586b75bae87bb6e053b502ec7739da37837
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll

  Log Message:
  -----------
  AMDGPU: Add baseline test for copysign combine

We can use known bits information to avoid masking out one or
both of the operands.


  Commit: 3d1e1d9c2eb3e3ffebd580a453fa2bd9a4c0abd6
      https://github.com/llvm/llvm-project/commit/3d1e1d9c2eb3e3ffebd580a453fa2bd9a4c0abd6
  Author: Hugh Delaney <hugh.delaney at codeplay.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll

  Log Message:
  -----------
  [NVPTX][NFC] Remove unneeded declarations in test (#101167)

Only the bf16 declarations are needed, as only they are lowered in
AutoUpgrade.cpp.
f16 and other builtins have LLVM intrinsics already defined.


  Commit: d10dc5a06fac4dcabf2264c64c8672c6f6ae36fb
      https://github.com/llvm/llvm-project/commit/d10dc5a06fac4dcabf2264c64c8672c6f6ae36fb
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    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_copy.h
    M libcxx/include/__algorithm/ranges_copy_backward.h
    M libcxx/include/__algorithm/ranges_copy_if.h
    M libcxx/include/__algorithm/ranges_copy_n.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_fill.h
    M libcxx/include/__algorithm/ranges_fill_n.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_find_last.h
    M libcxx/include/__algorithm/ranges_for_each.h
    M libcxx/include/__algorithm/ranges_for_each_n.h
    M libcxx/include/__algorithm/ranges_generate.h
    M libcxx/include/__algorithm/ranges_generate_n.h
    M libcxx/include/__algorithm/ranges_includes.h
    M libcxx/include/__algorithm/ranges_inplace_merge.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_make_heap.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_merge.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_move.h
    M libcxx/include/__algorithm/ranges_move_backward.h
    M libcxx/include/__algorithm/ranges_next_permutation.h
    M libcxx/include/__algorithm/ranges_none_of.h
    M libcxx/include/__algorithm/ranges_nth_element.h
    M libcxx/include/__algorithm/ranges_partial_sort.h
    M libcxx/include/__algorithm/ranges_partial_sort_copy.h
    M libcxx/include/__algorithm/ranges_partition.h
    M libcxx/include/__algorithm/ranges_partition_copy.h
    M libcxx/include/__algorithm/ranges_partition_point.h
    M libcxx/include/__algorithm/ranges_pop_heap.h
    M libcxx/include/__algorithm/ranges_prev_permutation.h
    M libcxx/include/__algorithm/ranges_push_heap.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_copy.h
    M libcxx/include/__algorithm/ranges_remove_copy_if.h
    M libcxx/include/__algorithm/ranges_remove_if.h
    M libcxx/include/__algorithm/ranges_replace.h
    M libcxx/include/__algorithm/ranges_replace_copy.h
    M libcxx/include/__algorithm/ranges_replace_copy_if.h
    M libcxx/include/__algorithm/ranges_replace_if.h
    M libcxx/include/__algorithm/ranges_reverse.h
    M libcxx/include/__algorithm/ranges_reverse_copy.h
    M libcxx/include/__algorithm/ranges_rotate.h
    M libcxx/include/__algorithm/ranges_rotate_copy.h
    M libcxx/include/__algorithm/ranges_sample.h
    M libcxx/include/__algorithm/ranges_search.h
    M libcxx/include/__algorithm/ranges_search_n.h
    M libcxx/include/__algorithm/ranges_set_difference.h
    M libcxx/include/__algorithm/ranges_set_intersection.h
    M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
    M libcxx/include/__algorithm/ranges_set_union.h
    M libcxx/include/__algorithm/ranges_shuffle.h
    M libcxx/include/__algorithm/ranges_sort.h
    M libcxx/include/__algorithm/ranges_sort_heap.h
    M libcxx/include/__algorithm/ranges_stable_partition.h
    M libcxx/include/__algorithm/ranges_stable_sort.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/ranges_swap_ranges.h
    M libcxx/include/__algorithm/ranges_transform.h
    M libcxx/include/__algorithm/ranges_unique.h
    M libcxx/include/__algorithm/ranges_unique_copy.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__iterator/advance.h
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/prev.h
    M libcxx/include/__memory/ranges_construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h

  Log Message:
  -----------
  [libc++] Remove dedicated namespaces for ranges functions (#76543)

We originally put implementation-detail function objects into individual
namespaces for `std::ranges` without a good reason for doing so. This
practice was continued, presumably because there was prior art. Since
there's no reason to keep these namespaces, this commit removes them,
which will slightly impact binary size.

This commit does not apply to CPOs, some of which need additional work.


  Commit: beecf2c6052485d99c6db86422aebdb433f98b5a
      https://github.com/llvm/llvm-project/commit/beecf2c6052485d99c6db86422aebdb433f98b5a
  Author: Shivam <75530356+phyBrackets at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp

  Log Message:
  -----------
  [libc++] Fix missing declarations of uses_allocator_construction_args (#67044)

We were not declaring `__uses_allocator_construction_args` helper 
functions, leading to several valid uses failing to compile. This
patch solves the problem by moving these helper functions into a
struct, which also reduces the amount of redundant SFINAE we need
to perform since most overloads are checking for a cv-qualfied pair.

Fixes #66714

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 389146816711ef6d11e54726e8ea300bf9945dc3
      https://github.com/llvm/llvm-project/commit/389146816711ef6d11e54726e8ea300bf9945dc3
  Author: ZERO-N <1416312228 at qq.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/include/__expected/expected.h
    M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp

  Log Message:
  -----------
  [libc++] Avoid using **this in error messages for expected monadic operations (#84840)

Instead of using **this in error messages for std::expected monadic
operations, use value(). As shown in LWG3969, **this can trigger
unintended ADL and while it's only an error message, we might as
well be ADL-correct there too.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 14c8feba4595d46d800bc8ac0c05a1a663b05002
      https://github.com/llvm/llvm-project/commit/14c8feba4595d46d800bc8ac0c05a1a663b05002
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (#97200)

Also classes the "ready" status similarly to "tentatively ready" in
make_cxx_dr_status


  Commit: 1fbd7be58f67f367dbb38ac2ceaa8ce3208a8f95
      https://github.com/llvm/llvm-project/commit/1fbd7be58f67f367dbb38ac2ceaa8ce3208a8f95
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td

  Log Message:
  -----------
  [LLVM][ISel][SVE] Remove redundant merging fp patterns. (#101351)

Since "vselect cond, (binop, x, y), x" became the canonical form the
equivalent PatFrags for "binop x, (vselect cond, y, 0)" are no longer
required.


  Commit: 229a16590a3cd65da77bb868498d3eed63bf6263
      https://github.com/llvm/llvm-project/commit/229a16590a3cd65da77bb868498d3eed63bf6263
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/vla.cpp

  Log Message:
  -----------
  [lldb][test] Disable vla test on Windows

For the same reasons as 6cfac497e96978f2bfc50a00b51c198f2ed50f82.

This test was added in https://github.com/llvm/llvm-project/pull/100710.

It fails because when we're linking with link.exe, -gdwarf has no
effect and we get a PDB file anyway. The Windows on Arm lldb bot
uses link.exe.

 "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\bin\\Hostx86\\arm64\\link.exe" <...>

08/01/2024  01:47 PM         2,956,488 vla.cpp.ilk
08/01/2024  01:47 PM         6,582,272 vla.cpp.pdb
08/01/2024  01:47 PM           734,208 vla.cpp.tmp


  Commit: e1451236a0a07f1ee4ba5fe3ae2464a82a37c25c
      https://github.com/llvm/llvm-project/commit/e1451236a0a07f1ee4ba5fe3ae2464a82a37c25c
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  [Flang][Driver] Introduce -fopenmp-targets offloading option (#100152)

This patch modifies the flang driver to introduce the `-fopenmp-targets`
option to the frontend compiler invocations corresponding to the OpenMP
host device on offloading-enabled compilations.

This option holds the list of offloading triples associated to the
compilation and is used by clang to determine whether offloading calls
should be generated for the host.


  Commit: b9335176db718bf64c72d48107eb9dff28ed979e
      https://github.com/llvm/llvm-project/commit/b9335176db718bf64c72d48107eb9dff28ed979e
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Preprocessor/pragma_mc_func.c

  Log Message:
  -----------
  [AIX] Turn on `#pragma mc_func` check by default (#101336)

https://github.com/llvm/llvm-project/pull/99888 added a check (and
corresponding options) to flag uses of `#pragma mc_func` on AIX.

This PR turns on the check by default.


  Commit: 130c135689ec12ab78c53645808524a8d28f7cae
      https://github.com/llvm/llvm-project/commit/130c135689ec12ab78c53645808524a8d28f7cae
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExpr.cpp

  Log Message:
  -----------
  [clang] Fix crash with multiple non-parenthsized `sizeof` (#101297)

There are 5 unary operators that can be followed by a non-parenthesized
expression: `sizeof`, `__datasizeof`, `__alignof`, `alignof`,
`_Alignof`. When we nest them too deep, `BalancedDelimiterTracker` does
not help, because there are no parentheses, and we crash. Instead, this
patch recognize chains of those operators, and parse them with
sufficient stack space.

Fixes #45061


  Commit: 5d7357cc9ee84578e7142c5fa7c03b1331cba6d2
      https://github.com/llvm/llvm-project/commit/5d7357cc9ee84578e7142c5fa7c03b1331cba6d2
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M llvm/include/llvm/ADT/STLExtras.h

  Log Message:
  -----------
  [Clang] Fix definition of layout-compatible to ignore empty classes (#92103)

Also changes the behaviour of `__builtin_is_layout_compatible`

None of the historic nor the current definition of layout-compatible
classes mention anything about base classes (other than implicitly
through being standard-layout) and are defined in terms of members, not
direct members.


  Commit: 59ca618e3b7aec8c32e24d781bae436dc99b2727
      https://github.com/llvm/llvm-project/commit/59ca618e3b7aec8c32e24d781bae436dc99b2727
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp

  Log Message:
  -----------
  [libc++] Increase atomic_ref's required alignment for small types (#99654)

This patch increases the alignment requirement for std::atomic_ref
such that we can guarantee lockfree operations more often. Specifically,
we require types that are 1, 2, 4, 8, or 16 bytes in size to be aligned
to at least their size to be used with std::atomic_ref.

This is the case for most types, however a notable exception is
`long long` on x86, which is 8 bytes in length but has an alignment
of 4.

As a result of this patch, one has to be more careful about the
alignment of objects used with std::atomic_ref. Failure to provide
a properly-aligned object to std::atomic_ref is a precondition 
violation and is technically UB. On the flipside, this allows us
to provide an atomic_ref that is actually lockfree more often, 
which is an important QOI property.

More information in the discussion at https://github.com/llvm/llvm-project/pull/99570#issuecomment-2237668661.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 4e89d1199c180fd384486ba2796368ec800180ee
      https://github.com/llvm/llvm-project/commit/4e89d1199c180fd384486ba2796368ec800180ee
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/mem-intrinsics.ll
    M llvm/test/Transforms/InstCombine/mempcpy.ll

  Log Message:
  -----------
  [InstCombine] Convert mem intrinsic with null into a noop (#100388)

When src/dest passed into memset/memcpy is null: 
```
len == 0: this call is a noop.
len != 0: the behavior is undefined.
```
See also https://llvm.org/docs/LangRef.html#llvm-memset-intrinsics
Alive2: https://alive2.llvm.org/ce/z/tJeRNL

This patch converts these mem intrinsic calls into an assumption `len ==
0` to mitigate code-size bloat caused by JumpThreading.


  Commit: d5a6ec1d4dd9a7593c68abfa49b75059ba98c91b
      https://github.com/llvm/llvm-project/commit/d5a6ec1d4dd9a7593c68abfa49b75059ba98c91b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/docs/ImplementationDefinedBehavior.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/include/sstream
    A libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp

  Log Message:
  -----------
  [libc++][stringbuf] Test and document LWG2995. (#100879)

As mentioned in the LWG issue libc++ has already implemented the
optimization. This adds tests and documents the implementation defined
behaviour.

Drive-by fixes an initialization.


  Commit: 5ad15e58136bc80eadcc0a7fceb463bbb5317345
      https://github.com/llvm/llvm-project/commit/5ad15e58136bc80eadcc0a7fceb463bbb5317345
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update `cxx_dr_status.html`


  Commit: e7630a0d60821dc13bb0be4e50b49fba5f90471f
      https://github.com/llvm/llvm-project/commit/e7630a0d60821dc13bb0be4e50b49fba5f90471f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/canonicalize.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll

  Log Message:
  -----------
  AMDGPU: Improve cost handling of canonicalize (#101479)


  Commit: d2c04592e63b5a796c79d42e2f5b5a8b1a2b2a72
      https://github.com/llvm/llvm-project/commit/d2c04592e63b5a796c79d42e2f5b5a8b1a2b2a72
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/vmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll

  Log Message:
  -----------
  [RISCV] Support f16 vmv.v.v and vmerge.vvm intrinsics with Zvfhmin. (#101457)

Clang expects that this works.


  Commit: e833e8beecc3301a203dbf2f6eeb14ed4d1e996e
      https://github.com/llvm/llvm-project/commit/e833e8beecc3301a203dbf2f6eeb14ed4d1e996e
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp

  Log Message:
  -----------
  [Mem2Reg] Replace block maps with block numbers (#101391)

Very minor performance improvement.


  Commit: b5fc083dc30994f8d4f43ba6064d7b27467352c0
      https://github.com/llvm/llvm-project/commit/b5fc083dc30994f8d4f43ba6064d7b27467352c0
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/X86/O0-pipeline.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  [CodeGen] Merge lowerConstantIntrinsics into pre-isel lowering (#97727)

Currently, the LowerConstantIntrinsics pass does an RPO traversal of
every function... only to find that many functions don't have constant
intrinsics (is.constant, objectsize). In the CodeGen pipeline, there is
already a pre-isel intrinsic lowering pass, which iterates over
intrinsic declarations and lowers all users. Call
lowerConstantIntrinsics from this pass to avoid the extra iteration over
the entire IR and the RPO traversal.


  Commit: 1a5d8926c5f9c1e75a285e122cf6cad0191a41b5
      https://github.com/llvm/llvm-project/commit/1a5d8926c5f9c1e75a285e122cf6cad0191a41b5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/ConstantRange.h
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/shl.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
   [ConstantRange] Add support for `shlWithNoWrap` (#100594)

This patch adds initial support for `ConstantRange:: shlWithNoWrap` to
fold https://github.com/dtcxzyw/llvm-tools/issues/22. However, this
patch cannot fix the original issue. Improvements will be submitted in subsequent patches.


  Commit: 68df06a0b2998765cb0a41353fcf0919bbf57ddb
      https://github.com/llvm/llvm-project/commit/68df06a0b2998765cb0a41353fcf0919bbf57ddb
  Author: yandalur <quic_yandalur at quicinc.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
    A llvm/test/CodeGen/Hexagon/cext-opt-block-addr.mir

  Log Message:
  -----------
  [Hexagon] Do not optimize address of another function's block (#101209)

When the constant extender optimization pass encounters an instruction
that uses an extended address pointing to another function's block,
avoid adding the instruction to the extender list for the current
machine function.

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


  Commit: 6d40580f917fe52a3b6992c6de2d7c60253cb906
      https://github.com/llvm/llvm-project/commit/6d40580f917fe52a3b6992c6de2d7c60253cb906
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Remove verbose printing from hdrgen tool (#101376)

Summary:
This fills the terminal with information already present from the
`add_custom_command(COMMENT ...)` field, so it breaks everything into
new lines. Remove this print to clean that up.


  Commit: 2771ea4ea47db2361b9842211f9e9ee595320af6
      https://github.com/llvm/llvm-project/commit/2771ea4ea47db2361b9842211f9e9ee595320af6
  Author: Santanu Das <quic_santdas at quicinc.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    A llvm/test/CodeGen/Hexagon/hvx-concat-lower.ll

  Log Message:
  -----------
  [Hexagon] Fix concat lowering for HVX for 64B vector length (#98318)

When concatenation of vector instructions is formed, as a part of it
vector rotation is performed. The direction of the shift was not
correctly calculated. This fixes the rotation factor.


  Commit: 98e4413a38f286147b863a6ead9625228ab0ec7d
      https://github.com/llvm/llvm-project/commit/98e4413a38f286147b863a6ead9625228ab0ec7d
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [mlir][vector] Update tests for xfer-permute-lowering (nfc) (#101468)

Updates formatting and variable names in:
  * vector-transfer-permutation-lowering.mlir

This is primarily to improve consistency, both within this particular
test file as well as across tests. In particular, with this PR I'm
adopting similar naming convention to that that's already present in
vector-transfer-flatten.mlir.

Overview of changes:
  * All memref input arguments are re-named as `%mem`.
  * All vector input arguments are re-named as `%vec`.
  * All tensor input arguments are re-named as `%dest`.
  * LIT variables are update to be consistent with input arguments.
  * Renamed all output arguments as `%res`.
  * Updated indentation to be more C-like.


  Commit: 2177a1767b88d684830b83ac7f06d0f9f15102e2
      https://github.com/llvm/llvm-project/commit/2177a1767b88d684830b83ac7f06d0f9f15102e2
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M flang/runtime/copy.cpp
    M flang/runtime/copy.h
    A flang/runtime/stack.h

  Log Message:
  -----------
  [flang][runtime] Avoid call recursion in CopyElement runtime. (#101421)

Device compilers may fail to identify maximum stack size required
by a kernel that calls CopyElement due to potential recursive calls.
To avoid this, we can use dynamically allocated Stack. To avoid
dynamic allocations on the host for simple cases, the Stack
implementation
has a reserved space (that ends up being allocated on the program
stack).
I tested both pre-allocated and 0-reserve implementations on the host,
and all passed. The actual reserve values might be tuned as needed.


  Commit: 6df4e7c25ffb15ed8cba8ccb9cf9fa18b082013d
      https://github.com/llvm/llvm-project/commit/6df4e7c25ffb15ed8cba8ccb9cf9fa18b082013d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Optimizer/CodeGen/TBAABuilder.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/ISO_Fortran_util.h
    A flang/runtime/allocator-registry.cpp
    A flang/runtime/allocator-registry.h
    M flang/runtime/descriptor.cpp
    M flang/test/Fir/box.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/embox-char.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/rebox-global.fir
    M flang/test/Fir/rebox.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/Fir/type-descriptor.fir
    M flang/test/Lower/allocatable-polymorphic.f90

  Log Message:
  -----------
  [flang] Add ability to have special allocator for descriptor data (#100690)

This patch enhances the descriptor with the ability to have specialized
allocator. The allocators are registered in a dedicated registry and the
index of the desired allocator is stored in the descriptor. The default
allocator, std::malloc, is registered at index 0.

In order to have this allocator index in the descriptor, the f18Addendum
field is repurposed to be able to hold the presence flag for the
addendum (lsb) and the allocator index.

Since this is a change in the semantic and name of the 7th field of the
descriptor, the CFI_VERSION is bumped to the date of the initial change.

This patch only adds the ability to have this features as part of the
descriptor but does not add specific allocator yet. CUDA fortran will be
the first user of this feature to allocate descriptor data in the
different type of device memory base on the CUDA attribute.

---------

Co-authored-by: Slava Zakharin <szakharin at nvidia.com>


  Commit: c7c5e05389292da7e5a87e3d1d3ef08021911a53
      https://github.com/llvm/llvm-project/commit/c7c5e05389292da7e5a87e3d1d3ef08021911a53
  Author: David Green <david.green at arm.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp

  Log Message:
  -----------
  [AArch64] Format comment to fit into line-length. NFC


  Commit: 2a5f7e58d71c394b241fdd1d905041ad0537acab
      https://github.com/llvm/llvm-project/commit/2a5f7e58d71c394b241fdd1d905041ad0537acab
  Author: Artem Pianykh <arr at fb.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_globals.cpp

  Log Message:
  -----------
  [NFC][asan][odr] Use IntrusiveList for a ListOfGlobals

Extracted from #100923.


  Commit: a5e67fba8abb35211aebb945d9d07ac988b80cf5
      https://github.com/llvm/llvm-project/commit/a5e67fba8abb35211aebb945d9d07ac988b80cf5
  Author: Tsz Chan <keithcth2001 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/spec/stdc.td
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/asprintf.cpp
    A libc/src/stdio/asprintf.h
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/core_structs.h
    A libc/src/stdio/printf_core/vasprintf_internal.h
    M libc/src/stdio/printf_core/writer.h
    A libc/src/stdio/vasprintf.cpp
    A libc/src/stdio/vasprintf.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/asprintf_test.cpp
    A libc/test/src/stdio/vasprintf_test.cpp

  Log Message:
  -----------
  [libc] Implement vasprintf and asprintf (#98824)

[libc] Implement vasprintf and asprintf

---------

Co-authored-by: Izaak Schroeder <izaak.schroeder at gmail.com>


  Commit: 0c31123c8599bfd9d67549f6174812fbcf988d78
      https://github.com/llvm/llvm-project/commit/0c31123c8599bfd9d67549f6174812fbcf988d78
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/src/stdio/printf_core/writer.h

  Log Message:
  -----------
  [libc] Fix erroneous warning on GCC (#101520)


  Commit: 7da1dbb632ca490c2ab3c2d6ff46cccda38c7acd
      https://github.com/llvm/llvm-project/commit/7da1dbb632ca490c2ab3c2d6ff46cccda38c7acd
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Object/MachOObjectFile.cpp

  Log Message:
  -----------
  [MachO] Remove redundant bounds check (#100176)

The condition was duplicated, the correct one for this message would
have been `ImportsEnd > SymbolsEnd`. However, this is a subset of
`ImportEnd > Symbols` (since `Symbols <= SymbolsEnd`), so it can be
removed altogether.

I made this thinko in 686d8ce.

Note that that change wasn't intended to be permanent, and served as a
quick stopgap to facilitate testing chained fixups in LLD before Apple
upstreamed their implementation.

Fixes #90662
Fixes #87203


  Commit: 0af07c078798b7c427e2981377781b5cc555a568
      https://github.com/llvm/llvm-project/commit/0af07c078798b7c427e2981377781b5cc555a568
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M lld/ELF/DWARF.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    A lld/test/ELF/crel-rel-mixed.s
    A lld/test/ELF/crel.s
    M lld/test/ELF/debug-names.s
    M lld/test/ELF/gc-sections.s
    M lld/test/ELF/icf1.s
    M lld/test/ELF/icf4.s
    M lld/test/ELF/linkerscript/nocrossrefs.test
    A lld/test/ELF/relocatable-crel-32.s
    A lld/test/ELF/relocatable-crel.s

  Log Message:
  -----------
  [ELF] Support relocatable files using CREL with explicit addends

... using the temporary section type code 0x40000020
(`clang -c -Wa,--crel,--allow-experimental-crel`). LLVM will change the
code and break compatibility (Clang and lld of different versions are
not guaranteed to cooperate, unlike other features). CREL with implicit
addends are not supported.

---

Introduce `RelsOrRelas::crels` to iterate over SHT_CREL sections and
update users to check `crels`.

(The decoding performance is critical and error checking is difficult.
Follow `skipLeb` and `R_*LEB128` handling, do not use
`llvm::decodeULEB128`, whichs compiles to a lot of code.)

A few users (e.g. .eh_frame, LLDDwarfObj, s390x) require random access. Pass
`/*supportsCrel=*/false` to `relsOrRelas` to allocate a buffer and
convert CREL to RELA (`relas` instead of `crels` will be used). Since
allocating a buffer increases, the conversion is only performed when
absolutely necessary.

---

Non-alloc SHT_CREL sections may be created in -r and --emit-relocs
links. SHT_CREL and SHT_RELA components need reencoding since
r_offset/r_symidx/r_type/r_addend may change. (r_type may change because
relocations referencing a symbol in a discarded section are converted to
`R_*_NONE`).

* SHT_CREL components: decode with `RelsOrRelas` and re-encode (`OutputSection::finalizeNonAllocCrel`)
* SHT_RELA components: convert to CREL (`relToCrel`). An output section can only have one relocation section.
* SHT_REL components: print an error for now.

SHT_REL to SHT_CREL conversion for -r/--emit-relocs is complex and
unsupported yet.

Link: https://discourse.llvm.org/t/rfc-crel-a-compact-relocation-format-for-elf/77600

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


  Commit: d68a4d512006750f2e2e8b31993e2c3d16f252a9
      https://github.com/llvm/llvm-project/commit/d68a4d512006750f2e2e8b31993e2c3d16f252a9
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Introduce templated CastInstImpl to simplify subclasses (#101427)

The CastInst subclasses all have pretty much the same implementation.
Add a helper templated class to help stamp out the subclasses more
succinctly.


  Commit: bc747c3e1377e3e262d901cefcae2f563c895bb5
      https://github.com/llvm/llvm-project/commit/bc747c3e1377e3e262d901cefcae2f563c895bb5
  Author: tltao <tony.le.tao at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    A llvm/test/CodeGen/SystemZ/Large/large-ada-01.py
    A llvm/test/CodeGen/SystemZ/Large/large-ada-02.py

  Log Message:
  -----------
  [SystemZ][z/OS] Fix incorrect codegen for ADA_ENTRY pseudo instruction (#101415)

The current MCInstBuilder for generating an ALGFI when loading something
from the ADA is incorrect and will crash the compiler.

r0 must also be excluded from the registers returned as the result,
since it is treated as the value "0" on z/OS.

Also add some tests to properly test the paths where LLILF and ALGFI are
generated.

---------

Co-authored-by: Tony Tao <tonytao at ca.ibm.com>


  Commit: 90065da6d5a5f661b60c2f75b0f2dc094d27f4f5
      https://github.com/llvm/llvm-project/commit/90065da6d5a5f661b60c2f75b0f2dc094d27f4f5
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/fuzzing/CMakeLists.txt
    M libc/fuzzing/math/CMakeLists.txt
    A libc/fuzzing/math/sin_fuzz.cpp

  Log Message:
  -----------
  [libc] created fuzz test for sin function (#101411)

Verifies that sin function output is correct by comparing with MPFR
output. NaN and inf are not tested (as our output will vary compared to
MPFR), and signed zeroes are already tested in unit tests.


  Commit: 3497211d80c22e1c488f1617db1d70413a2096ec
      https://github.com/llvm/llvm-project/commit/3497211d80c22e1c488f1617db1d70413a2096ec
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/fuzzing/math/RemQuoDiff.h
    M libc/fuzzing/math/nextafter_differential_fuzz.cpp

  Log Message:
  -----------
  [libc] Fix math fuzzers (#101529)

Fix minor typos that accumulated while the math fuzzers were disabled.


  Commit: 83e6d872cfbb98b0b1e9a5080afe1e1c8cf69237
      https://github.com/llvm/llvm-project/commit/83e6d872cfbb98b0b1e9a5080afe1e1c8cf69237
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/fuzzing/stdlib/heap_sort_fuzz.cpp

  Log Message:
  -----------
  [libc] heap_sort_fuzz deleted unnecessary includes (#101535)

Including src/__suppot/macros/config.h is unnecessary


  Commit: 41439d5bb72f1f582df8887b37931720d7233298
      https://github.com/llvm/llvm-project/commit/41439d5bb72f1f582df8887b37931720d7233298
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll

  Log Message:
  -----------
  AMDGPU: Handle remote/fine-grained memory in atomicrmw fmin/fmax lowering (#96759)

Consider the new atomic metadata when choosing to expand as cmpxchg
instead.


  Commit: 8d151f804ff43aaed1edf810bb2a07607b8bba14
      https://github.com/llvm/llvm-project/commit/8d151f804ff43aaed1edf810bb2a07607b8bba14
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/max_element.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/partial_sort_copy.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/src/regex.cpp
    A libcxx/test/libcxx/algorithms/callable-requirements-rvalue.compile.pass.cpp
    A libcxx/test/libcxx/algorithms/callable-requirements.verify.cpp
    R libcxx/test/libcxx/algorithms/callable.verify.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp

  Log Message:
  -----------
  [libc++] Check correctly ref-qualified __is_callable in algorithms (#73451)

We were only checking that the comparator was rvalue callable,
when in reality the algorithms always call comparators as lvalues.
This patch also refactors the tests for callable requirements and
expands it to a few missing algorithms.

Fixes #69554


  Commit: ab91371653720ef7bcfb69212c9a4537740c0ba1
      https://github.com/llvm/llvm-project/commit/ab91371653720ef7bcfb69212c9a4537740c0ba1
  Author: Brox Chen <broxigarchen at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx10_unsupported.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] Support v_swap_b16. (#100442)

support V_SWAP_B16 true16 encoding in asm/disasm for GFX11/12

Co-authored-by: guochen2 <guochen2 at amd.com>


  Commit: f95bd62cf99d12d5bfa5333d481fe9e7aa5a22ed
      https://github.com/llvm/llvm-project/commit/f95bd62cf99d12d5bfa5333d481fe9e7aa5a22ed
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/Options.td
    M lld/test/MachO/bp-section-orderer-errs.s

  Log Message:
  -----------
  [lld][InstrProf] Add "Separate" irpgo-profile-sort option (#101084)

Add the "Separate" option `--irpgo-profile-sort <profile` instead of
just the "Joined" option `--irpgo-profile-sort=<profile>`. This is
useful if the path has a `,` for some reason which would break when
trying to use `-Wl,--irpgo-profile-sort=<profile-with-comma>`.

While I'm here, use `static_cast<>` instead of the C style cast
introduced in https://github.com/llvm/llvm-project/pull/100627


  Commit: 0512ba0a435a9d693cb61f182fc9e3eb7f6dbd6a
      https://github.com/llvm/llvm-project/commit/0512ba0a435a9d693cb61f182fc9e3eb7f6dbd6a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml

  Log Message:
  -----------
  workflows: Fix libclc-tests (#101524)

The old out-of-tree build configuration stopped working and in tree
builds are supported now, so we should use the in tree configuration.
The only downside is we can't run the tests any more, but at least we
will be able to test the build again.


  Commit: 855703537e4d7eb1d7310ba40c3459e79e3243d2
      https://github.com/llvm/llvm-project/commit/855703537e4d7eb1d7310ba40c3459e79e3243d2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    A llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll

  Log Message:
  -----------
  [LV] Add more tests with switches.

Extra tests for
https://github.com/llvm/llvm-project/pull/99808, including cost model
tests.


  Commit: b6b0a240d0b51ce85624a65c6e43f501371bc61b
      https://github.com/llvm/llvm-project/commit/b6b0a240d0b51ce85624a65c6e43f501371bc61b
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement the remaining CastInst sub-classes (#101537)

This patch implements:
sandboxir::UIToFPInst
sandboxir::FPExtInst
sandboxir::FPTruncInst
sandboxir::SExtInst
sandboxir::ZExtInst
sandboxir::TruncInst


  Commit: 5e326983b620507940816f4c30ab4d80fa6250ad
      https://github.com/llvm/llvm-project/commit/5e326983b620507940816f4c30ab4d80fa6250ad
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/Main.cpp
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp

  Log Message:
  -----------
  [libc] Use LLVM CommandLine for loader tool (#101501)

Summary:
This patch removes the ad-hoc parsing that I used previously and
replaces it with the LLVM CommnadLine interface. This doesn't change any
functionality, but makes it easier to maintain.


  Commit: 18b58d42b2cba805ba4d34864d2e1e73e1610588
      https://github.com/llvm/llvm-project/commit/18b58d42b2cba805ba4d34864d2e1e73e1610588
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp

  Log Message:
  -----------
  [clang-format] Rename variable more sensitively (#100943)

Renaming to `Disallowed`.


  Commit: ea46e202a9e0344f8d6d3a595e41fd6c515b50c2
      https://github.com/llvm/llvm-project/commit/ea46e202a9e0344f8d6d3a595e41fd6c515b50c2
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprClassification.cpp
    A clang/test/SemaCXX/GH82167.cpp

  Log Message:
  -----------
  [clang] fix classification of a string literal expression used as initializer (#101447)


  Commit: 160fb1121cdf703c3ef5e61fb26c5659eb581489
      https://github.com/llvm/llvm-project/commit/160fb1121cdf703c3ef5e61fb26c5659eb581489
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/attr-counted-by.c

  Log Message:
  -----------
  [Clang][NFC] Improve generation of GEP and RecordDecl loop (#101434)

As with other loops, we need only look at a RecordDecl's FieldDecls.
Convert to using them. In the meantime, we can improve the generation of
the 'counted_by' FieldDecl's GEP by creating one GEP instead of a series
of GEPs.


  Commit: 0def9a923dadc2b2b3dd067eefcef541e475594c
      https://github.com/llvm/llvm-project/commit/0def9a923dadc2b2b3dd067eefcef541e475594c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    A flang/include/flang/Runtime/allocator-registry.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/runtime/allocator-registry.cpp
    R flang/runtime/allocator-registry.h
    M flang/runtime/descriptor.cpp
    M flang/test/Fir/embox.fir

  Log Message:
  -----------
  [flang] Add allocator_idx attribute on fir.embox and fircg.ext_embox (#101212)

#100690 introduces allocator registry with the ability to store
allocator index in the descriptor. This patch adds an attribute to
fir.embox and fircg.ext_embox to be able to set the allocator index
while populating the descriptor fields.


  Commit: 451bba6fbf0bc9a2bfff9253ac45caf7c57d38b9
      https://github.com/llvm/llvm-project/commit/451bba6fbf0bc9a2bfff9253ac45caf7c57d38b9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/max_element.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/partial_sort_copy.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/src/regex.cpp
    R libcxx/test/libcxx/algorithms/callable-requirements-rvalue.compile.pass.cpp
    R libcxx/test/libcxx/algorithms/callable-requirements.verify.cpp
    A libcxx/test/libcxx/algorithms/callable.verify.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp

  Log Message:
  -----------
  [libc++] Revert "Check correctly ref-qualified __is_callable in algorithms (#73451)"

This reverts commit 8d151f804ff43aaed1edf810bb2a07607b8bba14, which
broke some build bots. I think that is caused by an invalid argument
order when checking __is_comparable in upper_bound.


  Commit: 5e84646982d1ec9bc94e48dde4b47f03c044a156
      https://github.com/llvm/llvm-project/commit/5e84646982d1ec9bc94e48dde4b47f03c044a156
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/attr-nomerge.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/X86/nomerge.ll

  Log Message:
  -----------
  [Clang] Fix nomerge attribute not working with __builtin_trap(), __debugbreak(), __builtin_verbose_trap() (#101549)

1. It fixes the problem that llvm.trap() not getting the nomerge
attribute.
2. It sets nomerge flag for the node if the instruction has nomerge
arrtibute.

This is a copy of https://reviews.llvm.org/D146164. This only attempts
to fix `nomerge` for `__builtin_trap()`, `__debugbreak()`,
`__builtin_verbose_trap()`, not working for non-trap builtins.

Fixes #53011


  Commit: e89129ed30d64ed61e38269b1722adc18844a31c
      https://github.com/llvm/llvm-project/commit/e89129ed30d64ed61e38269b1722adc18844a31c
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M flang/runtime/stack.h

  Log Message:
  -----------
  [flang][runtime] Added missing RT_API_ATTRS. (#101536)


  Commit: f0944f4be0b3187fa39e9161bc7b344029c200f5
      https://github.com/llvm/llvm-project/commit/f0944f4be0b3187fa39e9161bc7b344029c200f5
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll

  Log Message:
  -----------
  [SCEV] Prove no-self-wrap from negative power of two step (#101416)

We have existing code which reasons about a step evenly dividing the
iteration space is a finite loop with a single exit implying
no-self-wrap. The sign of the step doesn't effect this.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 97f723bab0f48aca1416b9f946037b39b11d50e9
      https://github.com/llvm/llvm-project/commit/97f723bab0f48aca1416b9f946037b39b11d50e9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/src/stdio/printf_core/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix 'vasprintf' not working in non-fullbuild mode


  Commit: 8f33f1d829bfa8ab7af5fc60b413cba8994c33a1
      https://github.com/llvm/llvm-project/commit/8f33f1d829bfa8ab7af5fc60b413cba8994c33a1
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/llvm_libc_ext.td
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/daddf128.h
    A libc/src/math/daddl.h
    A libc/src/math/ddivf128.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/daddf128.cpp
    A libc/src/math/generic/daddl.cpp
    A libc/src/math/generic/ddivf128.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/daddl_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/daddf128_test.cpp
    A libc/test/src/math/smoke/daddl_test.cpp
    A libc/test/src/math/smoke/ddivf128_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add dadd{l,f128} and ddiv{l,f128} C23 math functions (#100456)

- fadd removed because I need to add for different input types
- finishing rest of basic operations
- noticed duplicates will remove

---------

Co-authored-by: OverMighty <its.overmighty at gmail.com>


  Commit: da5311a10608e99536a4762f9d989d74655af808
      https://github.com/llvm/llvm-project/commit/da5311a10608e99536a4762f9d989d74655af808
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/release-binaries.yml
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/GDBIndex.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/GDBIndex.cpp
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/debug-fission-single.s
    R bolt/test/X86/dwarf4-ftypes-dwo-input-dwp-output.test
    R bolt/test/X86/dwarf4-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf4-split-gdb-index-types-gdb-generated.test
    M bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
    M bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
    R bolt/test/X86/dwarf5-ftypes-dwo-mono-input-dwp-output.test
    A bolt/test/timers.c
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Sema/Overload.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/Consumed.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
    M clang/test/AST/Interp/constexpr-subobj-initialization.cpp
    M clang/test/AST/Interp/cxx2a.cpp
    M clang/test/Analysis/pointer-sub.c
    M clang/test/C/C23/n3018.c
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg8xx.cpp
    A clang/test/CodeGen/LoongArch/align.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-nomerge.cpp
    A clang/test/CodeGen/math-libcalls-tbaa.c
    R clang/test/CodeGen/math-libcalls-tbaa.cpp
    M clang/test/CodeGen/pr3518.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/convergent.cu
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/ps4-linker.c
    M clang/test/Driver/x86-target-features.c
    A clang/test/Headers/stdarg-cxx-modules.cpp
    M clang/test/Index/pch-with-errors.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Modules/inline-builtins.cppm
    M clang/test/Modules/load-module-with-errors.m
    M clang/test/Preprocessor/embed_weird.cpp
    M clang/test/Preprocessor/pragma_mc_func.c
    M clang/test/Preprocessor/x86_target_features.c
    A clang/test/SemaCUDA/attr-noconvergent.cu
    A clang/test/SemaCXX/GH82167.cpp
    M clang/test/SemaCXX/constexpr-subobj-initialization.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/driver/CMakeLists.txt
    M clang/tools/libclang/CMakeLists.txt
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M cmake/Modules/LLVMCheckCompilerLinkerFlag.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/lib/builtins/os_version_check.c
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
    M compiler-rt/test/builtins/TestCases/Darwin/platform_version_check_test.c
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/TBAABuilder.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    A flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/ISO_Fortran_util.h
    A flang/runtime/allocator-registry.cpp
    M flang/runtime/copy.cpp
    M flang/runtime/copy.h
    M flang/runtime/descriptor.cpp
    A flang/runtime/stack.h
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Fir/box.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/embox-char.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/rebox-global.fir
    M flang/test/Fir/rebox.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/Fir/type-descriptor.fir
    A flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
    A flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    A flang/test/Semantics/OpenMP/copyprivate04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    A flang/test/Semantics/OpenMP/parallel-shared05.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M libc/CMakeLists.txt
    M libc/benchmarks/gpu/src/math/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/config.json
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/math/index.rst
    M libc/fuzzing/CMakeLists.txt
    M libc/fuzzing/math/CMakeLists.txt
    M libc/fuzzing/math/RemQuoDiff.h
    M libc/fuzzing/math/nextafter_differential_fuzz.cpp
    A libc/fuzzing/math/sin_fuzz.cpp
    M libc/fuzzing/stdlib/CMakeLists.txt
    A libc/fuzzing/stdlib/heap_sort_fuzz.cpp
    M libc/include/llvm-libc-types/jmp_buf.h
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/newhdrgen/yaml_to_classes.py
    M libc/spec/llvm_libc_ext.td
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/math/CMakeLists.txt
    A libc/src/math/daddf128.h
    A libc/src/math/daddl.h
    A libc/src/math/ddivf128.h
    A libc/src/math/dfmaf128.h
    A libc/src/math/dfmal.h
    A libc/src/math/dsubf128.h
    A libc/src/math/dsubl.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/daddf128.cpp
    A libc/src/math/generic/daddl.cpp
    A libc/src/math/generic/ddivf128.cpp
    A libc/src/math/generic/dfmaf128.cpp
    A libc/src/math/generic/dfmal.cpp
    A libc/src/math/generic/dsubf128.cpp
    A libc/src/math/generic/dsubl.cpp
    M libc/src/math/generic/expf16.cpp
    A libc/src/math/generic/getpayload.cpp
    A libc/src/math/generic/getpayloadf.cpp
    A libc/src/math/generic/getpayloadf128.cpp
    A libc/src/math/generic/setpayload.cpp
    A libc/src/math/generic/setpayloadf.cpp
    A libc/src/math/generic/setpayloadf128.cpp
    A libc/src/math/getpayload.h
    A libc/src/math/getpayloadf.h
    A libc/src/math/getpayloadf128.h
    A libc/src/math/setpayload.h
    A libc/src/math/setpayloadf.h
    A libc/src/math/setpayloadf128.h
    A libc/src/setjmp/aarch64/CMakeLists.txt
    A libc/src/setjmp/aarch64/longjmp.cpp
    A libc/src/setjmp/aarch64/setjmp.cpp
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/asprintf.cpp
    A libc/src/stdio/asprintf.h
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/core_structs.h
    A libc/src/stdio/printf_core/vasprintf_internal.h
    M libc/src/stdio/printf_core/writer.h
    A libc/src/stdio/vasprintf.cpp
    A libc/src/stdio/vasprintf.h
    A libc/src/stdio/vsscanf.cpp
    A libc/src/stdio/vsscanf.h
    M libc/startup/gpu/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/daddl_test.cpp
    A libc/test/src/math/dfmal_test.cpp
    A libc/test/src/math/dsubl_test.cpp
    M libc/test/src/math/performance_testing/expf16_perf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/SubTest.h
    A libc/test/src/math/smoke/daddf128_test.cpp
    A libc/test/src/math/smoke/daddl_test.cpp
    A libc/test/src/math/smoke/ddivf128_test.cpp
    A libc/test/src/math/smoke/dfmaf128_test.cpp
    A libc/test/src/math/smoke/dfmal_test.cpp
    A libc/test/src/math/smoke/dsubf128_test.cpp
    A libc/test/src/math/smoke/dsubl_test.cpp
    M libc/test/src/math/smoke/expf16_test.cpp
    A libc/test/src/math/smoke/getpayload_test.cpp
    A libc/test/src/math/smoke/getpayloadf128_test.cpp
    A libc/test/src/math/smoke/getpayloadf_test.cpp
    A libc/test/src/math/smoke/setpayload_test.cpp
    A libc/test/src/math/smoke/setpayloadf128_test.cpp
    A libc/test/src/math/smoke/setpayloadf_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/asprintf_test.cpp
    A libc/test/src/stdio/vasprintf_test.cpp
    A libc/test/src/stdio/vsscanf_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/Main.cpp
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    R libc/utils/gpu/loader/amdgpu/Loader.cpp
    A libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/CMakeLists.txt
    R libc/utils/gpu/loader/nvptx/Loader.cpp
    A libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
    M libcxx/.clang-format
    M libcxx/CMakeLists.txt
    R libcxx/benchmarks/CMakeLists.txt
    R libcxx/benchmarks/CartesianBenchmarks.h
    R libcxx/benchmarks/ContainerBenchmarks.h
    R libcxx/benchmarks/GenerateInput.h
    R libcxx/benchmarks/Utilities.h
    R libcxx/benchmarks/VariantBenchmarks.h
    R libcxx/benchmarks/algorithms.partition_point.bench.cpp
    R libcxx/benchmarks/algorithms/common.h
    R libcxx/benchmarks/algorithms/count.bench.cpp
    R libcxx/benchmarks/algorithms/equal.bench.cpp
    R libcxx/benchmarks/algorithms/fill.bench.cpp
    R libcxx/benchmarks/algorithms/find.bench.cpp
    R libcxx/benchmarks/algorithms/for_each.bench.cpp
    R libcxx/benchmarks/algorithms/lower_bound.bench.cpp
    R libcxx/benchmarks/algorithms/make_heap.bench.cpp
    R libcxx/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/min.bench.cpp
    R libcxx/benchmarks/algorithms/min_max_element.bench.cpp
    R libcxx/benchmarks/algorithms/minmax.bench.cpp
    R libcxx/benchmarks/algorithms/mismatch.bench.cpp
    R libcxx/benchmarks/algorithms/pop_heap.bench.cpp
    R libcxx/benchmarks/algorithms/pstl.stable_sort.bench.cpp
    R libcxx/benchmarks/algorithms/push_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_contains.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_ends_with.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_make_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_pop_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_push_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_sort.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/ranges_stable_sort.bench.cpp
    R libcxx/benchmarks/algorithms/set_intersection.bench.cpp
    R libcxx/benchmarks/algorithms/sort.bench.cpp
    R libcxx/benchmarks/algorithms/sort_heap.bench.cpp
    R libcxx/benchmarks/algorithms/stable_sort.bench.cpp
    R libcxx/benchmarks/allocation.bench.cpp
    R libcxx/benchmarks/atomic_wait.bench.cpp
    R libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    R libcxx/benchmarks/deque.bench.cpp
    R libcxx/benchmarks/deque_iterator.bench.cpp
    R libcxx/benchmarks/exception_ptr.bench.cpp
    R libcxx/benchmarks/filesystem.bench.cpp
    R libcxx/benchmarks/format.bench.cpp
    R libcxx/benchmarks/format_to.bench.cpp
    R libcxx/benchmarks/format_to_n.bench.cpp
    R libcxx/benchmarks/formatted_size.bench.cpp
    R libcxx/benchmarks/formatter_float.bench.cpp
    R libcxx/benchmarks/formatter_int.bench.cpp
    R libcxx/benchmarks/function.bench.cpp
    R libcxx/benchmarks/join_view.bench.cpp
    R libcxx/benchmarks/lexicographical_compare_three_way.bench.cpp
    R libcxx/benchmarks/libcxxabi/dynamic_cast.bench.cpp
    R libcxx/benchmarks/libcxxabi/dynamic_cast_old_stress.bench.cpp
    R libcxx/benchmarks/lit.cfg.py
    R libcxx/benchmarks/lit.site.cfg.py.in
    R libcxx/benchmarks/map.bench.cpp
    R libcxx/benchmarks/monotonic_buffer.bench.cpp
    R libcxx/benchmarks/numeric/gcd.bench.cpp
    R libcxx/benchmarks/ordered_set.bench.cpp
    R libcxx/benchmarks/random.bench.cpp
    R libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
    R libcxx/benchmarks/std_format_spec_string_unicode.bench.cpp
    R libcxx/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/benchmarks/stop_token.bench.cpp
    R libcxx/benchmarks/string.bench.cpp
    R libcxx/benchmarks/stringstream.bench.cpp
    R libcxx/benchmarks/system_error.bench.cpp
    R libcxx/benchmarks/to_chars.bench.cpp
    R libcxx/benchmarks/unordered_set_operations.bench.cpp
    R libcxx/benchmarks/util_smartptr.bench.cpp
    R libcxx/benchmarks/variant_visit_1.bench.cpp
    R libcxx/benchmarks/variant_visit_2.bench.cpp
    R libcxx/benchmarks/variant_visit_3.bench.cpp
    R libcxx/benchmarks/vector_operations.bench.cpp
    M libcxx/cmake/config-ix.cmake
    M libcxx/docs/ImplementationDefinedBehavior.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/include/__algorithm/find_end.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_copy.h
    M libcxx/include/__algorithm/ranges_copy_backward.h
    M libcxx/include/__algorithm/ranges_copy_if.h
    M libcxx/include/__algorithm/ranges_copy_n.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_fill.h
    M libcxx/include/__algorithm/ranges_fill_n.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_find_last.h
    M libcxx/include/__algorithm/ranges_for_each.h
    M libcxx/include/__algorithm/ranges_for_each_n.h
    M libcxx/include/__algorithm/ranges_generate.h
    M libcxx/include/__algorithm/ranges_generate_n.h
    M libcxx/include/__algorithm/ranges_includes.h
    M libcxx/include/__algorithm/ranges_inplace_merge.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_make_heap.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_merge.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_move.h
    M libcxx/include/__algorithm/ranges_move_backward.h
    M libcxx/include/__algorithm/ranges_next_permutation.h
    M libcxx/include/__algorithm/ranges_none_of.h
    M libcxx/include/__algorithm/ranges_nth_element.h
    M libcxx/include/__algorithm/ranges_partial_sort.h
    M libcxx/include/__algorithm/ranges_partial_sort_copy.h
    M libcxx/include/__algorithm/ranges_partition.h
    M libcxx/include/__algorithm/ranges_partition_copy.h
    M libcxx/include/__algorithm/ranges_partition_point.h
    M libcxx/include/__algorithm/ranges_pop_heap.h
    M libcxx/include/__algorithm/ranges_prev_permutation.h
    M libcxx/include/__algorithm/ranges_push_heap.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_copy.h
    M libcxx/include/__algorithm/ranges_remove_copy_if.h
    M libcxx/include/__algorithm/ranges_remove_if.h
    M libcxx/include/__algorithm/ranges_replace.h
    M libcxx/include/__algorithm/ranges_replace_copy.h
    M libcxx/include/__algorithm/ranges_replace_copy_if.h
    M libcxx/include/__algorithm/ranges_replace_if.h
    M libcxx/include/__algorithm/ranges_reverse.h
    M libcxx/include/__algorithm/ranges_reverse_copy.h
    M libcxx/include/__algorithm/ranges_rotate.h
    M libcxx/include/__algorithm/ranges_rotate_copy.h
    M libcxx/include/__algorithm/ranges_sample.h
    M libcxx/include/__algorithm/ranges_search.h
    M libcxx/include/__algorithm/ranges_search_n.h
    M libcxx/include/__algorithm/ranges_set_difference.h
    M libcxx/include/__algorithm/ranges_set_intersection.h
    M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
    M libcxx/include/__algorithm/ranges_set_union.h
    M libcxx/include/__algorithm/ranges_shuffle.h
    M libcxx/include/__algorithm/ranges_sort.h
    M libcxx/include/__algorithm/ranges_sort_heap.h
    M libcxx/include/__algorithm/ranges_stable_partition.h
    M libcxx/include/__algorithm/ranges_stable_sort.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/ranges_swap_ranges.h
    M libcxx/include/__algorithm/ranges_transform.h
    M libcxx/include/__algorithm/ranges_unique.h
    M libcxx/include/__algorithm/ranges_unique_copy.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__config
    M libcxx/include/__expected/expected.h
    M libcxx/include/__iterator/advance.h
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/prev.h
    M libcxx/include/__memory/ranges_construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/latch
    M libcxx/include/semaphore
    M libcxx/include/sstream
    M libcxx/test/CMakeLists.txt
    A libcxx/test/benchmarks/CMakeLists.txt
    A libcxx/test/benchmarks/CartesianBenchmarks.h
    A libcxx/test/benchmarks/ContainerBenchmarks.h
    A libcxx/test/benchmarks/GenerateInput.h
    A libcxx/test/benchmarks/Utilities.h
    A libcxx/test/benchmarks/VariantBenchmarks.h
    A libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/common.h
    A libcxx/test/benchmarks/algorithms/count.bench.cpp
    A libcxx/test/benchmarks/algorithms/equal.bench.cpp
    A libcxx/test/benchmarks/algorithms/fill.bench.cpp
    A libcxx/test/benchmarks/algorithms/find.bench.cpp
    A libcxx/test/benchmarks/algorithms/for_each.bench.cpp
    A libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
    A libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/min.bench.cpp
    A libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
    A libcxx/test/benchmarks/algorithms/minmax.bench.cpp
    A libcxx/test/benchmarks/algorithms/mismatch.bench.cpp
    A libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_ends_with.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_make_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_pop_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_push_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/set_intersection.bench.cpp
    A libcxx/test/benchmarks/algorithms/sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
    A libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
    A libcxx/test/benchmarks/allocation.bench.cpp
    A libcxx/test/benchmarks/atomic_wait.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    A libcxx/test/benchmarks/deque.bench.cpp
    A libcxx/test/benchmarks/deque_iterator.bench.cpp
    A libcxx/test/benchmarks/exception_ptr.bench.cpp
    A libcxx/test/benchmarks/filesystem.bench.cpp
    A libcxx/test/benchmarks/format.bench.cpp
    A libcxx/test/benchmarks/format_to.bench.cpp
    A libcxx/test/benchmarks/format_to_n.bench.cpp
    A libcxx/test/benchmarks/formatted_size.bench.cpp
    A libcxx/test/benchmarks/formatter_float.bench.cpp
    A libcxx/test/benchmarks/formatter_int.bench.cpp
    A libcxx/test/benchmarks/function.bench.cpp
    A libcxx/test/benchmarks/join_view.bench.cpp
    A libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
    A libcxx/test/benchmarks/libcxxabi/dynamic_cast.bench.cpp
    A libcxx/test/benchmarks/libcxxabi/dynamic_cast_old_stress.bench.cpp
    A libcxx/test/benchmarks/lit.cfg.py.in
    A libcxx/test/benchmarks/lit.site.cfg.py.in
    A libcxx/test/benchmarks/map.bench.cpp
    A libcxx/test/benchmarks/monotonic_buffer.bench.cpp
    A libcxx/test/benchmarks/numeric/gcd.bench.cpp
    A libcxx/test/benchmarks/ordered_set.bench.cpp
    A libcxx/test/benchmarks/random.bench.cpp
    A libcxx/test/benchmarks/shared_mutex_vs_mutex.bench.cpp
    A libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
    A libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    A libcxx/test/benchmarks/stop_token.bench.cpp
    A libcxx/test/benchmarks/string.bench.cpp
    A libcxx/test/benchmarks/stringstream.bench.cpp
    A libcxx/test/benchmarks/system_error.bench.cpp
    A libcxx/test/benchmarks/to_chars.bench.cpp
    A libcxx/test/benchmarks/unordered_set_operations.bench.cpp
    A libcxx/test/benchmarks/util_smartptr.bench.cpp
    A libcxx/test/benchmarks/variant_visit_1.bench.cpp
    A libcxx/test/benchmarks/variant_visit_2.bench.cpp
    A libcxx/test/benchmarks/variant_visit_3.bench.cpp
    A libcxx/test/benchmarks/vector_operations.bench.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/ostream.syn/includes.compile.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/transcoding.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_posix.pass.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_windows.pass.cpp
    A libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
    M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
    M libcxx/test/libcxx/utilities/any/allocator.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/noexcept.extension.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.unexpected/noexcept.extension.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/noexcept.extension.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/value.lwg3940.verify.cpp
    M libcxx/test/libcxx/utilities/format/enable_insertable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.arguments/format.arg/arg_t.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.formatter/format.context/types.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.functions/ascii.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.functions/escaped_output.ascii.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/code_point_width_estimation.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/concepts_precision.h
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/test_exception.h
    M libcxx/test/libcxx/vendor/ibm/bad_function_call.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/general.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/pointer.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
    M libcxx/test/std/concepts/concepts.lang/concept.common/common_with.compile.pass.cpp
    M libcxx/test/std/concepts/concepts.lang/concept.commonref/common_reference.compile.pass.cpp
    M libcxx/test/std/containers/Emplaceable.h
    M libcxx/test/std/containers/NotConstructible.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.format.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.vformat.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/types.compile.pass.cpp
    M libcxx/test/std/containers/container.node/node_handle.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.format.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.vformat.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/types.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/compare.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_or_assign.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/try.emplace.pass.cpp
    M libcxx/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/ErrorCodeEnum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/ErrorCodeEnum.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print_tests.h
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_nonunicode.pass.cpp
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print_tests.h
    M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/println.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.sh.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.sh.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/user_defined_char_type.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/ctor.range_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp
    M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
    M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
    M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
    M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
    M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.barrier/max.pass.cpp
    M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
    M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
    M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
    M libcxx/test/std/thread/thread.latch/max.pass.cpp
    M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.h
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.verify.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.verify.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/types.compile.pass.cpp
    M libcxx/test/std/time/rep.h
    M libcxx/test/std/time/time.syn/formatter.day.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month_day.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month_day_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.month_weekday.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.weekday.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.weekday_index.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.weekday_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_day.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_day_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_weekday.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.year_month_weekday_last.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.zoned_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter_tests.h
    M libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/ctor.error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/error.member.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
    M libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.intializer_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.convert.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.convert.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.default.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.inplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.inplace_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.u.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpect.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpect_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/dtor.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/arrow.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/bool.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/deref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/value_or.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/swap/free.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.inplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.inplace_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/ctor/ctor.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/equality.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.const_ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.const_ref_ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/observer/error.ref_ref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/swap/swap.free.pass.cpp
    M libcxx/test/std/utilities/expected/expected.unexpected/swap/swap.member.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/emplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.convert.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.convert.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.default.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.inplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpect.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpect_init_list.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/ctor/ctor.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/dtor.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/bool.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/deref.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/has_value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/observers/value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/free.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.sh.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_wformat_args.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/operator_bool.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.float.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.verify.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.verify.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/P2418.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/fill.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h
    M libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_to_n.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.locale.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/formatted_size.verify.cpp
    M libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/set_brackets.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/set_separator.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.verify.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/range_format.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/set_brackets.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/set_separator.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/underlying.pass.cpp
    M libcxx/test/std/utilities/format/format.string/format.string.std/lwg3720_arg_id_width_precision_allowed_types.pass.cpp
    M libcxx/test/std/utilities/format/format.string/format.string.std/lwg3720_arg_id_width_precision_allowed_types.verify.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.format.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.format.verify.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/set_brackets.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/set_separator.pass.cpp
    M libcxx/test/std/utilities/format/types.compile.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/difference_type.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/size_type.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_type.pass.cpp
    M libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp
    M libcxx/test/std/utilities/variant/variant.hash/hash.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
    M libcxx/test/support/Counter.h
    M libcxx/test/support/format.functions.common.h
    M libcxx/test/support/test.support/make_string_header.pass.cpp
    M libcxx/test/support/test_basic_format_arg.h
    M libcxxabi/test/vendor/ibm/aix_xlclang_nested_excp_32.pass.sh.s
    M libcxxabi/test/vendor/ibm/aix_xlclang_nested_excp_64.pass.sh.s
    M libcxxabi/test/vendor/ibm/aix_xlclang_passing_excp_obj_32.pass.sh.S
    M libcxxabi/test/vendor/ibm/aix_xlclang_passing_excp_obj_64.pass.sh.S
    M libcxxabi/test/vendor/ibm/cond_reg_restore.pass.cpp
    M libcxxabi/test/vendor/ibm/vec_reg_restore.pass.cpp
    M libunwind/test/aix_signal_unwind.pass.sh.S
    M lld/ELF/Config.h
    M lld/ELF/DWARF.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/Options.td
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/CMakeLists.txt
    A lld/test/ELF/crel-rel-mixed.s
    A lld/test/ELF/crel.s
    M lld/test/ELF/debug-names.s
    M lld/test/ELF/gc-sections.s
    M lld/test/ELF/icf1.s
    M lld/test/ELF/icf4.s
    M lld/test/ELF/linkerscript/nocrossrefs.test
    A lld/test/ELF/relocatable-crel-32.s
    A lld/test/ELF/relocatable-crel.s
    A lld/test/ELF/zsectionheader.s
    M lld/test/MachO/bp-section-orderer-errs.s
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/include/lldb/Target/Target.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.h
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm.h
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
    M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
    M lldb/test/Shell/SymbolFile/DWARF/vla.cpp
    M lldb/tools/lldb-server/LLDBServerUtilities.cpp
    M llvm/CMakeLists.txt
    M llvm/CODE_OWNERS.TXT
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/HandleLLVMStdlib.cmake
    R llvm/cmake/modules/LLVMCheckLinkerFlag.cmake
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/include/llvm-c/Error.h
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/include/llvm/IR/ConstantRange.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/SandboxIR/Use.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
    M llvm/lib/Analysis/DomTreeUpdater.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCSection.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/Support/Error.cpp
    M llvm/lib/Support/Windows/Process.inc
    M llvm/lib/Support/Windows/Signals.inc
    M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILConstants.h
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/README.txt
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopSink.cpp
    M llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/canonicalize.ll
    A llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll
    M llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    A llvm/test/CodeGen/AArch64/peephole-csel.ll
    A llvm/test/CodeGen/AArch64/peephole-csel.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-frame-index.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
    M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
    A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/frame-index.mir
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.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/inline-asm.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    A llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    A llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/sdag-print-divergence.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/vselect.ll
    M llvm/test/CodeGen/AMDGPU/while-break.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/DirectX/UAVMetadata.ll
    M llvm/test/CodeGen/DirectX/abs.ll
    M llvm/test/CodeGen/DirectX/acos.ll
    M llvm/test/CodeGen/DirectX/acos_error.ll
    M llvm/test/CodeGen/DirectX/asin.ll
    M llvm/test/CodeGen/DirectX/asin_error.ll
    M llvm/test/CodeGen/DirectX/atan.ll
    M llvm/test/CodeGen/DirectX/atan_error.ll
    M llvm/test/CodeGen/DirectX/cbuf.ll
    M llvm/test/CodeGen/DirectX/ceil.ll
    M llvm/test/CodeGen/DirectX/ceil_error.ll
    M llvm/test/CodeGen/DirectX/clamp.ll
    M llvm/test/CodeGen/DirectX/comput_ids.ll
    M llvm/test/CodeGen/DirectX/cos.ll
    M llvm/test/CodeGen/DirectX/cos_error.ll
    M llvm/test/CodeGen/DirectX/cosh.ll
    M llvm/test/CodeGen/DirectX/cosh_error.ll
    M llvm/test/CodeGen/DirectX/dot2_error.ll
    M llvm/test/CodeGen/DirectX/dot3_error.ll
    M llvm/test/CodeGen/DirectX/dot4_error.ll
    M llvm/test/CodeGen/DirectX/exp.ll
    M llvm/test/CodeGen/DirectX/exp2_error.ll
    M llvm/test/CodeGen/DirectX/fabs.ll
    M llvm/test/CodeGen/DirectX/fdot.ll
    A llvm/test/CodeGen/DirectX/flattened_thread_id_in_group_error.ll
    M llvm/test/CodeGen/DirectX/floor.ll
    M llvm/test/CodeGen/DirectX/floor_error.ll
    M llvm/test/CodeGen/DirectX/fmax.ll
    M llvm/test/CodeGen/DirectX/fmin.ll
    M llvm/test/CodeGen/DirectX/frac_error.ll
    A llvm/test/CodeGen/DirectX/group_id_error.ll
    M llvm/test/CodeGen/DirectX/idot.ll
    M llvm/test/CodeGen/DirectX/isinf.ll
    M llvm/test/CodeGen/DirectX/isinf_error.ll
    M llvm/test/CodeGen/DirectX/log.ll
    M llvm/test/CodeGen/DirectX/log10.ll
    M llvm/test/CodeGen/DirectX/log2.ll
    M llvm/test/CodeGen/DirectX/log2_error.ll
    M llvm/test/CodeGen/DirectX/pow.ll
    M llvm/test/CodeGen/DirectX/reversebits.ll
    M llvm/test/CodeGen/DirectX/round.ll
    M llvm/test/CodeGen/DirectX/round_error.ll
    M llvm/test/CodeGen/DirectX/rsqrt.ll
    M llvm/test/CodeGen/DirectX/rsqrt_error.ll
    M llvm/test/CodeGen/DirectX/sin.ll
    M llvm/test/CodeGen/DirectX/sin_error.ll
    A llvm/test/CodeGen/DirectX/sin_no_stage_error.ll
    M llvm/test/CodeGen/DirectX/sinh.ll
    M llvm/test/CodeGen/DirectX/sinh_error.ll
    M llvm/test/CodeGen/DirectX/smax.ll
    M llvm/test/CodeGen/DirectX/smin.ll
    M llvm/test/CodeGen/DirectX/sqrt.ll
    M llvm/test/CodeGen/DirectX/sqrt_error.ll
    M llvm/test/CodeGen/DirectX/tan.ll
    M llvm/test/CodeGen/DirectX/tan_error.ll
    M llvm/test/CodeGen/DirectX/tanh.ll
    M llvm/test/CodeGen/DirectX/tanh_error.ll
    A llvm/test/CodeGen/DirectX/thread_id_error.ll
    A llvm/test/CodeGen/DirectX/thread_id_in_group_error.ll
    M llvm/test/CodeGen/DirectX/trunc.ll
    M llvm/test/CodeGen/DirectX/trunc_error.ll
    M llvm/test/CodeGen/DirectX/umax.ll
    M llvm/test/CodeGen/DirectX/umin.ll
    A llvm/test/CodeGen/Hexagon/cext-opt-block-addr.mir
    A llvm/test/CodeGen/Hexagon/hvx-concat-lower.ll
    M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/LoongArch/ucmp.ll
    M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
    M llvm/test/CodeGen/NVPTX/math-intrins.ll
    M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-load.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-store.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/load.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/store.mir
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/avgflooru.ll
    A llvm/test/CodeGen/RISCV/riscv-tail-dup-size.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv32.ll
    M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/legalize-store-sdnode.ll
    R llvm/test/CodeGen/RISCV/rvv/mask-exts-truncs-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/mask-exts-truncs-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/mask-exts-truncs.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/regalloc-fast-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vle.ll
    M llvm/test/CodeGen/RISCV/rvv/vleff.ll
    M llvm/test/CodeGen/RISCV/rvv/vloxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vloxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vlse.ll
    M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32-dead.ll
    M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64-dead.ll
    M llvm/test/CodeGen/RISCV/rvv/vluxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vluxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmerge.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.s.x-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.s.x-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.v-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.v-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.x-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.v.x-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.x.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.x.s-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vmv.x.s-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.x.s.ll
    M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgather-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgather-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vrgather.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgatherei16-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vrgatherei16-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
    R llvm/test/CodeGen/RISCV/rvv/vsadd-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vsadd-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vsadd.ll
    R llvm/test/CodeGen/RISCV/rvv/vsaddu-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vsaddu-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vsaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vse.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/vslide1down-constant-vl-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1down-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1down-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vslide1down.ll
    M llvm/test/CodeGen/RISCV/rvv/vslide1up-constant-vl-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1up-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vslide1up-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vslide1up.ll
    R llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vsmul.ll
    M llvm/test/CodeGen/RISCV/rvv/vsoxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vsoxei.ll
    M llvm/test/CodeGen/RISCV/rvv/vsse.ll
    R llvm/test/CodeGen/RISCV/rvv/vssub-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vssub-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vssub.ll
    R llvm/test/CodeGen/RISCV/rvv/vssubu-rv32.ll
    R llvm/test/CodeGen/RISCV/rvv/vssubu-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/vssubu.ll
    M llvm/test/CodeGen/RISCV/rvv/vsuxei-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/vsuxei.ll
    M llvm/test/CodeGen/RISCV/ucmp.ll
    A llvm/test/CodeGen/SystemZ/Large/large-ada-01.py
    A llvm/test/CodeGen/SystemZ/Large/large-ada-02.py
    M llvm/test/CodeGen/X86/O0-pipeline.ll
    A llvm/test/CodeGen/X86/apx/i386-ndd.ll
    M llvm/test/CodeGen/X86/apx/setzucc.ll
    A llvm/test/CodeGen/X86/avgflooru-i128.ll
    M llvm/test/CodeGen/X86/avgflooru-scalar.ll
    M llvm/test/CodeGen/X86/fp-strict-libcalls-msvc32.ll
    M llvm/test/CodeGen/X86/nomerge.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll
    M llvm/test/MC/AMDGPU/gfx10_unsupported.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    A llvm/test/MC/ELF/layout-interdependency2.s
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/operand-types.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/typeof-errors.td
    A llvm/test/TableGen/GlobalISelCombinerEmitter/variadic-errors.td
    M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/shl.ll
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/InstCombine/bitcast.ll
    A llvm/test/Transforms/InstCombine/mem-intrinsics.ll
    M llvm/test/Transforms/InstCombine/mempcpy.ll
    A llvm/test/Transforms/InstCombine/nan.ll
    A llvm/test/Transforms/InstCombine/nanl-fp128.ll
    A llvm/test/Transforms/InstCombine/nanl-fp80.ll
    A llvm/test/Transforms/InstCombine/nanl-ppc-fp128.ll
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    A llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-row-major.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32-row-major.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
    A llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
    A llvm/test/tools/llvm-objdump/BPF/disassemble-symbolize-operands.s
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
    M llvm/unittests/IR/ConstantRangeTest.cpp
    M llvm/unittests/IR/DominatorTreeTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/unittests/Support/ErrorTest.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/VTEmitter.cpp
    M mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseSpaceCollapse.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Transforms/OpStats.cpp
    M mlir/lib/Transforms/PrintIR.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/python/mlir/runtime/np_to_memref.py
    M mlir/python/requirements.txt
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/tile-tensors.mlir
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir
    M mlir/test/Dialect/Linalg/transform-op-tile.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-using-scfforall.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
    M mlir/test/python/execution_engine.py
    M mlir/utils/spirv/gen_spirv_dialect.py
    M offload/include/Shared/EnvironmentVar.h
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/ErrorReporting.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    A offload/test/sanitizer/kernel_crash.c
    A offload/test/sanitizer/kernel_crash_async.c
    A offload/test/sanitizer/kernel_crash_many.c
    A offload/test/sanitizer/kernel_crash_single.c
    A offload/test/sanitizer/kernel_trap.c
    A offload/test/sanitizer/kernel_trap_async.c
    A offload/test/sanitizer/kernel_trap_many.c
    M openmp/docs/design/Runtimes.rst
    M polly/lib/Analysis/ScopBuilder.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/b9cb0bdcda6d...da5311a10608

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