[all-commits] [llvm/llvm-project] 523719: [NFC] Fix typos in comments

Justin Bogner via All-commits all-commits at lists.llvm.org
Wed Nov 29 22:30:47 PST 2023


  Branch: refs/heads/users/bogner/spr/clangsema-dont-say-is-declared-here-for-invalid-template-locations
  Home:   https://github.com/llvm/llvm-project
  Commit: 5237193b87721134541f228e28edfd544a9c8ac8
      https://github.com/llvm/llvm-project/commit/5237193b87721134541f228e28edfd544a9c8ac8
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [NFC] Fix typos in comments


  Commit: 934245891361ab8568aba10d4381d21fe1e8b699
      https://github.com/llvm/llvm-project/commit/934245891361ab8568aba10d4381d21fe1e8b699
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-18 (Sat, 18 Nov 2023)

  Changed paths:
    M .github/workflows/scorecard.yml

  Log Message:
  -----------
  [Github] Prevent scorecard action from running on forks (#72780)

Currently, the scorecard action runs on forks. This means that every
recent fork will be periodically running a job that doesn't really make
a lot of sense to run outside the main monorepo. This patch fixes that
by restricting the job to only run in the monorepo.


  Commit: aafd2119fa497e234a28ad7d912910e0a3e1296d
      https://github.com/llvm/llvm-project/commit/aafd2119fa497e234a28ad7d912910e0a3e1296d
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-18 (Sat, 18 Nov 2023)

  Changed paths:
    M .github/workflows/scorecard.yml

  Log Message:
  -----------
  [Github] Fix typo

I swore I copied the if statement from somewhere, but whatever I did to
it while moving it over dropped one of the equals signs. This patch
fixes that so the action will actually work properly.


  Commit: 23c47eba879769a29772c999be2991201c2fe399
      https://github.com/llvm/llvm-project/commit/23c47eba879769a29772c999be2991201c2fe399
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/test/CodeGenCXX/float128-declarations.cpp

  Log Message:
  -----------
  [Driver] Enable __float128 support on X86 on FreeBSD / NetBSD (#72788)


  Commit: 42204c94ba9fcb0b4b1335e648ce140a3eef8a9d
      https://github.com/llvm/llvm-project/commit/42204c94ba9fcb0b4b1335e648ce140a3eef8a9d
  Author: Bill Wendling <morbo at google.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp

  Log Message:
  -----------
  Revert "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)"

This reverts commit 99ee2db198d86f685bcb07a1495a7115ffc31d7e.

It's causing ICEs in the ARM tests. See the comment here:

https://github.com/llvm/llvm-project/commit/99ee2db198d86f685bcb07a1495a7115ffc31d7e


  Commit: 5a305cea52bf45d4070b366fd7bc7592b6db0072
      https://github.com/llvm/llvm-project/commit/5a305cea52bf45d4070b366fd7bc7592b6db0072
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [libc++] Use __is_pointer_in_range for char_traits checks (#72643)

This allows us to also check the constraints during constant evaluation.


  Commit: dfe1d35c629f2948c0e8cf29d926729b1dbc1709
      https://github.com/llvm/llvm-project/commit/dfe1d35c629f2948c0e8cf29d926729b1dbc1709
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/sub-from-sub.ll

  Log Message:
  -----------
  [InstCombine] Propagate NSW/NUW flags for `(X - Y) - Z -> X - (Y + Z)` (#72693)

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

Related patch:
https://github.com/llvm/llvm-project/commit/31d219d2997fed1b7dc97e0adf170d5aaf65883e


  Commit: 3af514e5aea2a3e7774c667232ccd0d611cf911a
      https://github.com/llvm/llvm-project/commit/3af514e5aea2a3e7774c667232ccd0d611cf911a
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll

  Log Message:
  -----------
  [InstCombine] Add tests for improving `sub X, ~Y` -> `add X, -Y`; NFC


  Commit: f112e4693a9718ef55019ab4d68ede739b2dca3d
      https://github.com/llvm/llvm-project/commit/f112e4693a9718ef55019ab4d68ede739b2dca3d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/test/Analysis/ValueTracking/knownbits-and-or-xor-lowbit.ll
    M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll

  Log Message:
  -----------
  [InstCombine] Don't transform `sub X, ~Y` -> `add X, -Y` unless `Y` is actually negatable

This combine was previously adding instruction in some cases (see the
tests).

Closes #72767


  Commit: 160a13a0cc98afc15c08bdeb07bec8f72b04e051
      https://github.com/llvm/llvm-project/commit/160a13a0cc98afc15c08bdeb07bec8f72b04e051
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll

  Log Message:
  -----------
  [X86] Add more tests for transform `(icmp eq/ne (and X,C0),(shift X,C1))`; PR71598


  Commit: ed7c97e0ad335eec8d65c00d8f963fea3455d4cf
      https://github.com/llvm/llvm-project/commit/ed7c97e0ad335eec8d65c00d8f963fea3455d4cf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll

  Log Message:
  -----------
  Recommit "[DAGCombiner] Transform `(icmp eq/ne (and X,C0),(shift X,C1))` to use rotate or to getter constants." (2nd Try)

Added missing check that the mask and shift amount added up to correct
bitwidth as well as test cases for the bug.

Closes #71729


  Commit: 0f3a9efcbdc90b9e29dce405ee6c2ac5703fd63f
      https://github.com/llvm/llvm-project/commit/0f3a9efcbdc90b9e29dce405ee6c2ac5703fd63f
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Add tests for transforming `(icmp eq/ne trunc(x), truncOrZext(y))`; NFC


  Commit: 99387e33dc750b35223a86f59f755d41d8614bd5
      https://github.com/llvm/llvm-project/commit/99387e33dc750b35223a86f59f755d41d8614bd5
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/test/Transforms/InstCombine/eq-of-parts.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Add transforms for `(icmp uPred (trunc x),(truncOrZext(y)))`->`(icmp uPred x,y)`

Three transforms (all commutative):
https://alive2.llvm.org/ce/z/Bc-nh4

Closes #71309


  Commit: aa6be2f7c94ea3302fcc1ab034a85cd375eaa800
      https://github.com/llvm/llvm-project/commit/aa6be2f7c94ea3302fcc1ab034a85cd375eaa800
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/Affine/LoopUtils.h
    M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp

  Log Message:
  -----------
  [mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)


  Commit: 5603bb5f5001e88a490b8f9c11c6e8969037183b
      https://github.com/llvm/llvm-project/commit/5603bb5f5001e88a490b8f9c11c6e8969037183b
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M clang/test/Driver/lanai-unknown-unknown.cpp
    R clang/test/Driver/mipsel-nacl-defines.cpp
    M clang/test/Driver/wasm32-unknown-unknown.cpp
    M clang/test/Driver/wasm64-unknown-unknown.cpp
    M clang/test/Driver/x86_64-nacl-defines.cpp

  Log Message:
  -----------
  [test] Fix misused Joined -e options

Some tests for the obsoleted NaCl misuse the -e for linking.


  Commit: d1e9c7b68c80992decec5b23e92019c7263f066d
      https://github.com/llvm/llvm-project/commit/d1e9c7b68c80992decec5b23e92019c7263f066d
  Author: max <maksim.levental at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/Affine/LoopUtils.h
    M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp

  Log Message:
  -----------
  Revert "[mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)"

This reverts commit aa6be2f7c94ea3302fcc1ab034a85cd375eaa800.


  Commit: 9ae04a77d12667d1fe8a2392240a85bde9e490fc
      https://github.com/llvm/llvm-project/commit/9ae04a77d12667d1fe8a2392240a85bde9e490fc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Don't set nsw/nuw/exact flag after MachineCombiner reassociation.

This matches what PowerPC and X86 do.


  Commit: 797b68c0ba699994e1038ac33d3083541482bf19
      https://github.com/llvm/llvm-project/commit/797b68c0ba699994e1038ac33d3083541482bf19
  Author: Martin Storsjö <martin at martin.st>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M lld/test/COFF/gc-dwarf-eh.s
    M llvm/lib/MC/MCParser/AsmParser.cpp
    R llvm/test/MC/AArch64/cfi-bad-nesting.s

  Log Message:
  -----------
  Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames"

This reverts commit 4323da926f12672daec7f59384bd153a7cf28674.

This broke building libffi for ARM on Windows (and probably Darwin),
where one extern function intentionally falls through to another
one, while sharing one CFI region.

As long as one isn't using .subsections_via_symbols on MachO,
this probably shouldn't be a hard error.

Secondly, the tested pattern only produces an error on MachO and
COFF targets, but not for ELF, making the error case even more
inconsistent.

Reverting this commit for now, to figure out the best way forward.


  Commit: e16a8344d0efa33caddc147f9b316ba4734c99ff
      https://github.com/llvm/llvm-project/commit/e16a8344d0efa33caddc147f9b316ba4734c99ff
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Skip alignArrayInitializers() for 1-row matrices (#72166)


  Commit: 5860d248a780aaef860db3d54184b49fc758c3c1
      https://github.com/llvm/llvm-project/commit/5860d248a780aaef860db3d54184b49fc758c3c1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in aligning comments above PPDirective (#72791)

Fixed #72785.


  Commit: cb3a605c5d453f9c6af8c44f84a11815aed7fe85
      https://github.com/llvm/llvm-project/commit/cb3a605c5d453f9c6af8c44f84a11815aed7fe85
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in isStartOfName() on macro definitions (#72768)

Fixed #72751.


  Commit: edad025d1e1f8043637c65fed91060b327e85313
      https://github.com/llvm/llvm-project/commit/edad025d1e1f8043637c65fed91060b327e85313
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [clang-format] Correctly annotate braces of empty functions (#72733)

Also fixed some existing test cases.

Fixed #57305.
Fixed #58251.


  Commit: 0f8406858afd758f60bd6a9873309a67a0ac5123
      https://github.com/llvm/llvm-project/commit/0f8406858afd758f60bd6a9873309a67a0ac5123
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Add my entry


  Commit: eb7698254ab668e53133062fbc53b9635de95c4d
      https://github.com/llvm/llvm-project/commit/eb7698254ab668e53133062fbc53b9635de95c4d
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/test/CodeGen/PowerPC/early-ifcvt-no-isel.mir

  Log Message:
  -----------
  [PowerPC][EarlyIfConversion] Do not insert `isel` if subtarget doesn't support `isel` (#72211)

Some subtargets of PPC don't support `isel` instruction, early-ifcvt
should not insert this instruction.


  Commit: a76adfb992c6f5a9b05fbcc2de5889d2531607db
      https://github.com/llvm/llvm-project/commit/a76adfb992c6f5a9b05fbcc2de5889d2531607db
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

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

  Log Message:
  -----------
  [NFC][Clang] Refactor code to calculate flexible array member size (#72790)

The code that calculates the flexible array member size is big enough to
warrant its own method.


  Commit: 3494c555c93c5f5cf5c36a84a819b80a4d922a82
      https://github.com/llvm/llvm-project/commit/3494c555c93c5f5cf5c36a84a819b80a4d922a82
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    A llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir

  Log Message:
  -----------
  [RISCV] postpone removal in initundef pass (#71661)

InitUndef pass need replace the implicit def with Undef pseudo, but
current remove method will make noreg2implicit borken.

This patch postpone the removal until all basicblock be processed.


  Commit: 95d584c6ac5b518a66992293b4ff63fc05a81685
      https://github.com/llvm/llvm-project/commit/95d584c6ac5b518a66992293b4ff63fc05a81685
  Author: HaohaiWen <haohai.wen at intel.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/funnel.ll

  Log Message:
  -----------
  [InstCombine] Convert or concat to fshl if opposite or concat exists (#68502)

If there are two 'or' instructions concat variables in opposite order
and the first 'or' dominates the second one, the second 'or' can be
optimized to fshl to rotate shift first 'or'. This can eliminate an shl
and expose more optimization opportunity for bswap/bitreverse.


  Commit: 69f64dedb09bf39bd3ad66bcbc2c947b23342a11
      https://github.com/llvm/llvm-project/commit/69f64dedb09bf39bd3ad66bcbc2c947b23342a11
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Use DemandedFields instead of checking for vmv.s.x/vmv.x.s. NFC

The property we're explicitly looking for is whether or not MI only cares about
VL zeroness and not VL itself, so we can just use DemandedFields for this. This
should simplify an upcoming change in #72352


  Commit: 933dd03386df3c0cfedf4fe6bc984d776f1298ca
      https://github.com/llvm/llvm-project/commit/933dd03386df3c0cfedf4fe6bc984d776f1298ca
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Remove checks that MI's info is valid. NFC

It's always guaranteed to be valid since we compute it ourselves from MI.
This should simplify an upcoming change in #72352


  Commit: 7cc54da16f25b1a4149b45d73e0fa42a2ee38e03
      https://github.com/llvm/llvm-project/commit/7cc54da16f25b1a4149b45d73e0fa42a2ee38e03
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2023-11-19 (Sun, 19 Nov 2023)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Add @MaheshRavishankar to CODEOWNERS on relevant source files. (#72449)


  Commit: c1fe1900491ae773e45e41604af25312e5fc6559
      https://github.com/llvm/llvm-project/commit/c1fe1900491ae773e45e41604af25312e5fc6559
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  Revert "Add new API in SBTarget for loading core from SBFile (#71769)"

This reverts commit e2fb816c4f0286ddf8b1030148a343d5efc14e01.
It breaks TestLinuxCore.py on lldb-*-windows. See buildbot below:
https://lab.llvm.org/buildbot/#/builders/219/builds/7014


  Commit: d572c4cdef4b3a2b1f57769233f33a1788f5172e
      https://github.com/llvm/llvm-project/commit/d572c4cdef4b3a2b1f57769233f33a1788f5172e
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/test/Sema/128bitfloat.cpp

  Log Message:
  -----------
  [PowerPC] Disable float128 on AIX in Clang (#67298)

PowerPC AIX backend does not support float128 at all. Diagnose even when
specifying -mfloat128 to avoid backend crash.

---------

Co-authored-by: Kai Luo <gluokai at gmail.com>


  Commit: 592386400d515cdd043fe787e702fe96d150986a
      https://github.com/llvm/llvm-project/commit/592386400d515cdd043fe787e702fe96d150986a
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/select-cc-no-isel.ll

  Log Message:
  -----------
  [PowerPC] Precommit test to show codegen while `isel` is unavailable. NFC.


  Commit: a2e1de193477e7d92ec5c0a2ecd17a622cbf7aed
      https://github.com/llvm/llvm-project/commit/a2e1de193477e7d92ec5c0a2ecd17a622cbf7aed
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/fpenv.ll

  Log Message:
  -----------
  [ARM][FPEnv] Lowering of fpenv intrinsics

The change implements lowering of `get_fpenv`, `set_fpenv` and
`reset_fpenv`.

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


  Commit: cdf6693f072b97ec42a95f569115ad7f0afd37d5
      https://github.com/llvm/llvm-project/commit/cdf6693f072b97ec42a95f569115ad7f0afd37d5
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    A llvm/test/MC/AArch64/SME/fa64-implies-sve2.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64][SME] Add support for sme-fa64 (#70809)


  Commit: bf897d5d77e974486e37d33e83f50f5ea95390fa
      https://github.com/llvm/llvm-project/commit/bf897d5d77e974486e37d33e83f50f5ea95390fa
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir

  Log Message:
  -----------
  [mlir][vector] Extend TransferReadDropUnitDimsPattern to support partially-static memrefs (#72142)

This patch extends TransferReadDropUnitDimsPattern to support dropping
unit dims from partially-static memrefs, for example:

%v = vector.transfer_read %base[%c0, %c0], %pad {in_bounds = [true, true]} :
  memref<?x1xi8, strided<[?, ?], offset: ?>>, vector<[16]x1xi8>

Is rewritten as:

%dim0 = memref.dim %base, %c0 : memref<?x1xi8, strided<[?, ?], offset: ?>>
%subview = memref.subview %base[0, 0] [%dim0, 1] [1, 1] :
  memref<?x1xi8, strided<[?, ?], offset: ?>> to memref<?xi8, #map1>
%v = vector.transfer_read %subview[%c0], %pad {in_bounds = [true]}
  : memref<?xi8, #map1>, vector<[16]xi8>

Scalable vectors are now also supported, the scalable dims were being
dropped when creating the rank-reduced vector type. The xfer op can also
have a mask of type 'vector.create_mask', which gets rewritten as long
as the mask of the unit dim is a constant of 1.


  Commit: d715e2c65b4449f00b39493b1e0a19c04b75bc7c
      https://github.com/llvm/llvm-project/commit/d715e2c65b4449f00b39493b1e0a19c04b75bc7c
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove GuardWideningLegacyPass (#72810)

This legacy pass isn't used anywhere and there is no test coverage, so
at this point it should be removed.


  Commit: b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d
      https://github.com/llvm/llvm-project/commit/b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/LoopSink.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove LoopSinkLegacy Pass (#72811)

This pass isn't used anywhere and thus has no test coverage. For these
reasons, remove it.


  Commit: cd11a7fba44d92ca018a2b418da69b8a680614f3
      https://github.com/llvm/llvm-project/commit/cd11a7fba44d92ca018a2b418da69b8a680614f3
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove LoopInstSimplifyLegacyPass (#72812)

This pass isn't used anywhere and thus has no test coverage. Remove it
for these reasons.

For whatever reason, there was no entry in
`llvm/include/llvm/LinkAllPasses.h` to remove.


  Commit: 8319e222c89bf9a0df42a17df771645eaf4beb95
      https://github.com/llvm/llvm-project/commit/8319e222c89bf9a0df42a17df771645eaf4beb95
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove MergedLoadStoreMotionLegacyPass (#72813)

This pass isn't used anywhere and thus isn't tested anywhere. Because of
these reasons, remove it.


  Commit: 7e65dc72c4251cb7409545686bc2751d50d4efae
      https://github.com/llvm/llvm-project/commit/7e65dc72c4251cb7409545686bc2751d50d4efae
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp

  Log Message:
  -----------
  Revert "Apply clang-tidy fixes for misc-include-cleaner in IRCore.cpp (NFC)"

This reverts commit 0d109035c29408f06efc148d67aab7e4b2aada5d.

Changes make Python bindings unbuildable without additional cmake
modifications (or modified `$PATH`).

```
/llvm-project/mlir/lib/Bindings/Python/IRCore.cpp:33:10: fatal error: 'funcobject.h' file not found
```

This header is provided by cpython, and we are not looking for that in
cmake.

Moreover, the nature of this change is not very clear to me. Seems to
replace one include with two dozens, presumably because the code is only
using transitively included headers, but the value for readability is
dubious. LLVM is also not strictly following IWYU.


  Commit: 61332cb047faca2dffce9a0ae68bf0d1c0cdee39
      https://github.com/llvm/llvm-project/commit/61332cb047faca2dffce9a0ae68bf0d1c0cdee39
  Author: Diana <Diana-Magda.Picus at amd.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    A llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll

  Log Message:
  -----------
  [AMDGPU] Emit backend_stack_size PAL metadata (#72509)

For chain functions, PAL uses a `backend_stack_size` metadata item,
which at the moment has the same meaning as `stack_frame_size_in_bytes`.
We emit both for now in order to simplify coordination with PAL.

The new item must be emitted in the `shader_functions` section, just as
the metadata for other module entry functions. For simplicity, we mark
chain functions as module entry functions and emit the same metadata for
all of them.


  Commit: 3cc523d935427baf62766e9e2cc7b65eca5925bb
      https://github.com/llvm/llvm-project/commit/3cc523d935427baf62766e9e2cc7b65eca5925bb
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
    M llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
    M llvm/lib/Transforms/Utils/Utils.cpp

  Log Message:
  -----------
  [NewPM] Remove UnifyFunctionExitNodesLegacyPass (#72816)

UnifyFunctionExitNodesLegacyPass isn't used anywhere in upstream and
thus isn't tested at all. For these reasons, remove it.


  Commit: 72ab99500f45d8672f91fe4d75ffdc6f5146b007
      https://github.com/llvm/llvm-project/commit/72ab99500f45d8672f91fe4d75ffdc6f5146b007
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
    M llvm/lib/Transforms/Utils/Utils.cpp

  Log Message:
  -----------
  [NewPM] Remove AssumeBundleBuilderPassLegacyPass (#72817)

This pass isn't used upstream anywhere and doesn't have have a
create...() function, thus isn't tested anywhere. Because of this,
remove it.


  Commit: 4671f18906ad2149df1720b5a0513f23f17abde1
      https://github.com/llvm/llvm-project/commit/4671f18906ad2149df1720b5a0513f23f17abde1
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove LowerWidenableConditionLegacyPass (#72818)

This legacy pass isn't used anywhere upstream and thus has no test
coverage, so remove it.


  Commit: edd675ac283909397880f85ba68d0d5f99dc1be2
      https://github.com/llvm/llvm-project/commit/edd675ac283909397880f85ba68d0d5f99dc1be2
  Author: Sunil Kuravinakop <koops at hpe.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/OpenMP/atomic_ast_print.cpp
    M clang/test/OpenMP/atomic_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [OpenMP] atomic compare fail : Parser & AST support

Diff Revision: https://reviews.llvm.org/D123235


  Commit: 2470857fe701f41278dac33580ca8b0bdb38031f
      https://github.com/llvm/llvm-project/commit/2470857fe701f41278dac33580ca8b0bdb38031f
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar/Scalarizer.h
    M llvm/lib/Transforms/Scalar/Scalar.cpp
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp

  Log Message:
  -----------
  [NewPM] Remove ScalarizerLegacyPass (#72814)

This pass isn't used anywhere upstream and thus has no test coverage.
Because of these reasons, remove it.


  Commit: 3300bc34f7bccf29c14221fa4b651f7bc82c46d5
      https://github.com/llvm/llvm-project/commit/3300bc34f7bccf29c14221fa4b651f7bc82c46d5
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-livein.s
    M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations.s
    M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-abnormal-exit-code.s
    M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-preserved-registers.s
    M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-segfault.s
    M llvm/test/tools/llvm-exegesis/X86/latency/subprocess.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Fix race condition in subprocess mode (#72778)

If there were some scheduler effects where something like the parent
process got interrupted while the child process continued to run, there
would be nothing blocking it from exiting before the parent process
issued a PTRACE_ATTACH call. This would cause transient failures as this
occurred pretty rarely. This patch removes the possibility of a
transient failure by ensuring that the parent process attaches to the
child process before sending the counter file descriptor through the
socket, ensuring that the child process has at most progressed to being
blocked in the read call for the counter file descriptor.


  Commit: 27c98958c067c341dd3f65b7218c376d333fbed5
      https://github.com/llvm/llvm-project/commit/27c98958c067c341dd3f65b7218c376d333fbed5
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-preserved-registers.s
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp

  Log Message:
  -----------
  [llvm-exegesis] Preserve rcx and r11 around system call (#72807)

Currently, when making the ioctl system call, we're not preserving rcx
and r11. The system call will clobber these registers, meaning that the
values of the registers in the snippet will be different than expected.
This patch fixes that be preserving the registers around the system
call, similar to how the other registers involved in the making the
system call get preserved.

Fixes #72741.


  Commit: 5c1650e7f43f6abab2c5790507ffc04dcbd19e76
      https://github.com/llvm/llvm-project/commit/5c1650e7f43f6abab2c5790507ffc04dcbd19e76
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in AMDGPUToROCDL.cpp (NFC)


  Commit: d09e86359b1bd21b906126536d7fe31b5bc63947
      https://github.com/llvm/llvm-project/commit/d09e86359b1bd21b906126536d7fe31b5bc63947
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-include-order in ComplexToLLVM.cpp (NFC)


  Commit: 8b51b62559e6cd9b59b592c42a84e3362e5bba47
      https://github.com/llvm/llvm-project/commit/8b51b62559e6cd9b59b592c42a84e3362e5bba47
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in ConvertToLLVMPass.cpp (NFC)


  Commit: ad7937d338303d8d98b29f8947cf9d407f34b5de
      https://github.com/llvm/llvm-project/commit/ad7937d338303d8d98b29f8947cf9d407f34b5de
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in ToLLVMInterface.cpp (NFC)


  Commit: e204b9198aebec16f28da79ec00105fceba0d755
      https://github.com/llvm/llvm-project/commit/e204b9198aebec16f28da79ec00105fceba0d755
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in GPUToLLVMConversion.cpp (NFC)


  Commit: bfd3734610cb2cef6a6a40314bcd4156deef8a50
      https://github.com/llvm/llvm-project/commit/bfd3734610cb2cef6a6a40314bcd4156deef8a50
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    R llvm/test/CodeGen/PowerPC/aix-csr-alloc.ll
    A llvm/test/CodeGen/PowerPC/aix-csr-alloc.mir
    A llvm/test/CodeGen/PowerPC/aix64-csr-alloc.mir

  Log Message:
  -----------
  [PowerPC] Use MIR test so that it's not affected by instruction selection. NFC.


  Commit: f7b5c255070ef2d8a4492a45613a6a7df0b5f0cb
      https://github.com/llvm/llvm-project/commit/f7b5c255070ef2d8a4492a45613a6a7df0b5f0cb
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
    M llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
    M mlir/test/Target/LLVMIR/arm-sme.mlir

  Log Message:
  -----------
  [AArch64][SME] Remove immediate argument restriction for svldr and svstr (#68565)

The svldr_vnum and svstr_vnum builtins always modify the base register
and tile slice and provide immediate offsets of zero, even when the
offset provided to the builtin is an immediate. This patch optimises the
output of the builtins when the offset is an immediate, to pass it
directly to the instruction and to not need the base register and tile
slice updates.


  Commit: befa925acac8fd6a9266e76acdec8d8c664abdc8
      https://github.com/llvm/llvm-project/commit/befa925acac8fd6a9266e76acdec8d8c664abdc8
  Author: Rin <irina.dobrescu at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/remat-fp64-constants.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll
    M llvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll
    M llvm/test/CodeGen/X86/avx512-i1test.ll
    M llvm/test/CodeGen/X86/pr38795.ll
    M llvm/test/CodeGen/X86/pr53842.ll
    M llvm/test/CodeGen/X86/pr63108.ll
    M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll

  Log Message:
  -----------
  [MachineLICM][AArch64] Hoist COPY instructions with other uses in the loop (#71403)

When there is a COPY instruction in the loop with other uses, we want to
hoist the COPY, which in turn leads to the users being hoisted as well.

Co-authored-by David Green : David.Green at arm.com


  Commit: 43af73f0d0c02fae5c4652f8248e4b614080695b
      https://github.com/llvm/llvm-project/commit/43af73f0d0c02fae5c4652f8248e4b614080695b
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:

  Log Message:
  -----------
  [lit] Use raw strings for backslash escapes to fix SyntaxWarnings (#70907)

Unless specified as a "raw" string, Python will try to interpret
backslashes, which means they don't get passed on correctly to the
underlying regex-engine, unless escaped manually (`\\`).

Use raw strings in `llvm/test/lit.cfg.py` to avoid a `SyntaxWarning`:
```
llvm/test/lit.cfg.py:275: SyntaxWarning: invalid escape sequence '\d'
  match = re.search("release (\d+)\.(\d+)", ptxas_out)
```

Other such warning present in 17.0.x were already fixed in
7ed0f5b6de74989c739389770a2d45dc7d58166a.


  Commit: abcbca21cc2e8a2b256cd519df2b1559f29e8edd
      https://github.com/llvm/llvm-project/commit/abcbca21cc2e8a2b256cd519df2b1559f29e8edd
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-load-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-uzp1-combine.ll
    A llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll

  Log Message:
  -----------
  [AArch64] Fix big endian shuffle vector miscompile (#68673)

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


  Commit: 32c3decb773b0cc7fd1736fe1b47d889c8c0011c
      https://github.com/llvm/llvm-project/commit/32c3decb773b0cc7fd1736fe1b47d889c8c0011c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/AffineMap.h
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/IR/AffineMap.cpp

  Log Message:
  -----------
  [mlir][vector] Modernize `vector.transpose` op (#72594)

* Declare arguments/results with `let` statements.
* Rename `transp` to `permutation`.
* Change type of `transp` from `I64ArrayAttr` to `DenseI64ArrayAttr`
(provides direct access to `ArrayRef<int64_t>` instead of `ArrayAttr`).


  Commit: 4028dd2e93fa1697b68339b04b89f5ddbf7f9aea
      https://github.com/llvm/llvm-project/commit/4028dd2e93fa1697b68339b04b89f5ddbf7f9aea
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/po2-shift-add-and-to-zero.ll

  Log Message:
  -----------
  [InstSimplify] Fold converted urem to 0 if there's no overlapping bits (#71528)

When folding urem instructions we can end up not recognizing that
the output will always be 0 due to Value*s being different, despite
generating the same data (in this case, 2 different calls to vscale).

This patch recognizes the (x << N) & (add (x << M), -1) pattern that
instcombine replaces urem with after the two vscale calls have been
reduced to one via CSE, then replaces with 0 when x is a power of 2
and N >= M.


  Commit: 761a963dfc8f80af9c5487997d5bdacb3e2c0062
      https://github.com/llvm/llvm-project/commit/761a963dfc8f80af9c5487997d5bdacb3e2c0062
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/kshift.ll

  Log Message:
  -----------
  [DAG] narrowExtractedVectorBinOp - ensure we limit late node creation to LegalOperations only (#72130)

Avoids infinite issues in some upcoming patches to help D152928 - x86 sees a number of regressions that are addressed by extending SimplifyDemandedVectorEltsForTargetNode to cover more binop opcodes


  Commit: 661a73ff712c54d05042eb37d536be4bade307b4
      https://github.com/llvm/llvm-project/commit/661a73ff712c54d05042eb37d536be4bade307b4
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td

  Log Message:
  -----------
  Fix typo in DiagnosticSemaKinds.td

s/makred/marked


  Commit: 5d353423c97517ae1dc66506186e265538b0111f
      https://github.com/llvm/llvm-project/commit/5d353423c97517ae1dc66506186e265538b0111f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll

  Log Message:
  -----------
  [LAA] Add extra test for #70819 showing incorrect Forward dep.

Add an additional test case where we currently incorrectly identify a
dependence as Foward instead of ForwardButPreventsForwarding.

Also cleans up the names in the tests a bit to improve readability.


  Commit: 4594d5bb3ac6772bb20e429bbb04842ef6eaea35
      https://github.com/llvm/llvm-project/commit/4594d5bb3ac6772bb20e429bbb04842ef6eaea35
  Author: dewen <923406109 at qq.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/bf16.ll

  Log Message:
  -----------
  [AArch64] Add missing bf16 store pattern (#72844)

We have STURHi store patterns but would fail to select from unscaled
offsets. This adds the missing pattern.


  Commit: 4a8b43ba3bd5427dd98a7a93d1b1ed25051c31e8
      https://github.com/llvm/llvm-project/commit/4a8b43ba3bd5427dd98a7a93d1b1ed25051c31e8
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Factor array element init into its own function


  Commit: dfc03c45c1e1d80482963ceb5dd3eb48079dd8c0
      https://github.com/llvm/llvm-project/commit/dfc03c45c1e1d80482963ceb5dd3eb48079dd8c0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86] vector-half-conversions.ll - regenerate with AVX512 slow/fast lane shuffles

Adds missing check prefixes


  Commit: cfee7152d4eb673976b51b831295dcf5b1811634
      https://github.com/llvm/llvm-project/commit/cfee7152d4eb673976b51b831295dcf5b1811634
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp
    M llvm/lib/Target/ARM/ARMMacroFusion.cpp
    M llvm/lib/Target/PowerPC/PPCMacroFusion.cpp
    M llvm/lib/Target/X86/X86MacroFusion.cpp

  Log Message:
  -----------
  [DAG] clang-format createBranchMacroFusionDAGMutation calls. NFC.

Reduces diff in #72227


  Commit: 9bdbb8226e70fb248b40a4b5002699ee9eeeda93
      https://github.com/llvm/llvm-project/commit/9bdbb8226e70fb248b40a4b5002699ee9eeeda93
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Use isArrayRoot() when comparing pointers

The previous code was just an open-coded version of isArrayRoot().


  Commit: 54984f58f5437af39f05771449c53462aa8b8963
      https://github.com/llvm/llvm-project/commit/54984f58f5437af39f05771449c53462aa8b8963
  Author: Hans <hans at hanshq.net>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  Add llvm-mca to the list of toolchain tools (#72840)

It's a user-facing tool, so including it makes sense.

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


  Commit: 57a11b7f75742ba74b563b8af75bc106a1e9d29e
      https://github.com/llvm/llvm-project/commit/57a11b7f75742ba74b563b8af75bc106a1e9d29e
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir

  Log Message:
  -----------
  [AMDGPU] Add live-through register set printing to GCNRegPressurePrinter pass. (#71096)

Add live-through register set printing, assuming live-through register
is in live-in and live-out sets, has no redefinitions but may have uses
in the block.


  Commit: cd88047765a3242f1ebc8d25ec2eeb7752d44867
      https://github.com/llvm/llvm-project/commit/cd88047765a3242f1ebc8d25ec2eeb7752d44867
  Author: Bruno De Fraine <144025007+brunodf-snps at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/SROA.h
    M llvm/lib/Transforms/Scalar/SROA.cpp

  Log Message:
  -----------
  [NFC][SROA] Remove implementation details from SROA header (#72846)

This moves the SROA implementation from SROAPass into a separate SROA
class that is defined in the cpp file, and reduces the SROAPass class to
a thin NewPM wrapper. This allows to remove all implementation details
from the SROA header, and the SROALegacyPass can wrap the SROA class
instead of the NewPM SROAPass.

The trigger for this change is a GCC warning about visibility of
implementation details in the SROA header after D138238. Credits to
Nikita Popov for suggesting this reorganization.


  Commit: ba24b814f2a20a136f0a7a0b492b6ad8a62114c6
      https://github.com/llvm/llvm-project/commit/ba24b814f2a20a136f0a7a0b492b6ad8a62114c6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/IR/Core.cpp

  Log Message:
  -----------
  [llvm-c] Fix outdated comment (NFC)

Use the function value type instead of the element type of the
function pointer type.

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


  Commit: 1716c5b614c004cf4a890eeaa113d18c8f7cb1f7
      https://github.com/llvm/llvm-project/commit/1716c5b614c004cf4a890eeaa113d18c8f7cb1f7
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/docs/Tools/MLIRLSP.md

  Log Message:
  -----------
  [mlir][Docs] Code review is now done on GitHub


  Commit: 4d64a2bcd31818aa0aed0ce9e6b64898a6f0eb55
      https://github.com/llvm/llvm-project/commit/4d64a2bcd31818aa0aed0ce9e6b64898a6f0eb55
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [LV] Refactor vector function variant selection to prepare for uniform args (#68879)

Parameters marked as uniform take a scalar value, assuming the value is
invariant in the scalar loop. In order to support this, we need to stop
asking for a vector function variant with a default shape assuming that all
arguments will become vector arguments, and instead consider all available
variants and their parameter types.


  Commit: 84ebe5b7e8cdd9084097fa82d841ab0707b8067a
      https://github.com/llvm/llvm-project/commit/84ebe5b7e8cdd9084097fa82d841ab0707b8067a
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
    A llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll

  Log Message:
  -----------
  [LV] Precommit tests for uniform arguments for vector function variants

See https://github.com/llvm/llvm-project/pull/68879


  Commit: 28b5054751899c9e96c2f42f0f91f1a3d73f0381
      https://github.com/llvm/llvm-project/commit/28b5054751899c9e96c2f42f0f91f1a3d73f0381
  Author: bcahoon <59846893+bcahoon at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll

  Log Message:
  -----------
  [AMDGPU] Fix PromoteAlloca size check of alloca for store (#72528)

When storing a subvector, too many element were written when the
size of the alloca is smaller than the size of the vector store.
This patch checks for the minimum of the alloca vector and the
store vector to determine the number of elements to store.


  Commit: c4c52d4199e13125fd9560f9f3b2d8a6bf2582f2
      https://github.com/llvm/llvm-project/commit/c4c52d4199e13125fd9560f9f3b2d8a6bf2582f2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Move vector.extract/insert lowerings to vector-to-arm-sme (NFC) (#72852)

These were placed in LegalizeForLLVMExport.cpp, which is the wrong stage
for these, as these lower to high-level ArmSME ops, not intrinsics.


  Commit: 40e46b6effd38ee93c0de76f1b898230209bca1c
      https://github.com/llvm/llvm-project/commit/40e46b6effd38ee93c0de76f1b898230209bca1c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll

  Log Message:
  -----------
  [SLP]Do not emit int bitcast after minbitwidth analysis.

No need to emit bitcat op for integer operands if it is detected that
after minbitwidth analysis the type is the same.


  Commit: f9c47e89c1d6433e3bc28e756e08ebc600a38946
      https://github.com/llvm/llvm-project/commit/f9c47e89c1d6433e3bc28e756e08ebc600a38946
  Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    A llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll

  Log Message:
  -----------
  [LV] Stability fix for outerloop vectorization (#68118)

HCFG builder doesn't correctly handle cases when non-outermost loop is
requested to be vectorized

[Original] Differential Revision: https://reviews.llvm.org/D150700


  Commit: 23e1b6159ea1a327fa8ee1fbaec5c503bdcdd518
      https://github.com/llvm/llvm-project/commit/23e1b6159ea1a327fa8ee1fbaec5c503bdcdd518
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/constant-pool-sharing.ll

  Log Message:
  -----------
  [X86] Regenerate constant-pool-sharing.ll with AVX test coverage

Shows failure to share the constant pool load (broadcast) on AVX targets


  Commit: 2fdf283c3f7977b12965183ed64c8c0d3f22fa82
      https://github.com/llvm/llvm-project/commit/2fdf283c3f7977b12965183ed64c8c0d3f22fa82
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/constant-pool-sharing.ll

  Log Message:
  -----------
  [X86] constant-pool-sharing.ll - add test showing failure to reuse subvectors when storing larger vector types

We do correctly use implicit zero-extension of xmm constant load -> ymm constant store though.


  Commit: b0154c36d6387272f7f961c22582693d2850d21c
      https://github.com/llvm/llvm-project/commit/b0154c36d6387272f7f961c22582693d2850d21c
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    A llvm/test/Transforms/PGOProfile/Inputs/coverage.proftext
    M llvm/test/Transforms/PGOProfile/coverage.ll

  Log Message:
  -----------
  [InstrProf] Add pgo use block coverage test (#72443)

Back in https://reviews.llvm.org/D124490 we added a block coverage mode
that instruments a subset of basic blocks using single byte counters to
get coverage for the whole function.

This commit adds a test to make sure that we correctly assign branch
weights based on the coverage profile.

I noticed this test was missing after seeing that we had no coverage on
`PGOUseFunc::populateCoverage()`

https://lab.llvm.org/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp.html#L1383


  Commit: 9ca9c2cf7e05a0fe44a8a688d0c322d5229511d9
      https://github.com/llvm/llvm-project/commit/9ca9c2cf7e05a0fe44a8a688d0c322d5229511d9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [InstSimplify] Remove redundant gep zero fold (NFC)

We already higher the all zero indices case above, no need to
also handle the special case of a single zero index.


  Commit: a2cf44b72cbf9361f37dd6f680502bb18070cba3
      https://github.com/llvm/llvm-project/commit/a2cf44b72cbf9361f37dd6f680502bb18070cba3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/canonicalize-lshr-shl-to-masking.ll
    M llvm/test/Transforms/InstCombine/known-signbit-shift.ll

  Log Message:
  -----------
  [InstCombine] Propagate NUW flags for `shl (lshr X, C1), C2 -> shl X, C2-C1` (#72525)

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


  Commit: 59d14b623357d9b0514a9575e6d92474694b2f74
      https://github.com/llvm/llvm-project/commit/59d14b623357d9b0514a9575e6d92474694b2f74
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll

  Log Message:
  -----------
  [X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data (REAPPLIED)

If we already have a YMM/ZMM constant that a smaller XMM/YMM has matching lower bits, then ensure we reuse the same constant pool entry.

Extends the similar combines we already have to reuse VBROADCAST_LOAD/SUBV_BROADCAST_LOAD constant loads.

This is a mainly a canonicalization, but should make it easier for us to merge constant loads in a future commit (related to both #70947 and better X86FixupVectorConstantsPass usage for #71078).

Reapplied with fix to ensure we don't 'flip-flop' between multiple matching constants - only perform the fold if the new constant pool entry is larger than the current entry.


  Commit: 37fa32785e23198fc9585296e990b18abfd2ba90
      https://github.com/llvm/llvm-project/commit/37fa32785e23198fc9585296e990b18abfd2ba90
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Add @ftynse as GitHub codeowner for MLIR Transform dialect (#72882)


  Commit: 8bd06d5b65845e5e01dd899a2deb773580460b89
      https://github.com/llvm/llvm-project/commit/8bd06d5b65845e5e01dd899a2deb773580460b89
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/test/C/C2x/n2508.c
    M clang/test/OpenMP/barrier_ast_print.cpp
    M clang/test/OpenMP/barrier_messages.cpp
    M clang/test/OpenMP/cancel_messages.cpp
    M clang/test/OpenMP/cancellation_point_messages.cpp
    M clang/test/OpenMP/depobj_messages.cpp
    M clang/test/OpenMP/error_message.cpp
    M clang/test/OpenMP/flush_messages.cpp
    M clang/test/OpenMP/scan_messages.cpp
    M clang/test/OpenMP/taskwait_messages.cpp
    M clang/test/OpenMP/taskyield_messages.cpp
    M clang/www/c_status.html

  Log Message:
  -----------
  [C23] Complete support for WG14 N2508 (#71398)

In Clang 16, we implemented the ability to add a label at the end of a
compound statement. These changes complete the implementation by
allowing a label to be followed by a declaration in C.

Note, this seems to have fixed an issue with some OpenMP stand-alone
directives not being properly diagnosed as per:
https://www.openmp.org/spec-html/5.1/openmpsu19.html#x34-330002.1.3
(The same requirement exists in OpenMP 5.2 as well.)


  Commit: 197f30597d086e4466687fa533d3142fa404b1fc
      https://github.com/llvm/llvm-project/commit/197f30597d086e4466687fa533d3142fa404b1fc
  Author: Krasimir Georgiev <krasimir at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/DebugInfo/X86/debug-names-types.ll

  Log Message:
  -----------
  NFCI: update debug-names-types test to use an output file unique to the test

This makes it work in environments where the test is running in a write-protected
current directory. Updated similarly to other such tests, like
https://github.com/llvm/llvm-project/blob/8bd06d5b65845e5e01dd899a2deb773580460b89/llvm/test/tools/llvm-dwp/X86/absolute_paths.test#L3.


  Commit: a32a2b2ceb6b4c1bbcbcb39363c8dee44daf86ab
      https://github.com/llvm/llvm-project/commit/a32a2b2ceb6b4c1bbcbcb39363c8dee44daf86ab
  Author: Liviu Ionescu <ilg at livius.net>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/test/Driver/darwin-header-search-libcxx.cpp

  Log Message:
  -----------
  [clang][driver] Add <executable>/../include/c++/v1 to include path on Darwin (#70817)

On macOS, when clang is invoked via a symlink, since the InstalledDir is
where the link is located, the C++ headers are not identified and the
default system headers from the SDK are used.

This can be undesirable if a toolchain is created by symlinking clang
into a directory and placing libc++ headers in that directory with the
intent of those headers overriding the SDK headers. This change solves
that problem by also looking for libc++ headers in the toolchain-relative
location of the executable symlink, if any.


  Commit: c38ae74b48c1cb8aedf384686eaa05815d366609
      https://github.com/llvm/llvm-project/commit/c38ae74b48c1cb8aedf384686eaa05815d366609
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] Stop checking for trailing whitespace in check-generated-output (#72711)

Trailing whitespace is removed by clang-format, so if someone tries to
check-in new code with trailing whitespaces, it'll be caught by the
clang-format job. Removing this duplication helps reduce the confusion
around our numerous ways of enforcing formatting rules.


  Commit: f609d4ba1d940c781f4fed44f7c69422d1766f09
      https://github.com/llvm/llvm-project/commit/f609d4ba1d940c781f4fed44f7c69422d1766f09
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [SLP]Fix PR72833: do not crash if only operand is casted but the use
instruction.

Need to check if only operand is casted, not the user instruction
itself, if the types of the operands does not match the actual type.


  Commit: 882d4006b96c067e9c14ba93cdb41f278923438e
      https://github.com/llvm/llvm-project/commit/882d4006b96c067e9c14ba93cdb41f278923438e
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Formatting change


  Commit: ddfed815c930979414d403e01caca23875072676
      https://github.com/llvm/llvm-project/commit/ddfed815c930979414d403e01caca23875072676
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/OpenMP/atomic_ast_print.cpp
    M clang/test/OpenMP/atomic_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  Revert "[OpenMP] atomic compare fail : Parser & AST support"

This reverts commit edd675ac283909397880f85ba68d0d5f99dc1be2.

This breaks clang build where every component is a shared library.

The file clang/lib/Basic/OpenMPKinds.cpp, which is a part of
libclangBasic.so, uses `getOpenMPClauseName` which isn't:

/usr/bin/ld: CMakeFiles/obj.clangBasic.dir/OpenMPKinds.cpp.o: in functio
n `clang ::getOpenMPSimpleClauseTypeName(llvm::omp::Clause, unsigned int
)':
OpenMPKinds.cpp:(.text._ZN5clang29getOpenMPSimpleClauseTypeNameEN4llvm3o
mp6ClauseEj+0x9b): undefined reference to `llvm::omp::getOpenMPClauseNam
e(llvm::omp::Clause)'


  Commit: 5e36c64cb6e8f9c6c0c2db8a9a7120b28fbc36df
      https://github.com/llvm/llvm-project/commit/5e36c64cb6e8f9c6c0c2db8a9a7120b28fbc36df
  Author: David Truby <david at truby.dev>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/test/Driver/dependent-lib.f90

  Log Message:
  -----------
  [flang] Remove extra space added with --dependent-lib option

This patch fixes a bug with the --dependent-lib option where an
extra space is added to the directive causing linking to fail.


  Commit: 6e547ce1c072f6f086a4f44fb8168df23413f597
      https://github.com/llvm/llvm-project/commit/6e547ce1c072f6f086a4f44fb8168df23413f597
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add const InterpBlock::deref() overload


  Commit: 80d3a4c39f5065ef620d7b3e73935cf491f0c394
      https://github.com/llvm/llvm-project/commit/80d3a4c39f5065ef620d7b3e73935cf491f0c394
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/DebugInfo/salvage-cast-debug-info.ll
    M llvm/test/DebugInfo/salvage-gep.ll
    M llvm/test/Transforms/InstCombine/debuginfo-dce.ll
    M llvm/test/Transforms/InstCombine/salvage-dbg-declare.ll
    M llvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
    M llvm/test/Transforms/Mem2Reg/ConvertDebugInfo2.ll
    M llvm/test/Transforms/Mem2Reg/dbg-inline-scope-for-phi.ll
    M llvm/test/Transforms/Mem2Reg/dbg_declare_to_value_conversions.ll
    M llvm/test/Transforms/Mem2Reg/debug-alloca-phi-2.ll
    M llvm/test/Transforms/Mem2Reg/debug-alloca-phi.ll
    M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-1.ll
    M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-2.ll
    M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
    M llvm/test/Transforms/SROA/dbg-inline.ll
    M llvm/test/Transforms/SROA/dbg-single-piece.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
    M llvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll
    M llvm/test/Transforms/Util/salvage-debuginfo.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Add local-utility plumbing for DPValues (#72276)

This patch re-implements a variety of debug-info maintenence functions
to use DPValues instead of DbgValueInst's: supporting the "new"
non-intrinsic representation of debug-info. As per [0], we need to have
parallel implementations of various utilities for a time, and these are
the most fundamental utilities used throughout the compiler.

I've added --try-experimental-debuginfo-iterators to a variety of RUN
lines: this is a flag that turns on "new debug-info" if it's built into
LLVM, and not otherwise. This should ensure that we have the same
behaviour for the same IR inputs, but using a different internal
representation. For the most part these changes affect SROA/Mem2Reg
promotion of dbg.declares into dbg.value intrinsics (now DPValues),
we're leaving dbg.declares as instructions until later in the day.
There's also some salvaging changes made.

I believe the tests that I've added cover almost all the code being
updated here. The only thing I'm not confident about is SimplifyCFG,
which calls rewriteDebugUsers down a variety of code paths. Those
changes can't immediately get full coverage as an additional patch is
needed that updates handling of Unreachable instructions, will upload
that shortly.

[0]
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939/9


  Commit: 4a020018ce7abdee21e976f7ed5746ef2eb2c0fd
      https://github.com/llvm/llvm-project/commit/4a020018ce7abdee21e976f7ed5746ef2eb2c0fd
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Tensor/tiling.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp

  Log Message:
  -----------
  [NFC] Simplify the tiling implementation using cloning. (#72178)

The current implementation of tiling using `scf.for` is convoluted to
make sure that the destination passing style of the untiled program is
preserved. The addition of support to tile using `scf.forall` (adapted
from the transform operation in Linalg) in
https://github.com/llvm/llvm-project/pull/67083 used cloning of the
tiled operations to better streamline the implementation. This PR adapts
the other tiling methods to use a similar approach, making the
transformations (and handling destination passing style semantics) more
systematic.

---------

Co-authored-by: Abhishek-Varma <avarma094 at gmail.com>


  Commit: 88b672b0a79e9f68253abf7edcfa5a42d1321cae
      https://github.com/llvm/llvm-project/commit/88b672b0a79e9f68253abf7edcfa5a42d1321cae
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/lib/Headers/llvm_libc_wrappers/stdio.h

  Log Message:
  -----------
  [libc] Adjust headers for some implementations of 'stdio.h'

Summary:
This is sometimes a macro, undefine it so we can declare it as the GPU
needs.


  Commit: 4376f8c949a95914856199941ebed18c8c27b5cc
      https://github.com/llvm/llvm-project/commit/4376f8c949a95914856199941ebed18c8c27b5cc
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td

  Log Message:
  -----------
  [mlir][spirv][nfc] Sort CL ops (#72868)

Extracted from https://github.com/llvm/llvm-project/pull/72800


  Commit: d8447c78ab16c16eb17abab76e0bc77f58d2d9be
      https://github.com/llvm/llvm-project/commit/d8447c78ab16c16eb17abab76e0bc77f58d2d9be
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [Clang] Correct handling of negative and out-of-bounds indices (#71877)

GCC returns 0 for a negative index on an array in a structure. It also
returns 0 for an array index that goes beyond the extent of the array.
In addition. a pointer to a struct field returns that field's size, not
the size of it plus the rest of the struct, unless it's the first field
in the struct.

  struct s {
    int count;
    char dummy;
    int array[] __attribute((counted_by(count)));
  };

  struct s *p = malloc(...);

  p->count = 10;

A __bdos on the elements of p return:

  __bdos(p, 0) == 30
  __bdos(p->array, 0) == 10
  __bdos(&p->array[0], 0) == 10
  __bdos(&p->array[-1], 0) == 0
  __bdos(&p->array[42], 0) == 0

Also perform some refactoring, putting the "counted_by" calculations in
their own function.


  Commit: 97f96172ad90b5ae9975f09361e9fa523b73a3a2
      https://github.com/llvm/llvm-project/commit/97f96172ad90b5ae9975f09361e9fa523b73a3a2
  Author: wlei <wlei at fb.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh

  Log Message:
  -----------
  [build_symbolizer] Fix a missing mkdir cmd


  Commit: 445f6f1373429fb2c86ead77ec2ff64f17948899
      https://github.com/llvm/llvm-project/commit/445f6f1373429fb2c86ead77ec2ff64f17948899
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A bolt/test/lsda-section-name.cpp
    R bolt/test/lsda.cpp

  Log Message:
  -----------
  [BOLT][TEST] Remove LTO flag from a test (#72896)

The LTO flag is not needed for the test to work properly. However, it
may not build on a system where compiler and linker versions don't match
one another. Remove the LTO flag.


  Commit: 2cc4b3d07c230f9c38d7693490d6d5b5ed0e1248
      https://github.com/llvm/llvm-project/commit/2cc4b3d07c230f9c38d7693490d6d5b5ed0e1248
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir

  Log Message:
  -----------
  [mlir][sparse] code cleanup using the assumption that dim2lvl maps ar… (#72894)

…e simplified.


  Commit: 5cd24759c41864215e67c280234b6c745a4cd369
      https://github.com/llvm/llvm-project/commit/5cd24759c41864215e67c280234b6c745a4cd369
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/experimental/simd/test_utils.h

  Log Message:
  -----------
  [libc++] Reduce the compilation time required by SIMD tests (#72602)

Testing all the SIMD widths exhaustively is nice in theory, however in
practice it leads to extremely slow tests. Given that
1. our testing resources are finite and actually pretty costly
2. we have thousands of other tests we also need to run
3. the value of executing these SIMD tests for absolutely all supported
SIMD widths is fairly small compared to cherry-picking a few relevant
widths

I think it makes a lot of sense to reduce the exhaustiveness of these
tests. I'm getting a ~4x speedup for the worst offender
(reference_assignment.pass.cpp) after this patch.

I'd also like to make this a reminder to anyone seeing this PR that
tests impact everyone's productivity. Slow unit tests contribute to
making the CI slower as a whole, and that has a direct impact on
everyone's ability to iterate quickly during PRs. Even though we have a
pretty robust CI setup in place, we should remember that it doesn't come
for free and should strive to keep our tests at a good bang for the buck
ratio.


  Commit: 9824040ad56103e350e6edbd59f05c606227c2c5
      https://github.com/llvm/llvm-project/commit/9824040ad56103e350e6edbd59f05c606227c2c5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Don't open-close namespace std in __config (#72695)

This doesn't seem necessary and it is just kind of weird to do that in
__config, so remove it.


  Commit: 47a3ad5be1c60fc0bd40bef5b53907bb1792b6e5
      https://github.com/llvm/llvm-project/commit/47a3ad5be1c60fc0bd40bef5b53907bb1792b6e5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h

  Log Message:
  -----------
  [Libomptarget] Handle dynamic stack sizes for AMD COV5 (#72606)

Summary:
One of the changes in the AMD code-object version five was that kernels
that use an unknown amount of private stack memory now no longer default
to 16 KBs. Instead it emits a flag that indicates the runtime must
provide a value. This patch checks if we must provide such a stack, and
uses the existing handling of the stack environment variable to
configure it.


  Commit: 2404477219f87dd9fdd3ed46cc9257699af475a8
      https://github.com/llvm/llvm-project/commit/2404477219f87dd9fdd3ed46cc9257699af475a8
  Author: Matthias Braun <matze at braunis.de>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll

  Log Message:
  -----------
  LoopVectorize: Add better heuristic for vectorized epilogue skip test (#72589)

This is a follow-up to PR #72450 correcting the branch_weights used
for the test whether the vectorized epilogue loop should be skipped.


  Commit: 0ba5f6e6bd971d74c530e50587c69489e625ce8e
      https://github.com/llvm/llvm-project/commit/0ba5f6e6bd971d74c530e50587c69489e625ce8e
  Author: Amy Huang <akhuang at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  Fix to attribute plugins reaching an unreachable (#70877)

[0faee97](https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a)
broke attribute plugins. Specifically, it added a call to
`getAttributeSpellingListIndex()` in situations that reached an
unreachable statement. This patch adds a check before calling that to
avoid hitting the unreachable.

`clang/test/Frontend/plugin-attribute.cpp` has been broken since
[0faee97](https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a),
and this patch fixes it.

Bug: [70702](https://github.com/llvm/llvm-project/issues/70702)


  Commit: b9951b3fe67075a1ed1d8d0c01d7f372d9e6a842
      https://github.com/llvm/llvm-project/commit/b9951b3fe67075a1ed1d8d0c01d7f372d9e6a842
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M compiler-rt/test/profile/Linux/binary-id.c
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/lib/ProfileData/InstrProfReader.cpp

  Log Message:
  -----------
  [llvm-profdata] Fix binary ids with multiple raw profiles in a single… (#72740)

Save binary ids when iterating through `RawInstrProfReader`.

Fixes #72699.


  Commit: 70f41022546ea8b2b41ad70702124acd4ed488dc
      https://github.com/llvm/llvm-project/commit/70f41022546ea8b2b41ad70702124acd4ed488dc
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-constructs.c

  Log Message:
  -----------
  [OpenACC] Implement compound construct parsing (#72692)

This patch implements the compound construct parsing, which allows
'parallel loop', 'serial loop', and 'kernel loop' to act as their own
constructs.


  Commit: f4c6947a18d5c07d5743eb435c2854e61804ad24
      https://github.com/llvm/llvm-project/commit/f4c6947a18d5c07d5743eb435c2854e61804ad24
  Author: eric <eric at efcs.ca>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  Move all libc++ builders to one machine type.

There are ongoing issues with the libc++ bots, some of them seem
related to a new release of the gha action runner controllers.

Until I get this figured out, it's a lot easier to have 99% of the
bots using a single machine shape


  Commit: 69a5869da4906f61caf59ff021559ca7d974c5f9
      https://github.com/llvm/llvm-project/commit/69a5869da4906f61caf59ff021559ca7d974c5f9
  Author: Tom Yang <zhenyutyang at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
    M lldb/test/API/commands/target/dump-separate-debug-info/dwo/Makefile
    M lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py
    A lldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.c
    R lldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.cpp
    A lldb/test/API/commands/target/dump-separate-debug-info/dwo/main.c
    R lldb/test/API/commands/target/dump-separate-debug-info/dwo/main.cpp
    M lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py

  Log Message:
  -----------
  [lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230)

Small change to get `image dump separate-debug-info` working when using
`symbols.load-on-demand`.

Added tests to `TestDumpDwo`, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms.
```
bin/lldb-dotest -p TestDumpDwo
```

It's easy to verify this manually by running 
```
lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target>
(lldb) image dump separate-debug-info
...
```

---------

Co-authored-by: Tom Yang <toyang at fb.com>


  Commit: 6352a07ba65301b60ace8e5e67e54f4967e375ae
      https://github.com/llvm/llvm-project/commit/6352a07ba65301b60ace8e5e67e54f4967e375ae
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir

  Log Message:
  -----------
  [mlir][sparse] test four row/col major versions of BSR (#72898)

Note, this is a redo of https://github.com/llvm/llvm-project/pull/72712
which was reverted due to time outs in the bot. I have timed the tests
on various settings, and it does not even hit the top 20 of integration
tests. To be safe, I removed the SIMD version of the tests, just keeping
libgen/direcIR paths (which are the most important to test for us).

I will also keep an eye on
https://lab.llvm.org/buildbot/#/builders/264/builds after submitting to
make sure there is no repeat.


  Commit: f42482def236999b0f7896c09cd714b708861c8b
      https://github.com/llvm/llvm-project/commit/f42482def236999b0f7896c09cd714b708861c8b
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/unreachable-dbg-info-modified.ll
    M llvm/test/Transforms/SCCP/ipsccp-branch-unresolved-undef.ll
    M llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
    M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
    M llvm/test/Transforms/SimplifyCFG/dbginfo.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Don't convert debug-intrinsics to Unreachable (#72380)

It might seem obvious, but it's not a good idea to convert a
debug-intrinsic instruction into an UnreachableInst, as this means
things operate differently with and without the -g option. However this
can happen due to the "mutate the next instruction" API calls we make.
With RemoveDIs eliminating debug intrinsics, this behaviour is at risk
of changing, hence this patch ensures we only ever mutate the next _non_
debuginfo instruction into an Unreachable.

The tests instrumented with the --try... flag all exercise this, I've
added some metadata to a SCCP test to ensure it's exercised.


  Commit: a1e2c6566305061c115954b048f2957c8d55cb5b
      https://github.com/llvm/llvm-project/commit/a1e2c6566305061c115954b048f2957c8d55cb5b
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCUDA/implicit-member-target-inherited.cu
    M clang/test/SemaCUDA/trivial-ctor-dtor.cu

  Log Message:
  -----------
  [CUDA][HIP] ignore implicit host/device attr for override (#72815)

When deciding whether a previous function declaration is an overload or
override, implicit host/device attrs should not be considered.

This fixes the failure for the following code:

`template <typename T>
class C {
    explicit C() {};
};

template <> C<int>::C() {};
`

The issue was introduced by
https://github.com/llvm/llvm-project/pull/72394

sine the template specialization is treated as overload due to implicit
host/device attrs are considered for overload/override differentiation.


  Commit: 0e24179797faf5d309fcc5024131c2293accff26
      https://github.com/llvm/llvm-project/commit/0e24179797faf5d309fcc5024131c2293accff26
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/docs/CodeGenerator.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    A llvm/test/CodeGen/Generic/selectiondag-dump-filter.ll

  Log Message:
  -----------
  [SelectionDAG] Add support to filter SelectionDAG dumps during ISel by function names (#72696)

`-debug-only=isel-dump` is the new debug type for printing SelectionDAG
after each ISel phase. This can be furthered filter by
`-filter-print-funcs=<function names>`.
Note that the existing `-debug-only=isel` will take precedence over the
new behavior and print SelectionDAG dumps of every single function
regardless of `-filter-print-funcs`'s values.


  Commit: 48ff35415c06cdbd9115bfe5318449afddcc7ff5
      https://github.com/llvm/llvm-project/commit/48ff35415c06cdbd9115bfe5318449afddcc7ff5
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/CodeGen/code_align.c
    A clang/test/Sema/code_align.c
    A clang/test/Sema/code_align_ast.c

  Log Message:
  -----------
  [clang] Add support for new loop attribute [[clang::code_align()]] (#70762)

This patch adds support for new loop attribute:
[[clang::code_align(N)]].
This attribute applies to a loop and specifies the byte alignment for a
loop.
The attribute accepts a positive integer constant initialization
expression
indicating the number of bytes for the minimum alignment boundary.
Its value must be a power of 2, between 1 and 4096 (inclusive).


  Commit: 3e6d629ccff6e3561be07f66f8f0dc2774dab279
      https://github.com/llvm/llvm-project/commit/3e6d629ccff6e3561be07f66f8f0dc2774dab279
  Author: Gulfem Savrun Yeniceri <gulfem at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  Revert "[clang-format][NFC] Remove a redundant isLiteral() call"

This reverts commit f6033699646b7650123a273c043a93e5eeaac6d8.
This change is labeled as NFC, but introduces a functional change
without a test, and caused a breakage as reported in
https://reviews.llvm.org/rGf6033699646b7650123a273c043a93e5eeaac6d8.


  Commit: ed73121ffeb636e75162f116bfeca56e7ec310de
      https://github.com/llvm/llvm-project/commit/ed73121ffeb636e75162f116bfeca56e7ec310de
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [CodeGenModule] Remove no-op ptr-to-ptr bitcasts (NFC)

Opaque ptr cleanup effort (NFC)


  Commit: 97a6c1534f65f2a9ac4490269b0051475d8384d9
      https://github.com/llvm/llvm-project/commit/97a6c1534f65f2a9ac4490269b0051475d8384d9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll
    A llvm/test/Transforms/ConstraintElimination/transfer-unsigned-facts-to-signed-is-known-non-negative.ll

  Log Message:
  -----------
  [ConstraintElim] Add extra info transfer tests for #72879.

Extend test coverage to include all predicates we support transfers for.


  Commit: 523c0d3e4912d70f2f26f58c03069647165b90f7
      https://github.com/llvm/llvm-project/commit/523c0d3e4912d70f2f26f58c03069647165b90f7
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/Analysis/MemorySSA/update-remove-dead-blocks.ll

  Log Message:
  -----------
  [MemorySSA] Update test to use NewPM (#72915)

This test is the last holdout that still uses the legacy loop simplify
CFG pass. The issues originally pointed out in the test comments seem to
have been fixed now as there are no MemorySSA verification failures.


  Commit: c597dc3566db27b3c2ad2a4c1f5ae61693d5465b
      https://github.com/llvm/llvm-project/commit/c597dc3566db27b3c2ad2a4c1f5ae61693d5465b
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [nfc][InstrProfTest]Factor out common code for value profile test (#72611)

Three existing test cases {get_icall_data_read_write, get_icall_data_read_write_with_weight,get_icall_data_read_write_big_endian} have common test data and testing
logic. Extract common code into `testICallDataReadWrite`.
- Add helper function `addValueProfData` and `testValueDataArray`. This two helper functions are used by `testICallDataReadWrite`, and possibly other test cases.


  Commit: 44c796d5669e78dc020fc4b00865ed6fea42dd4d
      https://github.com/llvm/llvm-project/commit/44c796d5669e78dc020fc4b00865ed6fea42dd4d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  Revert "[nfc][InstrProfTest]Factor out common code for value profile test" (#72921)

Reverts llvm/llvm-project#72611 for more follow-up discussions


  Commit: abd85cd473afedf112bf00630a22382fee4a7853
      https://github.com/llvm/llvm-project/commit/abd85cd473afedf112bf00630a22382fee4a7853
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M libc/startup/gpu/nvptx/start.cpp
    M libc/test/integration/startup/gpu/init_fini_array_test.cpp

  Log Message:
  -----------
  [libc] Remove the optional arguments for NVPTX constructors (#69536)

Summary:
We call the global constructors by function pointer. For whatever reason
the NVPTX architecture relies very specifically on the arguments to the
function pointer invocation matching what the function is implemented
as. This is problematic as most of these constructors are generated
with no arguments. This patch removes the extended arguments that GNU
and LLVM use for the constructors optionally so that it can support the
common case.


  Commit: dfcf9fe1408168699c27bc8e8c877bf78b8fd390
      https://github.com/llvm/llvm-project/commit/dfcf9fe1408168699c27bc8e8c877bf78b8fd390
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-atomic-capture.f90
    M flang/test/Lower/OpenACC/acc-atomic-read.f90
    M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
    M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
    M flang/test/Lower/OpenACC/acc-atomic-update.f90
    M flang/test/Lower/OpenACC/acc-atomic-write.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Check only HLFIR lowering for atomic tests (#72922)

HLFIR lowering has been set by default now and FIR lowering support will
be removed in the near future. This patch is the first of a series to
update the OpenACC lowering tests to check only the HLFIR lowering and
remove and specific FIR check lines.


  Commit: 85ee3fc7ec15f432430ee0c73fe81f3d6382d9df
      https://github.com/llvm/llvm-project/commit/85ee3fc7ec15f432430ee0c73fe81f3d6382d9df
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  Fix command escape bug in lldb-dap (#72902)

https://github.com/llvm/llvm-project/pull/69238 caused breakage in
VSCode debug console usage -- the user's input is always treated as
commands instead of expressions (the same behavior as if empty command
escape prefix is specified).

The bug is in one overload of `GetString()` which did not respect the
default value of "\`". But more important, I am puzzled to find out why
the regression is not caught by lldb test (testdap_evaluate). Turns out
https://github.com/llvm/llvm-project/pull/69238 specifies
commandEscapePrefix default value in test framework to be "\`" while
VSCode will default not specify any commandEscapePrefix at all. Changing
it to None will fail `testdap_evaluate`. We should align the default
behavior between DAP client and testcase.

This patches fixes the bug in `GetString()` and changed the default
value of commandEscapePrefix in testcases to be None (be consistent with
IDE).

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


  Commit: c4d8d9167938aa09fd7b1492a4abcfcf5bc1a9ca
      https://github.com/llvm/llvm-project/commit/c4d8d9167938aa09fd7b1492a4abcfcf5bc1a9ca
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding `(X + Y) - (W + Z)`; NFC


  Commit: dbf6f30926891dfab4d59d0ff0e960c2a31ab472
      https://github.com/llvm/llvm-project/commit/dbf6f30926891dfab4d59d0ff0e960c2a31ab472
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

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

  Log Message:
  -----------
  [InstCombine] Add folds for `(X + Y) - (W + Z)`

If `Y` and `Z` are constant then we can simplify to `(X - W) + (Y -
Z)`. If `Y == Z` we can fold to `X - W`.

Note these transform exist outside of InstCombine. The purpose of this
commit is primarily to make it so that folds can generate these
simplifiable patterns without having to worry about creating an inf
loop.


  Commit: d01857803f3593c26118b7f9fe59db71234a3359
      https://github.com/llvm/llvm-project/commit/d01857803f3593c26118b7f9fe59db71234a3359
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll

  Log Message:
  -----------
  [InstCombine] Make `isFreeToInvert` check recursively.

Some Instructions (select/min/max) are inverted by just inverting the
operands. So the answer of whether they are free to invert is really
just whether the operands are free to invert.

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


  Commit: 742c15adcb28701709de7a01f2dc5374e63b9908
      https://github.com/llvm/llvm-project/commit/742c15adcb28701709de7a01f2dc5374e63b9908
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  [InstCombine] Add additional tests for free inversion; NFC


  Commit: 3039691f53487289bab40a4f889810ffd91980c2
      https://github.com/llvm/llvm-project/commit/3039691f53487289bab40a4f889810ffd91980c2
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/free-inversion.ll
    M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll

  Log Message:
  -----------
  [InstCombine] add `getFreeInverted` to perform folds for free inversion of op

With the current logic of `if(isFreeToInvert(Op)) return Not(Op)` its
fairly easy to either 1) cause regressions or 2) infinite loops
if the folds we have for `Not(Op)` ever de-sync with the cases we
know are freely invertible.

This patch adds `getFreeInverted` which is able to build the free
inverted op along with check for free inversion to alleviate this
problem.


  Commit: b7c0f79926ad0e4f4abe193c82dad8468855eb81
      https://github.com/llvm/llvm-project/commit/b7c0f79926ad0e4f4abe193c82dad8468855eb81
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/demorgan-sink-not-into-xor.ll
    M llvm/test/Transforms/InstCombine/free-inversion.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll

  Log Message:
  -----------
  [InstCombine] Replace `isFreeToInvert` + `CreateNot` with `getFreelyInverted`

This is nearly an NFC, the only change is potentially to order that
values are created/names.

Otherwise it is a slight speed boost/simplification to avoid having to
go through the `getFreelyInverted` recursive logic twice to simplify
the extra `not` op.


  Commit: 5271d330770573d2df772aa0fa50d958f44400aa
      https://github.com/llvm/llvm-project/commit/5271d330770573d2df772aa0fa50d958f44400aa
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  [InstCombine] Add transform for `~X + ~Y)` -> `-2 - Y - X`

Proof: https://alive2.llvm.org/ce/z/36FySK

Closes #66787.


  Commit: eaffcc85ea53d7d90ac0271490f62526f91a5af6
      https://github.com/llvm/llvm-project/commit/eaffcc85ea53d7d90ac0271490f62526f91a5af6
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/ADCE/adce-salvage-dbg-value.ll
    M llvm/test/Transforms/ADCE/debug-info-intrinsic.ll
    M llvm/test/Transforms/SimplifyCFG/return-merge.ll
    M llvm/test/Transforms/SimplifyCFG/speculate-dbgvalue.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Make dropping variable locations explicit (#72399)

In present-day debug-info, when you delete all instructions, you delete
all their debug-info with it because debug-info is stored in
instructions. With debug-info stored in DPValue objects however,
deleting instructions causes DPValue objects to clump together into a
large blob of debug-info that hangs around in the block, as nothing has
explicitly deleted it.

To restore this behaviour, scatter calls to dropDbgValues around in
places that used to delete chunks of dbg.values, for example during
stripDebugInfo and in the code that deletes everything after an
Unreachable instruction. DCE is another example.

The tests with --try... added to them are new scenarios where we can now
correctly replicate the "normal" debug-info behaviour. Alas, there's no
explicit test for the opt -strip-debug option though (in dbg.value mode
or DPValue mode).


  Commit: d3285123bc9c2e170c8aa7e418c132119bc7aaf1
      https://github.com/llvm/llvm-project/commit/d3285123bc9c2e170c8aa7e418c132119bc7aaf1
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/template-specialization.cpp

  Log Message:
  -----------
  [Clang] Fix finding instantiated decls for class template specializations during instantiation (#72346)

This change aims to fix
https://github.com/llvm/llvm-project/issues/70375

It appears to me that the logic here should be handling specializations
in general, not just partial specialization. It also seems that both the
comment before the block and the `isInstantiationOf(ClassTemplate,
SpecTemplate)` below agree with my judgement.

The issue might just be a mistake that someone mistaken specialization
as a special case of partial specializations, while it's actually the
other way around.

Needs some experts to comment here if this is the right fix. 

The code that caused clang ICE is added as a test case.


  Commit: 2ca028ce7c6de5f1350440012355a65383b8729a
      https://github.com/llvm/llvm-project/commit/2ca028ce7c6de5f1350440012355a65383b8729a
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir

  Log Message:
  -----------
  [LoongArch][MC] Pre-commit tests for instr bl fixupkind testing (#72826)

This patch is used to test whether fixupkind for bl can be returned
correctly. When BL has target-flags(loongarch-call), there is no error.
But without this flag, an assertion error will appear. So the test is
just tagged as "Expectedly Failed" now until the following patch fix it.


  Commit: 3e6ae77950e90d9795bd53bd57797d83f1c89aee
      https://github.com/llvm/llvm-project/commit/3e6ae77950e90d9795bd53bd57797d83f1c89aee
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp

  Log Message:
  -----------
  [mlir] Non-void lambda does not return a value in all control paths in yieldReplacementForFusedProducer (NFC)

/llvm-project/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp:703:5: error: non-void lambda does not return a value in all
 control paths [-Werror,-Wreturn-type]
    };
    ^
1 error generated.


  Commit: 6663df30c0c14093dd7eb0dabd727b036c919e0c
      https://github.com/llvm/llvm-project/commit/6663df30c0c14093dd7eb0dabd727b036c919e0c
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Remove std::move to silence warnings


  Commit: 41566fb8520a1284678d5a344632930b0d3d1fbf
      https://github.com/llvm/llvm-project/commit/41566fb8520a1284678d5a344632930b0d3d1fbf
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp

  Log Message:
  -----------
  [OpenMP][FIX] Ensure recording works properly w/ late allocations


  Commit: f48c4d8aa1e46bcaf3204a87e3e62716cf35b47b
      https://github.com/llvm/llvm-project/commit/f48c4d8aa1e46bcaf3204a87e3e62716cf35b47b
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [OpenMP] Be more forgiving during record and replay

When we record and replay kernels we should not error out early if there
is a chance the program might still run fine. This patch will:
1) Fallback to the allocation heuristic if the VAMap doesn't work.
2) Adjust the memory start to match the required address if possible.
3) Adjust the (guessed) pointer arguments if the memory start adjustment
   is impossible. This will allow kernels without indirect accesses to
   work while indirect accesses will most likely fail.


  Commit: 525396a3ae63a1b35695bd2c0c0a7ccef8271f3d
      https://github.com/llvm/llvm-project/commit/525396a3ae63a1b35695bd2c0c0a7ccef8271f3d
  Author: Shraiysh <Shraiysh.Vaishay at amd.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Semantics/OpenMP/device-clause01.f90

  Log Message:
  -----------
  [flang][OpenMP] Add semantic check for device clause (#72789)

This patch adds the following semantic check:

```
The ancestor device-modifier must not appear on the device clause on any
directive other than the target construct.
```


  Commit: 26dc765088d27dff9cae3df7de198f3aed4f757b
      https://github.com/llvm/llvm-project/commit/26dc765088d27dff9cae3df7de198f3aed4f757b
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Bindings/Python/IRModule.cpp

  Log Message:
  -----------
  [mlir][python] remove eager loading of dialect module (for type and value casting) (#72338)


  Commit: 0d77978e75a6e287e4c74fe5763227712ce3e3ac
      https://github.com/llvm/llvm-project/commit/0d77978e75a6e287e4c74fe5763227712ce3e3ac
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M flang/docs/OpenACC.md

  Log Message:
  -----------
  [flang][doc] Added remark about array element references in data clauses. (#72332)


  Commit: dcab84fd5e0dcd9f5210dc024c2a2081cfb2e87e
      https://github.com/llvm/llvm-project/commit/dcab84fd5e0dcd9f5210dc024c2a2081cfb2e87e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  Reland [clang-format][NFC] Remove a redundant isLiteral() call


  Commit: 26a0b277369adc31b162b1cc38b1a712bc10c1a0
      https://github.com/llvm/llvm-project/commit/26a0b277369adc31b162b1cc38b1a712bc10c1a0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M mlir/docs/Tutorials/Toy/Ch-4.md
    M mlir/examples/toy/Ch4/mlir/Dialect.cpp
    M mlir/examples/toy/Ch5/mlir/Dialect.cpp
    M mlir/examples/toy/Ch6/mlir/Dialect.cpp
    M mlir/examples/toy/Ch7/mlir/Dialect.cpp
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/Transforms/InliningUtils.h
    M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.cpp
    M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Value.cpp
    M mlir/lib/Transforms/Utils/InliningUtils.cpp
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp

  Log Message:
  -----------
  Make MLIR Value more consistent in terms of `const` "correctness" (NFC) (#72765)

MLIR can't really be const-correct (it would need a `ConstValue` class
alongside the `Value` class really, like `ArrayRef` and
`MutableArrayRef`). This is however making is more consistent: method
that are directly modifying the Value shouldn't be marked const.


  Commit: 84602066a6be175513880283394268b0f29eb296
      https://github.com/llvm/llvm-project/commit/84602066a6be175513880283394268b0f29eb296
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M bolt/lib/Core/Exceptions.cpp
    A bolt/test/runtime/X86/exceptions-lpstart-zero.s

  Log Message:
  -----------
  [BOLT] Fix C++ exceptions when LPStart is specified (#72737)

Whenever LPStartEncoding was different from DW_EH_PE_omit, we used to
miscalculate LPStart. As a result, landing pads were assigned wrong
addresses. Fix that.


  Commit: 89f095d20469f5343d9652ec70e53837978abc61
      https://github.com/llvm/llvm-project/commit/89f095d20469f5343d9652ec70e53837978abc61
  Author: dong jianqiang <dongjianqiang2 at huawei.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/lto/arm.ll

  Log Message:
  -----------
  [lld][ELF] Add armeb support when incoming bc is arm big endian (#72604)

Add armeb support when incoming bc is arm big endian:
Fix error: could not infer e_machine from bitcode target triple
armebv7-linux-gnueabi.


  Commit: d84834a695ed848f47b721c1b7f75f2ef25fb4e0
      https://github.com/llvm/llvm-project/commit/d84834a695ed848f47b721c1b7f75f2ef25fb4e0
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-data.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Check only HLFIR lowering for data tests (#72926)

HLFIR lowering as been set by default now and FIR lowering support will
be removed in the near future. This patch removes the specific FIR check
lines.


  Commit: 9166cd2a71ba81d2c9c68f80371b1397943a813b
      https://github.com/llvm/llvm-project/commit/9166cd2a71ba81d2c9c68f80371b1397943a813b
  Author: Liao Chunyu <chunyu at iscas.ac.cn>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vnmsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] DAG combine (mul (add x, 1), y) -> vmadd (#71495)

vmadd: (mul (add x, 1), y) -> (add (mul x, y), y)
           (mul x, add (y, 1)) -> (add x, (mul x, y))
    vnmsub: (mul (sub 1, x), y) -> (sub y, (mul x, y))
            (mul x, (sub 1, y)) -> (sub x, (mul x, y))
    
    Comparison with gcc:
    vmadd: https://gcc.godbolt.org/z/xjePx87Y7
    vnsub: https://gcc.godbolt.org/z/b17zG7nT1


  Commit: a1de0946abe8d0195bc06651e0abe32966be47cd
      https://github.com/llvm/llvm-project/commit/a1de0946abe8d0195bc06651e0abe32966be47cd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
    R llvm/test/CodeGen/RISCV/short-foward-branch-opt.ll

  Log Message:
  -----------
  [RISCV] Fix spelling error in test name. NFC

foward -> forward


  Commit: d102f8bda1544945fe82b1fbbf4629e7c1389970
      https://github.com/llvm/llvm-project/commit/d102f8bda1544945fe82b1fbbf4629e7c1389970
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/CodeGen/MachineLoopInfo.h
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    A llvm/test/CodeGen/X86/code-align-loops.ll

  Log Message:
  -----------
  [MachineBlockPlacement][X86] Use max of MDAlign and TLIAlign to align Loops. (#71026)

This patch added backend consumption on a new loop metadata:
!1 = !{!"llvm.loop.align", i32 64}
which is generated from clang's new loop attribute:
[[clang::code_align()]]
clang patch: #70762


  Commit: ba3598667f0da87961b6bec390bc7b03cfa72583
      https://github.com/llvm/llvm-project/commit/ba3598667f0da87961b6bec390bc7b03cfa72583
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp

  Log Message:
  -----------
  Fix tab spaces in coroutine-hostile-raii.cpp


  Commit: e4151cc9d6cc977e9f49500d6a45f4eb41085130
      https://github.com/llvm/llvm-project/commit/e4151cc9d6cc977e9f49500d6a45f4eb41085130
  Author: Liviu Ionescu <ilg at livius.net>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/test/Driver/darwin-header-search-libcxx.cpp

  Log Message:
  -----------
  [Driver,test] Remove -v from mkdir & ln -s from a test since it fails on AIX (#72924)

The PR https://github.com/llvm/llvm-project/pull/70817 introduced a
small bug, the tests failed on ppc64-aix with:

```
RUN: at line 186: mkdir -pv /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/Driver/Output/darwin-header-search-libcxx.cpp.tmp/install/bin
+ mkdir -pv /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/Driver/Output/darwin-header-search-libcxx.cpp.tmp/install/bin
mkdir: illegal option -- v
Usage: mkdir [-p] [-e] [-m mode] Directory ... 
```

This PR removes the verbose flag from both `mkdir` and `ln -s`.


  Commit: 70cfb3a367f51d805dc5cfc5a54dfc7271a23095
      https://github.com/llvm/llvm-project/commit/70cfb3a367f51d805dc5cfc5a54dfc7271a23095
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp

  Log Message:
  -----------
  Revert "Fix tab spaces in coroutine-hostile-raii.cpp"

This reverts commit ba3598667f0da87961b6bec390bc7b03cfa72583.


  Commit: ec1086f2a0852e1ab3b00de306df0c3aa6fd7698
      https://github.com/llvm/llvm-project/commit/ec1086f2a0852e1ab3b00de306df0c3aa6fd7698
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp

  Log Message:
  -----------
  Fix build error from #72178 (#72905)


  Commit: cac82e26c642d55672b1de6f3d026826c89994ec
      https://github.com/llvm/llvm-project/commit/cac82e26c642d55672b1de6f3d026826c89994ec
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/test/Driver/android-pie.c
    M clang/test/Driver/pic.c

  Log Message:
  -----------
  [Driver] Make ELF -nopie specific to OpenBSD (#72578)

-no-pie[1]/-nopie is rarely used and among the rare uses almost
everwhere uses -no-pie, since GCC does not recognize -nopie.
However, OpenBSD seems to use -nopie. Therefore, make -nopie specific
to OpenBSD to prevent newer ToolChains (Solaris, SerenityOS) from cargo
culting and copying -nopie.

[1]: https://reviews.llvm.org/D35462


  Commit: c8c81f4dd6e9b90582b9bc34c2092dbeb9c294df
      https://github.com/llvm/llvm-project/commit/c8c81f4dd6e9b90582b9bc34c2092dbeb9c294df
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.wave32.ll

  Log Message:
  -----------
  [AMDGPU] Move ballot64 wave32 mode tests to the appropriate place. NFC. (#72959)


  Commit: 88f0e4c75c1ac498f2223fc640c4ff6c572c5ed1
      https://github.com/llvm/llvm-project/commit/88f0e4c75c1ac498f2223fc640c4ff6c572c5ed1
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Async/Passes.td
    M mlir/test/Dialect/Async/async-parallel-for-compute-fn.mlir
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir][async] Avoid crash when not using `func.func` (#72801)

The `createParallelComputeFunction` crashed when calling
`getFunctionTypeAttrName` during the creation of a new `FuncOp` inside
the pass. The problem is that `getFunctionTypeAttrName` looks up the
attribute name for the function type which in this case is `func.func`.
However, `name.getAttributeNames()` was empty when clients used
`llvm.func` instead of `func.func`.

To fix this, the `func` dialect is now registered as a dependent
dialect. Also, I've added an assertion which could save other people
some time.

Fixes #71281, fixes #64326.


  Commit: ce800c27768400aa3efba882bcac120f2bdd6eeb
      https://github.com/llvm/llvm-project/commit/ce800c27768400aa3efba882bcac120f2bdd6eeb
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/test/Sema/code_align.c

  Log Message:
  -----------
  Fix clang/test/Sema/code_align.c for Arm v7 #70762

This patch disables parts of clang/test/Sema/code_align.c that need
__int128_t to be defined. This will fix failures on Arm v7 buildbots
due to #70762

Following bots are failing:
https://lab.llvm.org/buildbot/#/builders/245
https://lab.llvm.org/buildbot/#/builders/178
https://lab.llvm.org/buildbot/#/builders/182
https://lab.llvm.org/buildbot/#/builders/186
https://lab.llvm.org/buildbot/#/builders/187


  Commit: bebf3a9b8a53169e97e6965b42e73792d8ce88bc
      https://github.com/llvm/llvm-project/commit/bebf3a9b8a53169e97e6965b42e73792d8ce88bc
  Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll

  Log Message:
  -----------
  [AMDGPU] - Add bitreplicate const folding tests (#72649)

Add more test cases for `s_bitreplicate` constant folding.


  Commit: 68386a74ba48cf084a56bf54d1efb6b822e28939
      https://github.com/llvm/llvm-project/commit/68386a74ba48cf084a56bf54d1efb6b822e28939
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix crash when canonicalizing invalid IR (#72888)

This commit fixes a crash of the canonicalizer when there are slice ops
with offset/size SSA values that have a negative constant value. Such
ops are invalid if they are reachable and their offsets/sizes should not
be folded to static integer values. (But such ops may appear in
non-reachable block.)

This commit fixes #71150.


  Commit: 9a09c737a052dc0e2b8c15a969d16cff7ea0c133
      https://github.com/llvm/llvm-project/commit/9a09c737a052dc0e2b8c15a969d16cff7ea0c133
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Transforms/GVN/captured-before.ll

  Log Message:
  -----------
  [BasicAA] Make isNotCapturedBeforeOrAt() check for calls more precise (#69931)

For calls, we are only interested in captures before the call, not
captures by the call itself -- arguments that get passed to the call are
checked explicitly.

In particular, the current implementation is not optimal if the pointer
is captured via a readonly argument -- in that case, we know that even
if the argument is captured, the call will not modify the argument (at
least not via that argument).

Make this more precise by renaming to isCapturedBefore() and adding an
OrAt argument that allows us to toggle whether to consider captures in
the instruction itself or not.


  Commit: 21dc3e3491f0586b2b23f440271417c81e3cbb6b
      https://github.com/llvm/llvm-project/commit/21dc3e3491f0586b2b23f440271417c81e3cbb6b
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove LoopSimplifyCFGLegacyPass (#72930)

This pass isn't used anywhere in upstream and thus has no test coverage.
For these reasons, remove it.


  Commit: fc3c4e1725273df3c701d57458373a50f215069b
      https://github.com/llvm/llvm-project/commit/fc3c4e1725273df3c701d57458373a50f215069b
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
    M llvm/lib/Transforms/Scalar/Scalar.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp

  Log Message:
  -----------
  [NewPM] Remove SimpleLoopUnswitchLegacyPass (#72934)

This pass isn't used anywhere in upstream and thus doesn't have any test
coverage. For these reasons, remove it.


  Commit: 4444374fd1536e80f1cb14e4b7ab4b9fcd4b79bd
      https://github.com/llvm/llvm-project/commit/4444374fd1536e80f1cb14e4b7ab4b9fcd4b79bd
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/InstCount.cpp

  Log Message:
  -----------
  [NewPM] Remove InstCountLegacyPass (#72936)

This pass isn't used/tested anywhere upstream, so remove it.


  Commit: bc3cc2693d5864925ce42fa22173e89eaba316d8
      https://github.com/llvm/llvm-project/commit/bc3cc2693d5864925ce42fa22173e89eaba316d8
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove LoopGuardWideningLegacyPass (#72937)

This pass isn't used/tested upstream at all, so remove it.


  Commit: ddcd6d6ffbc67ccd26d5add31eb75d674863ff9c
      https://github.com/llvm/llvm-project/commit/ddcd6d6ffbc67ccd26d5add31eb75d674863ff9c
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CostModel.cpp

  Log Message:
  -----------
  [NewPM] Remove CostModelAnalysis Legacy Pass (#72941)

This pass isn't used/tested anywhere upstream, so remove it.


  Commit: 13663310c63d20a03a18a4197bb0032e722baefe
      https://github.com/llvm/llvm-project/commit/13663310c63d20a03a18a4197bb0032e722baefe
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove LoopPredicationLegacyPass (#72944)

This pass isn't used/tested upstream anywhere, so remove it.


  Commit: 62439d182e6f9c9e0f0624c144fe81f5091a6322
      https://github.com/llvm/llvm-project/commit/62439d182e6f9c9e0f0624c144fe81f5091a6322
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove MakeGuardsExplicitLegacyPass (#72946)

This pass isn't used anywhere or tested anywhere upstream (it doesn't
even have a create function), so remove it.


  Commit: 0cfa10955f716d58d7a223e2e39625674e703931
      https://github.com/llvm/llvm-project/commit/0cfa10955f716d58d7a223e2e39625674e703931
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/Delinearization.cpp

  Log Message:
  -----------
  [NewPM] Remove Delinearization legacy pass (#72942)

This pass isn't used/tested anywhere in upstream LLVM, so remove it.


  Commit: 19cdc0a13480806e474de6a7e6e200b1eccc7a13
      https://github.com/llvm/llvm-project/commit/19cdc0a13480806e474de6a7e6e200b1eccc7a13
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h

  Log Message:
  -----------
  [llvm] Specialize 'NoCFIValue::getType()' (#72923)

Specialize `NoCFIValue::getType()` to give a more detailed type hint to
clients.

---------

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


  Commit: c77d79b6fe6aa55ef50a3b828581068a21dce71d
      https://github.com/llvm/llvm-project/commit/c77d79b6fe6aa55ef50a3b828581068a21dce71d
  Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-extq.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-vector.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tblq.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tbxq.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq1.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq2.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq1.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq2.ll

  Log Message:
  -----------
  [SVE2.1][Clang][LLVM]Add 128bits builtin in Clang and LLVM intrinisc (#71930)

This patch implements the builtins in Clang
and the LLVM-IR intrinsic for the following:

EXTQ
// Variants are also available for:
// _s8, _s16, _u16, _s32, _u32, _s64, _u64
// _bf16, _f16, _f32, _f64
svuint8_t svextq_lane[_u8](svuint8_t zdn, svuint8_t zm, uint64_t imm);

TBLQ and TBXQ
// Variants are also available for:
// _u8, _u16, _s16, _u32, _s32, _u64, _s64
// _bf16, _f16, _f32, _f64
svint8_t svtblq[_s8](svint8_t zn, svuint8_t zm);
svint8_t svtbxq[_s8](svint8_t zn, svuint8_t zm);

UZPQ1, UZPQ2, ZIPQ1 and ZIPQ2
// Variants are also available for:
// _s8, _u16, _s16, _u32, _s32, _u64, _s64
// _bf16, _f16, _f32, _f64
svuint8_t svuzpq1[_u8](svuint8_t zn, svuint8_t zm); svuint8_t
svuzpq2[_u8](svuint8_t zn, svuint8_t zm); svuint8_t
svzipq1[_u8](svuint8_t zn, svuint8_t zm); svuint8_t
svzipq2[_u8](svuint8_t zn, svuint8_t zm);

PMOV
// Variants are available for:
// _s8, _u16, _s16, _s32, _u32, _s64, _u64
svbool_t svpmov_lane[_u8](svuint8_t zn, uint64_t imm); svbool_t
svpmov[_u8](svuint8_t zn); // The immediate is zero svuint8_t
svpmov_u8_z(svbool_t pn); // The immediate is zero

// Variants are available for:
// _s16, _s32, _u32, _s64, _u64
svuint16_t svpmov_lane[_u16]_m(svuint16_t zd, svbool_t pn, uint64_t
imm);

According to the PR#257[1]
[1]ARM-software/acle#257

Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: 4ccdab363618afbfd6958c4351c5a9ab3e37dcc8
      https://github.com/llvm/llvm-project/commit/4ccdab363618afbfd6958c4351c5a9ab3e37dcc8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-unsigned-facts-to-signed-is-known-non-negative.ll
    M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll

  Log Message:
  -----------
  [ConstraintElim] Use isKnownNonNegative for condition transfer. (#72879)

Use isKnownNonNegative for information transfer. This can improve
results, in cases where ValueTracking can infer additional non-negative
info, e.g. for phi nodes.

This allows simplifying the check from
https://github.com/llvm/llvm-project/issues/63126 by
ConstraintElimination. It is also simplified by IndVarSimplify now; note
the changes in llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll,
due to this now being simplified earlier.


  Commit: ef9bcace834e63f25bbbc5e8e2b615f89d85fb2f
      https://github.com/llvm/llvm-project/commit/ef9bcace834e63f25bbbc5e8e2b615f89d85fb2f
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/test/CodeGen/AArch64/sink-and-fold-drop-dbg.mir
    A llvm/test/CodeGen/AArch64/sink-and-fold-preserve-debugloc.mir

  Log Message:
  -----------
  [MachineSink][AArch64] Preserve debug location when rematerialising an instruction to replace a COPY (#72685)

Fixes a regression in `tools/lldb-dap/optimized/TestDAP_optimized.py`
caused by enabling "sink-and-fold" in MachineSink.


  Commit: 6d23aaad4ffdcdda56845e4ca392f09c5795630a
      https://github.com/llvm/llvm-project/commit/6d23aaad4ffdcdda56845e4ca392f09c5795630a
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/test/Transforms/DCE/dbg-value-removal.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Implement redundant elimination for DPValues (#72284)

This pass steps through a block forwards and backwards, identifying those
variable assignment records that are redundant, and erases them, saving us
a decent wedge of compile-time. This patch re-implements it to use the
replacement for DbgValueInsts, DPValues, in an almost identical way.

Alas the test I've added the try-remove-dis flag to is the only one I've
been able to find that manually runs this pass.


  Commit: 6a323e7ec3478e633ba85ce6c274f02d0b31299b
      https://github.com/llvm/llvm-project/commit/6a323e7ec3478e633ba85ce6c274f02d0b31299b
  Author: Martin Storsjö <martin at martin.st>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    A lld/test/COFF/lto-dllimport.ll
    M lld/test/COFF/lto-imp-prefix.ll
    R llvm/test/LTO/X86/Inputs/dllimport.ll
    R llvm/test/LTO/X86/dllimport.ll

  Log Message:
  -----------
  [LLD] [COFF] Add tests to observe details about LTO and __imp_ prefixes. NFC. (#72764)

The commit 3ab6209a3f93bdbeec8e9b9fcc00a9a4980915ff had the undesired
effect of retaining every `__imp_` symbol, even if it isn't referenced
in any way. Add a testcase to observe this behaviour, to serve as
a reference point if this behaviour were to be improved later.

Port the testcase from b963c0b658cc54b370832df4f5a3d63fd69da334 from
the llvm/LTO testsuite into LLD as a preparation for changing that fix;
the moved testcase has a comment for one case which doesn't work
currently.

The testcase is ported mostly as is, but with symbol mangling
simplified, rewriting function names from MSVC C++ mangling to plain
C, and unnecessary debug info is removed.

Add a case of a dllimported data symbol, in addition to the existing
call of a dllimported function.

Also extend the testcase to test combinations of both regular
object files and LTO objects. Leave out one combination which currently
fails, with a comment.


  Commit: ead35564c0136fef0c1efface7b9857ad87af9de
      https://github.com/llvm/llvm-project/commit/ead35564c0136fef0c1efface7b9857ad87af9de
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll

  Log Message:
  -----------
  [LoopUtils] Freeze compare results for diff checks instead of pointers.

THe freezes are introduced to avoid branch on undef/poison, if any of
the pointers may be poison. The same can be achieved by just freezing
the compare, which reduces the number of freezes needed. See
https://alive2.llvm.org/ce/z/NHa_ud

Note that the individual compares need to be frozen and it is not
sufficient to only freeze the resulting OR:

Result OR frozen only (UNSOUND): https://alive2.llvm.org/ce/z/YzFHQY
Individual conds frozen (SOUND): https://alive2.llvm.org/ce/z/5L6Z3f


  Commit: 775d2f3201cf7fb657aaf58d1b37c130bd9eb8f9
      https://github.com/llvm/llvm-project/commit/775d2f3201cf7fb657aaf58d1b37c130bd9eb8f9
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir

  Log Message:
  -----------
  [LoongArch][MC] Support to get the FixupKind for BL (#72938)

Previously, bolt could not get FixupKind for BL correctly, because bolt
cannot get target-flags for BL. Here just add support in MCCodeEmitter.

Fixes https://github.com/llvm/llvm-project/pull/72826.


  Commit: ff75121d4b6c5f4023e36a4edd7296a419ed5c04
      https://github.com/llvm/llvm-project/commit/ff75121d4b6c5f4023e36a4edd7296a419ed5c04
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [LoopInfo] Avoid redundant DomTree lookup (NFC)

For Header we already have the DomTreeNode. For Backedge, fetch it
only once.


  Commit: 7f740be4acddd8acf46796229c46117b735a9be8
      https://github.com/llvm/llvm-project/commit/7f740be4acddd8acf46796229c46117b735a9be8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [BasicAA] Don't assume DT is nonnull

I thought DT is required in BasicAA, but apparently it can be null
in unit tests at least. This should fix the ubsan bot failures.


  Commit: f3e54f2f97daa135b99a47277625cc6e8391753e
      https://github.com/llvm/llvm-project/commit/f3e54f2f97daa135b99a47277625cc6e8391753e
  Author: llongint <hezuoqiang2 at huawei.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp

  Log Message:
  -----------
  [BOLT][NFC] Extract a function for dump MCInst (#67225)

In GDB debugging, obtaining the assembly representation of MCInst is
more intuitive.


  Commit: b84fe8ff16dc4432e759cf3901d37d34ae8ec46f
      https://github.com/llvm/llvm-project/commit/b84fe8ff16dc4432e759cf3901d37d34ae8ec46f
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/test/Target/SPIRV/decorations.mlir

  Log Message:
  -----------
  [mlir][spirv] Add some op decorations (#72809)

NoSignedWrap, NoUnsignedWrap, FPFastMathMode.


  Commit: 521277cd1a8044c5930608fd2f056d8ce5181b4f
      https://github.com/llvm/llvm-project/commit/521277cd1a8044c5930608fd2f056d8ce5181b4f
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
    M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add `CL.mix` op (#72800)


  Commit: 72d3bf2b87ff7fab1a189d76f516bc03eac3271d
      https://github.com/llvm/llvm-project/commit/72d3bf2b87ff7fab1a189d76f516bc03eac3271d
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/errno-notes.c
    M clang/test/Analysis/errno-options.c
    M clang/test/Analysis/errno-stdlibraryfunctions-notes.c
    M clang/test/Analysis/errno-stdlibraryfunctions.c
    M clang/test/Analysis/errno.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-noopen.c

  Log Message:
  -----------
  [clang][Analyzer] Move checker 'alpha.unix.Errno' to 'unix.Errno'. (#69469)


  Commit: 52204a29aba2ca8a10f0bd1b5d5c3b8e0b8fa082
      https://github.com/llvm/llvm-project/commit/52204a29aba2ca8a10f0bd1b5d5c3b8e0b8fa082
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M llvm/lib/Frontend/Offloading/CMakeLists.txt
    M llvm/lib/Frontend/Offloading/Utility.cpp

  Log Message:
  -----------
  [Offload] Initial support for registering offloading entries on COFF targets (#72697)

Summary:
This patch provides the initial support to allow handling the new
driver's offloading entries. Normally, the ELF target can emit varibles
at C-identifier named sections and the linker will provide a pointer to
the section. For COFF target, instead the linker merges sections
containing a `$` in alphabetical order. We thus can emit these variables
at sections and then emit two variables that are guaranteed to be sorted
before and after the others to traverse it. Previous patches
consolidated the handling of offloading entries so that this patch more
easily can handle mapping them to the appropriate section.

Ideally, the only remaining step to allow the new driver to run on
Windows targets is to accurately map the following `ld.lld` arguments to
their `llvm-link` equivalents. These are used inside the linker-wrapper,
so we should simply need to remap the arguments to the same
functionality if possible.
```
-o, -output
-l, --library
-L, --library-path
-v, --version
-rpath
-whole-archive, -no-whole-archive
```

I have not tested this at runtime as I do not have access to a windows
machine.

This patch was adapted from some initial efforts in
https://reviews.llvm.org/D137470.


  Commit: f4418f8813ee15d13217ab0dd995a2a519d9c688
      https://github.com/llvm/llvm-project/commit/f4418f8813ee15d13217ab0dd995a2a519d9c688
  Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [SystemZ][z/OS] Replace unconventional characters that are not within the ASCII range (#72906)

This revision fixes the following error on z/OS.
`LLVM ERROR: IO failure on output stream: EDC5122I Input/output error.`

I replace unconventional characters with characters that are within the
ASCII range.


  Commit: 414815872434f6b4f7479a2732e87d221eefb01d
      https://github.com/llvm/llvm-project/commit/414815872434f6b4f7479a2732e87d221eefb01d
  Author: David Green <david.green at arm.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [RegBankInfo] Add brackets around || in assert. NFC


  Commit: fd640384a5ac472e4f812ab5211d9d227078ec5e
      https://github.com/llvm/llvm-project/commit/fd640384a5ac472e4f812ab5211d9d227078ec5e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [CodeGen] getPointerMemTy - move FIXME to start of comment line so editors are more likely to detect it. NFC.


  Commit: 8336bfb17ee0ed694a30519da8ed3a930a5661ee
      https://github.com/llvm/llvm-project/commit/8336bfb17ee0ed694a30519da8ed3a930a5661ee
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/ispow2.ll

  Log Message:
  -----------
  [X86] Regenerate ispow2.ll. NFC.


  Commit: 527fcb8e5d6b1d491b6699cde818db1127bbb12c
      https://github.com/llvm/llvm-project/commit/527fcb8e5d6b1d491b6699cde818db1127bbb12c
  Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    M clang/test/Analysis/diagnostics/explicit-suppression.cpp
    A clang/test/Analysis/std-variant-checker.cpp

  Log Message:
  -----------
  [analyzer] Add std::variant checker (#66481)

As my BSc thesis I've implemented a checker for std::variant and
std::any, and in the following weeks I'll upload a revised version of
them here.

# Prelude

@Szelethus and I sent out an email with our initial plans here:
https://discourse.llvm.org/t/analyzer-new-checker-for-std-any-as-a-bsc-thesis/65613/2
We also created a stub checker patch here:
https://reviews.llvm.org/D142354.

Upon the recommendation of @haoNoQ , we explored an option where instead
of writing a checker, we tried to improve on how the analyzer natively
inlined the methods of std::variant and std::any. Our attempt is in this
patch https://reviews.llvm.org/D145069, but in a nutshell, this is what
happened: The analyzer was able to model much of what happened inside
those classes, but our false positive suppression machinery erroneously
suppressed it. After months of trying, we could not find a satisfying
enhancement on the heuristic without introducing an allowlist/denylist
of which functions to not suppress.

As a result (and partly on the encouragement of @Xazax-hun) I wrote a
dedicated checker!

The advantage of the checker is that it is not dependent on the
standard's implementation and won't put warnings in the standard library
definitions. Also without the checker it would be difficult to create
nice user-friendly warnings and NoteTags -- as per the standard's
specification, the analysis is sinked by an exception, which we don't
model well now.

# Design ideas

The working of the checker is straightforward: We find the creation of
an std::variant instance, store the type of the variable we want to
store in it, then save this type for the instance. When retrieving type
from the instance we check what type we want to retrieve as, and compare
it to the actual type. If the two don't march we emit an error.

Distinguishing variants by instance (e.g. MemRegion *) is not the most
optimal way. Other checkers, like MallocChecker uses a symbol-to-trait
map instead of region-to-trait. The upside of using symbols (which would
be the value of a variant, not the variant itself itself) is that the
analyzer would take care of modeling copies, moves, invalidation, etc,
out of the box. The problem is that for compound types, the analyzer
doesn't create a symbol as a result of a constructor call that is fit
for this job. MallocChecker in contrast manipulates simple pointers.

My colleges and I considered the option of making adjustments directly
to the memory model of the analyzer, but for the time being decided
against it, and go with the bit more cumbersome, but immediately viable
option of simply using MemRegions.

# Current state and review plan

This patch contains an already working checker that can find and report
certain variant/any misuses, but still lands it in alpha. I plan to
upload the rest of the checker in later patches.

The full checker is also able to "follow" the symbolic value held by the
std::variant and updates the program state whenever we assign the value
stored in the variant. I have also built a library that is meant to
model union-like types similar to variant, hence some functions being a
bit more multipurpose then is immediately needed.

I also intend to publish my std::any checker in a later commit.

---------

Co-authored-by: Gabor Spaits <gabor.spaits at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 89efffd463ecc39cb17440ef7bb66d26141322aa
      https://github.com/llvm/llvm-project/commit/89efffd463ecc39cb17440ef7bb66d26141322aa
  Author: Martin Storsjö <martin at martin.st>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/lto-dllimport.ll
    M lld/test/COFF/lto-imp-prefix.ll
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [LTO] [LLD] Don't alias the __imp_func and func symbol resolutions (#71376)

Commit b963c0b658cc54b370832df4f5a3d63fd69da334 fixed LTO compilation of
cases where one translation unit is calling a function with the
dllimport attribute, and another translation unit provides this function
locally within the same linked module (i.e. not actually dllimported);
see https://github.com/llvm/llvm-project/issues/37453 or
https://bugs.llvm.org/show_bug.cgi?id=38105 for full context.

This was fixed by aliasing their GlobalResolution structs, for the
`__imp_` prefixed and non prefixed symbols.

I believe this fix to be wrong.

This patch reverts that fix, and fixes the same issue differently,
within LLD instead.

The fix assumed that one can treat the `__imp_` prefixed and unprefixed
symbols as equal, referencing SVN r240620
(d766653534e0cff702e42a43b44d3057b6094fea). However that referenced
commit had mistaken how this logic works, which was corrected later in
SVN r240622 (88e0f9206b4dccb56dee931adab08f89ff80525a); those symbols
aren't direct aliases for each other - but if there's a need for the
`__imp_` prefixed one and the other one exists, the `__imp_` prefixed
one is created, as a pointer to the other one.

However this fix only works if both translation units are compiled as
LTO; if the caller is compiled as a regular object file and the callee
is compiled as LTO, the fix fails, as the LTO compilation doesn't know
that the unprefixed symbol is needed.

The only level that knows of the potential relationship between the
`__imp_` prefixed and unprefixed symbol, across regular and bitcode
object files, is LLD itself.

Therefore, revert the original fix from
b963c0b658cc54b370832df4f5a3d63fd69da334, and fix the issue differently
- when concluding that we can fulfill an undefined symbol starting with
`__imp_`, mark the corresponding non prefixed symbol as used in a
regular object for the LTO compilation, to make sure that this non
prefixed symbol exists after the LTO compilation, to let LLD do the
fixup of the local import.

Extend the testcase to test a regular object file calling an LTO object
file, which previously failed.

This change also fixes another issue; an object file can provide both
unprefixed and prefixed versions of the same symbol, like this:

    void importedFunc(void) { 
    }
    void (*__imp_importedFunc)(void) = importedFunc;

That allows the function to be called both with and without dllimport
markings. (The concept of automatically resolving a reference to
`__imp_func` to a locally defined `func` only is done in MSVC style
linkers, but not in GNU ld, therefore MinGW mode code often uses this
construct.)

Previously, the aliasing of global resolutions at the LTO level would
trigger a failed assert with "Multiple prevailing defs are not allowed"
for this case, as both `importedFunc` and `__imp_importedFunc` could be
prevailing. Add a case to the existing LLD test case lto-imp-prefix.ll
to test this as well.

This change (together with previous change in
3ab6209a3f93bdbeec8e9b9fcc00a9a4980915ff) completes LLD to work with
mingw-w64-crt files (the base glue code for a mingw-w64 toolchain) built
with LTO.


  Commit: 8341a40ec1993a5d2b75b326720e7b6661f4b36a
      https://github.com/llvm/llvm-project/commit/8341a40ec1993a5d2b75b326720e7b6661f4b36a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  [libc] Update the AMDGPU implementation to use code object 5 (#72580)

Summary:
This patch includes the necessary changes to make the `libc` tests
running on AMD GPUs run using the newer code object version. The 'code
object version' is AMD's internal ABI for making kernel calls. The move
from 4 to 5 changed how we handle arguments for builtins such as
obtaining the grid size or setting up the size of the private stack.

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


  Commit: a243128ed6ec325a752e931637284d3fec53318f
      https://github.com/llvm/llvm-project/commit/a243128ed6ec325a752e931637284d3fec53318f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 527fcb8e5d6b


  Commit: 56f569049c9df7e4db6aa14eae6c4fe200350bf6
      https://github.com/llvm/llvm-project/commit/56f569049c9df7e4db6aa14eae6c4fe200350bf6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [ValueTracking] Handle operand bundle assumes in same loop (NFCI)

We are already iterating over all assumes in AC, so handle
operand bundle based assumes in the same loop, instead of querying
them separately.

To keep the debug counter working, make it work per-bundle rather
than per-value.


  Commit: e6ef31524729fc03275b1ea4f92b66c1e1eb013e
      https://github.com/llvm/llvm-project/commit/e6ef31524729fc03275b1ea4f92b66c1e1eb013e
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/Sema.cpp

  Log Message:
  -----------
  [APINotes] Introduce APINotes infrastructure in Clang Sema and Frontend

This upstreams more of the Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes

This adds the initial Clang APINotes infrastructure to Clang Sema and
Clang Frontend.

There will shortly be a follow-up patch with the actual usages of this
API. I'm splitting these changes into separate PRs to keep the diffs
easier to review.


  Commit: ad86d3e94f21fb13e504b0b1044ef7c10bc86a98
      https://github.com/llvm/llvm-project/commit/ad86d3e94f21fb13e504b0b1044ef7c10bc86a98
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/Analysis/BasicAA/gep-modulo.ll

  Log Message:
  -----------
  [BasicAA] Add wrapping test for #72831.

Add test with GEP where the index may wrap.


  Commit: f79676a17eae4c63318561ba35613d97053fa12c
      https://github.com/llvm/llvm-project/commit/f79676a17eae4c63318561ba35613d97053fa12c
  Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmlsl.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
    M llvm/test/MC/AArch64/SVE2p1/bfadd.s
    M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
    M llvm/test/MC/AArch64/SVE2p1/bfmax.s
    M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
    M llvm/test/MC/AArch64/SVE2p1/bfmin.s
    M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
    M llvm/test/MC/AArch64/SVE2p1/bfmla.s
    M llvm/test/MC/AArch64/SVE2p1/bfmls.s
    M llvm/test/MC/AArch64/SVE2p1/bfmul.s
    M llvm/test/MC/AArch64/SVE2p1/bfsub.s

  Log Message:
  -----------
  [SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang and LLVM intrinisc (#70362)

This patch implements the builtins in Clang
and the LLVM-IR intrinsic for the following:

For BFADD , BFSUB, BFMAX, BFMIN, BFMAXNM and BFMINNM, for instance: 
svbfloat16_t svadd[_bf16]_m (svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svadd[_bf16]_x (svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svadd[_bf16]_z (svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svadd[_n_bf16]_m (svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svadd[_n_bf16]_x (svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svadd[_n_bf16]_z (svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
the add, could be replaced by sub, max, min, maxnm and minnm.

For BFMUL:
svbfloat16_t svmul[_bf16]_m(svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svmul[_bf16]_x(svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svmul[_bf16]_z(svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svmul[_n_bf16]_m(svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svmul[_n_bf16]_x(svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svmul[_n_bf16]_z(svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);

svbfloat16_t svmul_lane[_bf16](svbfloat16_t zn, svbfloat16_t zm,
                               uint64_t imm_idx);

For BFCLAMP:
svbfloat16_t svclamp[_bf16](svbfloat16_t op, svbfloat16_t min,
svbfloat16_t max);

For BFMLA and BFMLS
svbfloat16_t svmla[_bf16]_m(svbool_t pg, svbfloat16_t zda, svbfloat16_t
zn,
                            svbfloat16_t zm);
svbfloat16_t svmla[_bf16]_z(svbool_t pg, svbfloat16_t zda, svbfloat16_t
zn,
                            svbfloat16_t zm);
svbfloat16_t svmla[_bf16]_x(svbool_t pg, svbfloat16_t zda, svbfloat16_t
zn,
                            svbfloat16_t zm);
svbfloat16_t svmla[_n_bf16]_m(svbool_t pg, svbfloat16_t zda,
svbfloat16_t zn,
                              bfloat16_t zm);
svbfloat16_t svmla[_n_bf16]_z(svbool_t pg, svbfloat16_t zda,
svbfloat16_t zn,
                              bfloat16_t zm);
svbfloat16_t svmla[_n_bf16]_x(svbool_t pg, svbfloat16_t zda,
svbfloat16_t zn,
                              bfloat16_t zm);

svbfloat16_t svmla_lane[_bf16](svbfloat16_t zda, svbfloat16_t zn,
                               svbfloat16_t zm, uint64_t

According to the PR#257[1]
[1]ARM-software/acle#257

Co-authored-by: Matthew Devereau <matthew.devereau at arm.com>


  Commit: 0c49fc4c68aff96ebe700d2af50a3c445ee0484e
      https://github.com/llvm/llvm-project/commit/0c49fc4c68aff96ebe700d2af50a3c445ee0484e
  Author: Nishant Mittal <mittalnishant14 at outlook.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    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/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/stdc.td
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nexttoward.cpp
    A libc/src/math/generic/nexttowardf.cpp
    A libc/src/math/generic/nexttowardl.cpp
    A libc/src/math/nexttoward.h
    A libc/src/math/nexttowardf.h
    A libc/src/math/nexttowardl.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/NextTowardTest.h
    A libc/test/src/math/smoke/nexttoward_test.cpp
    A libc/test/src/math/smoke/nexttowardf_test.cpp
    A libc/test/src/math/smoke/nexttowardl_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Implement nexttoward functions (#72763)

Implements the `nexttoward`, `nexttowardf` and `nexttowardl` functions.
Also, raise excepts required by the standard in `nextafter` functions.

cc: @lntue


  Commit: 1f141737c734482fce224b99ffd25bd23158ef47
      https://github.com/llvm/llvm-project/commit/1f141737c734482fce224b99ffd25bd23158ef47
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir

  Log Message:
  -----------
  Revert "[mlir][vector] Move transpose with unit-dim to shape_cast pattern (#72493)" (#72918)

This reverts commit 95acb33b458128b7ff2314efa3b41b93b3897179.


  Commit: 42cd9aeec286a6928da59dce1134fdced0f0462a
      https://github.com/llvm/llvm-project/commit/42cd9aeec286a6928da59dce1134fdced0f0462a
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  Fold `linalg.fill` -> `linalg.copy` (#72920)


  Commit: 2d39cb49833abaf7a67110149a010940d7790d7e
      https://github.com/llvm/llvm-project/commit/2d39cb49833abaf7a67110149a010940d7790d7e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/gep-modulo.ll

  Log Message:
  -----------
  [BasicAA] Don't use MinAbsVarIndex = 1. (#72993)

The current code incorrectly assumed that the absolute variable index
needs to be at least 1, if the variable is != 0. This is incorrect, in
case multiplying with Scale wraps.

The code below already checks for wrapping properly, so just remove the
incorrect assignment.

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


  Commit: 9250fbd2a187b102765f2747fa804640a9468ed3
      https://github.com/llvm/llvm-project/commit/9250fbd2a187b102765f2747fa804640a9468ed3
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn

  Log Message:
  -----------
  [gn] port e6ef31524729fc


  Commit: 9d26c6bd7fd3e22ec3e7434b857cc7afa3c153a6
      https://github.com/llvm/llvm-project/commit/9d26c6bd7fd3e22ec3e7434b857cc7afa3c153a6
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] remove now unnecessary getUsedValuesDefinedAbove call from convertTargetOp (#72904)

This block of code was here to create pseudo handling of implicit
captures in target regions to prevent gfortran test regressions and
allow certain pieces of code to function, however, with the introduction
of the IFA patch which adds proper handling of implicits by adding them
to the map operands list alongside explicit mappings at the initial
Fortran -> MLIR generation phase this should no longer be required and
may cause some adverse affects at worse in the future.


  Commit: 9cd617c5dc5c082fb64c3436bb6b0d46088d8ac1
      https://github.com/llvm/llvm-project/commit/9cd617c5dc5c082fb64c3436bb6b0d46088d8ac1
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/test/Sema/code_align.c

  Log Message:
  -----------
  [clang] Fix lit test failure caused by https://github.com/llvm/llvm-project/pull/70762 (#72928)

Lit test generates different outputs for usage of __int128_t in
clang-armv8-quick environment. This patch adds triple to fix the lit
failure.

```
Step 5 (ninja check 1) failure: 1 unexpected failures 38623 expected passes 71 expected failures 36752 unsupported tests (failure)
******************** TEST 'Clang :: Sema/code_align.c' FAILED ******************** Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/18/include -nostdsysteminc -fsyntax-only -verify=expected,c-local -x c /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 
+ -internal-isystem 
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/18/inclu
+ de -nostdsysteminc -fsyntax-only -verify=expected,c-local -x c 
+ /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code
+ _align.c
error: 'c-local-error' diagnostics expected but not seen: 
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 79 (directive at /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c:78): 'code_align' attribute requires an integer argument which is a constant power of two between 1 and 4096 inclusive; provided argument was (__int128_t)1311768467294899680ULL << 64
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 89 (directive at /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c:88): 'code_align' attribute requires an integer argument which is a constant power of two between 1 and 4096 inclusive; provided argument was -(__int128_t)1311768467294899680ULL << 64
error: 'c-local-error' diagnostics seen but not expected: 
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 79: use of undeclared identifier '__int128_t'
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 89: use of undeclared identifier '__int128_t'
4 errors generated.

```


  Commit: 6088e9cdba902f78d88bbd3e7ff21c6ddb8fcf98
      https://github.com/llvm/llvm-project/commit/6088e9cdba902f78d88bbd3e7ff21c6ddb8fcf98
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll

  Log Message:
  -----------
  [LV] Add test case for diff checks with nested AddRecs.

Add a test case where the AddRec for the pointers in the inner loop
have the AddRec of the outer loop as start value.

It is sufficient to subtract the start values (%dst, %src) of the outer
AddRecs. This simplification will be done in a follow-up commit.


  Commit: a1652fdb5ebf4a7d94d28200765232ebc2ba7c62
      https://github.com/llvm/llvm-project/commit/a1652fdb5ebf4a7d94d28200765232ebc2ba7c62
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/shift.ll

  Log Message:
  -----------
  [InstCombine] Add tests for incorrect shift nneg inference (NFC)

The second test is a miscompile.


  Commit: ac75171d41f0000d53eadf64a943d6fabc24af6c
      https://github.com/llvm/llvm-project/commit/ac75171d41f0000d53eadf64a943d6fabc24af6c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/shift.ll

  Log Message:
  -----------
  [InstCombine] Fix incorrect nneg inference on shift amount

Whether this is valid depends on the bit widths of the involved
integers.

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


  Commit: 5f7c8c1068d23d1f23643ddd141ca6f4f23f3578
      https://github.com/llvm/llvm-project/commit/5f7c8c1068d23d1f23643ddd141ca6f4f23f3578
  Author: Boian Petkantchin <boian at nod-labs.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    A mlir/docs/Dialects/Mesh.md
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    A mlir/test/Dialect/Mesh/canonicalization.mlir
    M mlir/test/Dialect/Mesh/invalid.mlir
    M mlir/test/Dialect/Mesh/ops.mlir

  Log Message:
  -----------
  [mlir][mesh] Add collective communication operations (#71960)

Add all-gather, all-reduce, all-to-all and reduce-scatter. These
operations have device mesh semantics.


  Commit: 49f0070237709a979905d8fe823f47a1b0ebd8ee
      https://github.com/llvm/llvm-project/commit/49f0070237709a979905d8fe823f47a1b0ebd8ee
  Author: martinboehme <mboehme at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h

  Log Message:
  -----------
  [clang][dataflow] Remove deprecated synonyms from `Environment`. (#72987)


  Commit: 8134a8fc3ff93db3a28a1ee1016c5024859dc1c6
      https://github.com/llvm/llvm-project/commit/8134a8fc3ff93db3a28a1ee1016c5024859dc1c6
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/docs/DataLayout.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
    M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
    M mlir/test/Dialect/LLVMIR/dynamic-gep-index.mlir
    A mlir/test/Dialect/LLVMIR/inline-byval-huge.mlir
    M mlir/test/Dialect/LLVMIR/layout.mlir
    M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
    M mlir/test/Interfaces/DataLayoutInterfaces/types.mlir
    M mlir/test/Target/LLVMIR/Import/data-layout.ll
    M mlir/test/Target/LLVMIR/data-layout.mlir
    M mlir/test/lib/Dialect/Test/TestTypeDefs.td
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [mlir] use TypeSize and uint64_t in DataLayout (#72874)

Data layout queries may be issued for types whose size exceeds the range
of 32-bit integer as well as for types that don't have a size known at
compile time, such as scalable vectors. Use best practices from LLVM IR
and adopt `llvm::TypeSize` for size-related queries and `uint64_t` for
alignment-related queries.

See #72678.


  Commit: 2749f52ec46bf64d6f15d0708d917d1eec9e357b
      https://github.com/llvm/llvm-project/commit/2749f52ec46bf64d6f15d0708d917d1eec9e357b
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv-rv64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv-rv64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvw.c
    M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-xv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-xvv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-xvw.ll
    M llvm/test/CodeGen/RISCV/rvv/xsfvcp-x.ll
    M llvm/test/CodeGen/RISCV/rvv/xsfvcp-xv.ll
    M llvm/test/CodeGen/RISCV/rvv/xsfvcp-xvv.ll
    M llvm/test/CodeGen/RISCV/rvv/xsfvcp-xvw.ll

  Log Message:
  -----------
  [RISCV] Convert all floating point vector type operands to integer vector type (#69559)


  Commit: a3908d33b17cb9655d336039bf6a9bd798930eb4
      https://github.com/llvm/llvm-project/commit/a3908d33b17cb9655d336039bf6a9bd798930eb4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [BasicAA] Optimize index size adjustment (NFC)

In most cases we do not actually have to perform an index size
adjustment. Don't perform any APInt operations in that case.


  Commit: f33588380886e1bda124b213a90b7c8163ca3d3b
      https://github.com/llvm/llvm-project/commit/f33588380886e1bda124b213a90b7c8163ca3d3b
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-ld1-single.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-loads.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll

  Log Message:
  -----------
  [AArch64][SVE2.1] Add intrinsics for quadword loads/stores with unscaled offset (#70474)

This patch adds a set of SVE2.1 quadword load/store intrisics:

  * Contiguous zero-extending load to quadword (single vector)

    sv<type>_t svld1uwq[_<typ>](svbool_t, const <type>_t *ptr);
    sv<type>_t svld1uwq_vnum[_<typ>](svbool_t, const <type> *ptr, int64_t vnum);
 
    sv<type>_t svld1udq[_<typ>](svbool_t, const <type>_t *ptr);
    sv<type>_t svld1udq_vnum[_<typ>](svbool_t, const <type>_t *ptr, int64_t vnum);

  * Contiguous truncating store of single vector operand

    void svst1uwq[_<typ>](svbool_t, const <type>_t *ptr, sv<type>_t data);
    void svst1uwq_vnum[_<typ>](svbool_t, const <type>_t *ptr, int64_t vnum, sv<type>_t data);

    void svst1udq[_<typ>](svbool_t, const <type>_t *ptr, sv<type>_t data);
    void svst1udq_vnum[_<typ>](svbool_t, const <type>_t *ptr, int64_t vnum, sv<type>_t data);

  * Gather load quadword

    sv<type>_t svld1q_gather[_u64base]_<typ>(svbool_t pg, svuint64_t zn);
    sv<type>_t svld1q_gather[_u64base]_offset_<typ>(svbool_t pg, svuint64_t zn, int64_t offset);

  * Scatter store quadword

    void svst1q_scatter[_u64base][_<typ>](svbool_t pg, svuint64_t zn, sv<type>_t data);
    void svst1q_scatter[_u64base]_offset[_<typ>](svbool_t pg, svuint64_t zn, int64_t offset, sv<type>_t data);

  * Contiguous load two, three or four quadword structures.

    sv<type>x2_t svld2q[_<typ>](svbool_t pg, const <type>_t *rn);
    sv<type>x2_t svld2q_vnum[_<typ>](svbool_t pg, const <type>_t *rn, uint64_t vnum);
    sv<type>x3_t svld3q[_<typ>](svbool_t pg, const <type>_t *rn);
    sv<type>x3_t svld3q_vnum[_<typ>](svbool_t pg, const <type>_t *rn, uint64_t vnum);
    sv<type>x4_t svld4q[_<typ>](svbool_t pg, const <type>_t *rn);
    sv<type>x4_t svld4q_vnum[_<typ>](svbool_t pg, const <type>_t *rn, uint64_t vnum);

  * Contiguous store two, three or four quadword structures.

    void svst2q[_<typ>](svbool_t pg, <type>_t *rn, sv<type>x2_t zt);
    void svst2q_vnum[_<typ>](svbool_t pg, <type>_t *rn, int64_t vnum, sv<type>x2_t zt);
    void svst3q[_<typ>](svbool_t pg, <type>_t *rn, sv<type>x3_t zt);
    void svst3q_vnum[_<typ>](svbool_t pg, <type>_t *rn, int64_t vnum, sv<type>x3_t zt);
    void svst4q[_<typ>](svbool_t pg, <type>_t *rn, sv<type>x4_t zt);
    void svst4q_vnum[_<typ>](svbool_t pg, <type>_t *rn, int64_t vnum, sv<type>x4_t zt);

ACLE spec: https://github.com/ARM-software/acle/pull/257

Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: f85e7ab03534842d57d8fd385617a8d56b31bf09
      https://github.com/llvm/llvm-project/commit/f85e7ab03534842d57d8fd385617a8d56b31bf09
  Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll

  Log Message:
  -----------
  [AMDGPU] - Add constant folding to s_wqm intrinsic (#72382)

Fold any constant input to the `s_wqm` intrinsic.


  Commit: 61835152ca9fb6b008711d6fb873ea50d4e566af
      https://github.com/llvm/llvm-project/commit/61835152ca9fb6b008711d6fb873ea50d4e566af
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
    M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add more CL math ops (#72995)

tan
atan
atanh
sinh
cosh
asin
asinh
acos
acosh
atan2


  Commit: 7ffabb61a5569444b5ac9322e22e5471cc5e4a77
      https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.h
    A lld/test/ELF/riscv-reloc-leb128.s

  Log Message:
  -----------
  [ELF] Support R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 in non-SHF_ALLOC sections (#72610)

For a label difference like `.uleb128 A-B`, MC generates a pair of
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 if A-B cannot be folded as a
constant. GNU assembler generates a pair of relocations in more cases
(when A or B is in a code section with linker relaxation).

`.uleb128 A-B` is primarily used by DWARF v5
.debug_loclists/.debug_rnglists (DW_LLE_offset_pair/DW_RLE_offset_pair
entry kinds) implemented in Clang and GCC.

`.uleb128 A-B` can be used in SHF_ALLOC sections as well (e.g.
`.gcc_except_table`). This patch does not handle SHF_ALLOC.

`-z dead-reloc-in-nonalloc=` can be used to change the relocated value,
if the R_RISCV_SET_ULEB128 symbol is in a discarded section. We don't
check the R_RISCV_SUB_ULEB128 symbol since for the expected cases A and
B should be defined in the same input section.


  Commit: 147b38b1464cb39e763a9865c476d5c3d54bc619
      https://github.com/llvm/llvm-project/commit/147b38b1464cb39e763a9865c476d5c3d54bc619
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-constructs.c

  Log Message:
  -----------
  [OpenACC] Implement enter data/exit data construct parsing (#72916)

These two constructs, 'enter data' and 'exit data', are novel compared
to what is currently in the parser, as this is the first set implemented
where the first token is itself not a valid construct. Because of this,
it requires some additional work to do the first keyword parsing.


  Commit: c0a1fcd3bf8ead39e8f0290a8a0af1e0367c7cad
      https://github.com/llvm/llvm-project/commit/c0a1fcd3bf8ead39e8f0290a8a0af1e0367c7cad
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Linker/IRMover.cpp

  Log Message:
  -----------
  [llvm][IRMover] Remove no-op ptr-to-ptr bitcast (NFC)

Opaque ptr cleanup effort.


  Commit: 28f62d72f4d56de0db0ed20c9b8c309ec5e8e193
      https://github.com/llvm/llvm-project/commit/28f62d72f4d56de0db0ed20c9b8c309ec5e8e193
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-index.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-index.ll

  Log Message:
  -----------
  [AArch64] Add SVE2.1 intrinsics for indexed quadword gather loads and scatter stores (#70476)

  This patch adds the quadword gather load intrinsics of the form

    sv<type>_t svld1q_gather_u64index_<typ>(svbool_t, const <type>_t *, svuint64_t);
    sv<type>_t svld1q_gather_u64base_index_<typ>(svbool_t, svuint64_t, int64_t);

and the quadword scatter store intrinsics of the form

    void svst1q_scatter_u64index_<typ>(svbool_t, <type>_t *, svuint64_t, sv<type>_t);
    void svst1q_scatter_u64base_index_<typ>(svbool, svuint64_t, int64_t, sv<type>_t);

ACLE spec: https://github.com/ARM-software/acle/pull/257


  Commit: 2fe24fdc94cb10795a196eadcf3eed8055ea4000
      https://github.com/llvm/llvm-project/commit/2fe24fdc94cb10795a196eadcf3eed8055ea4000
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp

  Log Message:
  -----------
  reapply "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)" (#72910)


This reverts commit 42204c94ba9fcb0b4b1335e648ce140a3eef8a9d.

It was accidentally backed out.

#20571
#70743


  Commit: 4495485eb6558aac0b0fd81e90b317a8aca30945
      https://github.com/llvm/llvm-project/commit/4495485eb6558aac0b0fd81e90b317a8aca30945
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/DebugInfo/X86/arg-dbg-value-list.ll
    M llvm/test/DebugInfo/X86/dbg-empty-metadata-lowering.ll
    M llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
    M llvm/test/DebugInfo/X86/dbg-val-list-undef.ll
    M llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
    M llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
    M llvm/test/DebugInfo/X86/sdag-ir-salvage.ll
    M llvm/tools/llc/llc.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Interpret DPValue objects in SelectionDAG (#72253)

DPValues are the non-intrinsic replacements for dbg.values, and when an
IR function is converted by SelectionDAG we need to convert the variable
location information in the same way. Happily all the information is in
the same format, it's just stored in a slightly different object,
therefore this patch refactors a few things to store the set of
{Variable,Expr,DILocation,Location} instead of just a pointer to a
DbgValueInst.

This also adds a hook in llc that's much like the one I've added to opt
in PR #71937, allowing tests to optionally ask for the use RemoveDIs
mode if support for it is built into the compiler.

I've added that flag to a variety of SelectionDAG debug-info tests to
ensure that we get some coverage on the RemoveDIs / debug-info-iterator
buildbot.


  Commit: 1caaec1fa785f48167c9a20cd2f8f1208ff2c4aa
      https://github.com/llvm/llvm-project/commit/1caaec1fa785f48167c9a20cd2f8f1208ff2c4aa
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-declare-globals.f90
    M flang/test/Lower/OpenACC/acc-declare.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Check only HLFIR lowering for declare tests (#73011)

HLFIR lowering as been set by default now and FIR lowering support will
be removed in the near future. This patch removes the specific FIR check
lines on declare tests.


  Commit: b52eb7c2fe936697c538d49c723db59eb2fda1f5
      https://github.com/llvm/llvm-project/commit/b52eb7c2fe936697c538d49c723db59eb2fda1f5
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir

  Log Message:
  -----------
  [mlir][sparse] add a csr x bsr matmul test case (#73012)


  Commit: 219d029490429cf5e1b87b716d9e4c59551bd2c2
      https://github.com/llvm/llvm-project/commit/219d029490429cf5e1b87b716d9e4c59551bd2c2
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    R flang/test/Fir/achar.f90
    A flang/test/Lower/achar.f90

  Log Message:
  -----------
  [flang][NFC] Move lowering test to correct folder


  Commit: e02b85bef72e23170fa8b5c9d3263da84be8d59b
      https://github.com/llvm/llvm-project/commit/e02b85bef72e23170fa8b5c9d3263da84be8d59b
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/utils/gn/build/toolchain/BUILD.gn
    M llvm/utils/gn/build/toolchain/compiler.gni

  Log Message:
  -----------
  [gn build] Add a generic `compiler_wrapper` gn arg (#72757)

Since goma is going away soon, we need to experiment with other
wrappers.

We can clean up the goma stuff once it's fully non-functional.


  Commit: c97e4273e2725578c8d51767321149e87f31d606
      https://github.com/llvm/llvm-project/commit/c97e4273e2725578c8d51767321149e87f31d606
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir

  Log Message:
  -----------
  [mlir][sparse] test on read/convert permuted 3d sparse tensors (#72925)

3! = 6


  Commit: 8169c157d5aaee67f6a5b13ca82d09e1b2848051
      https://github.com/llvm/llvm-project/commit/8169c157d5aaee67f6a5b13ca82d09e1b2848051
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
    M mlir/test/Dialect/LLVMIR/inline-byval-huge.mlir

  Log Message:
  -----------
  [mlir] fix overflow in LLVM dialect inlining (#72878)

Don't use unsigned for sizes as they may be larger than that type can
hold.

Fixes #72678.


  Commit: f5e50b21da0cb543064b2d0b9304ce0b368cf2bb
      https://github.com/llvm/llvm-project/commit/f5e50b21da0cb543064b2d0b9304ce0b368cf2bb
  Author: Joachim Jenke <jenke at itc.rwth-aachen.de>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_taskdeps.cpp
    A openmp/runtime/test/tasking/kmp_task_deps.h
    A openmp/runtime/test/tasking/kmp_task_deps_multiple_edges.c
    A openmp/runtime/test/tasking/kmp_task_deps_multiple_edges_inoutset.c

  Log Message:
  -----------
  [OpenMP] Optimized trivial multiple edges from task dependency graph

>From "3.1 Reducing the number of edges" of this [[ https://hal.science/hal-04136674v1/ | paper ]] - Optimization (b)

Task (dependency) nodes have a `successors` list built upon passed dependency.
Given the following code, B will be added to A's successors list building the graph `A` -> `B`
```
// A
 # pragma omp task depend(out: x)
{}

// B
 # pragma omp task depend(in: x)
{}
```

In the following code, B is currently added twice to A's successor list
```
// A
 # pragma omp task depend(out: x, y)
{}

// B
 # pragma omp task depend(in: x, y)
{}
```

This patch removes such dupplicates by checking lastly inserted task in `A` successor list.

Authored by: Romain Pereira (rpereira-dev)
Differential Revision: https://reviews.llvm.org/D158544


  Commit: d34ac0ee729e1d447492d4acb939e30ff4a98282
      https://github.com/llvm/llvm-project/commit/d34ac0ee729e1d447492d4acb939e30ff4a98282
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [llvm][NFC] Autoupdater x86 detection (#72808)

Sort x86 intrinsics for better readability and use common prefixes to reduce number of comparisons.


  Commit: f802fed2b59ec0fa3983de209e9192217a0f7479
      https://github.com/llvm/llvm-project/commit/f802fed2b59ec0fa3983de209e9192217a0f7479
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-mc.rst

  Log Message:
  -----------
  [NFC] Fix typos in llvm-mc doc (#72457)


  Commit: 1552b91162bbb410971e2d4e5ec7afd1c7cc932f
      https://github.com/llvm/llvm-project/commit/1552b91162bbb410971e2d4e5ec7afd1c7cc932f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/test/CodeGen/X86/combine-abs.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll

  Log Message:
  -----------
  [X86] X86FixupVectorConstantsPass - attempt to match VEX logic ops back to EVEX if we can create a broadcast fold

On non-DQI AVX512 targets, X86InstrInfo::setExecutionDomainCustom will convert EVEX int-domain instructions to VEX fp-domain instructions. But, if we have the chance to use a broadcast fold we're better off using a EVEX instruction, so handle a reverse fold.


  Commit: d506aa4edfa66074db3dc1fa84da9d9c80d71500
      https://github.com/llvm/llvm-project/commit/d506aa4edfa66074db3dc1fa84da9d9c80d71500
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M lld/test/COFF/gc-dwarf-eh.s
    M llvm/lib/MC/MCParser/AsmParser.cpp
    A llvm/test/MC/AArch64/cfi-bad-nesting-darwin.s
    A llvm/test/MC/AArch64/cfi-bad-nesting-elf.s

  Log Message:
  -----------
  Reland "[MC][AsmParser] Diagnose improperly nested .cfi frames"

This showed up when simplifying some large testcase, where the cfi directives
became out of sync with the proc's they enclose.

Now restricted to platforms that support .subsections_via_symbols.

This reverts commit 797b68c0ba699994e1038ac33d3083541482bf19.

Fixes: #72802

Differential revision: https://reviews.llvm.org/D153167

rdar://111459507


  Commit: 30e8dcd8ccbac748e9e45e8c94bad6e5645352e4
      https://github.com/llvm/llvm-project/commit/30e8dcd8ccbac748e9e45e8c94bad6e5645352e4
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  Enable customer lowering for fabs_v16f16 with AVX2 (#72914)

This is part-2 change to improve codegen for vec_fabs. In this patch,
v16f16 and v132f16 fabs are improved.

There will be at least two followups patches after this one.
1) fixing the ISEL crash when fabs.v32f16 uses custom lowering with
AVX512
2) better expansion for v16f16, v32f16 types on AVX1 subtargets.


  Commit: b072ec5ec670b1de356efa23ebfb3165389e81b9
      https://github.com/llvm/llvm-project/commit/b072ec5ec670b1de356efa23ebfb3165389e81b9
  Author: Joe Nash <joseph.nash at amd.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll

  Log Message:
  -----------
  [AMDGPU] NFC. Run auto-update on a few tests


  Commit: ce6127433b91943917c63b33bf16936e394ff3bb
      https://github.com/llvm/llvm-project/commit/ce6127433b91943917c63b33bf16936e394ff3bb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll

  Log Message:
  -----------
  [RISCV] Add rv32 command line to short-forward-branch-opt.ll. NFC


  Commit: 7a6fd49c8a4f9576d3dafe98e78f9c4bc3798105
      https://github.com/llvm/llvm-project/commit/7a6fd49c8a4f9576d3dafe98e78f9c4bc3798105
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll

  Log Message:
  -----------
  [RISCV] Use short forward branch for ISD::ABS.

We can use short forward branch to conditionally negate if the
value is negative.


  Commit: 730e0d035b3bf12d37668540edbc6328e499f12f
      https://github.com/llvm/llvm-project/commit/730e0d035b3bf12d37668540edbc6328e499f12f
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir

  Log Message:
  -----------
  [mlir][vector][nfc] Refactor vector.contract matvec tests (#72832)

Update tests in "vector-contract-matvec-transforms.mlir" so that they
are consistent with similar tests in:
 * "vector-contract-to-outerproduct-transforms.mlir".

This is to enable further refactoring in a follow-up patch, namely to:
  * remove duplication (this will be much easier once consistent naming
    is used),
  * extend tests in "vector-contract-matvec-transforms.mlir" with cases
    for scalable vectors,
  * merge "vector-contract-matvec-transforms.mlir" and
    "vector-contract-to-outerproduct-transforms.mlir"  (there's no need
    for 2 different files testing identical transformations).

Overview of changes in this patch:
  1. Simplify the test by removing MemRef wrappers - this test verifies
     Vector -> Vector transformations and  MemRefs are not needed.
  2. Use (m, k) indices instead of (i, j).
  3. Rename function names.

This is part of a larger effort to improve test coverage for scalable
vectors in the Vector dialect. Implements #72834.


  Commit: 04e9b61cec8491ca35ba804d8e004a37caa4045e
      https://github.com/llvm/llvm-project/commit/04e9b61cec8491ca35ba804d8e004a37caa4045e
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-constructs.c

  Log Message:
  -----------
  [OpenACC] Implement Atomic construct variants (#73015)

`atomic` is required to be followed by a special `atomic clause`, so
this patch manages the parsing of that. We are representing each of the
variants of the atomic construct as separate kinds, because they have
distinct rules/application/etc, and this should make it easier to check
rules in the future.


  Commit: e1ee0e85104eed2c68b6821d9e5a2066e4154099
      https://github.com/llvm/llvm-project/commit/e1ee0e85104eed2c68b6821d9e5a2066e4154099
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmlsl.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
    R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
    M llvm/test/MC/AArch64/SVE2p1/bfadd.s
    M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
    M llvm/test/MC/AArch64/SVE2p1/bfmax.s
    M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
    M llvm/test/MC/AArch64/SVE2p1/bfmin.s
    M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
    M llvm/test/MC/AArch64/SVE2p1/bfmla.s
    M llvm/test/MC/AArch64/SVE2p1/bfmls.s
    M llvm/test/MC/AArch64/SVE2p1/bfmul.s
    M llvm/test/MC/AArch64/SVE2p1/bfsub.s

  Log Message:
  -----------
  Revert "[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang and LLVM intrinisc (#70362)"

This reverts commit f79676a17eae4c63318561ba35613d97053fa12c.


  Commit: c9fd76f45f5a6ace7c87ce6fdc6efe455fd39e95
      https://github.com/llvm/llvm-project/commit/c9fd76f45f5a6ace7c87ce6fdc6efe455fd39e95
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Replace XLenVT in RV64 only pattern with i64. NFC


  Commit: 36e53885e6ac52ff948fac909178f82b602477dd
      https://github.com/llvm/llvm-project/commit/36e53885e6ac52ff948fac909178f82b602477dd
  Author: bd1976bris <Ben.Dunbobbin at sony.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/test/CodeGenCXX/visibility.cpp

  Log Message:
  -----------
  [clang codegen][regression] Add dso_local/hidden/etc. markings to VTT definitions and declarations (#72452)

https://reviews.llvm.org/D128482 regressed certain cases of VTT emission
which are no longer hidden with -fvisibility=hidden.

Fix this regression by marking both declarations and definitions.

Fixes [clang codegen][regression] VTT definitions missing
dso_local/hidden/etc markings #72451


  Commit: 46a84794486e610785b860af3776a892ab5016d0
      https://github.com/llvm/llvm-project/commit/46a84794486e610785b860af3776a892ab5016d0
  Author: Eric <eric at efcs.ca>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Promote android to supported. (#72949)

The bots have been running smoothly for a while. Check out
https://libcxx.efcs.ca/cistats.html for more info.


  Commit: a855a16a02e76a0f4192c038bb64f3773947a2f7
      https://github.com/llvm/llvm-project/commit/a855a16a02e76a0f4192c038bb64f3773947a2f7
  Author: Marco Elver <elver at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h

  Log Message:
  -----------
  [compiler-rt] Fix interceptors with Solaris as (#72973)

Jakub Jelínek reports:

As mentioned in https://gcc.gnu.org/PR112563, the new DECLARE_WRAPPER
macro
added in 37445e9 and ammended in 85d3873 doesn't work on SPARC/Solaris
with
  Solaris as.

While clang and GNU as when used from GCC seems to be forgiving on most
architectures and allow both %function and @function (with the latter
not being
allowed on ARM/AArch64 I believe because @ is assembler comment start
there),
  Solaris as doesn't allow the %function form.

Fix it by using %function only for ARM.

Co-developed-by: Jakub Jelínek <jakub at redhat.com>
Reported-by: Jakub Jelínek <jakub at redhat.com>
Closes: https://github.com/llvm/llvm-project/issues/72970


  Commit: f54453320386b97ad75782563d95ddf771345ff9
      https://github.com/llvm/llvm-project/commit/f54453320386b97ad75782563d95ddf771345ff9
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [Bazel][clang] Fix build for e6ef315


  Commit: bed1a5b3426059f2418f7be90c53a247ce082680
      https://github.com/llvm/llvm-project/commit/bed1a5b3426059f2418f7be90c53a247ce082680
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M libcxx/src/include/ryu/common.h
    M libcxx/src/include/ryu/d2s_intrinsics.h
    M libcxx/src/ryu/d2fixed.cpp
    M libcxx/src/ryu/d2s.cpp
    M libcxx/src/ryu/f2s.cpp

  Log Message:
  -----------
  [libc++][hardening] Categorize all `ryu` assertions as internal (#71853)

These assertions can only be triggered by bugs in the algorithm's
implementation; all user inputs should be handled gracefully.


  Commit: 8cf6e940b3e3f76026b7007a95262e59b6809a36
      https://github.com/llvm/llvm-project/commit/8cf6e940b3e3f76026b7007a95262e59b6809a36
  Author: kkwli <kkwli at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M flang/include/flang/Runtime/io-api.h
    M flang/lib/Lower/IO.cpp
    M flang/runtime/io-api.cpp
    M flang/unittests/Runtime/ExternalIOTest.cpp

  Log Message:
  -----------
  [flang] Remove dead code and update test (NFC)  (#73004)

OutputUnformattedBlock and InputUnformattedBlock are not used.


  Commit: e746b56c98f6180cffd4cad9ebdd249bdaa17283
      https://github.com/llvm/llvm-project/commit/e746b56c98f6180cffd4cad9ebdd249bdaa17283
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  workflows/release-binaries: Do a preliminary build to fill ccache (#72576)

Build clang with the host compiler and ccache enabled in order to speed
up the phase 1 builds. This helps reduce the amount of time spent
running on the non-free builders.


  Commit: 03ac08db7d9b9f00815b07a27e128dcdd382c899
      https://github.com/llvm/llvm-project/commit/03ac08db7d9b9f00815b07a27e128dcdd382c899
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [nfc][InstrProfTest]Un-parameterize test cases that doesn't use profile reader and writer (#73026)

Test fixture `MaybeSparseInstrProfTest` parameterize InstrProfWriter by
whether output is sparse or not. This test fixture has 20 test cases,
and 6 of them doesn't use profile reader and writer. Undo the
parameterization for these test cases will reduce redundant tests. This
is one clean-up PR. (A few more clean-ups to come soon, but they are not
inter-dependent)


  Commit: 5b2fee84189beec48a4f935afda831e1ebdcce1e
      https://github.com/llvm/llvm-project/commit/5b2fee84189beec48a4f935afda831e1ebdcce1e
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [AMDGPU] NFC: Add flag to disable clustered low occupancy phase (#73025)

This will help users analyze whether high register usage is coming from
inability of scheduler to reduce RP, or from sacrificing good RP to
improve ILP.


  Commit: 6a082ed6923e2d9fac508ba0a8190176b50c23fd
      https://github.com/llvm/llvm-project/commit/6a082ed6923e2d9fac508ba0a8190176b50c23fd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [SelectionDAG] Fix copy/paste mistake in SDNodeFlags::intersectWith

The NonNeg flag was being Anded with the Exact flag.


  Commit: 752c21be68613f92e2de16cd380098cf830bc261
      https://github.com/llvm/llvm-project/commit/752c21be68613f92e2de16cd380098cf830bc261
  Author: Logikable <seanluchen at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

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

  Log Message:
  -----------
  [clang][NFC] Reorder Atomic builtins to be consistent. (#72718)


  Commit: fb57f4e0e0b302ec1b3181e952a4bd4b3c57a286
      https://github.com/llvm/llvm-project/commit/fb57f4e0e0b302ec1b3181e952a4bd4b3c57a286
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  Allow multiple sanitizers on baremetal targets. (#72933)

Baremetal targets tend to implement their own runtime support for
sanitizers. Clang driver gatekeeping of allowed sanitizer types is
counter productive.

This change allows anything that does not crash and burn in compilation,
and leaves any potential runtime issues for the user to figure out.


  Commit: 907ed77ad1d7a154317e5f8398d17d441711dc38
      https://github.com/llvm/llvm-project/commit/907ed77ad1d7a154317e5f8398d17d441711dc38
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  test-release.sh: Only build the clang target in stage 1 and 2 (#72703)

This skips the build of all the unittests and llvm/clang tools, reducing
the number of ninja targets from 4,826 to 3,816 in phase 1 and phase 2.


  Commit: ca9b1d1ac77a6ac1d53ea233ba20ec77781a25b0
      https://github.com/llvm/llvm-project/commit/ca9b1d1ac77a6ac1d53ea233ba20ec77781a25b0
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M libcxx/include/__iterator/common_iterator.h

  Log Message:
  -----------
  [libc++] Make common_iterator's data member private (#72564)

Fixes #71498


  Commit: 23c84fb362849865990c0e160158b19f54742147
      https://github.com/llvm/llvm-project/commit/23c84fb362849865990c0e160158b19f54742147
  Author: Andres Villegas <andresvi at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h

  Log Message:
  -----------
  [NFC sanitizer_symbolizer] Make some functions non virtual in StackTracePrinter. (#73029)

Make some methods of StackTracPrinter that will have a common
implementation, non virtual.


  Commit: cc2128714e66b985919442bdece4902a35e56937
      https://github.com/llvm/llvm-project/commit/cc2128714e66b985919442bdece4902a35e56937
  Author: Andres Villegas <andresvi at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp

  Log Message:
  -----------
  [sanitizer_symbolizer] Add MarkupStackTracePrinter (#73032)

Adds a new Implementation of StackTracePrinter that only
emits symbolizer markup. Currently this change only
affects Fuchsia OS. Should be NFC.


  Commit: 2743b30e2a0c8ff80ed07d6da405340f3333302d
      https://github.com/llvm/llvm-project/commit/2743b30e2a0c8ff80ed07d6da405340f3333302d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [nfc][InstrProfTest]Add a test fixture to parameterize the read-write test of value profiles (#73038)

This patch factor out the common code among three similar test cases.
The input data and test logic are pretty similar. Parameterize the
differences (prof-weight and endianness) as advised in
https://github.com/llvm/llvm-project/pull/72611.
- Remove duplicated tests


  Commit: d2d29288bd4f64e0966db42b821d84587501669b
      https://github.com/llvm/llvm-project/commit/d2d29288bd4f64e0966db42b821d84587501669b
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp

  Log Message:
  -----------
  [mlir][sparse] code cleanup (#73047)

removed two unused methods, removed obsoleted FIXME


  Commit: d82b52139a418a4c6eb6d95e553c25506988b169
      https://github.com/llvm/llvm-project/commit/d82b52139a418a4c6eb6d95e553c25506988b169
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-fixed-form.f
    M flang/test/Lower/OpenACC/acc-init.f90
    M flang/test/Lower/OpenACC/acc-routine-named.f90
    M flang/test/Lower/OpenACC/acc-routine.f90
    M flang/test/Lower/OpenACC/acc-routine02.f90
    M flang/test/Lower/OpenACC/acc-routine03.f90
    M flang/test/Lower/OpenACC/acc-routine04.f90
    M flang/test/Lower/OpenACC/acc-set.f90
    M flang/test/Lower/OpenACC/acc-shutdown.f90
    M flang/test/Lower/OpenACC/acc-unstructured.f90
    M flang/test/Lower/OpenACC/acc-wait.f90
    M flang/test/Lower/OpenACC/locations.f90
    M flang/test/Lower/OpenACC/stop-stmt-in-region.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Remove run line for FIR only checks (#73050)

Remove the run lines that check for the FIR lowering. HLFIR lowering
produce the same check lines.


  Commit: 7c3c243c9bf80377fcad6c7699dc9aaedd650a18
      https://github.com/llvm/llvm-project/commit/7c3c243c9bf80377fcad6c7699dc9aaedd650a18
  Author: GkvJwa <gkvjwa at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/debug-info-lambda-this.cpp

  Log Message:
  -----------
  Supports viewing class member variables in lambda when using the vs debugger (#71564)

Use "__this" in DataMemberRecord, make vs debugger can be parsed normally

Fixes #71562


  Commit: c384888fb38b4410618fd87bfb3c25a83de06511
      https://github.com/llvm/llvm-project/commit/c384888fb38b4410618fd87bfb3c25a83de06511
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    M flang/test/Lower/OpenACC/acc-exit-data.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Check only HLFIR lowering for enter/exit data tests (#73035)

HLFIR lowering as been set by default now and FIR lowering support will
be removed in the near future. This patch removes the specific FIR check
lines on enter/exit data tests.


  Commit: bda3409f2c1920dd414041a843635832a0acd8f7
      https://github.com/llvm/llvm-project/commit/bda3409f2c1920dd414041a843635832a0acd8f7
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Check only HLFIR lowering for compute construct tests (#73051)


  Commit: 60fa8cf2c3253cc1e1ade7eede395e460da9882c
      https://github.com/llvm/llvm-project/commit/60fa8cf2c3253cc1e1ade7eede395e460da9882c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M flang/test/Lower/OpenACC/HLFIR/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-update.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Check only HLFIR lowering for remaining tests (#73054)


  Commit: a756a6b97e44d0c446111a3a34afdee0dacadfe7
      https://github.com/llvm/llvm-project/commit/a756a6b97e44d0c446111a3a34afdee0dacadfe7
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/condops.ll
    M llvm/test/CodeGen/RISCV/select.ll

  Log Message:
  -----------
  [TargetLowering][RISCV] Introduce shouldFoldSelectWithSingleBitTest and RISC-V implement. (#72978)

DAGCombiner folds (select_cc seteq (and x, y), 0, 0, A) to (and (sra
(shl x)) A) where y has a single bit set. Previously, DAGCombiner relies
on `shouldAvoidTransformToShift` to decide when to do the combine, but
`shouldAvoidTransformToShift` is only about shift cost. This patch
introuduces a specific hook to decide when to do the combine and disable
the combine when Zicond enabled and AndMask <= 1024.


  Commit: d213220a9ac031133fa360b94a343f3d09f01ea8
      https://github.com/llvm/llvm-project/commit/d213220a9ac031133fa360b94a343f3d09f01ea8
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp

  Log Message:
  -----------
  [mlir][sparse] fixed naming consistency (#73053)

All DLT related methods have DLT at end, removed stale TODO


  Commit: 331111277a3e80aedd1a6877524feadfbcb41a88
      https://github.com/llvm/llvm-project/commit/331111277a3e80aedd1a6877524feadfbcb41a88
  Author: Matthias Braun <matze at braunis.de>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/BranchProbabilityInfo.cpp
    M llvm/test/Analysis/BranchProbabilityInfo/basic.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pointer_heuristics.ll
    A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll
    A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/branch-probability-analysis.test
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  Support BranchProbabilityInfo in update_analyze_test_checks.py (#72943)

- Change `BranchProbabilityPrinterPass` output to match expectations of `update_analyze_test_checks.py`.
- Add `Branch Probability Analysis` to list of supported analyses.
- Process `llvm/test/Analysis/BranchProbabilityInfo/basic.ll` with `update_analyze_test_checks.py` as proof of concept. Leaving the other tests unchanged to reduce the amount of churn.


  Commit: 42d484082cd190400e0e493a8d679762ce0efbba
      https://github.com/llvm/llvm-project/commit/42d484082cd190400e0e493a8d679762ce0efbba
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86InstrControl.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    A llvm/test/MC/Disassembler/X86/apx/jmpabs.txt
    A llvm/test/MC/X86/apx/jmpabs-att.s
    A llvm/test/MC/X86/apx/jmpabs-intel.s
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [X86][MC] Support encoding/decoding for JMPABS (#72835)

JMPABS is a 64-bit only ISA extension, and acts as a near-direct branch
with an absolute target. The 64-bit immediate operand is treated an as
absolute effective address, which is subject to canonicality checks. It
is in legacy map 0 and requires REX2 prefix with `REX2.M0=0` and
`REX2.W=0`. All other REX2 payload bits are ignored.

blog: https://kanrobert.github.io/rfc/All-about-APX-JMPABS/

This patch
1. Extends `ExplicitVEXPrefix` to `ExplicitOpPrefix` for instrcutions
requires explicit `REX2` or `EVEX`
2. Adds `ATTR_REX2` and `IC_64BIT_REX2` to put `JMPABS` , `MOV EAX,
moffs32` in different tables to avoid opcode conflict

NOTE:
1. `ExplicitREX2Prefix` can be reused by the following PUSHP/POPP
instructions.
2. `ExplicitEVEXPrefix` will be used by the instructions promoted to
EVEX space for EGPR.


  Commit: 3af586f797523243d651d13f40bbc6c8771a5b5a
      https://github.com/llvm/llvm-project/commit/3af586f797523243d651d13f40bbc6c8771a5b5a
  Author: Ho Cheung <17492865+gz83 at users.noreply.github.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileReader.cpp

  Log Message:
  -----------
  [BOLT] Fix type mismatch error (#73016)

Fix build issue on Windows.

Fixes #73006


  Commit: 2c875719c841ff13b9b250e6ea97fc3e0aca2070
      https://github.com/llvm/llvm-project/commit/2c875719c841ff13b9b250e6ea97fc3e0aca2070
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c

  Log Message:
  -----------
  [test][hwasan] Deflake release-shadow.c

kNumShadowPages=1024 helps to pass it consistenly (10k runs).
But to be sure also changing success condition to 8 out of 10.


  Commit: 1fad78b123d20db675d339053e4265aceb07c4af
      https://github.com/llvm/llvm-project/commit/1fad78b123d20db675d339053e4265aceb07c4af
  Author: Yuxuan Chen <yuxuanchen1997 at outlook.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGCoroutine.cpp
    A clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp

  Log Message:
  -----------
  [Clang][Coroutines] Properly emit EH code for initial suspend `await_resume`  (#73073)

This change aims to fix an ICE in issue
https://github.com/llvm/llvm-project/issues/63803

The crash happens in `ExitCXXTryStmt` because `EmitAnyExpr()` adds
additional cleanup to the `EHScopeStack`. This messes up the assumption
in `ExitCXXTryStmt` that the top of the stack should be a
`EHCatchScope`.

However, since we never read a value returned from `await_resume()` of
an init suspend, we can skip the part that builds this `RValue`.

The code here may not be in the best shape. There's another bug that
`memberCallExpressionCanThrow` doesn't work on the current Expr due to
type mismatch. I am preparing a separate PR to address it plus some
refactoring might be beneficial.


  Commit: 9a6452377ba56f835f5071c3c94d859b62da0c99
      https://github.com/llvm/llvm-project/commit/9a6452377ba56f835f5071c3c94d859b62da0c99
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-21 (Tue, 21 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbs.ll

  Log Message:
  -----------
  [RISCV] Add more Zbs patterns for -riscv-experimental-rv64-legal-i32.


  Commit: 06e733b198696b31285acbf359753c62e7ad06fd
      https://github.com/llvm/llvm-project/commit/06e733b198696b31285acbf359753c62e7ad06fd
  Author: Zi Xuan Wu (Zeson) <zixuan.wu at linux.alibaba.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Fix the order of arguments of setTruncStoreAction and setLoadExtAction (#73090)

The first argument of setTruncStoreAction/setLoadExtAction should be
Value VT instead of Memory VT.


  Commit: 03f05a4e72891237264ab48adf62034aaac8bd46
      https://github.com/llvm/llvm-project/commit/03f05a4e72891237264ab48adf62034aaac8bd46
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/Dominators.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/IR/Dominators.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp

  Log Message:
  -----------
  [IR] Don't include GenericDomTreeConstruction.h in header (NFC)

The whole point of the GenericDomTree.h vs
GenericDomTreeConstruction.h distinction is that the latter only
needs to be included in the source file and not the header.


  Commit: 81b7f115fb272ef6fd6967f4121b64814b4bcf10
      https://github.com/llvm/llvm-project/commit/81b7f115fb272ef6fd6967f4121b64814b4bcf10
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/LowLevelType.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/Local.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/StackProtector.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    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/R600TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/DirectX/CBufferDataLayout.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/VE/VETargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/Support/TypeSizeTest.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp

  Log Message:
  -----------
  [llvm][TypeSize] Fix addition/subtraction in TypeSize. (#72979)

It seems TypeSize is currently broken in the sense that:

  TypeSize::Fixed(4) + TypeSize::Scalable(4) => TypeSize::Fixed(8)

without failing its assert that explicitly tests for this case:

  assert(LHS.Scalable == RHS.Scalable && ...);

The reason this fails is that `Scalable` is a static method of class
TypeSize,
and LHS and RHS are both objects of class TypeSize. So this is
evaluating
if the pointer to the function Scalable == the pointer to the function
Scalable,
which is always true because LHS and RHS have the same class.

This patch fixes the issue by renaming `TypeSize::Scalable` ->
`TypeSize::getScalable`, as well as `TypeSize::Fixed` to
`TypeSize::getFixed`,
so that it no longer clashes with the variable in
FixedOrScalableQuantity.

The new methods now also better match the coding standard, which
specifies that:
* Variable names should be nouns (as they represent state)
* Function names should be verb phrases (as they represent actions)


  Commit: 21646789497346a1a8dabb4b369e12db482b4daa
      https://github.com/llvm/llvm-project/commit/21646789497346a1a8dabb4b369e12db482b4daa
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [mlir] Fix a few more TypeSize::Fixed->TypeSize::getFixed following #72979.


  Commit: 74cdb8e6f8c88b97204f540601a553b412d1cd56
      https://github.com/llvm/llvm-project/commit/74cdb8e6f8c88b97204f540601a553b412d1cd56
  Author: simpal01 <55694978+simpal01 at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
    A llvm/test/CodeGen/ARM/arm-v8.1m-check-mve-extension.ll
    A llvm/test/MC/ARM/arm-v8.1m-check-mve-extension.s

  Log Message:
  -----------
  [llvm][ARM] Emit MVE .arch_extension after .fpu directive if it does not include MVE features (#71545)

The floating-point and MVE features together specify the MVE
functionality that is supported on the Cortex-M85 processor. But the FPU
extension for the underlying architecture(armv8.1-m.main) is FPV5 which
does not include MVE-F. So Compiler's -S output and `-save-temps=obj`
loses MVE feature which leads to assembler error. What happening here is
.fpu directive overrides any previously set features by .cpu directive.
Since the the corresponding .fpu generated (.fpu fpv5-d16) does not
include MVE-F, it overrides those features even though it is supported
and set by the .cpu directive. Looks like .fpu is supposed to do this.

In this case, there should be an .arch_extension directive re-enabling
the relevant extensions after .fpu if the goal is to keep these
extensions enabled. GCC also does the same.

So this patch enables the MVE features by emitting the below arch
extension:
  .fpu fpv5-d16
  .arch_extension mve.fp

---------

Co-authored-by: Simi Pallipurath <simi.pallipurath.com>


  Commit: 510fb8711e9ad68afdf2b9ef0f2bbf312bf9ccf5
      https://github.com/llvm/llvm-project/commit/510fb8711e9ad68afdf2b9ef0f2bbf312bf9ccf5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Value.cpp

  Log Message:
  -----------
  [IR][TLI] Cache getLibFunc() result on Function (NFC) (#72867)

Cache the result of the TLI libfunc lookup in the Function object. This
only caches the actual lookup of the LibFunc in the TLI map, but not the
prototype validation, as that might differ between different TLI
instances.

This uses the existing mechanism for invalidating the intrinsic ID when
the function name changes. The libfunc will be invalidated in that case
as well.

I don't believe this increases the size of Function on 64bit (which
currently has a trailing `bool` member), and I don't think we would
particularly care if it did, as Functions are uncommon as Values go.


  Commit: 2e09ea65c4f9e458ffb31fe63d84a4991704f9e6
      https://github.com/llvm/llvm-project/commit/2e09ea65c4f9e458ffb31fe63d84a4991704f9e6
  Author: Jonas Paulsson <151035182+JonPsson1 at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    A clang/test/Driver/systemz-alignment.c

  Log Message:
  -----------
  [clang] Ensure minimal alignment of global vars of incomplete type. (#72886)

The SystemZ ABI requires any global variable to be aligned to at least 2
bytes, and therefore an external global Value with an opaque type should
get this alignment as well.


  Commit: 2fb51fba8ca904a6d3ddf30ae94228ecf9e6a231
      https://github.com/llvm/llvm-project/commit/2fb51fba8ca904a6d3ddf30ae94228ecf9e6a231
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    A llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
    A llvm/test/Transforms/FunctionSpecialization/phi-nodes-can-constfold.ll
    A llvm/test/Transforms/FunctionSpecialization/phi-nodes-non-constfoldable.ll

  Log Message:
  -----------
  [FuncSpec] Update function specialization to handle phi-chains (#72903)

When using the LLVM flang compiler with alias analysis (AA) enabled,
SPEC2017:548.exchange2_r was running significantly slower than wihtout
the AA.

This was caused by the GVN pass replacing many of the loads in the
pre-AA code with phi-nodes that form a long chain of dependencies, which
the function specialization was unable to follow.

This adds a function to discover phi-nodes in a transitive set, with
some limitations to avoid spending ages analysing phi-nodes.

The minimum latency savings also had to be lowered - fewer load
instructions means less saving.

Adding some more prints to help debugging the isProfitable decision.

No significant change in compile time or generated code-size.

(A previous attempt to fix this was abandoned: https://github.com/llvm/llvm-project/pull/71442)

---------

Co-authored-by: Alexandros Lamprineas <alexandros.lamprineas at arm.com>


  Commit: cfad8bf5098c051924040703ac3c6c2e65b21f6a
      https://github.com/llvm/llvm-project/commit/cfad8bf5098c051924040703ac3c6c2e65b21f6a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [DomTree] Remove unnecessary check (NFC)

ReverseChildren is populated during runDFS() with reachable nodes
only. This check dates back to a time when this code used
inverse_children<> directly, which could indeed contain unreachable
nodes.


  Commit: b3a9e8f7c0afb00147ab6c6a6ad426de149420dd
      https://github.com/llvm/llvm-project/commit/b3a9e8f7c0afb00147ab6c6a6ad426de149420dd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/PowerPC/interleaved-pointer-runtime-check-unprofitable.ll

  Log Message:
  -----------
  [LV] Reduce memory-check-threshold for test to preserve original test.

Future patches will remove some redundant instructions for runtime
checks, which brings this test case slightly below the default limit of
128. Force a lower limit to preserve the original spirit of the test
(checking that no interleaving happens if the number of checks is
above he threshold)


  Commit: 95828eed41a678818a5f51b39a8d93a82ad36db7
      https://github.com/llvm/llvm-project/commit/95828eed41a678818a5f51b39a8d93a82ad36db7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineFaddCFmul - use KnownBits to detect FNEG patterns.

We currently look for X86ISD::VBROADCAST_LOAD patterns, but this won't work with a future patch which will improve sharing of constant pool loads.


  Commit: 956cf0e5de4b816ccba64206ead8bc2d4fd22158
      https://github.com/llvm/llvm-project/commit/956cf0e5de4b816ccba64206ead8bc2d4fd22158
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [flang][OpenMP] Fix min reduction initialization (#73102)

Initialization of reduction variable for min-reduction is set to largest
negative value. As such, in presence of non-negative operands, min
reduction gives incorrect output. This patch initialises min-reduction
to use the maximum positive value instead, so that it can produce
correct output for the entire range of real valued operands.

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


  Commit: de7fbfeef5984ed3dc178957fbfaf4b1bb95fa94
      https://github.com/llvm/llvm-project/commit/de7fbfeef5984ed3dc178957fbfaf4b1bb95fa94
  Author: Hui <hui.xie0621 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    M libcxx/include/atomic
    A libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/copy.compile.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Floating Point Atomic (#67799)

- implement P0020R6 Floating Point Atomic

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


  Commit: fbfd2c9972695bc74a646bfa5e3e2d00477dabe2
      https://github.com/llvm/llvm-project/commit/fbfd2c9972695bc74a646bfa5e3e2d00477dabe2
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/SemaCXX/coro-lifetimebound.cpp

  Log Message:
  -----------
  [coroutines] Introduce [[clang::coro_lifetimebound]] (#72851)

Adds attribute `[[clang::coro_lifetimebound]]`.

All arguments to a function are considered to be **lifetime bound** if
the function
returns a type annotated with ``[[clang::coro_lifetimebound]]`` and
``[[clang::coro_return_type]]``.


  Commit: 9b20af165138f94ea9ca67d2a04df657d870aa88
      https://github.com/llvm/llvm-project/commit/9b20af165138f94ea9ca67d2a04df657d870aa88
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll

  Log Message:
  -----------
  [LV] Add test with a number of redundant runtime check instructions.

Add a test case where many runtime check instructions can be simplified.


  Commit: eed17dcf76b5aea30348a515e9fddd0789fec054
      https://github.com/llvm/llvm-project/commit/eed17dcf76b5aea30348a515e9fddd0789fec054
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix lowering of tosa.matmul with dynamic outputs (#72724)

The existing lowering of tosa.matmul will construct illegal tensor.empty
operations when the output type is more dynamic than the input types.

%0 = tosa.matmul %arg0, %arg1 : (tensor<1x1x8xf32>, tensor<1x8x1xf32>)
-> tensor<?x1x1xf32>

When constructing the tensor.empty operation, consult the output type
rather than the input types to decide whether a dimension is dynamic.


  Commit: 32d1197a8faf4c04df5fcd6c0588aa288bc42e35
      https://github.com/llvm/llvm-project/commit/32d1197a8faf4c04df5fcd6c0588aa288bc42e35
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll

  Log Message:
  -----------
  [LV] Use SCEV for subtraction of src/sink for diff runtime checks.

Instead of expanding the src/sink SCEV expressions and emitting an IR
sub to compute the difference, the subtraction can be directly be
performed by ScalarEvolution. This allows the subtraction to be
simplified by SCEV, which in turn can reduced the number of redundant
runtime check instructions generated.

It also allows to generate checks that are invariant w.r.t. an outer
loop, if he inner loop AddRecs have the same outer loop AddRec as start.


  Commit: b810b668172a25a9ccc716fa216646558f126847
      https://github.com/llvm/llvm-project/commit/b810b668172a25a9ccc716fa216646558f126847
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineFMulcFCMulc - use KnownBits to detect conjugate patterns.

We currently look for X86ISD::VBROADCAST_LOAD patterns, but this won't work with a future patch which will improve sharing of constant pool loads.


  Commit: ea47887e6f5fd2e394c7196203322be69ea142f9
      https://github.com/llvm/llvm-project/commit/ea47887e6f5fd2e394c7196203322be69ea142f9
  Author: Rafael Ubal <rubal at mathworks.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  Fix for TOSA-to-linalg lowering of tosa.transpose op (#72698)

The TOSA-to-linalg conversion of `tosa.transpose` contains a bug in the
computation of the result tensor shape when using dynamic dimensions.
This bug may have widespread implications in projects such as
Tensorflow, where `tosa.transpose` is frequently generated.

Consider the following TOSA code using only static dimensions. The code
transposes a tensor of shape 10x11x12 into 12x10x11 by permuting
dimensions [2, 0, 1] into [0, 1, 2].
 
```
func.func @test_tosa_transpose(%input: tensor<10x11x12xf32>) -> tensor<12x10x11xf32> {
  %perms = "tosa.const"() <{value = dense<[2, 0, 1]> : tensor<3xi32>}> : () -> tensor<3xi32>
  %transposed = "tosa.transpose"(%input, %perms) : (tensor<10x11x12xf32>, tensor<3xi32>) -> tensor<12x10x11xf32>
  return %transposed : tensor<12x10x11xf32>
}
```
 
The code is correctly lowered to:
 
```
#map = affine_map<(d0, d1, d2) -> (d1, d2, d0)>
#map1 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module {
  func.func @test_tosa_transpose(%arg0: tensor<10x11x12xf32>) -> tensor<12x10x11xf32> {
    %empty = tensor.empty() : tensor<12x10x11xf32>
    %transposed = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg0 : tensor<10x11x12xf32>) outs(%empty : tensor<12x10x11xf32>) {
    ^bb0(%in: f32, %out: f32):
      linalg.yield %in : f32
    } -> tensor<12x10x11xf32>
    return %transposed : tensor<12x10x11xf32>
  }
}
```
 
Now let's make all dimensions dynamic in the TOSA code:
 
```
func.func @test_tosa_transpose(%input: tensor<?x?x?xf32>) -> tensor<?x?x?xf32> {
  %perms = "tosa.const"() <{value = dense<[2, 0, 1]> : tensor<3xi32>}> : () -> tensor<3xi32>
  %transposed = "tosa.transpose"(%input, %perms) : (tensor<?x?x?xf32>, tensor<3xi32>) -> tensor<?x?x?xf32>
  return %transposed : tensor<?x?x?xf32>
}
```
 
The `tensor.empty()` op now needs additional information about the size
of the output tensor, which is computed dynamically with a set of
`tensor.dim` ops. The comments below assume an input tensor of size
10x11x12, as before. The code is lowered as:
 
```
#map = affine_map<(d0, d1, d2) -> (d1, d2, d0)>
#map1 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module {
  func.func @test_tosa_transpose(%arg0: tensor<?x?x?xf32>) -> tensor<?x?x?xf32> {
    %c0 = arith.constant 0 : index
    %c1 = arith.constant 1 : index
    %c2 = arith.constant 2 : index
 
    %arg0_dim0 = tensor.dim %arg0, %c0 : tensor<?x?x?xf32>   // Evaluates to 10
    %arg0_dim1 = tensor.dim %arg0, %c1 : tensor<?x?x?xf32>   // Evaluates to 11
    %arg0_dim2 = tensor.dim %arg0, %c2 : tensor<?x?x?xf32>   // Evaluates to 12
 
    %empty = tensor.empty(%arg0_dim1, %arg0_dim2, %arg0_dim0) : tensor<?x?x?xf32>   // Output of type tensor<11x12x10>  WRONG!
    %transposed = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg0 : tensor<?x?x?xf32>) outs(%empty : tensor<?x?x?xf32>) {
    ^bb0(%in: f32, %out: f32):
      linalg.yield %in : f32
    } -> tensor<?x?x?xf32>
    return %transposed : tensor<?x?x?xf32>
  }
}
```
 
The output tensor shape is dynamically computed as 11x12x10 instead of
12x10x11. Since the total size of the output tensor is still the same,
the code does not segfault after bufferization. However, index
computations are invalid and lead to SWAs.


  Commit: 22d05acc9040acbddbdaf0922edf424ab183d056
      https://github.com/llvm/llvm-project/commit/22d05acc9040acbddbdaf0922edf424ab183d056
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/test/Dialect/Tosa/ops.mlir

  Log Message:
  -----------
  [Tosa] Add local_bound attribute (#73001)

This adds an optional bool attribute, local_bound, with default false,
to following ops per TOSA spec 0.90:
  CONV2D
  CONV3D
  DEPTHWISE_CONV2D
  FFT2D
  RFFT2D
  TRANSPOSE_CONV2D

also added tests in ops.mlir to validate this attribute is optional

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 55f067f3bafac284ff0c8e259af01b1202de94d1
      https://github.com/llvm/llvm-project/commit/55f067f3bafac284ff0c8e259af01b1202de94d1
  Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmlsl.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
    M llvm/test/MC/AArch64/SVE2p1/bfadd.s
    M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
    M llvm/test/MC/AArch64/SVE2p1/bfmax.s
    M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
    M llvm/test/MC/AArch64/SVE2p1/bfmin.s
    M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
    M llvm/test/MC/AArch64/SVE2p1/bfmla.s
    M llvm/test/MC/AArch64/SVE2p1/bfmls.s
    M llvm/test/MC/AArch64/SVE2p1/bfmul.s
    M llvm/test/MC/AArch64/SVE2p1/bfsub.s
    M llvm/test/MC/AArch64/SVE2p1/ld1d_q.s
    M llvm/test/MC/AArch64/SVE2p1/ld1w_q.s
    M llvm/test/MC/AArch64/SVE2p1/st1d_q.s
    M llvm/test/MC/AArch64/SVE2p1/st1w_q.s

  Log Message:
  -----------
  Revert "Revert "[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang an… (#73110)

…d LLVM intrinisc (#70362)""

This reverts commit e1ee0e85104eed2c68b6821d9e5a2066e4154099.

The patch https://github.com/llvm/llvm-project/pull/70362 had a test in
LLDB failing. The Feature sve2p1 in AArch64InstrInfo.td uses
AssemblerPredicate instead of AssemblerPredicateWithAll This patch adds
again PR #70362 with the fix in the AArch64InstrInfo.td.


  Commit: dff97c1e4c30183dbd056c6a648b17f2cc87c972
      https://github.com/llvm/llvm-project/commit/dff97c1e4c30183dbd056c6a648b17f2cc87c972
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    A mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Transforms.h
    A mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    A mlir/lib/Conversion/ArmSMEToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp
    M mlir/test/Dialect/ArmSME/arm-sme-to-llvm-casts.mlir
    M mlir/test/Dialect/ArmSME/arm-sme-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
    M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Move ArmSME -> intrinsics lowerings to `convert-arm-sme-to-llvm` pass (#72890)

This gives more flexibility with when these lowerings are performed,
without also lowering unrelated vector ops.

This is a NFC (other than adding a new `-convert-arm-sme-to-llvm` pass)


  Commit: fa1e49cf3785bab01c902063e013b2305630417f
      https://github.com/llvm/llvm-project/commit/fa1e49cf3785bab01c902063e013b2305630417f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libc/test/src/math/smoke/CMakeLists.txt

  Log Message:
  -----------
  [libc] Disable nexttoward tests on the GPU

Summary:

These tests are currently failing for some reason. A lot of math tests
on the GPU are disabled temporarily and need to be fixed.


  Commit: e5cc3da6a9077548f613eee3aacc5e7b017c81f3
      https://github.com/llvm/llvm-project/commit/e5cc3da6a9077548f613eee3aacc5e7b017c81f3
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [X86][AVX10] Add no-evex512 for MMX intrinsics, NFCI

Some MMX intrinsics like _mm_setzero_si64 will be called by XMM
intrinsics, so need to propagate no-evex512 there.

Checked locally with a lot of modified tests and no side effect with
this change. No extra test needed for the update.


  Commit: 2b0b0ad7e760e30b66cebfc994d0eb64de8846ad
      https://github.com/llvm/llvm-project/commit/2b0b0ad7e760e30b66cebfc994d0eb64de8846ad
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [Bazel] Fixes for dff97c1e4c30183dbd056c6a648b17f2cc87c972


  Commit: ed5404cd6b20ef6b54ef713399f03857990861a8
      https://github.com/llvm/llvm-project/commit/ed5404cd6b20ef6b54ef713399f03857990861a8
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll

  Log Message:
  -----------
  [AArch64] Add quadword gather load/scatter store intrinsics with unscaled vector offset (#71290)

This patch add intrinsics of the form
   
sv<type>_t svld1q_gather_u64offset_<typ>(svbool_t pg, const <type>_t *base, svuint64_t offs);
void svst1q_scatter_u64offset_<typ>(sbvool_t, <type>_t *base, svuint64_t offst, sv<type>_t data);

as well as their short forms.

ACLE spec: ARM-software/acle#257


  Commit: 9ceea088592ebaafed8eaccfc236a0ec284655ce
      https://github.com/llvm/llvm-project/commit/9ceea088592ebaafed8eaccfc236a0ec284655ce
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir

  Log Message:
  -----------
  [mlir] `im2col` & `l2cache` on cp.async.bulk.tensor.shared.cluster.global` (#72967)

PR adds support of `im2col` and `l2cache` to
`cp.async.bulk.tensor.shared.cluster.global`. The Op is now supports all
the traits of the corresponding PTX instruction.

The current structure of this operation looks somewhat like below. The
PR also simplifies types so we don't need to write obvious types after
`:` anymore.
```
nvvm.cp.async.bulk.tensor.shared.cluster.global
		%dest, %tmaDescriptor, %barrier,
		box[%crd0,%crd1,%crd2,%crd3,%crd4]
		im2col[%off0,%off1,%off2] 			<-- PR introduces
		multicast_mask = %ctamask
		l2_cache_hint = %cacheHint			<-- PR introduces
		: !llvm.ptr<3>, !llvm.ptr
```


  Commit: 64c0e86c9e07bd65ac7c584ca2e97769852616a5
      https://github.com/llvm/llvm-project/commit/64c0e86c9e07bd65ac7c584ca2e97769852616a5
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.h

  Log Message:
  -----------
  [Driver] Simply some gcc search logic (#72558)


  Commit: c1146f306d2b924449d2b60943ec6fff1efa785d
      https://github.com/llvm/llvm-project/commit/c1146f306d2b924449d2b60943ec6fff1efa785d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    M llvm/test/Transforms/LCSSA/rewrite-existing-dbg-values.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Handle DPValues in LCSSA (#72996)

LCSSA needs to manually update dbg.value intrinsic users of Values that
are having LCSSA PHIs inserted -- instrument it to do the same for
DPValues, the replacement for dbg.values.

This patch also contains an opportunistic fix replacing
instruction-insertion with iterator-insertion, necessary for
communicating debug-info in the future.


  Commit: 06e113af4c3bdad8a7ffc389922285ebb65f332a
      https://github.com/llvm/llvm-project/commit/06e113af4c3bdad8a7ffc389922285ebb65f332a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll

  Log Message:
  -----------
  [mlgo] Fix test post 42d484082cd190400e0e493a8d679762ce0efbba

The opcodes got bumped, and an expected 1299 became 1300.


  Commit: 8c02b34e3b9b1e2596651959ba76c66a7afaf545
      https://github.com/llvm/llvm-project/commit/8c02b34e3b9b1e2596651959ba76c66a7afaf545
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Minor refactoring of Reduction lowering code (#70790)

Move reduction lowering code into a ReductionProcessor class. Create an
enumeration for Intrinsic Procedure reductions.


  Commit: d33bad66d86a6fdb443c59561f9524f451a82db0
      https://github.com/llvm/llvm-project/commit/d33bad66d86a6fdb443c59561f9524f451a82db0
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    A mlir/test/Dialect/Vector/chained-vector-reduction-folding.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Add patterns to simplify chained reductions (#73048)

Chained reductions get created during vector unrolling. These patterns
simplify them into a series of adds followed by a final reductions.

This is preferred on GPU targets like SPIR-V/Vulkan where vector
reduction gets lowered into subgroup operations that are generally more
expensive than simple vector additions.

For now, only the `add` combining kind is handled.


  Commit: c4c59192e6e913dcb0c68ad1632efb277d329cc7
      https://github.com/llvm/llvm-project/commit/c4c59192e6e913dcb0c68ad1632efb277d329cc7
  Author: martinboehme <mboehme at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Clear `ExprToLoc` and `ExprToVal` at the start of a block. (#72985)

We never need to access entries from these maps outside of the current
basic
block. This could only ever become a consideration when flow control
happens
inside a full-expression (i.e. we have multiple basic blocks for a full
expression); there are two kinds of expression where this can happen,
but we
already deal with these in other ways:

* Short-circuiting logical operators (`&&` and `||`) have operands that
live in
different basic blocks than the operator itself, but we already have
code in
the framework to retrieve the value of these operands from the
environment
for the block they are computed in, rather than in the environment of
the
   block containing the operator.

* The conditional operator similarly has operands that live in different
basic
blocks. However, we currently don't implement a transfer function for
the
conditional operator. When we do this, we need to retrieve the values of
the
operands from the environments of the basic blocks they live in, as we
already do for logical operators. This patch adds a comment to this
effect
   to the code.

Clearing out `ExprToLoc` and `ExprToVal` has two benefits:

* We avoid performing joins on boolean expressions contained in
`ExprToVal` and
hence extending the flow condition in cases where this is not needed.
Simpler
flow conditions should reduce the amount of work we do in the SAT
solver.

* Debugging becomes easier when flow conditions are simpler and
`ExprToLoc` /
  `ExprToVal` don’t contain any extraneous entries.

Benchmark results on Crubit's `pointer_nullability_analysis_benchmark
show a
slight runtime increase for simple benchmarks, offset by substantial
runtime
reductions for more complex benchmarks:

```
name                              old cpu/op   new cpu/op   delta
BM_PointerAnalysisCopyPointer     29.8µs ± 1%  29.9µs ± 4%     ~     (p=0.879 n=46+49)
BM_PointerAnalysisIntLoop          101µs ± 3%   104µs ± 4%   +2.96%  (p=0.000 n=55+57)
BM_PointerAnalysisPointerLoop      378µs ± 3%   245µs ± 3%  -35.09%  (p=0.000 n=47+55)
BM_PointerAnalysisBranch           118µs ± 2%   122µs ± 3%   +3.37%  (p=0.000 n=59+59)
BM_PointerAnalysisLoopAndBranch    779µs ± 3%   413µs ± 5%  -47.01%  (p=0.000 n=56+45)
BM_PointerAnalysisTwoLoops         187µs ± 3%   192µs ± 5%   +2.80%  (p=0.000 n=57+58)
BM_PointerAnalysisJoinFilePath    17.4ms ± 3%   7.2ms ± 3%  -58.75%  (p=0.000 n=58+57)
BM_PointerAnalysisCallInLoop      14.7ms ± 4%  10.3ms ± 2%  -29.87%  (p=0.000 n=56+58)
```


  Commit: f12be145ecceaf874fb1430f68fc13118d243833
      https://github.com/llvm/llvm-project/commit/f12be145ecceaf874fb1430f68fc13118d243833
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libc/src/__support/char_vector.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Enable __support tests (#73125)


  Commit: c2b3f16fb595fa88bfd21b455785c59ac6a21ed4
      https://github.com/llvm/llvm-project/commit/c2b3f16fb595fa88bfd21b455785c59ac6a21ed4
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  Revert "[Flang][OpenMP] NFC: Minor refactoring of Reduction lowering code" (#73139)

Reverts llvm/llvm-project#70790 to fix CI failure
(https://lab.llvm.org/buildbot/#/builders/268/builds/2884)


  Commit: cae46f6210293ba4d3568eb21b935d438934290d
      https://github.com/llvm/llvm-project/commit/cae46f6210293ba4d3568eb21b935d438934290d
  Author: Vettel <924105575 at qq.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/RISCV/machine-cp.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/X86/shift-i128.ll
    M llvm/test/CodeGen/X86/shift-i256.ll
    M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll

  Log Message:
  -----------
  [MCP] Enhance MCP copy Instruction removal for special case (#70778)

Machine Copy Propagation Pass may lose some opportunities to further
remove the redundant copy instructions during the ForwardCopyPropagateBlock
procedure. When we Clobber a "Def" register, we also need to remove the record 
from the copy maps that indicates "Src" defined "Def" to ensure the correct semantics
of the ClobberRegister function.

For more information, please see the C++ test case generated code in 
"vector.body" after the MCP Pass: https://gcc.godbolt.org/z/nK4oMaWv5.


  Commit: 369c0eb55be9d07557afd1a82df4c1635c546b4c
      https://github.com/llvm/llvm-project/commit/369c0eb55be9d07557afd1a82df4c1635c546b4c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Use SmallVector instead of std::vector and remove unused
includes, NFC.


  Commit: a842430c20f1dbeec552af09612dd6073785a005
      https://github.com/llvm/llvm-project/commit/a842430c20f1dbeec552af09612dd6073785a005
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/emit-prologue-clobber-verification.mir
    M llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
    A llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll

  Log Message:
  -----------
  [AArch64] Add check that prologue insertion doesn't clobber live regs. (#71826)

This patch extends AArch64FrameLowering::emitProglogue to check if the
inserted prologue clobbers live registers.

It updates `llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir`
with an extra load to make x9 live before the store, preserving the
original test.

It uses the original
`llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir` as
`llvm/test/CodeGen/AArch64/emit-prologue-clobber-verification.mir`,
because there x9 is marked as live on entry, but used as scratch reg as
it is not callee saved.

The new assertion catches a mis-compile in
`store-swift-async-context-clobber-live-reg.ll` on
https://github.com/apple/llvm-project/tree/next


  Commit: e07fec10ac208c2868a24c5c0be88e45778b297e
      https://github.com/llvm/llvm-project/commit/e07fec10ac208c2868a24c5c0be88e45778b297e
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M flang/include/flang/Lower/BoxAnalyzer.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertProcedureDesignator.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    A flang/test/Lower/HLFIR/procedure-pointer.f90

  Log Message:
  -----------
  [Flang] Add partial support for lowering procedure pointer assignment. (#70461)

**Scope of the PR:**
1. Lowering global and local procedure pointer declaration statement
with explicit or implicit interface. The explicit interface can be from
an interface block, a module procedure or an internal procedure.
2. Lowering procedure pointer assignment, where the target procedure
could be external, module or internal procedures.
3. Lowering reference to procedure pointers so that it works end to end.

**PR notes:**
1. The first commit of the PR does not include testing. I would like to
collect some comments first, which may alter the output. Once I confirm
the implementation, I will add some testing as a follow up commit to
this PR.
2. No special handling of the host-associated entities when an internal
procedure is the target of a procedure pointer assignment in this PR.

**Implementation notes:**
1. The implementation is using the HLFIR path.
2. Flang currently uses `getUntypedBoxProcType` to get the
`fir::BoxProcType` for `ProcedureDesignator` when getting the address of
a procedure in order to pass it as an actual argument. This PR inherits
the same design decision for procedure pointer as the `fir::StoreOp`
requires the same memory type.


  Commit: 1dd387e10624ece478759ec95c18545d051b7dbe
      https://github.com/llvm/llvm-project/commit/1dd387e10624ece478759ec95c18545d051b7dbe
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp

  Log Message:
  -----------
  [mlir][sparse] change dim level type -> level type (#73058)

The "dimension" before "level" does not really make sense Note that
renaming the actual type DimLevelType to LevelType is still TBD, since
this is an externally visible change (e.g. visible to Python API).


  Commit: 32903b0b6dbbb1ca90a39df18a9816fa20bdb214
      https://github.com/llvm/llvm-project/commit/32903b0b6dbbb1ca90a39df18a9816fa20bdb214
  Author: LWenH <924105575 at qq.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
    M llvm/test/CodeGen/PowerPC/mma-outer-product.ll

  Log Message:
  -----------
  [MCP] fix PowerPC redundant copy instructions removal fail test cases, NFC


  Commit: 3e28e1ec56c72c5f401fcc76f5590ece692d2425
      https://github.com/llvm/llvm-project/commit/3e28e1ec56c72c5f401fcc76f5590ece692d2425
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [code-format] Also include libc++ extensionless headers and .inc and .cppm (#73142)

These headers were skipped by the job because they didn't have an
extension. However, such headers are extremely common in libc++.

As a drive-by change, also include `.cppm` and `.inc` extensions since
those are also common in libc++.


  Commit: 1822bc15cb378458e942e405ae7da32ee75b8c5b
      https://github.com/llvm/llvm-project/commit/1822bc15cb378458e942e405ae7da32ee75b8c5b
  Author: nicole mazzuca <nicole at strega-nil.co>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M compiler-rt/include/sanitizer/common_interface_defs.h
    A compiler-rt/test/asan/TestCases/Windows/msvc/gz.cpp

  Log Message:
  -----------
  Remove `__cdecl` from _ReturnAddress (#72919)

As an intrinsic, `_ReturnAddress` does not need it; additionally,
if someone else declares `_ReturnAddress` without `__cdecl` (for
example, `<intrin.h>`)

Additionally, actually add a test for this change. I've tested it
locally with both LLVM and MSVC.


  Commit: 1cd682f26bfe63e65683b0e68d75207852a67b35
      https://github.com/llvm/llvm-project/commit/1cd682f26bfe63e65683b0e68d75207852a67b35
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

  Log Message:
  -----------
  Sink variable into #ifndef NDEBUG where it is used

(addresses -Wunused-variable warning)


  Commit: 9be9f622bfd62e4cdceb48f19a882067d8a03587
      https://github.com/llvm/llvm-project/commit/9be9f622bfd62e4cdceb48f19a882067d8a03587
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp

  Log Message:
  -----------
  [libc++][test][msan] Fix bots after #67799 (#73152)

This adds a few UNSUPPORTED annotations for tests that hang on some
msan bots:

https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-bootstrap-msan
https://lab.llvm.org/buildbot/#/builders/sanitizer-aarch64-linux-bootstrap-msan

We still haven't figured out the root cause of them hanging on these 
bots but not on the main libc++ CI infra.


  Commit: 61ab43ae00b71b8bd85e07808217e14b4151d2d1
      https://github.com/llvm/llvm-project/commit/61ab43ae00b71b8bd85e07808217e14b4151d2d1
  Author: Davide Italiano <dcci at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    A llvm/test/Transforms/IROutliner/gvn-phi-debug.ll

  Log Message:
  -----------
  [IROutliner] Skip dbg values during the candidate search. (#72945)

dbg value don't really have a value number associated as they have no
semantic value associated, i.e. they don't change the code being
generated. Use the correct API to go over them.

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


  Commit: 12bcd6339d36ab4d3f7b0010a2df87ec81bec986
      https://github.com/llvm/llvm-project/commit/12bcd6339d36ab4d3f7b0010a2df87ec81bec986
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/remark-partial-loads-vectorize.ll

  Log Message:
  -----------
  [SLP]Improve detection of gathered loads, if no other deps are detected.

If the gather node includes ordered loads only partially (not the whole
node consists of loads) and the other gathered scalar are not loads, and
no other dependency from other nodes is found, we still can improve the
cost of gather, if take into account the fact that these loads still can
be vectorized.


  Commit: 5d73c7d1af78379827759dfb57887246e47a503e
      https://github.com/llvm/llvm-project/commit/5d73c7d1af78379827759dfb57887246e47a503e
  Author: bgra8 <32298056+bgra8 at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/variant
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
    M libcxx/test/support/variant_test_helpers.h

  Log Message:
  -----------
  [libc++] Re-introduce special support for narrowing conversions to bool in variant (#73121)

This patch re-introduces special support for narrowing conversions to
bool
in std::variant, which was removed in 170810fca6ee in order to make
libc++
Standards-conforming.

The special support is gated by the
`_LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT`
macro and will be supported for LLVM 18 only as a courtesy to help large
code bases migrate over to the Standard behavior.

---------

Co-authored-by: Bogdan Graur <bgraur at google.com>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 6f0c52e56fb7f237ed8071573ce8a2021b4c7289
      https://github.com/llvm/llvm-project/commit/6f0c52e56fb7f237ed8071573ce8a2021b4c7289
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/include/__atomic/aliases.h
    M libcxx/include/atomic
    M libcxx/test/std/atomics/types.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor atomic_{unsigned,signed}_lock_free (#73041)

Their definition was a bit roundabout and it was actually wrong since
atomic_unsigned_lock_free would be a signed type whenever
__cxx_contention_t is lock free, which is most of the time.

Fixes #72968


  Commit: 23628137ea9e7a2942d6a691ea74a7697564e65b
      https://github.com/llvm/llvm-project/commit/23628137ea9e7a2942d6a691ea74a7697564e65b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [ConstraintElim] Treat ConstantPointerNull as constant offset 0.

Treat ConstantPointerNull (null) as constant offset 0 in the constraint
instead of a variable. This slightly reduces the number of variables. I
was not able to find a test case where this actually caused any changes.


  Commit: 5717236f7e1fde7948569466fa7dfd7c6562f160
      https://github.com/llvm/llvm-project/commit/5717236f7e1fde7948569466fa7dfd7c6562f160
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Fix the condition to include asan_rtl_x86_64.S in libclang_rt.asan_static.a

In a build supporting both i386/x86_64, the condition added by
https://reviews.llvm.org/D149957 caused asan_rtl_x86_64.S not to be
built. Fix it.


  Commit: a9c149df7666bb2f8755794b97573134e5cfeb38
      https://github.com/llvm/llvm-project/commit/a9c149df7666bb2f8755794b97573134e5cfeb38
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst

  Log Message:
  -----------
  [libc++] Document upcoming removal of _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT in LLVM 19


  Commit: 6772c4f2483204fd0bc28717fe63e009e07abaf5
      https://github.com/llvm/llvm-project/commit/6772c4f2483204fd0bc28717fe63e009e07abaf5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/utils/ci/run-buildbot
    R libcxx/utils/data/ignore_format.txt
    R libcxx/utils/generate_ignore_format.sh
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [libc++] Remove the ignore_format.txt file (#73135)

The ignore_format.txt file and the associated checks have been causing a
lot of confusion since we introduced them. Formatting becomes one of the
main hurdle for contributors (especially new contributors), and that is
not great.

The original goal of ignore_format.txt was to enforce clang-format only
in a subset of the files of the project. In practice, we have now
shifted to a model where we have a Github action that checks whether new
code surrounding edits is formatted. In that context, it probably
doesn't make sense to keep having a ignore list for formatting files.

After this patch, the clang-format job will enforce that all new code is
formatted properly, and that all edits to existing files are formatted
properly, regardless of which files the edits are in. This seems
reasonable and I believe will lead to much less confusion than our
current setup.

In the future, we could consider clang-formatting the whole code base
once and for all but this requires a bit of upfront technical work to
put in place a merge driver to help resolve merge conflicts across
formatting changes.


  Commit: aba040182a5cf4d22c28b406ad11507bcfdf75ef
      https://github.com/llvm/llvm-project/commit/aba040182a5cf4d22c28b406ad11507bcfdf75ef
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
    M llvm/lib/Transforms/Utils/SanitizerStats.cpp

  Log Message:
  -----------
  [IR] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC (#73154)


  Commit: 53f912480f7fab5ee903d76fd5c7aed5df88eea4
      https://github.com/llvm/llvm-project/commit/53f912480f7fab5ee903d76fd5c7aed5df88eea4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Remove extra unused vars, add TODO, NFC.


  Commit: 575c9bf940e584d4928272ce8a87fe71cca50840
      https://github.com/llvm/llvm-project/commit/575c9bf940e584d4928272ce8a87fe71cca50840
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenACC/acc-loop.f90

  Log Message:
  -----------
  [flang][openacc] Avoid crash when collapse loop nest has extra directive (#73166)

The compiler was crashing when the collapse loop nest could not be
retrieved because of extra acc loop directive inside it.


  Commit: 04016684830e10a2267257e5fb4cb28a197ed022
      https://github.com/llvm/llvm-project/commit/04016684830e10a2267257e5fb4cb28a197ed022
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/transform-ops.mlir

  Log Message:
  -----------
  [mlir] Fix `TileUsingForOp` attr-dict printing/parsing (#72745)

`TileUsingForOp` has an optional Attribute `interchange` which was given
in curly braces like this: `{interchange = [...]}`. The way this was
parsed meant that no normal `attr-dict` could be attached to the Op.
This patch adds printing / parsing of an `attr-dict` to the Op and treats
the `interchange` Attribute as part of that dictionary for now.


  Commit: 07fdc084fe75f971688d4140a5bd2dcb1d60eba2
      https://github.com/llvm/llvm-project/commit/07fdc084fe75f971688d4140a5bd2dcb1d60eba2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp

  Log Message:
  -----------
  [libc++] Add missing check for C++17 in test

This was never caught on our bots because this specific test is marked
as `XFAIL: !is-lockfree-runtime-function`, which is the case on our bots.


  Commit: 58286f9c665ad4aa748779d559f2f296de704094
      https://github.com/llvm/llvm-project/commit/58286f9c665ad4aa748779d559f2f296de704094
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  Revert "[ConstraintElim] Treat ConstantPointerNull as constant offset 0."

This reverts commit 23628137ea9e7a2942d6a691ea74a7697564e65b.

Revert as this is causing some test failures.


  Commit: 7f215b1380da49dccbf57da3040a40d25ed898f4
      https://github.com/llvm/llvm-project/commit/7f215b1380da49dccbf57da3040a40d25ed898f4
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Add missing test dependencies to check-all (#72955)

The test-depends target contained all the dependencies needed to run the
runtimes tests, but it was never added as a dependency of check-all.
This caused some of the tsan tests to fail, since the custom libcxx
build the tests were looking for was never built. Besides the tsan
failures, this fixes all the other test failures I was seeing with:
cmake -G Ninja -B release-build -S llvm \
        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
        -DCMAKE_BUILD_TYPE=Release \
        -DLLVM_ENABLE_ASSERTIONS=OFF \
        -DLLVM_ENABLE_PROJECTS="clang;lld" \
        -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt"

This is the same configuration the test-release.sh script uses, so I'm
hoping this will also fix all the test failures we've been seeing when
building the releases.

Fixes #58680


  Commit: 8840eb3fb535bc44704bb61515ca90dceaae35a7
      https://github.com/llvm/llvm-project/commit/8840eb3fb535bc44704bb61515ca90dceaae35a7
  Author: Shraiysh <Shraiysh.Vaishay at amd.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/test/OpenMP/target_enter_data_nowait_messages.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    M flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    A flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-data.f90
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    A flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Add semantic check for declare target (#72770)


  Commit: a8450619358c3de23b72aef7c1fd932bca112257
      https://github.com/llvm/llvm-project/commit/a8450619358c3de23b72aef7c1fd932bca112257
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/machine-combiner-reassociate.mir
    A llvm/test/CodeGen/AArch64/pr72777.ll

  Log Message:
  -----------
  [AArch64] Use the same fast math preservation for MachineCombiner reassociation as X86/PowerPC/RISCV. (#72820)

Don't blindly copy the original flags from the pre-reassociated
instrutions.
This copied the integer poison flags which are not safe to preserve
after reassociation.
    
For the FP flags, I think we should only keep the intersection of
the flags. Override setSpecialOperandAttr to do this.

Fixes #72777.


  Commit: 227654e87117d7705c78e0ad1d4d9261bbc6af55
      https://github.com/llvm/llvm-project/commit/227654e87117d7705c78e0ad1d4d9261bbc6af55
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/transform-ops.mlir

  Log Message:
  -----------
  Revert "[mlir] Fix `TileUsingForOp` attr-dict printing/parsing, cleanup assembly format" (#73178)

Reverts llvm/llvm-project#72745 as it is causing test failures on
mlir-nvidia in
`mlir/test/python/dialects/transform_structured_ext.py`.


  Commit: 48f5855e4c48709d71d7aae4595232a3296c735e
      https://github.com/llvm/llvm-project/commit/48f5855e4c48709d71d7aae4595232a3296c735e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/__verbose_abort
    R libcxx/test/libcxx/assertions/deprecated-link-time-custom-handler.pass.cpp

  Log Message:
  -----------
  [libc++] Remove the deprecated _LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED macro (#73164)

We release-noted that we were going to remove it in the LLVM 18 timeline
and we've been issuing a warning since then.


  Commit: 74dcc2da62a815b55a37fb8d0e193c0af08d09a1
      https://github.com/llvm/llvm-project/commit/74dcc2da62a815b55a37fb8d0e193c0af08d09a1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h

  Log Message:
  -----------
  [PowerPC] Silence -Woverloaded-virtual warning. NFC


  Commit: 51c5d74940c3a6682ccd44491cb40c7e26fb83e5
      https://github.com/llvm/llvm-project/commit/51c5d74940c3a6682ccd44491cb40c7e26fb83e5
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

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

  Log Message:
  -----------
  [CMake] Support building shared library for NetBSD


  Commit: c9e347a0ce98fe42c58d205b6f32ddda823c29d6
      https://github.com/llvm/llvm-project/commit/c9e347a0ce98fe42c58d205b6f32ddda823c29d6
  Author: kkwli <kkwli at users.noreply.github.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M flang/test/Driver/dynamic-linker.f90

  Log Message:
  -----------
  [flang] Make .exe extension of the linker optional (NFC) (#73157)


  Commit: e096732307d1eb9476fc2b88dfa12586250c8111
      https://github.com/llvm/llvm-project/commit/e096732307d1eb9476fc2b88dfa12586250c8111
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td

  Log Message:
  -----------
  [RISCV][NFC] Rename `RISCVISD::FPCLASS` to `RISCVISD::FCLASS`

To be consistent with `fclass.s/d`. Also rename `riscv_fpclass` to
`riscv_fclass`. NFC.


  Commit: 7c3c8a12775bdb0b0771986f008e2589db4846f9
      https://github.com/llvm/llvm-project/commit/7c3c8a12775bdb0b0771986f008e2589db4846f9
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/lib/Target/RISCV/RISCVInstrGISel.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/is-fpclass-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/is-fpclass-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-is-fpclass-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-is-fpclass-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/is-fpclass-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/is-fpclass-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Add support for G_IS_FPCLASS in F and D extensions (#72000)

Add legalizer, regbankselect, and isel supports for floating point
version of G_IS_FPCLASS.


  Commit: 7cf26e0c6decf0ca90ad0780057ffe82fe83816f
      https://github.com/llvm/llvm-project/commit/7cf26e0c6decf0ca90ad0780057ffe82fe83816f
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

  Log Message:
  -----------
  [AArch64] Fix -Wunused-function of getLivePhysRegsUpTo in AArch64FrameLowering.cpp (NFC)

/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1428:13: error: unused function 'getLivePhysRegsUpTo' [-Werror,-Wunused-function]
static void getLivePhysRegsUpTo(MachineInstr &MI, const TargetRegisterInfo &TRI,
            ^
1 error generated.


  Commit: b14f651caf4bb507753ffc94db8911bb2e2a7995
      https://github.com/llvm/llvm-project/commit/b14f651caf4bb507753ffc94db8911bb2e2a7995
  Author: dong jianqiang <dongjianqiang2 at huawei.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/test/Driver/aarch64-features.c

  Log Message:
  -----------
  [Driver] Default Generic_GCC aarch64_be to -fasynchronous-unwind-tables (#72971)

This patch defaults Generic_GCC aarch64_be to use
-fasynchronous-unwind-tables and ensures consistent behavior with
aarch64 little endian.


  Commit: 22078bd9f6842411aac2b75196975d68a817a358
      https://github.com/llvm/llvm-project/commit/22078bd9f6842411aac2b75196975d68a817a358
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCUDA/implicit-member-target-inherited.cu
    M clang/test/SemaCUDA/trivial-ctor-dtor.cu

  Log Message:
  -----------
  Revert "[CUDA][HIP] ignore implicit host/device attr for override (#72815)"

This reverts commit a1e2c6566305061c115954b048f2957c8d55cb5b.

Revert this patch due to regression. A testcase is:

`template <typename T>
class C {
    explicit C() {};
};

template <> C<int>::C() {};
`


  Commit: 0e5da2eceb89f1e947e8b9b4aa42804e4ea89acc
      https://github.com/llvm/llvm-project/commit/0e5da2eceb89f1e947e8b9b4aa42804e4ea89acc
  Author: joyhou-hw <houzhenyu at huawei.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model.c

  Log Message:
  -----------
  [compiler-rt] Fix the HWCAP2_EBF16 and HWCAP2_SVE_EBF16 macro value (#70905)

HWCAP2_EBF16 (1UL << 32)
HWCAP2_SVE_EBF16 (1UL << 33)
this will overflow in aarch64 ilp32 abi, and make func
__init_cpu_features_constructor() wrong.


  Commit: 6b3470b4b83195aeeda60b101e8d3bf8800c321c
      https://github.com/llvm/llvm-project/commit/6b3470b4b83195aeeda60b101e8d3bf8800c321c
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCUDA/call-host-fn-from-device.cu
    M clang/test/SemaCUDA/default-ctor.cu
    M clang/test/SemaCUDA/implicit-member-target-collision-cxx11.cu
    M clang/test/SemaCUDA/implicit-member-target-collision.cu
    M clang/test/SemaCUDA/implicit-member-target-inherited.cu
    M clang/test/SemaCUDA/implicit-member-target.cu
    R clang/test/SemaCUDA/trivial-ctor-dtor.cu

  Log Message:
  -----------
  Revert "[CUDA][HIP] make trivial ctor/dtor host device (#72394)"

This reverts commit 27e6e4a4d0e3296cebad8db577ec0469a286795e.

This patch is reverted due to regression. A testcase is:

`template <class T>
struct ptr {
    ~ptr() { static int x = 1;}
};

template <class T>
struct Abc : ptr<T> {
 public:
  Abc();
  ~Abc() {}
};

template
class Abc<int>;
`


  Commit: b16f765d6fec56a07aecd2056bb1760a9e72d64f
      https://github.com/llvm/llvm-project/commit/b16f765d6fec56a07aecd2056bb1760a9e72d64f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td

  Log Message:
  -----------
  [LinkerWrapper] Accept some needed lld-link linker arguments for COFF targets (#72889)

Summary:
The linker wrapper is a utility used to create offloading programs from
single-source offloading languages such as OpenMP or CUDA. This is done
by embedding device code into the host object, then feeding it into the
linker wrapper which extracts the accelerator object files, links them,
then wraps them in registration code for the target  runtime. This
previously has only worked in Linux / ELF platforms.

This patch attempts to hand Windows / COFF inputs by also accepting COFF
forms of certain linker arguments we use internally. The important
arguments are library search paths, so we can identify libraries which
may contain device code, libraries themselves, and the output name used
for intermediate output.

I am not intimately familiar with the semantics here for the semantics
in how a `lib` file is earched. I am simply treating `foo.lib` as the
GNU equivalent `-l:foo.lib` in the search logic. Similarly, I am
assuming that static libraries will be llvm-ar style libraries. I will
need to investigate the actual deficiencies later, but this should be a
good starting point along with
https://github.com/llvm/llvm-project/pull/72697


  Commit: e99ee06400404d3058e6f379465b9ac50aedb74c
      https://github.com/llvm/llvm-project/commit/e99ee06400404d3058e6f379465b9ac50aedb74c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Reject fpsr in inline asm constraints other than clobber.

Fixes #73197 and #69201.


  Commit: 2eb9c649f0971aaa05404764d74ee7fff15b83ed
      https://github.com/llvm/llvm-project/commit/2eb9c649f0971aaa05404764d74ee7fff15b83ed
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp

  Log Message:
  -----------
  [RISCV] Use Float type instead of Half type for Fixed RVV vector type mangling (#73091)


  Commit: dc683d2e66de79bbea786f51788961eec5d0b793
      https://github.com/llvm/llvm-project/commit/dc683d2e66de79bbea786f51788961eec5d0b793
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [X86] Remove unused IES_IDENTIFIER state from IntelExprState. NFC


  Commit: 9ab133bd9f9cedb880b453dd830b58857fab41ec
      https://github.com/llvm/llvm-project/commit/9ab133bd9f9cedb880b453dd830b58857fab41ec
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [nfc][InstrProfTest]Parameterize the edge cases of value profile merge by value kind (#73165)

There are three test cases to test the merge of value profiles. 'get_icall_data_merge1' tests the basic case;
{get_icall_data_merge1_saturation, get_icall_data_merge_site_trunc} tests the edge case.

This patch parameterizes the edge case test coverage by value kind and adds the coverage of 'IPVK_MemOPSize'. Keep the basic test structure as it is. The main reason is test data construction and test assertions is
clearer for each kind in the basic test.
- Using a loop for different value kinds in one test case doesn't work
very well. The instr-prof-writer is stateful (e.g., keeps track of
per-function profile data in a
[container](https://github.com/llvm/llvm-project/blob/a9c149df7666bb2f8755794b97573134e5cfeb38/llvm/include/llvm/ProfileData/InstrProfWriter.h#L43))


  Commit: 0d2860b795879f4dd152963b52f969b53b136899
      https://github.com/llvm/llvm-project/commit/0d2860b795879f4dd152963b52f969b53b136899
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp

  Log Message:
  -----------
  [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)


  Commit: 5973272af796b33b75467ba8fba8b0a98b42757a
      https://github.com/llvm/llvm-project/commit/5973272af796b33b75467ba8fba8b0a98b42757a
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/test/CodeGen/RISCV/jumptable.ll

  Log Message:
  -----------
  [RISCV] Add MinimumJumpTableEntries to TuneInfo (#72963)

This is like what AArch64 has done in #71166 except that we don't
handle `HasMinSize` case now.


  Commit: 7f18f9a28c73490d09938af1fdb1908eb333a62c
      https://github.com/llvm/llvm-project/commit/7f18f9a28c73490d09938af1fdb1908eb333a62c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
    R flang/test/Lower/OpenACC/HLFIR/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-declare.f90

  Log Message:
  -----------
  [flang][openacc][NFC] Merge acc-declare.f90 tests (#73055)


  Commit: 7414c0db962f8a5029fd44c3e0bc93d9ce20be71
      https://github.com/llvm/llvm-project/commit/7414c0db962f8a5029fd44c3e0bc93d9ce20be71
  Author: hev <wangrui at loongson.cn>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/smul-with-overflow.ll

  Log Message:
  -----------
  [LoongArch] Precommit a test for smul with overflow (NFC) (#73212)


  Commit: 49f55d107548a340992eaec1b9767c0f8fc443cd
      https://github.com/llvm/llvm-project/commit/49f55d107548a340992eaec1b9767c0f8fc443cd
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M flang/include/flang/Lower/BoxAnalyzer.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertProcedureDesignator.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    R flang/test/Lower/HLFIR/procedure-pointer.f90

  Log Message:
  -----------
  Revert "[Flang] Add partial support for lowering procedure pointer assignment. (#70461)"

This reverts commit e07fec10ac208c2868a24c5c0be88e45778b297e.

This change appears to have broken following buildbots:
https://lab.llvm.org/buildbot/#/builders/176
https://lab.llvm.org/buildbot/#/builders/179
https://lab.llvm.org/buildbot/#/builders/184
https://lab.llvm.org/buildbot/#/builders/197
https://lab.llvm.org/buildbot/#/builders/198

All bots fails in testsuite where following tests seems broken:
(eg: https://lab.llvm.org/buildbot/#/builders/176/builds/7131)

test-suite::gfortran-regression-compile-regression__proc_ptr_46_f90.test
test-suite::gfortran-regression-compile-regression__proc_ptr_37_f90.test


  Commit: 083a53971758c6f9bbd448eeb9c5d839661e3f68
      https://github.com/llvm/llvm-project/commit/083a53971758c6f9bbd448eeb9c5d839661e3f68
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    A clang/test/CodeGen/RISCV/math-builtins.c
    A clang/test/CodeGen/X86/math-builtins.c
    R clang/test/CodeGen/math-builtins.c

  Log Message:
  -----------
  clang/CodeGen/RISCV: test lowering of math builtins (#71399)

Ever since 98c90a1 (ISel: introduce vector ISD::LRINT, ISD::LLRINT;
custom RISCV lowering) landed, there have been several discussions on
how the lrint and llrint libcalls would lower to LLVM IR via clang on
RV32 and RV64, in an effort to enable vectorization of lrint and llrint
via SLPVectorizer and LoopVectorize. This patch adds a new
math-builtins.c test to the RISC-V target to test the lowering of all
math libcalls, including lrint and llrint.


  Commit: d76d8e541dab6d65b2490957707341352eac8320
      https://github.com/llvm/llvm-project/commit/d76d8e541dab6d65b2490957707341352eac8320
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Update GISel memory-legalizer-atomic-fence test (#72829)

Test needs to be moved to MIR checks and use
stop-after=si-memory-legalizer to avoid being optimized out in a future
patch.


  Commit: a3cab1fa17ebf29b01fcb566648e2f3fb2955993
      https://github.com/llvm/llvm-project/commit/a3cab1fa17ebf29b01fcb566648e2f3fb2955993
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/X86InstrMisc.td
    A llvm/test/MC/Disassembler/X86/apx/pushp-popp.txt
    A llvm/test/MC/X86/apx/pushp-popp-att.s
    A llvm/test/MC/X86/apx/pushp-popp-intel.s

  Log Message:
  -----------
  [X86][MC] Support encoding/decoding for PUSHP/POPP (#73092)

A PUSH and its corresponding POP may be marked with a 1-bit Push-Pop Acceleration (PPX)
hint to indicate that the POP reads the value written by the PUSH from the stack. The PPX hint
is encoded by setting REX2.W = 1 and is applicable only to PUSH with opcode 0x50+rd and POP
with opcode 0x58+rd in the legacy space. It is not applicable to any other variants of PUSH and POP.


  Commit: 147c5d6686b935ecd93f8fa0e2dcf38deb593890
      https://github.com/llvm/llvm-project/commit/147c5d6686b935ecd93f8fa0e2dcf38deb593890
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/ldrpre-ldr-merge.mir
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Allow LDR merge with same destination register by renaming (#71908)

The patch is based on a reverted patch:
https://reviews.llvm.org/D103597. It was trying to rename registers
before alias check, which is not safe and causes miscompiles. This patch
does 2 things:

1. Do the renaming with necessary checks passed, including alias check.
2. Rename the register for the instructions between the pairs and
combine the second load into the first. By doing so we can just check
the renamability between the pairs and avoid scanning unknown amount of
instructions before/after the pairs.

Necessary refactoring has been made in order to reuse as much code
possible with STR renaming.


  Commit: 6367677c9d901f412934b4935c4341dc6d421d36
      https://github.com/llvm/llvm-project/commit/6367677c9d901f412934b4935c4341dc6d421d36
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [mlir][linalg] `BufferizeToAllocationOp`: fix side effects (#72986)

`bufferize_to_allocation` does not bufferize/replace targeted ops if
`bufferize_destination_only` is set.

Fixes #72931.


  Commit: 1c68c4c57a65a67963264878bc4646be8b58854c
      https://github.com/llvm/llvm-project/commit/1c68c4c57a65a67963264878bc4646be8b58854c
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
    A llvm/test/tools/llvm-objdump/ELF/LoongArch/branches.s
    A llvm/test/tools/llvm-objdump/ELF/LoongArch/lit.local.cfg

  Log Message:
  -----------
  [LoongArch][MC] Modify branch evaluation for MCInstrAnalysis (#73205)

Function evaluateBranch() is used to compute target address for a given
branch instruction and return true on success. But target address of
indirect branch cannot be simply added, so rule it out and just return
false.

This patch also add objdump tests which capture the current state of
support for printing branch targets. Without this patch, the result of
"jirl $zero, $a0, 4" is "jirl $zero, $a0, 4 <foo+0x64>". It is obviously
incorrect, because this instruction represents an indirect branch whose
target address depends on both the register value and the imm. After
this patch, it will be right despite loss of details.


  Commit: 1343d96ec10af9760bc25f5f2c2258269de18c2d
      https://github.com/llvm/llvm-project/commit/1343d96ec10af9760bc25f5f2c2258269de18c2d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Suppport G_BSWAP with Zbb.


  Commit: fae3964cbc6d27e89f93d6579f2e8188f240e6cb
      https://github.com/llvm/llvm-project/commit/fae3964cbc6d27e89f93d6579f2e8188f240e6cb
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir

  Log Message:
  -----------
  [mlir][linalg] Add an e2e test for linalg.matmul to ArmSME (#72144)

This patch adds an integration test lowering a linalg.matmul to SME via
vector.outerproduct.

It's similar to the linalg.matmul_transpose_a e2e test added recently in
as well as vector transpose canonicalizations, to lower the following
sequence (taken from the inner loop):
```
  %subview = memref.subview %arg0[%arg3, %arg5] [%2, 1] [1, 1] :
    memref<?x?xf32, strided<[?, ?], offset: ?>> to memref<?x1xf32, strided<[?, ?], offset: ?>>
  %mask = vector.create_mask %2, %c1 : vector<[4]x1xi1>
  %0 = vector.transfer_read %subview[%c0, %c0], %pad, %mask {in_bounds = [true, true]} :
    memref<?x1xf32, strided<[?, ?], offset: ?>>, vector<[4]x1xf32>
  %1 = vector.transpose %0, [1, 0] : vector<[4]x1xf32> to vector<1x[4]xf32>
  %2 = vector.extract %1[0] : vector<[4]xf32> from vector<1x[4]xf32>
```
Rank-2 vectors with leading scalable dim can't be type converted to an
array. TransferReadDropUnitDimsPattern drops the unit dim on the
vector.transfer_read so it can be lowered via the generic path (to SVE).
The transpose canonicalizations lower the transpose to a shape_cast
which folds away.


  Commit: c4448793134ab7a4c3a5dd935a2070232643b349
      https://github.com/llvm/llvm-project/commit/c4448793134ab7a4c3a5dd935a2070232643b349
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/UInt.h
    A libc/src/__support/bit.h
    R libc/src/__support/builtin_wrappers.h
    M libc/src/__support/integer_utils.h
    A libc/src/__support/math_extras.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/powf.cpp
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/bit_test.cpp
    A libc/test/src/__support/math_extras_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [libc][NFC] Split builtin_wrapper into bit and math_extras (#73113)

Split `builtin_wrapper.h` into `bit.h` and `math_extras.h` to mimic LLVM
`llvm/ADT/Bit.h` and `llvm/Support/MathExtras.h`.
Also added unittest place holders.


  Commit: 436f5f652b31c8d7b8bac98fbc8acb5ab573401e
      https://github.com/llvm/llvm-project/commit/436f5f652b31c8d7b8bac98fbc8acb5ab573401e
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libc/src/__support/FPUtil/PlatformDefs.h

  Log Message:
  -----------
  [libc][NFC] Remove unused define (#73222)


  Commit: b71b32ba872fed4cb5a7da1ef539ebbecbbe0809
      https://github.com/llvm/llvm-project/commit/b71b32ba872fed4cb5a7da1ef539ebbecbbe0809
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-class.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [Gisel][AArch64] legalize G_IS_FPCLASS (#72796)


  Commit: e0d93d5aaadb10749049c5b25df08ce4fe6ca807
      https://github.com/llvm/llvm-project/commit/e0d93d5aaadb10749049c5b25df08ce4fe6ca807
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AMDGPU] Reindent some tables

This keeps clang-format happy on future patches.


  Commit: 9b374a800d18c02cc7881774c73352876f9e0cef
      https://github.com/llvm/llvm-project/commit/9b374a800d18c02cc7881774c73352876f9e0cef
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  [AMDGPU] Add some clang-format off/on markers

This keeps clang-format happy on future patches.


  Commit: dbb86433333154226233da46271e8c520e8a5119
      https://github.com/llvm/llvm-project/commit/dbb86433333154226233da46271e8c520e8a5119
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll

  Log Message:
  -----------
  [mlir][LLVM] Support `immargs` in LLVM_IntrOpBase intrinsics (#73013)

This extends `LLVM_IntrOpBase` so that it can be passed a list of
`immArgPositions` and a list (of the same length) of `immArgAttrNames`.
`immArgPositions` contains the positions of `immargs` on the LLVM IR
intrinsic, and `immArgAttrNames` maps those to a corresponding MLIR
attribute.

This allows modeling LLVM `immargs` as MLIR attributes, which is the
closest match semantically (and had already been done manually for the
LLVM dialect intrinsics).

This has two upsides:
* It's slightly easier to implement intrinsics with immargs now
(especially if they make use of other features, such as overloads)
* It clearly defines that `immargs` should map to attributes, before
there was no mention of `immargs` in LLVMOpBase.td, so implementing them
was unclear

This works with other features of the `LLVM_IntrOpBase`, so `immargs`
can be marked as overloaded too (which is used in some intrinsics).

As part of this patch (and to test correctness) existing intrinsics have
been updated to use these new parameters.

This also uncovered a few issues with the
`llvm.intr.vector.insert/extract` intrinsics. First, the argument order
for insert did not match the LLVM intrinsic, and secondly, both were
missing a mlirBuilder (so failed to import from LLVM IR). This is
corrected with this patch (and a test case added).


  Commit: d924c5d721f03fe37fae1badc6bfd05d2a33024c
      https://github.com/llvm/llvm-project/commit/d924c5d721f03fe37fae1badc6bfd05d2a33024c
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    R libc/src/__support/FPUtil/PlatformDefs.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Sink "PlatformDefs.h" into "FloatProperties.h" (#73226)

`PlatformDefs.h` does not bring a lot of value as a separate file.
It is transitively included in `FloatProperties.h` and `FPBits.h`. This
patch sinks it into `FloatProperties.h` and removes the associated build
targets.


  Commit: 272812c7e43d8a45f19ea7b4a3b2667e7fb9e67a
      https://github.com/llvm/llvm-project/commit/272812c7e43d8a45f19ea7b4a3b2667e7fb9e67a
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp

  Log Message:
  -----------
  Revert "[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)"

This reverts commit 0d2860b795879f4dd152963b52f969b53b136899.

This change appears to have broken several clang tests on following buildbots:
https://lab.llvm.org/buildbot/#/builders/245
https://lab.llvm.org/buildbot/#/builders/188
https://lab.llvm.org/buildbot/#/builders/186
https://lab.llvm.org/buildbot/#/builders/183


  Commit: b61ac4a88f934ab5c02ee2a4957fb1b9943e7a5d
      https://github.com/llvm/llvm-project/commit/b61ac4a88f934ab5c02ee2a4957fb1b9943e7a5d
  Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    A llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.cpp
    A llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.h
    M llvm/lib/DWARFLinkerParallel/ArrayList.h
    M llvm/lib/DWARFLinkerParallel/CMakeLists.txt
    M llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.cpp
    M llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.h
    M llvm/lib/DWARFLinkerParallel/DIEGenerator.h
    M llvm/lib/DWARFLinkerParallel/DWARFLinker.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h
    A llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.cpp
    A llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.h
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.h
    M llvm/lib/DWARFLinkerParallel/DebugLineSectionEmitter.h
    M llvm/lib/DWARFLinkerParallel/DependencyTracker.cpp
    M llvm/lib/DWARFLinkerParallel/DependencyTracker.h
    M llvm/lib/DWARFLinkerParallel/OutputSections.cpp
    M llvm/lib/DWARFLinkerParallel/OutputSections.h
    A llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.cpp
    A llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.h
    A llvm/lib/DWARFLinkerParallel/TypePool.h
    A llvm/lib/DWARFLinkerParallel/Utils.h
    A llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/accel-imported-declarations.test
    M llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-addr-base.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-str-offsets-base-strx.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/dead-stripped.cpp
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/empty-CU.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/inlined-static-variable.cpp
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/keep-func.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-anon-namespace.cpp
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration2.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration3.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-member-functions.cpp
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-namespace-extension.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-nested-types1.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-nested-types2.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-parents.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-predictable-output.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-predictable-output2.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-recursive-dependence.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-string.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-template-parameters.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-two-units-in-single-file.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-types-in-subprogram1.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-uniquing.cpp
    A llvm/test/tools/dsymutil/X86/Inputs/String/foo1.o
    A llvm/test/tools/dsymutil/X86/Inputs/String/foo2.o
    A llvm/test/tools/dsymutil/X86/Inputs/String/foo3.o
    A llvm/test/tools/dsymutil/X86/Inputs/String/main.o
    M llvm/test/tools/dsymutil/X86/dead-stripped.cpp
    M llvm/test/tools/dsymutil/X86/dummy-debug-map.map
    M llvm/test/tools/dsymutil/X86/dwarf5-rnglists.test
    M llvm/test/tools/dsymutil/X86/empty-CU.test
    M llvm/test/tools/dsymutil/X86/inlined-static-variable.cpp
    M llvm/test/tools/dsymutil/X86/keep-func.test
    A llvm/test/tools/dsymutil/X86/linker-llvm-union-fwd-decl.test
    M llvm/test/tools/dsymutil/X86/location-expression.test
    M llvm/test/tools/dsymutil/X86/modules-empty.m
    M llvm/test/tools/dsymutil/X86/odr-uniquing.cpp
    M llvm/test/tools/dsymutil/X86/op-convert.test
    M llvm/test/tools/dsymutil/X86/union-fwd-decl.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-addresses.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-default.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-func-overlapping-address-ranges.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-maxpc.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-no-garbage.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-unit-overlapping-address-ranges.test
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp

  Log Message:
  -----------
  [DWARFLinkerParallel] Add support for -odr mode. (#68721)

This patch is extracted from D96035, it adds support for the type
deduplication mode. With this patch DWARFLinkerParallel handles --odr
option. It also processes clang modules.


  Commit: 0d1b220f368f1c03e4d509efe36f94098f6489c7
      https://github.com/llvm/llvm-project/commit/0d1b220f368f1c03e4d509efe36f94098f6489c7
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/DWARFLinkerParallel/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b61ac4a88f93


  Commit: 0d9f557b6c36da3aa92daff4c0d37ea821d7ae1e
      https://github.com/llvm/llvm-project/commit/0d9f557b6c36da3aa92daff4c0d37ea821d7ae1e
  Author: hev <wangrui at loongson.cn>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll

  Log Message:
  -----------
  [LoongArch] Disable mulodi4 and muloti4 libcalls (#73199)

This library function only exists in compiler-rt not libgcc. So this
would fail to link unless we were linking with compiler-rt.

Fixes https://github.com/ClangBuiltLinux/linux/issues/1958


  Commit: 19e6d541889f24e21c7a9a6e021aeb82efd4dcb2
      https://github.com/llvm/llvm-project/commit/19e6d541889f24e21c7a9a6e021aeb82efd4dcb2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll

  Log Message:
  -----------
  [LV] Re-use existing compare if possible for diff checks.

SCEV simplifying the subtraction may result in redundant compares that
are all OR'd together. Keep track of the generated operands in
SeenCompares, with the key being the pair of operands for the compare.

If we alrady generated the same compare previously, skip it.


  Commit: c43c88501e3bc273a7c1074a19e86dc305ad7234
      https://github.com/llvm/llvm-project/commit/c43c88501e3bc273a7c1074a19e86dc305ad7234
  Author: Edgar <git at edgarluque.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    A mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    A mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73117)

Fixes #73008


  Commit: 376b22a37136bdb26452056d473d2b87fda4991e
      https://github.com/llvm/llvm-project/commit/376b22a37136bdb26452056d473d2b87fda4991e
  Author: Acim Maravic <Acim.Maravic at Syrmia.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/remat-sop.mir
    A llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll

  Log Message:
  -----------
  [LLVM] Make s_getpc_b64 rematerializable (#71823)


  Commit: 7b97d5048a8f5261bf493ad8989f0eaed59c4bf1
      https://github.com/llvm/llvm-project/commit/7b97d5048a8f5261bf493ad8989f0eaed59c4bf1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/DWARFLinkerParallel/DependencyTracker.cpp

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


  Commit: 6248c24876d81d83544af02399d46813dbea869c
      https://github.com/llvm/llvm-project/commit/6248c24876d81d83544af02399d46813dbea869c
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Workaround for export lib generation on Windows for `mlir_arm_sme_abi_stubs` (#73147)

Using mlir cmake in downstream project fails with error
```
CMake Error at D:/projs/llvm/llvm-install/lib/cmake/mlir/MLIRTargets.cmake:2537 (message):
  The imported target "mlir_arm_sme_abi_stubs" references the file

     "D:/projs/llvm/llvm-install/lib/mlir_arm_sme_abi_stubs.lib"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "D:/projs/llvm/llvm-install/lib/cmake/mlir/MLIRTargets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  D:/projs/llvm/llvm-install/lib/cmake/mlir/MLIRConfig.cmake:37 (include)
  mlir/CMakeLists.txt:5 (find_package)
```

Windows cmake needs export libaries but it seems they are only being
generated if you have at least one exported symbol.
Add export attributes to symbols.

Not sure what the best approach to fix this (probably we should just
disable this lib on windows entirely), but it fixed things for me
locally.


  Commit: ce1b24330efb242172324e39099668dcc15c21f0
      https://github.com/llvm/llvm-project/commit/ce1b24330efb242172324e39099668dcc15c21f0
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/LoopDeletion/crashbc.ll
    M llvm/test/Transforms/LoopDeletion/diundef.ll
    M llvm/test/Transforms/LoopDeletion/over-defensive-undefing-dbg-values.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Instrument loop-deletion for DPValues (#73042)

Loop deletion identifies dbg.value intrinsics in the loop, sets them to
undef/poison, and sinks them to the exit of the loop, to ensure that any
variable assignments that happen in a deleted loop are "optimised out".
This needs to be replicated for DPValues, the non-instruction
replacement for dbg.value intrinsics.

The movement API for DPValues is (deliberately) more limited than
dbg.values, which is tricky because inserting the collection of
dbg.values at an arbitrary iterator can insert a dbg.value in the middle
of a sequence of dbg.values. A big no-no for DPValues. This patch
replicates the order by inserting DPValues in reverse at the
head-iterator of the block, to ensure the same output as dbg.value mode.
Technically the order isn't important, but we're trying to ensure
identical outputs from optimisation passes right now.

Add more CHECK lines for dbg.values in diundef.ll to ensure that we
don't create any spurious dbg.values, and to ensure that sequences of
dbg.values come out of the optimisation in the correct order.


  Commit: 521b4682a55eb735b75e08d5f71c8cbe47395e40
      https://github.com/llvm/llvm-project/commit/521b4682a55eb735b75e08d5f71c8cbe47395e40
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/test/CodeGen/SystemZ/align-systemz.c
    R clang/test/Driver/systemz-alignment.c

  Log Message:
  -----------
  [SystemZ] Move new test into existing CodeGen test. (#73230)

The test for emitted alignments is better placed in CodeGen.


  Commit: bda723f5badde4d4a7ece0e07380bee58394e1d9
      https://github.com/llvm/llvm-project/commit/bda723f5badde4d4a7ece0e07380bee58394e1d9
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir

  Log Message:
  -----------
  [NFC][OpenMP][MLIR] Add MLIR test for lowering parallel if (#71788)

Add test for clause omp target parallel if (parallel : cond )

Test checks if corresponding MLIR construct is correctly lowered to LLVM IR.


  Commit: bf353a71a2c1360a445618dde6610cf850a1f417
      https://github.com/llvm/llvm-project/commit/bf353a71a2c1360a445618dde6610cf850a1f417
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  Revert "[mlir] Workaround for export lib generation on Windows for `mlir_arm_sme_abi_stubs` (#73147)"

This reverts commit 6248c24876d81d83544af02399d46813dbea869c.

broke the bots


  Commit: 8735b7dcc9ebcfd00f478660656f75432af38ed3
      https://github.com/llvm/llvm-project/commit/8735b7dcc9ebcfd00f478660656f75432af38ed3
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir] do not inject malloc/free in to-LLVM translation (#73224)

In the early days of MLIR-to-LLVM IR translation, it had to forcefully
inject declarations of `malloc` and `free` functions as then-standard
(now `memref`) dialect ops were unconditionally lowering to libc calls.
This is no longer the case. Even when they do lower to libc calls, the
signatures of those methods are injected at lowering since calls must
target declared functions in valid IR. Don't inject those declarations
anymore.


  Commit: fd9a777e018d23d258646af613179eebf6df4b34
      https://github.com/llvm/llvm-project/commit/fd9a777e018d23d258646af613179eebf6df4b34
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll

  Log Message:
  -----------
  [LV] Remove TODO addressed in 32d1197a8fa.


  Commit: af09219edd87db860d1fc5a33dd49ecd31291699
      https://github.com/llvm/llvm-project/commit/af09219edd87db860d1fc5a33dd49ecd31291699
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M flang/include/flang/Lower/BoxAnalyzer.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertProcedureDesignator.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    A flang/test/Lower/HLFIR/procedure-pointer.f90

  Log Message:
  -----------
  [Flang] Add partial support for lowering procedure pointer assignment. (#70461)

**Scope of the PR:**
1. Lowering global and local procedure pointer declaration statement
with explicit or implicit interface. The explicit interface can be from
an interface block, a module procedure or an internal procedure.
2. Lowering procedure pointer assignment, where the target procedure
could be external, module or internal procedures.
3. Lowering reference to procedure pointers so that it works end to end.

**PR notes:**
1. The first commit of the PR does not include testing. I would like to
collect some comments first, which may alter the output. Once I confirm
the implementation, I will add some testing as a follow up commit to
this PR.
2. No special handling of the host-associated entities when an internal
procedure is the target of a procedure pointer assignment in this PR.

**Implementation notes:**
1. The implementation is using the HLFIR path.
2. Flang currently uses `getUntypedBoxProcType` to get the
`fir::BoxProcType` for `ProcedureDesignator` when getting the address of
a procedure in order to pass it as an actual argument. This PR inherits
the same design decision for procedure pointer as the `fir::StoreOp`
requires the same memory type.

Note: this commit is actually resubmitting the original commit from
PR #70461 that was reverted. See PR #73221.


  Commit: 78148064c60353af5ec7505c90119870a5cb536d
      https://github.com/llvm/llvm-project/commit/78148064c60353af5ec7505c90119870a5cb536d
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/MC/AMDGPU/atomic-fadd-insts.s
    M llvm/test/MC/AMDGPU/gfx90a_asm_features.s

  Log Message:
  -----------
  [AMDGPU] Fix CPol operands of MUBUF atomics. (#73118)

Resolves AsmParser ambiguities, e.g., between
BUFFER_ATOMIC_XOR_X2_BOTHEN_vi and BUFFER_ATOMIC_XOR_X2_BOTHEN_RTN_vi.

Part of <https://github.com/llvm/llvm-project/issues/69256>.


  Commit: c50972d67e40d7ded23f65d600a7f668bfed3824
      https://github.com/llvm/llvm-project/commit/c50972d67e40d7ded23f65d600a7f668bfed3824
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/test/CAPI/translation.c

  Log Message:
  -----------
  [mlir] fix CAPI/translation.c test

It should not have been checking for irrelevant function injections in
the first place.


  Commit: 0bda20b8bec8e4fa26dd1ae5d408c5e137284817
      https://github.com/llvm/llvm-project/commit/0bda20b8bec8e4fa26dd1ae5d408c5e137284817
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  Reland [mlir] Workaround for export lib generation on Windows for mlir_arm_sme_abi_stubs #73147  (#73238)

https://github.com/llvm/llvm-project/pull/73147

Fixed the visibility macro


  Commit: aaae104e282505add432ccc76a4adb674087190f
      https://github.com/llvm/llvm-project/commit/aaae104e282505add432ccc76a4adb674087190f
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [Bazel] Fixes for c43c88501e3bc273a7c1074a19e86dc305ad7234


  Commit: 67275263b3b781a55ec4f297b5f42ffd783349ec
      https://github.com/llvm/llvm-project/commit/67275263b3b781a55ec4f297b5f42ffd783349ec
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
    M llvm/test/CodeGen/X86/bfloat.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
    M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
    M llvm/test/CodeGen/X86/constant-pool-sharing.ll
    M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr57340.ll
    M llvm/test/CodeGen/X86/splat-for-size.ll
    M llvm/test/CodeGen/X86/subvector-broadcast.ll
    M llvm/test/CodeGen/X86/vec_fabs.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-sext.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
    M llvm/test/CodeGen/X86/viabs.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)

If we are loading the same ptr at different vector widths, then reuse the larger load and just extract the low subvector.

Unlike the equivalent VBROADCAST_LOAD/SUBV_BROADCAST_LOAD folds which can occur in DAG, we have to wait until DAGISel otherwise we can hit infinite loops if constant folding recreates the original constant value.

This is mainly useful for better constant sharing.


  Commit: 0bc7cd4d51226344a54da5929d87184730e73e83
      https://github.com/llvm/llvm-project/commit/0bc7cd4d51226344a54da5929d87184730e73e83
  Author: David Truby <david.truby at arm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M flang/test/Driver/linker-flags.f90
    A flang/test/Driver/msvc-dependent-lib-flags.f90

  Log Message:
  -----------
  [flang] Add runtimes using --dependent-lib on MSVC targets (#72519)

This patch uses the added --dependent-lib support to add the relevant
runtimes on MSVC targets as `/DEFAULTLIB:` sections in the object file
rather than on the link line. This should help CMake support for flang
on Windows.

Fixes #63741 
Fixes #68017


  Commit: 53578e5c854d681d4b76e311e2bbc7cbd92ad4ce
      https://github.com/llvm/llvm-project/commit/53578e5c854d681d4b76e311e2bbc7cbd92ad4ce
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Support `fgetc` in StreamChecker (#72627)


  Commit: 4b1fe097f9a3882f437bc3b829ef02331e28a8d6
      https://github.com/llvm/llvm-project/commit/4b1fe097f9a3882f437bc3b829ef02331e28a8d6
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxx/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Simplify the conditions for generating a linker script (#73151)

We really shouldn't be depending on far away configuration options like
LLVM_HAVE_LINK_VERSION_SCRIPT here. This patch simplifies the enablement
of the linker scripts and as a result gets rid of an undesirable
dependency on HandleLLVMOptions.cmake.

As a drive-by, the patch also stops taking into account whether Python3
is available. This should have no bearing on whether we generate a
linker script or not, which is required for correctness. If someone
tries to build libc++ and generate a linker script but Python3 is not
available, they should get an error instead of silently getting an
incorrect installation of the library.


  Commit: d8c40800edc5995c5ff765c4e2940ea001589fa0
      https://github.com/llvm/llvm-project/commit/d8c40800edc5995c5ff765c4e2940ea001589fa0
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [clang][CGExprConstant] Remove no-op ptr-to-ptr bitcast (NFC)

Remove a call to `getPointerCast` which is effectively does a no-op ptr-to-ptr
bitcast.

Opaque ptr clean-up effort.


  Commit: dc40415a8b08f9af2d666dd22cdd4b56b5e67e26
      https://github.com/llvm/llvm-project/commit/dc40415a8b08f9af2d666dd22cdd4b56b5e67e26
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp

  Log Message:
  -----------
  [libc++][test][msan] Refine XFAIL after #67799 (#73213)

Undo a part of #73152.

These test do not hang, but unexpectedlty pass on aarch64
https://lab.llvm.org/buildbot/#/builders/74/builds/23708

Tests work on aarch64 and probably any platform without fp80.


  Commit: 97952aa31987a30c64bf389e0b0d5951eca7df87
      https://github.com/llvm/llvm-project/commit/97952aa31987a30c64bf389e0b0d5951eca7df87
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [libc++][NFC] Run clang-format on uses_alloc_types.h


  Commit: 026776fb60e52be04ea26d3d1d371d9efcb6ae3b
      https://github.com/llvm/llvm-project/commit/026776fb60e52be04ea26d3d1d371d9efcb6ae3b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxx/include/__locale
    M libcxx/src/locale.cpp
    M libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor the creation of the global and classic locales (#72581)

The creation of the global and the classic locales was pretty twisty.
This patch refactors how this is done to reduce the amount of
indirections and prepare the terrain for a future where GCC implements
the no_destroy attribute.


  Commit: e1afd0636366fe8789dc32bf5d0ca1eddc4d237b
      https://github.com/llvm/llvm-project/commit/e1afd0636366fe8789dc32bf5d0ca1eddc4d237b
  Author: Maciej Gabka <maciej.gabka at arm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp

  Log Message:
  -----------
  [NFC] Use TypeSize for comparison in EVT::isExtendedXBitVector functions (#73131)

The functions should not compare results of
getExtendedSizeInBits(), i.e TypeSize variables with plain integer values,
but create a fixed TypeSize object so the correct operator can be used.


  Commit: a9ea02d679b948332af111292a7d6c00ae057070
      https://github.com/llvm/llvm-project/commit/a9ea02d679b948332af111292a7d6c00ae057070
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/reproducer-remarks-debug.ll

  Log Message:
  -----------
  Recommit "[ConstraintElim] Treat ConstantPointerNull as constant offset 0."

This reverts commit 58286f9c665ad4aa748779d559f2f296de704094.

Now with the test correctly updated.

Original message:
    Treat ConstantPointerNull (null) as constant offset 0 in the constraint
    instead of a variable. This slightly reduces the number of variables. I
    was not able to find a test case where this actually caused any changes.


  Commit: 1fb91beb173b1c3ca93c6ac6e01aab210369e083
      https://github.com/llvm/llvm-project/commit/1fb91beb173b1c3ca93c6ac6e01aab210369e083
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxx/include/new

  Log Message:
  -----------
  [libc++][NFC] Adjust synopsis for std::launder


  Commit: 10e483521a067eb5be9c844a41248e9d12e46dde
      https://github.com/llvm/llvm-project/commit/10e483521a067eb5be9c844a41248e9d12e46dde
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [clang][CodeGen] Remove ptr-to-ptr bitcasts (NFC) (#73020)

Opaque ptr cleanup effort


  Commit: fe5c360a9aae61db37886c0c795c409b5129905f
      https://github.com/llvm/llvm-project/commit/fe5c360a9aae61db37886c0c795c409b5129905f
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/OpenMP/bug54082.c

  Log Message:
  -----------
  [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)

Recommit of 0d2860b795879f4dd152963b52f969b53b136899 with extra test
cases fixed.


  Commit: cf1e0c0b07c09af6b72ee912a5e0529c8ff66cad
      https://github.com/llvm/llvm-project/commit/cf1e0c0b07c09af6b72ee912a5e0529c8ff66cad
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/Cuda.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AMDGPU] Define new targets gfx1200 and gfx1201 (#73133)

Define target names and ELF numbers for new GFX12 targets gfx1200 and
gfx1201. For now they behave identically to GFX11.


  Commit: 381efa4960004520e8945e89a2ee0ca1a37f41c7
      https://github.com/llvm/llvm-project/commit/381efa4960004520e8945e89a2ee0ca1a37f41c7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
    M llvm/test/CodeGen/X86/bfloat.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
    M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
    M llvm/test/CodeGen/X86/constant-pool-sharing.ll
    M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr57340.ll
    M llvm/test/CodeGen/X86/splat-for-size.ll
    M llvm/test/CodeGen/X86/subvector-broadcast.ll
    M llvm/test/CodeGen/X86/vec_fabs.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-sext.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
    M llvm/test/CodeGen/X86/viabs.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  Revert rG67275263b3b781a "[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)"

Missed an issue that we were calling continue from within the for loop - fixed version incoming shortly.


  Commit: 906f59826344504dd516cce44e0ba13e25c933f7
      https://github.com/llvm/llvm-project/commit/906f59826344504dd516cce44e0ba13e25c933f7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [VPlan] Remove dead IsEpilogueVec argument from prepareToExecute (NFC).


  Commit: e09758224b65bfa30f1d9e5082f03abeeb610964
      https://github.com/llvm/llvm-project/commit/e09758224b65bfa30f1d9e5082f03abeeb610964
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
    M llvm/test/Transforms/JumpThreading/thread-debug-info.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Instrument jump-threading to update DPValues (#73127)

This patch makes jump-threading handle non-instruction debug-info stored
in DPValues in the same way that it updates dbg.values nowadays. This
involves re-targetting their operands as with dbg.values getting moved
from one block to another, and manually cloning them when duplicating
blocks. The SSAUpdater class also grows some functions for SSA-updating
DPValues in the same way as dbg.values.

All of this is largely covered by existing debug-info tests, except for
the cloning of DPValues attached to elidable instructions and branches,
where I've added a test to thread-debug-info.ll. Where previously we
could rely on dbg.values being copied and cloned as normal instructions
are, as we need to explicitly perform that operation now I've added some
explicit testing for it.


  Commit: 3114bd32e758b0f25cfa3dee5fa520e45f8fe491
      https://github.com/llvm/llvm-project/commit/3114bd32e758b0f25cfa3dee5fa520e45f8fe491
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/StackColoring.cpp
    A llvm/test/CodeGen/X86/StackColoring-tbaa.mir

  Log Message:
  -----------
  [StackColoring] Do not drop AA metadata when not doing remappings (#71958)

In the StackColoring pass we first scan for possible stack slot merges.
A SlotRemap map is setup with the remappings that should be performed.
Then the main work is done by calling remapInstructions and providing
that map.

Most of the work in remapInstructions would just be a waste of time in
situations when the SlotRemap map is empty, but it turns out that the
part that adjusts Alias Analysis information could end up dropping AA
metadata even when there are no stack slot merges being done. This
happens since all instruction's machine memory operands are considered,
and if we can't determine the underlying object that is accessed (using
getUnderlyingObjectsForCodeGen) then we conservatively drop AA metadata.

This patch simply avoids calling remapInstructions if we don't intend to
do any remappings (i.e. if SlotRemap is empty). That avoids touching AA
metadata when all we do is to remove lifetime markers. That seems like a
safe thing to do, as it is the same thing as happens when we bail out
early due to other reasons (e.g. when only having one lifetime marker).

For targets that do not care about Alias Analysis information after the
StackColoring pass this shouldn't have any impact, except that it might
improve compile time slightly as we now skip spending time in
remapInstructions when not doing any stack merges.


  Commit: b1fba568f6d4d824554fa22f43ec0f689a265664
      https://github.com/llvm/llvm-project/commit/b1fba568f6d4d824554fa22f43ec0f689a265664
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-vfabi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
    M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp

  Log Message:
  -----------
  [SVE] Don't require lookup when demangling vector function mappings (#72260)

We can determine the VF from a combination of the mangled name (which
indicates the arguments that take vectors) and the element sizes of
the arguments for the scalar function the mapping has been established
for.

The assert when demangling fails has been removed in favour of just
not adding the mapping, which prevents the crash seen in
https://github.com/llvm/llvm-project/issues/71892

This patch also stops using _LLVM_ as an ISA for scalable vector tests,
since there aren't defined rules for the way vector arguments should be
handled (e.g. packed vs. unpacked representation).


  Commit: 002d471a4a3cd8b429e4ca7c84fd54a642e50e4c
      https://github.com/llvm/llvm-project/commit/002d471a4a3cd8b429e4ca7c84fd54a642e50e4c
  Author: Fred Fu <moonsolo at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/include/clang/Interpreter/CodeCompletion.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp

  Log Message:
  -----------
  [ClangRepl] Type Directed Code Completion (#67349)

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


  Commit: 0ca830ea8e4917562c2e3897c7cf477414c18da2
      https://github.com/llvm/llvm-project/commit/0ca830ea8e4917562c2e3897c7cf477414c18da2
  Author: Adam Paszke <apaszke at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [Bazel] Add Bazel build files for Python bindings of the GPU dialect (#73256)


  Commit: c308d903a8fd479e49271ae9f08f7260ff5f58a7
      https://github.com/llvm/llvm-project/commit/c308d903a8fd479e49271ae9f08f7260ff5f58a7
  Author: Petr Maj <53400784+zduka at users.noreply.github.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  Extra assertions in RS4GC (#71201)

Adds assertion that the base/derived pointers are of the same size.

---------

Co-authored-by: Petr Maj <pmaj at azul.com>


  Commit: 258631fc0c640b5091950a3323e2c51545c3f0a9
      https://github.com/llvm/llvm-project/commit/258631fc0c640b5091950a3323e2c51545c3f0a9
  Author: David Green <david.green at arm.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h

  Log Message:
  -----------
  [GlobalISel] Fix a bit of formatting. NFC


  Commit: 07d799f08fec4cb9ceb14a43cc134dee7f1621fc
      https://github.com/llvm/llvm-project/commit/07d799f08fec4cb9ceb14a43cc134dee7f1621fc
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [APINotes] Upstream Driver and Frontend options that enable API Notes

This upstreams more of the Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes


  Commit: aea7929b0a04c5ea0ac85aba2b85fb58c718626f
      https://github.com/llvm/llvm-project/commit/aea7929b0a04c5ea0ac85aba2b85fb58c718626f
  Author: Anton Rydahl <44206479+AntonRydahl at users.noreply.github.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/comp.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__numeric/pstl_transform_reduce.h
    M libcxx/include/__type_traits/operation_traits.h
    R libcxx/include/__type_traits/predicate_traits.h
    M libcxx/include/module.modulemap.in

  Log Message:
  -----------
  [libc++] Unify __is_trivial_equality_predicate and __is_trivial_plus_operation into __desugars_to (#68642)

When working on an OpenMP offloading backend for standard parallel
algorithms (https://github.com/llvm/llvm-project/pull/66968) we noticed
the need of a generalization of `__is_trivial_plus_operation`. This patch
merges `__is_trivial_equality_predicate` and `__is_trivial_plus_operation`
into `__desugars_to`, and in the future we might extend the latter to support
other binary operations as well.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 9ebe6e28cdbe97f6c03209b87e91be6b55a8026a
      https://github.com/llvm/llvm-project/commit/9ebe6e28cdbe97f6c03209b87e91be6b55a8026a
  Author: Fred Fu <moonsolo at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/include/clang/Interpreter/CodeCompletion.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp

  Log Message:
  -----------
  Revert "[ClangRepl] Type Directed Code Completion" (#73259)

Reverts llvm/llvm-project#67349

There are some issues with the sanitizers. We will reland once that's fixed.


  Commit: 0e15f245557000038f27f2dc8926a65bf3d4ccaf
      https://github.com/llvm/llvm-project/commit/0e15f245557000038f27f2dc8926a65bf3d4ccaf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  mp


  Commit: 419a4e41fc36a91999da6cbe06d430cac07224f1
      https://github.com/llvm/llvm-project/commit/419a4e41fc36a91999da6cbe06d430cac07224f1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/OpenMP/bug54082.c

  Log Message:
  -----------
  Revert "[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)"

This reverts commit fe5c360a9aae61db37886c0c795c409b5129905f.
The commit causes the tests below to fail on many buildbots, e.g.
https://lab.llvm.org/buildbot/#/builders/245/builds/17047

  Clang :: CodeGen/aapcs-align.cpp
  Clang :: CodeGen/aapcs64-align.cpp


  Commit: 442fef6eea22ac7d26261f88bff778d78857c36a
      https://github.com/llvm/llvm-project/commit/442fef6eea22ac7d26261f88bff778d78857c36a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  Revert "mp"

Commit was pushed by accident.

This reverts commit 0e15f245557000038f27f2dc8926a65bf3d4ccaf.


  Commit: d333c0e062e76df466cd06b1b04d52749acd944d
      https://github.com/llvm/llvm-project/commit/d333c0e062e76df466cd06b1b04d52749acd944d
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/X86/calculate-emitted-block-size.s

  Log Message:
  -----------
  [BOLT] Extend calculateEmittedSize() for block size calculation (#73076)

This commit modifies BinaryContext::calculateEmittedSize() to update 
the BinaryBasicBlock::OutputAddressRange of each basic block in the
function in place. BinaryBasicBlock::getOutputSize() now gives the 
emitted size of the basic block.


  Commit: b90eba4e8b82c1bd5f5f9f37295573395b127de4
      https://github.com/llvm/llvm-project/commit/b90eba4e8b82c1bd5f5f9f37295573395b127de4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port aea7929b0a04


  Commit: 17a1104d81767313bdcb0a58101d3c074d150274
      https://github.com/llvm/llvm-project/commit/17a1104d81767313bdcb0a58101d3c074d150274
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/gep-sub.ll

  Log Message:
  -----------
  [ConstraintElim] Add tests with GEPs with variable and negative offsets

Extra test coverage for precondition generation.


  Commit: 3bf6cbd51a38c17516d832e5d409cbd4faa1d238
      https://github.com/llvm/llvm-project/commit/3bf6cbd51a38c17516d832e5d409cbd4faa1d238
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_static_arm_reloc.s
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_static_thumb_reloc.s

  Log Message:
  -----------
  [JITLink][AArch32] Add tests for BLX interworking calls

Exercise transformation of BL into BLX instructions, if
instruction set mode differs between origin and target.


  Commit: 5bb03d25f7a0d713ba16a60bd6bf7e611a2ac96c
      https://github.com/llvm/llvm-project/commit/5bb03d25f7a0d713ba16a60bd6bf7e611a2ac96c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctpop-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctpop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Support G_CTPOP with Zbb.


  Commit: 59e24eea3438ab2925bda025f52d2cce92195065
      https://github.com/llvm/llvm-project/commit/59e24eea3438ab2925bda025f52d2cce92195065
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [RISCV][GISel] Rename some variables to be more consistent. NFC


  Commit: e90845fb9ea05c1b493769f5a9504df22a1fe355
      https://github.com/llvm/llvm-project/commit/e90845fb9ea05c1b493769f5a9504df22a1fe355
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++][NFC] Move QoI attributes into a single place inside <__config> (#70870)

We have quite a few macros scattered around in `<__config>` which are
there for QoI purposes. To make things a bit simpler this patch moves
all these attributes into a single place.


  Commit: 43bc81d7488a8fbd43b855f7e1100cfe110f90fc
      https://github.com/llvm/llvm-project/commit/43bc81d7488a8fbd43b855f7e1100cfe110f90fc
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M mlir/docs/TargetLLVMIR.md
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    A mlir/test/Conversion/LLVMCommon/types.mlir

  Log Message:
  -----------
  [mlir] fix LLVM type converter for structs (#73231)

Existing implementation of the LLVM type converter for LLVM structs
containing incompatible types was attempting to change identifiers of
the struct in case of name clash post-conversion (all identified structs
have different names post-conversion since one cannot change the body of
the struct once initialized). Beyond a trivial error of not updating the
counter in renaming, this approach was broken for recursive structs that
can't be made aware of the renaming and would use the pre-existing
struct with clashing name instead.

For example, given

`!llvm.struct<"_Converted.foo", (struct<"_Converted.foo">, f32)>`

the following type

`!llvm.struct<"foo", (struct<"foo", index>)>`

would incorrectly convert to

```
!llvm.struct<"_Converted_1.foo",
             (struct<"_Converted.foo",
	             (struct<"_Converted.foo">, f32)>)>
```

Remove this incorrect renaming and simply refuse to convert types if it
would lead to identifier clashes for structs with different bodies.
Document the expectation that such generated names are reserved and must
not be present in the input IR of the converter. If we ever actually
need to use handle such cases, this can be achieved by temporarily
renaming structs with reserved identifiers to an unreserved name and
back in a pre/post-processing pass that does _not_ use the type
conversion infra.


  Commit: 96452676e534c70a652ffdf260ee849290f374c4
      https://github.com/llvm/llvm-project/commit/96452676e534c70a652ffdf260ee849290f374c4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

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

  Log Message:
  -----------
  [LAA] Factor out logic to compute dependence distance. (NFCI)

This patch refactors the logic to compute the dependence distance,
stride, size and write info to a separate function. This limits the
scope of various A* and B* variables, which in turn makes it easier to
reason about their uses.

In particular this makes it more explicit why dropping the various
std::swaps as done in https://github.com/llvm/llvm-project/pull/70819/
is valid.


  Commit: 0a9c6bea6b08538e6e910ec13dd83b8f04530835
      https://github.com/llvm/llvm-project/commit/0a9c6bea6b08538e6e910ec13dd83b8f04530835
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Support G_CTTZ/CTLZ with Zbb.


  Commit: c4779ea8e709a7bce7288988fabf1ba50e9c9477
      https://github.com/llvm/llvm-project/commit/c4779ea8e709a7bce7288988fabf1ba50e9c9477
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M libcxxabi/src/abort_message.h
    M libcxxabi/src/cxa_demangle.cpp
    M libcxxabi/src/demangle/DemangleConfig.h
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/demangle/Utility.h
    M libcxxabi/src/fallback_malloc.cpp
    M libcxxabi/test/test_fallback_malloc.pass.cpp
    M llvm/include/llvm/Demangle/DemangleConfig.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/Utility.h

  Log Message:
  -----------
  [libc++abi] Avoid raw calls to assert() in libc++abi (#71121)

The runtimes now have a principled way of doing assertions in relation
to hardening, so we should use that instead of raw calls to assert()
inside libc++abi. This patch aims to maintain the behavior of the
demangler code when it is used from within LLVM by introducing a simple
DEMANGLE_ASSERT(...) macro that is then defined to the appropriate
assertion mechanism.


  Commit: ba89749cd24950c9c51f4cc64277ce0421d86d20
      https://github.com/llvm/llvm-project/commit/ba89749cd24950c9c51f4cc64277ce0421d86d20
  Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libcxx/docs/Status/ParallelismProjects.csv
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    A libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp

  Log Message:
  -----------
  [libc++] <experimental/simd> Add implicit type conversion constructor for class simd/simd_mask (#71132)


  Commit: af7a1453526a88a0e242baf156244aa4ae42ae4b
      https://github.com/llvm/llvm-project/commit/af7a1453526a88a0e242baf156244aa4ae42ae4b
  Author: Alexander Kornienko <alexfh at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  Revert "[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using"

This reverts commit 52df67ba76a03ad33132d1d4f4202d5a2313a3cd, which causes
spurious clang crashes. See
https://github.com/llvm/llvm-project/commit/52df67ba76a03ad33132d1d4f4202d5a2313a3cd#commitcomment-133381701


  Commit: 28d91a6e17c58c129eda75c53448c8a81d63b445
      https://github.com/llvm/llvm-project/commit/28d91a6e17c58c129eda75c53448c8a81d63b445
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [NFC][X86] Clang-format X86DisassemblerDecoderCommon.h (#73272)


  Commit: 3422203abccd7ff4bd839011b780b41f8fa8ca8f
      https://github.com/llvm/llvm-project/commit/3422203abccd7ff4bd839011b780b41f8fa8ca8f
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h

  Log Message:
  -----------
  [NFC][X86] Clang-format X86BaseInfo.h and refine some comments (#73274)


  Commit: 39124f525accda4002fd0a91dfe9c1d697709ad0
      https://github.com/llvm/llvm-project/commit/39124f525accda4002fd0a91dfe9c1d697709ad0
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [NFC][X86] Clang-format X86RecognizableInstr.cpp (#73278)


  Commit: dab7684ad172b06b51becef9b2c5614a68023b89
      https://github.com/llvm/llvm-project/commit/dab7684ad172b06b51becef9b2c5614a68023b89
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [NFC][X86] Clang-format X86RecognizableInstr.h (#73279)


  Commit: be0307d5769f87a2e64b7e9e78a78bcd3dcca800
      https://github.com/llvm/llvm-project/commit/be0307d5769f87a2e64b7e9e78a78bcd3dcca800
  Author: wangpc <wangpengcheng.pp at bytedance.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [SelectionDAG] Format BuiltinOpcodes


  Commit: 8c2537fde66406dd08021d28e302e1cdb862fc3f
      https://github.com/llvm/llvm-project/commit/8c2537fde66406dd08021d28e302e1cdb862fc3f
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    A llvm/test/MC/Disassembler/X86/apx/push2-pop2.txt
    A llvm/test/MC/Disassembler/X86/apx/push2p-pop2p.txt
    A llvm/test/MC/X86/apx/push2-pop2-att.s
    A llvm/test/MC/X86/apx/push2-pop2-intel.s
    A llvm/test/MC/X86/apx/push2p-pop2p-att.s
    A llvm/test/MC/X86/apx/push2p-pop2p-intel.s
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.h
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [X86][MC] Support encoding/decoding for PUSH2[P]/POP2[P] (#73233)

PUSH2 and POP2 are two new instructions for (respectively)
pushing/popping 2 GPRs at a time to/from
the stack. The opcodes of PUSH2 and POP2 are those of “PUSH r/m” and
“POP r/m” from legacy map 0, but we
require ModRM.Mod = 3 in order to disallow memory operand. 

The 1-bit Push-Pop Acceleration hint described in #73092 applies to
PUSH2/POP2 too, then we have PUSH2P/POP2P.

For AT&T syntax, PUSH2[P] pushes the registers from right to left onto
the stack. POP2[P] pops the stack to registers from right to left. Intel
syntax has the opposite order - from left to right.

The assembly syntax is aligned with GCC & binutils
https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637718.html


  Commit: ea81e31aa11c5783ca423b7595e3a957d30aaf56
      https://github.com/llvm/llvm-project/commit/ea81e31aa11c5783ca423b7595e3a957d30aaf56
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [X86][AVX10] Allow AVX10 use VBMI2 instructions (#73276)


  Commit: 006f264b0343d0a27a95854e4f3aa610e5dac3bb
      https://github.com/llvm/llvm-project/commit/006f264b0343d0a27a95854e4f3aa610e5dac3bb
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  Adding missing `useSoftFloat` check, NFCI


  Commit: 8ff08ebe5ebd7ca8a93ed08dd48a8f1ff65d8d32
      https://github.com/llvm/llvm-project/commit/8ff08ebe5ebd7ca8a93ed08dd48a8f1ff65d8d32
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h

  Log Message:
  -----------
  [NFC][X86] Move the comments to a right place (#73284)


  Commit: 5169100ecddadb35e3537c74d5b15fad5b6d86d1
      https://github.com/llvm/llvm-project/commit/5169100ecddadb35e3537c74d5b15fad5b6d86d1
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp

  Log Message:
  -----------
  [NFC][X86] Clang-format X86FrameLowering.cpp (#73287)


  Commit: c0722478d5c10d44c0a31663ff62fae0a7cba0f2
      https://github.com/llvm/llvm-project/commit/c0722478d5c10d44c0a31663ff62fae0a7cba0f2
  Author: GongMengyao <gongmengyao at loongson.cn>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    A lld/test/ELF/lto/loongarch.ll

  Log Message:
  -----------
  [lld][ELF] Add getBitcodeMachineKind test for LoongArch (#71931)

Test that getBitcodeMachineKind can get right e_machine for
Triple::loongarch64 and Triple::loongarch32 during LTO.


  Commit: 81761bd0f1fbb142546c946105384eab4811eba8
      https://github.com/llvm/llvm-project/commit/81761bd0f1fbb142546c946105384eab4811eba8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  Try to fix good-first-issue bot (#71816)

The previous code was just overriding the `comment` variable. Fix this by writing two comments if necessary instead.


  Commit: d80e46da7d20645afd7b751a4e6cba9837addcb4
      https://github.com/llvm/llvm-project/commit/d80e46da7d20645afd7b751a4e6cba9837addcb4
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    A clang/test/CodeGen/RISCV/riscv-func-attr-target.c

  Log Message:
  -----------
  [RISCV] Support target attribute for function

The proposal of target attribute is https://github.com/riscv-non-isa/riscv-c-api-doc/pull/35

This patch implements it by emitting .option arch during codegen.

Reviewed By: craig.topper

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


  Commit: 579e721ce91bd47a7e519a85f99498eb45d3d693
      https://github.com/llvm/llvm-project/commit/579e721ce91bd47a7e519a85f99498eb45d3d693
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Support/Unix/Path.inc

  Log Message:
  -----------
  [Support] Implement getMainExecutable for Haiku

This uses argv[0] on Haiku.


  Commit: dd0b3c2fa62786d9e1fd8d70cdcfe778c74c0a7d
      https://github.com/llvm/llvm-project/commit/dd0b3c2fa62786d9e1fd8d70cdcfe778c74c0a7d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    M clang/test/Analysis/security-syntax-checks.c

  Log Message:
  -----------
  [clang][analyzer] Support `fprintf` in the SecuritySyntaxChecker (#73247)


  Commit: b98a594977f25e555822e5ceef457f69c73cce45
      https://github.com/llvm/llvm-project/commit/b98a594977f25e555822e5ceef457f69c73cce45
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/cert/env31-c.c
    M clang/test/Analysis/cert/env34-c-cert-examples.c
    M clang/test/Analysis/cert/env34-c.c
    M clang/test/Analysis/invalid-ptr-checker.c

  Log Message:
  -----------
  [clang][analyzer] Move `security.cert.env.InvalidPtr` out of `alpha` (#71912)

Thanks to recent improvements in #67663, InvalidPtr checker does not
emit any false positives on the following OS projects: memcached, tmux,
curl, twin, vim, openssl, sqlite, ffmpeg, postgres, tinyxml2, libwebm,
xerces, bitcoin, protobuf, qtbase, contour, acid, openrct2. (Before the
changes mentioned above, there were 27 reports, catching the `getenv`
invalidates previous `getenv` results cases. That strict behaviour is
disabled by default)


  Commit: 25b5e5c4e9a39a86ca3c1a05ad6eae33771ab052
      https://github.com/llvm/llvm-project/commit/25b5e5c4e9a39a86ca3c1a05ad6eae33771ab052
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Update links in AttrDocs.td for coro_lifetimebound


  Commit: 59edb432256064ee4f66c3a30fd4875030c5166b
      https://github.com/llvm/llvm-project/commit/59edb432256064ee4f66c3a30fd4875030c5166b
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/include/clang/APINotes/APINotesManager.h

  Log Message:
  -----------
  clang/APINotes: squelch a -Wparantheses warning (NFC)


  Commit: 6b87d84ff45d03c244e7511fba9359776ce27977
      https://github.com/llvm/llvm-project/commit/6b87d84ff45d03c244e7511fba9359776ce27977
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/test/DebugInfo/AArch64/constant-dbgloc.ll

  Log Message:
  -----------
   [MachineSink] Some more preserving of debug location when rematerialising an instruction to replace a COPY (#73155)

Somewhat similar to ef9bcace834e63f25bbbc5e8e2b615f89d85fb2f
([MachineSink][AArch64] Preserve debug location when rematerialising
an instruction to replace a COPY (#72685))
reuse the debug location of the COPY, iff the rematerialised instruction
did not have a location.

Fixes a regression in `DebugInfo/AArch64/constant-dbgloc.ll` after
enabling sink-and-fold.


  Commit: b3dd14ce07f2750ae1068fe62abbf2f3bd2cade8
      https://github.com/llvm/llvm-project/commit/b3dd14ce07f2750ae1068fe62abbf2f3bd2cade8
  Author: David Green <david.green at arm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/AArch64/vecreduce-fmul.ll

  Log Message:
  -----------
  [AArch64] Add extra vecreduce.fmul tests. NFC


  Commit: 8a02b70324f03967a6697c782d2b2436d1e1bac2
      https://github.com/llvm/llvm-project/commit/8a02b70324f03967a6697c782d2b2436d1e1bac2
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/unittests/tools/llvm-exegesis/Common/AssemblerUtils.h

  Log Message:
  -----------
  [llvm-exegesis] Refactor ExecutableFunction to use a named constructor (#72837)

This patch refactors ExecutableFunction to use a named constructor
pattern, namely adding the create function, so that errors occurring
during the creation of an ExecutableFunction can be propogated back up
rather than having to deal with them in report_fatal_error.


  Commit: 17fcad7f84a831e52f30d6417d97707b91b9848d
      https://github.com/llvm/llvm-project/commit/17fcad7f84a831e52f30d6417d97707b91b9848d
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Build clang docs in CI if autogenerated files change (#72623)

These are unlikely to produce errors in the build, assuming that the
tablegen emitter works as expected, but we're still losing some
documentation build testing coverage but not building upon changes to
these files.


  Commit: 28233b11ac0efd28ab1f6c83842342d2e7f0a4d3
      https://github.com/llvm/llvm-project/commit/28233b11ac0efd28ab1f6c83842342d2e7f0a4d3
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    A llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir

  Log Message:
  -----------
  [AMDGPU] New AMDGPUInsertSingleUseVDST pass (#72388)

Add support for emitting GFX11.5 s_singleuse_vdst instructions. This is
a power saving feature whereby the compiler can annotate VALU
instructions whose results are known to have only a single use, so the
hardware can in some cases avoid writing the result back to VGPR RAM.

To begin with the pass is disabled by default because of one missing
feature: we need an exclusion list of opcodes that never qualify as
single-use producers and/or consumers. A future patch will implement
this and enable the pass by default.

---------

Co-authored-by: Scott Egerton <scott.egerton at amd.com>


  Commit: 3049c76e43be0db265ea4b2a0497adabc88edcc5
      https://github.com/llvm/llvm-project/commit/3049c76e43be0db265ea4b2a0497adabc88edcc5
  Author: Kai Wang <hsiangkai.wang at arm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][vector][spirv] Lower vector.load and vector.store to SPIR-V (#71674)

Add patterns to lower vector.load to spirv.load and vector.store to
spirv.store.


  Commit: da85160e7531119ab43c069e84d5f26ab09b7e42
      https://github.com/llvm/llvm-project/commit/da85160e7531119ab43c069e84d5f26ab09b7e42
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 28233b11ac0e


  Commit: 076ec9f5f5bf03983f43f703e3f9d4600bad9653
      https://github.com/llvm/llvm-project/commit/076ec9f5f5bf03983f43f703e3f9d4600bad9653
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp

  Log Message:
  -----------
  Fix build failure on certain bots


  Commit: c1e3a94105225a0ad6aa181ec15a9f31cf546237
      https://github.com/llvm/llvm-project/commit/c1e3a94105225a0ad6aa181ec15a9f31cf546237
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/X86/X86CallingConv.cpp

  Log Message:
  -----------
  [TargetLowering] Don't include ComplexDeinterleavingPass.h (NFC)

TargetLowering.h shouldn't include any passes and thus pull in
the entire pass infrastructure. Replace the include with forward
declarations.


  Commit: f1d773863dc2707d96ce0f506801b363f8b079cf
      https://github.com/llvm/llvm-project/commit/f1d773863dc2707d96ce0f506801b363f8b079cf
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M flang/test/Lower/OpenMP/FIR/array-bounds.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-array.f90
    M openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90
    A openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90

  Log Message:
  -----------
  [Flang][OpenMP] Remove use of non reference values from MapInfoOp (#72444)

This patch removes the val field from the `MapInfoOp`.

Previously when lowering `TargetOp`, the bounds information for the
`BoxValues` were also being mapped. Instead these ops are now cloned
inside the target region to prevent mapping of non reference typed
values.


  Commit: 6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa
      https://github.com/llvm/llvm-project/commit/6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Fix the assertion failure for VariableCaptureKind::ByCopy (#72424)


  Commit: a4ee55fe6ea088f55bf44236bd05f6a847a3de6c
      https://github.com/llvm/llvm-project/commit/a4ee55fe6ea088f55bf44236bd05f6a847a3de6c
  Author: Alexander Batashev <alexbatashev at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
    M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
    M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
    M mlir/lib/Pass/PassRegistry.cpp

  Log Message:
  -----------
  [MLIR][NFC] Fix build on recent GCC with C++20 enabled (#73308)

The following pattern fails on recent GCC versions with -std=c++20 flag
passed and succeeds with -std=c++17. Such behavior is not observed on
Clang 16.0.

```
template <typename T>
struct Foo {
    Foo<T>(int a) {}
};
```

This patch removes template parameter from constructor in two occurences
to make the following command complete successfully:
bazel build -c fastbuild --cxxopt=-std=c++20 --host_cxxopt=-std=c++20
@llvm-project//mlir/...

This patch is similar to https://reviews.llvm.org/D154782

Co-authored-by: Alexander Batashev <a.batashev at partner.samsung.com>


  Commit: cf1bde33423da5eb9b7dc95daac4aada3167de3c
      https://github.com/llvm/llvm-project/commit/cf1bde33423da5eb9b7dc95daac4aada3167de3c
  Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/lib/Lex/ModuleMap.cpp

  Log Message:
  -----------
  [clang] Fix sorting module headers (#73146)

Struct Module::Header is not a POD type. As such, qsort() and
llvm::array_pod_sort() must not be used to sort it. This became an issue
with the new implementation of qsort() in glibc 2.39 that is not
guaranteed to be a stable sort, causing Headers to be re-ordered and
corrupted.

Replace the usage of llvm::array_pod_sort() with std::stable_sort() in
order to fix this issue. The signature of compareModuleHeaders() has to
be modified.

Fixes #73145.


  Commit: de6c9c84e2eec2d1ef865a8d9d1775d78ca0cc51
      https://github.com/llvm/llvm-project/commit/de6c9c84e2eec2d1ef865a8d9d1775d78ca0cc51
  Author: pasmpe01 <Paschalis.Mpeis at arm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/armpl-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll

  Log Message:
  -----------
  [TLI][AArch64] Add TLI Mappings of @llvm.exp10 for ArmPL and SLEEF.

Update regex to _explicitly_ show which exp versions are added.
The previous regex used `exp[^e]` to avoid matching calls like:
`@llvm.experimental.stepvector`.

Note: ArmPL Mappings for scalable types are not yet utilized
(eg, `llvm.exp10.nxv2f64`, `llvm.exp10.nxv4f32`), as `replace-with-veclib`
pass needs improvements.


  Commit: e8cd401eaefe8113cae4b4f85ee78600925a9481
      https://github.com/llvm/llvm-project/commit/e8cd401eaefe8113cae4b4f85ee78600925a9481
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Remove extraneous ` in AttrDocs.td


  Commit: 84f6e1d71c19bccd13a23a008ed815391e4f6b8e
      https://github.com/llvm/llvm-project/commit/84f6e1d71c19bccd13a23a008ed815391e4f6b8e
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll

  Log Message:
  -----------
  [DebugInfo] Clone dbg.values in SimplifyCFG like normal instructions (#72526)

The code in the CloneInstructionsIntoPredec... function modified by this
patch has a long history that dates back to 2011, see d715ec82b4ad12c59.
There, when folding branches, all dbg.value intrinsics seen when folding
would be saved and then re-inserted at the end of whatever was folded. Over
the last 12 years this behaviour has been preserved.

However, IMO it's bad behaviour. If we have:

  inst1
  dbg.value1
  inst2
  dbg.value2

And we fold that sequence into a different block, then we would want the
instructions and variable assignments to appear in the same order. However
because of this old behaviour, the dbg.values are sunk, and we get:

  inst1
  inst2
  dbg.value1
  dbg.value2

This clustering of dbg.values can make assignments to the same variable
invisible, as well as reducing the coverage of other assignments.

This patch relaxes the CloneInstructions... function and allows it to clone
and update dbg.values in-place, causing them to appear in the original
order in the destination block. I've added some extra dbg.values to the
updated test: without the changes to the pass, the dbg.values sink into a
blob ahead of the select. The RemoveDIs code can't cope with this right now
so I've removed the "--try..." flag, restored in a commit to land in a
couple of hours.

(Metadata changes to make the LLVM-IR parser not drop the debug-info for it
being out of date. The RemoveDIs related RUN line has been removed because
it was spuriously passing due to the debug-info being dropped).


  Commit: dc9787c87223540a6058aa1d0f647d6b0e1c53c7
      https://github.com/llvm/llvm-project/commit/dc9787c87223540a6058aa1d0f647d6b0e1c53c7
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libc/src/__support/FPUtil/FloatProperties.h

  Log Message:
  -----------
  [libc][NFC] Remove dead code (#73315)


  Commit: 3d8a9105d7e0e4baa744428e55d1c2462803118a
      https://github.com/llvm/llvm-project/commit/3d8a9105d7e0e4baa744428e55d1c2462803118a
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [clang][ASTImporter] Fix import of SubstTemplateTypeParmType in return type of function. (#69724)

Import of a function with `auto` return type that is expanded to a
`SubstTemplateTypeParmType` could fail if the function itself is the
template specialization where the parameter was replaced.


  Commit: a79a5611bd18baab02ea6ad31f7b6b767f4028a7
      https://github.com/llvm/llvm-project/commit/a79a5611bd18baab02ea6ad31f7b6b767f4028a7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Sema/builtin-classify-type.c
    M clang/test/SemaCXX/builtin-classify-type.cpp

  Log Message:
  -----------
  [clang] Classify vector types in __builtin_classify_type (#73299)


  Commit: 7eeedc124f9901a65573668bc504a45111a3f837
      https://github.com/llvm/llvm-project/commit/7eeedc124f9901a65573668bc504a45111a3f837
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRFormatter.h
    M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
    M llvm/include/llvm/CodeGen/MachineMemOperand.h
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp

  Log Message:
  -----------
  [CodeGen] Make some includes explicit (NFC)

Explicitly include some headers or forward-declare types, in
preparation for removing an include that pulls in many transitive
headers.


  Commit: c8562e81bce36f45f03ba059a58c3a1762a77ebe
      https://github.com/llvm/llvm-project/commit/c8562e81bce36f45f03ba059a58c3a1762a77ebe
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp

  Log Message:
  -----------
  [llvm-jitlink] Avoid assertion failure in make_error parameter

If GOTSym is not defined, we cannot call `GOTSym.getBlock()`. It failed with:
```
Assertion failed: (Base->isDefined() && "Not a defined symbol"), function getBlock, file JITLink.h, line 554.
```


  Commit: 962829bdb342d5dc9998a9f146146608812a832b
      https://github.com/llvm/llvm-project/commit/962829bdb342d5dc9998a9f146146608812a832b
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm-c/Orc.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h

  Log Message:
  -----------
  [JITLink] Fix typos: symobls -> symbols (NFC)


  Commit: 820b3583c9681a1969814ac3b04a6fe41b87d079
      https://github.com/llvm/llvm-project/commit/820b3583c9681a1969814ac3b04a6fe41b87d079
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll

  Log Message:
  -----------
  [AArch64] Add artificial clobbers to swift async context test.

Manually add clobbers for various register combinations to tests. This
highlights incorrectly performing shrink-wrapping, with
StoreSwiftAsyncContext expansion clobbering a live register.


  Commit: 85ee351aa7b1112b1b9ac2e0ead547e9af8712b5
      https://github.com/llvm/llvm-project/commit/85ee351aa7b1112b1b9ac2e0ead547e9af8712b5
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [CI] Skip libcxx in non-llvm repo (#73282)

The new libcxx workflow are run and failing in non llvm repo.
Skip it similar to other workflow.


  Commit: 88f7dc17eb271e37caf381f02eb75b3493e2b4a5
      https://github.com/llvm/llvm-project/commit/88f7dc17eb271e37caf381f02eb75b3493e2b4a5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
    M llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
    M llvm/test/Analysis/ScalarEvolution/addrec-sub-nsw.ll
    M llvm/test/Analysis/ScalarEvolution/alloca.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/decrementing_addrecs.ll
    M llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-select.ll
    M llvm/test/Analysis/ScalarEvolution/extract-lowbits-sameconstmask.ll
    M llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll
    M llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
    M llvm/test/Analysis/ScalarEvolution/fold.ll
    M llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll
    M llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
    M llvm/test/Analysis/ScalarEvolution/load.ll
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll
    M llvm/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.ll
    M llvm/test/Analysis/ScalarEvolution/malloc.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll
    M llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll
    M llvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
    M llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
    M llvm/test/Analysis/ScalarEvolution/nsw.ll
    M llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
    M llvm/test/Analysis/ScalarEvolution/range-signedness.ll
    M llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll
    M llvm/test/Analysis/ScalarEvolution/ranges.ll
    M llvm/test/Analysis/ScalarEvolution/sdiv.ll
    M llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
    M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
    M llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
    M llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
    M llvm/test/Analysis/ScalarEvolution/shl-lshr-differentconstmask.ll
    M llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
    M llvm/test/Analysis/ScalarEvolution/smin-smax-folds.ll
    M llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
    M llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/srem.ll
    M llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-minmax.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count10.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count14.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count15.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count2.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count3.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count4.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count8.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count9.ll
    M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/trip-multiple.ll
    M llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll
    M llvm/test/Analysis/ScalarEvolution/unknown_phis.ll

  Log Message:
  -----------
  [SCEV] Regenerate test checks (NFC)

There have been some minor but pervasive changes to the generated
CHECK lines, so regenerate all of them, to minimize future diffs.


  Commit: 50c298fd174f1a98fd20374a65d1faecba5649e1
      https://github.com/llvm/llvm-project/commit/50c298fd174f1a98fd20374a65d1faecba5649e1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll

  Log Message:
  -----------
  [CVP] Regenerate test checks (NFC)

Avoid some spurious changes in a future patch.


  Commit: 5e5a22caf88ac1ccfa8dc5720295fdeba0ad9372
      https://github.com/llvm/llvm-project/commit/5e5a22caf88ac1ccfa8dc5720295fdeba0ad9372
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libc/cmake/modules/compiler_features/check_float128.cpp
    M libc/docs/dev/code_style.rst
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/macros/properties/CMakeLists.txt
    M libc/src/__support/macros/properties/compiler.h
    A libc/src/__support/macros/properties/float.h
    A libc/src/__support/macros/properties/os.h
    M libc/src/math/copysignf128.h
    M libc/src/math/generic/copysignf128.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Move float macro into its own header / add target os detection (#73311)

Floating point properties are a combination of target OS, target
architecture and compiler support.
 - Adding target OS detection,
 - Moving floating point type detection to its own file.

This is in preparation of adding support for `_Float16` which requires
testing compiler **version** and target architecture.


  Commit: 2f7c050e1943f63af0823c1327b44579d0bdb584
      https://github.com/llvm/llvm-project/commit/2f7c050e1943f63af0823c1327b44579d0bdb584
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/IR/BasicBlock.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Allow speculative-DPMarker creation

There's good justification for having a function specifying "I need there to be
a marker here, so return the marker there or create a new one". This was going
to come later in the series, but it's starting to become necessary much eariler
alas.

Make use of it in spliceDebugInfo, where we can occasionally splice DPValues
onto the end() iterator of a block while it's been edited.


  Commit: 59fab2264217648ff11412666b69fb4c5fc9451c
      https://github.com/llvm/llvm-project/commit/59fab2264217648ff11412666b69fb4c5fc9451c
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ValueMapper.h
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/test/Transforms/LoopUnroll/runtime-epilog-debuginfo.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/debuginfo.ll
    M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
    A llvm/test/Transforms/SimplifyCFG/jump-threading-debuginfo.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Support cloning and remapping DPValues (#72546)

This patch adds support for CloneBasicBlock duplicating the DPValues
attached to instructions, and adds facilities to remap them into their new
context. The plumbing to achieve this is fairly straightforwards and
mechanical.

I've also added illustrative uses to LoopUnrollRuntime, SimpleLoopUnswitch
and SimplifyCFG. The former only updates for the epilogue right now so I've
added CHECK lines just for the end of an unrolled loop (further updates
coming later). SimpleLoopUnswitch had no debug-info tests so I've added a
new one. The two modified parts of SimplifyCFG are covered by the two
modified SimplifyCFG tests.

These are scenarios where we have to do extra cloning for copying of
DPValues because they're no longer instructions, and remap them too.


  Commit: 89a832435d786e5ce0668da3720db668beb10e70
      https://github.com/llvm/llvm-project/commit/89a832435d786e5ce0668da3720db668beb10e70
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt

  Log Message:
  -----------
  [libc][cmake] Add missing dependencies for type_traits (#73339)


  Commit: 18a5ca14d16e6e5142fc5527accdfb10c1a22820
      https://github.com/llvm/llvm-project/commit/18a5ca14d16e6e5142fc5527accdfb10c1a22820
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [Clang] Fix `-Wdocumentation` warning (NFC)

```
llvm-project/clang/include/clang/AST/OpenMPClause.h:7762:14: warning: parameter 'Modifier' not found in the function declaration [-Wdocumentation]
  /// \param Modifier The modifier applied to 'order' clause.
             ^~~~~~~~
llvm-project/clang/include/clang/AST/OpenMPClause.h:7762:14: note: did you mean 'M'?
  /// \param Modifier The modifier applied to 'order' clause.
```


  Commit: bd8f1068cad06b0f0342ac7ef351bf01c2e27322
      https://github.com/llvm/llvm-project/commit/bd8f1068cad06b0f0342ac7ef351bf01c2e27322
  Author: José Lira Junior <josejunior at 10xengineers.ai>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/test/Shell/Breakpoint/jit-loader_jitlink_elf.test
    M lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test

  Log Message:
  -----------
  [lldb] correct inconsistent order of messages on process launch (#73173)

Fixes [#68035](https://github.com/llvm/llvm-project/issues/68035), where
an inconsistency in the order of "Process launched" and "Process
stopped" messages occurs during `process launch`.

The fix involves adjusting the message output sequence in
`CommandObjectProcessLaunch::DoExecute` within
`source/Commands/CommandObjectProcess.cpp`. This ensures "Process
launched" consistently precedes "Process stopped" when executing
commands with the '-o' flag, i.e., non-interactive mode.

Upon implementing this change, two tests failed:
`lldb/test/Shell/Breakpoint/jit-loader_jitlink_elf.test` and
`lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test`. These failures
were expected as they relied on the previous, now-corrected message
order. Updating these tests to align with the new message sequence is
part of this PR's scope.


  Commit: ee5749bf785b66adfd9b4edc4d3a676691f28599
      https://github.com/llvm/llvm-project/commit/ee5749bf785b66adfd9b4edc4d3a676691f28599
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libc/src/__support/macros/properties/compiler.h

  Log Message:
  -----------
  [libc] Provide compiler version properties (#73344)

This will be used to support conditional compilation based on compiler
version.
We adopt the same convention as
[libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config)
- thx @legrosbuffle for the suggestion!
Usage:
```
#if defined(LIBC_COMPILER_CLANG_VER)
#  if LIBC_COMPILER_CLANG_VER < 1500
#    warning "Libc only supports Clang 15 and later"
#  endif
#elif defined(LIBC_COMPILER_GCC_VER)
#  if LIBC_COMPILER_GCC_VER < 1500
#    warning "Libc only supports GCC 15 and later"
#  endif
#elif defined(LIBC_COMPILER_MSC_VER)
#  if LIBC_COMPILER_MSC_VER < 1930
#    warning "Libc only supports Visual Studio 2022 RTW (17.0) and later"
#  endif
#endif
```


  Commit: c38dbfd3bec92f30c9a2f5b1e784dcd800f88dcd
      https://github.com/llvm/llvm-project/commit/c38dbfd3bec92f30c9a2f5b1e784dcd800f88dcd
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    R flang/test/Driver/OpenMP/host-ir-flag.f90
    R flang/test/Driver/OpenMP/map-types-and-sizes.f90
    A flang/test/Integration/OpenMP/host-ir-flag.f90
    A flang/test/Integration/OpenMP/map-types-and-sizes.f90
    A flang/test/Integration/OpenMP/target-filtering.f90
    A flang/test/Integration/README.md

  Log Message:
  -----------
  [Flang] Add new Integration tests directory to Flang (#73141)

As per the RFC:
[https://discourse.llvm.org/t/rfc-flang-new-directory-for-adding-end-to-end-tests-for-lowering-to-llvm-ir-in-flang/74872/11](https://discourse.llvm.org/t/rfc-flang-new-directory-for-adding-end-to-end-tests-for-lowering-to-llvm-ir-in-flang/74872/11),
this patch adds a new Integration test directory for OpenMP-
`flang/test/Integration/OpenMP` and moves the existing OpenMP
integration tests from `flang/test/Driver/OpenMP` to this directory.

**This directory can be used to add Integration tests involving multiple
stages of the compiler (for eg. from Fortran to LLVM IR). It should not
contain executable tests. We should only add tests here sparingly and
only if there is no other way to test. Repeat this message in each test
that is added to this directory and sub-directories.**


  Commit: e9fdb965f9b016d5df819969f37c49a8075e70b6
      https://github.com/llvm/llvm-project/commit/e9fdb965f9b016d5df819969f37c49a8075e70b6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using
Expr container, NFC.

Saves the memory and may improve compile time.


  Commit: 7091ca1ae3a87479b6febdf1c3a324d707c633d9
      https://github.com/llvm/llvm-project/commit/7091ca1ae3a87479b6febdf1c3a324d707c633d9
  Author: Sebastian Poeplau <poeplau at adacore.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/Index/recursive-cxx-member-calls.cpp
    M clang/tools/c-index-test/c-index-test.c

  Log Message:
  -----------
  [clang] Add missing LinkageSpec case to getCursorKindForDecl (#72401)

The LinkageSpec case was omitted, and there is a declared CXCursor_Kind
for it. Adapt the testsuite drivers to print mangled names for
declarations with extern linkage. Also update the test baseline for the
recursive-cxx-member-calls.cpp test.

Co-authored-by: Matthieu Eyraud <eyraud at adacore.com>


  Commit: 76c4a6e310f68d6b462a7c98f6b10067277e53fd
      https://github.com/llvm/llvm-project/commit/76c4a6e310f68d6b462a7c98f6b10067277e53fd
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Remove unused variable


  Commit: 92d9f232dd627eea8bd2c825c539b28374bbfa69
      https://github.com/llvm/llvm-project/commit/92d9f232dd627eea8bd2c825c539b28374bbfa69
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__format/format_functions.h
    M libcxx/include/format
    M libcxx/modules/std/format.inc
    A libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implements Runtime format strings II. (#72543)

Implements
- P2918R2 Runtime format strings II


  Commit: 233e7c5de2d2abda024577e79dcd195562de68c8
      https://github.com/llvm/llvm-project/commit/233e7c5de2d2abda024577e79dcd195562de68c8
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/codecvt
    M libcxx/modules/std/codecvt.inc
    M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/buffered_reads.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/buffered_writes.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_mode.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_always_noconv.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_encoding.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_max_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_out.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_unshift.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_always_noconv.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_encoding.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_max_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_out.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_unshift.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_always_noconv.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_encoding.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_in.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_max_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_out.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_unshift.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/depr.verify.cpp
    A libcxx/test/std/localization/locale.stdcvt/remove.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp

  Log Message:
  -----------
  [libc++] Removes codecvt. (#72496)

Implements:
- P2871R3 Remove Deprecated Unicode Conversion Facets from C++26


  Commit: 5d501b1091ce3632b885c60a8fc9f74ed9c95ae3
      https://github.com/llvm/llvm-project/commit/5d501b1091ce3632b885c60a8fc9f74ed9c95ae3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Fix several boundary cases in narrow G_SEXT_INREG. (#72719)

This fixes cases when SizeInBits is a multiple of the narrow size.

If SizeBits is equal to NarrowTy size, the first block would create an
illegal G_SEXT_INREG where the the extension size is equal to the type.
I tried to turn it into G_TRUNC+G_SEXT, but that just turned back into
G_SEXT_INREG causing an infinite loop. So punt to the splitting case.

In the for loop we should copy when the part ends on SizeInBits. In that
case there is no G_SEXT_INREG needed for partial. But we should note
that register in PartialExtensionReg for the first full part to use.

If the part starts on SizeInBits then we should do an AShr of
PartialExtensionReg.

We should only get to the G_SEXT_INREG case if the SizeInBits is in the
middle of the part.


  Commit: d9962c400f970d17396e84c1a55cdbea29a7c893
      https://github.com/llvm/llvm-project/commit/d9962c400f970d17396e84c1a55cdbea29a7c893
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Assembler/flags.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Bitcode/flags.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/SimplifyCFG/HoistCode.ll

  Log Message:
  -----------
  [IR] Add disjoint flag for Or instructions. (#72583)

This flag indicates that every bit is known to be zero in at least one
of the inputs. This allows the Or to be treated as an Add since there is
no possibility of a carry from any bit.

If the flag is present and this property does not hold, the result is
poison.

This makes it easier to reverse the InstCombine transform that turns Add
into Or.

This is inspired by a comment here
https://github.com/llvm/llvm-project/pull/71955#discussion_r1391614578

Discourse thread
https://discourse.llvm.org/t/rfc-add-or-disjoint-flag/75036


  Commit: 0ff5281c947a56bf81205c4758f713aacd006a2f
      https://github.com/llvm/llvm-project/commit/0ff5281c947a56bf81205c4758f713aacd006a2f
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir

  Log Message:
  -----------
  [GlobalISel] Treat shift amounts as unsigned in `matchShiftImmedChain`

A miscompilation issue in the GISel pre-legalization
phase has been addressed with improved routines.

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


  Commit: d896b1f5a614daef1c3aa65cb3521ec82bc728d5
      https://github.com/llvm/llvm-project/commit/d896b1f5a614daef1c3aa65cb3521ec82bc728d5
  Author: Stefan Pintilie <stefanp at ca.ibm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
    A llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll

  Log Message:
  -----------
  [PowerPC] Do not string pool globals that are part of llvm used. (#66848)

The string pooling pass was incorrectly pooling global varables that
were part of llvm.used or llvm.compiler.used. This patch fixes the pass
to prevent that by checking each candidate to make sure that it is not
in either of those lists.


  Commit: 6ba60390cc4b6a8f7f0815df2a64d7b912f25e83
      https://github.com/llvm/llvm-project/commit/6ba60390cc4b6a8f7f0815df2a64d7b912f25e83
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/MemRefToSPIRV/alloc.mlir

  Log Message:
  -----------
  [mlir][spirv] Handle all zero-element memref types (#73351)

Bail out of type conversion instead of crashing.

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


  Commit: 12b0ab2c9ce8ef813d9eb888860f20daac3336bd
      https://github.com/llvm/llvm-project/commit/12b0ab2c9ce8ef813d9eb888860f20daac3336bd
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt

  Log Message:
  -----------
  [llvm-exegesis] Switch from MCJIT to LLJIT (#72838)

This patch switches from using MCJIT to LLJIT as MCJIT is going to be
deprecated soon.

Fixes #41764.


  Commit: 4233176f9bf8d0309c03b127aa113ae826718dfa
      https://github.com/llvm/llvm-project/commit/4233176f9bf8d0309c03b127aa113ae826718dfa
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

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

  Log Message:
  -----------
  [SimpleLoopUnswitch] Remove callbacks (#73300)

After the removal of the legacyPM version of simple loop unswitch, there
is no longer a need for the callback mechanism to handle PM specific
tasks. This patch removes the callbacks to help simplify the code now
that they're no longer needed.


  Commit: ddc6ef46418cc419041d0bd85de40d0eb9396848
      https://github.com/llvm/llvm-project/commit/ddc6ef46418cc419041d0bd85de40d0eb9396848
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt

  Log Message:
  -----------
  Revert "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"

This reverts commit 12b0ab2c9ce8ef813d9eb888860f20daac3336bd.

Currently failing on certain configurations due to a missing
constructor. Pulling out so that I can reproduce the issue and make sure
I fix it before resubmitting.


  Commit: d625ea12c71813db0da4c2e5867e907da22e22f2
      https://github.com/llvm/llvm-project/commit/d625ea12c71813db0da4c2e5867e907da22e22f2
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp

  Log Message:
  -----------
  [mlir][spirv] Split codegen for float min/max reductions and others v2. [NFC] (#73363)

This is https://github.com/llvm/llvm-project/pull/69023 but with
cleanups.
Reduced complexity by avoiding CRTP and preprocessor defines in favor of
free functions

Original description by @unterumarmung:

---

This patch is part of a larger initiative aimed at fixing floating-point
`max` and `min` operations in MLIR:
https://discourse.llvm.org/t/rfc-fix-floating-point-max-and-min-operations-in-mlir/72671.

There are two types of min/max operations for floating-point numbers:
`minf`/`maxf` and `minimumf`/`maximumf`. The code generation for these
operations should differ from that of other vector reduction kinds. This
difference arises because CL and GL operations for floating-point min
and max do not have the same semantics when handling NaNs. Therefore, we
must enforce the desired semantics with additional ops.

~~However, since the code generation for floating-point min/max
operations shares the same functionality as extracting values for the
vector, we have decided to refactor the existing code using the CRTP
pattern.~~ This change does not alter the actual behavior of the code
and is necessary for future fixes to the codegen for floating-point
min/max operations.

---------

Co-authored-by: Daniil Dudkin <unterumarmung at yandex.ru>


  Commit: 20f634f275b431ff256ba45cbcbb6dc5bd945fb3
      https://github.com/llvm/llvm-project/commit/20f634f275b431ff256ba45cbcbb6dc5bd945fb3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/Thumb2/outlined-fn-may-clobber-lr-in-caller.ll

  Log Message:
  -----------
  [Thumb] Add test case where the machine-outliner clobbers LR.

Add ad test case where `bl OUTLINED_FUNCTION_0` clobbers LR, which in
turn is used the later call to memcpy to return to the caller.


  Commit: 95dcb8b49dd3bb0fcb9f020fe931632a0ddf4994
      https://github.com/llvm/llvm-project/commit/95dcb8b49dd3bb0fcb9f020fe931632a0ddf4994
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumb_stubs.s
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp

  Log Message:
  -----------
  [llvm-jitlink] Support plain AArch32 stubs in jitlink-check's stub_addr() expressions (#73268)

We want to use regular `stub_addr()` expressions in `jitlink-check` lines to test the generation of stubs in AArch32, but we don't want this to require a standardized GOT-based PLT implementation. In terms of performance and binary size it doesn't seem beneficial. And in terms of patching branch targets, we should be able to handle range-extension- and interworking-stubs without a lot of extra logic.

In order to allow such AArch32 stubs we add a separate path for `stub_addr()` expressions in `llvm-jitlink-elf`. The relocations in our stubs are not pointing to the GOT, but to the external symbol directly. Thus, we have to avoid access to the block of the edge target. Instead we only return the symbol name, which is enough to use `stub_addr()` expressions in tests.

The name of the AArch32 stubs section differs from the conventional `$__STUBS` on purpose. It allows to add a regular PLT/GOT implementation as an orthogonal feature in the future. In order to also allow decoding of stub target addresses in the future, we mention the stub flavor in the section name as well.


  Commit: b86420c614b57342e752ff40359e09c85b940475
      https://github.com/llvm/llvm-project/commit/b86420c614b57342e752ff40359e09c85b940475
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Add dynamic lookup for relocation fixup infos (#71649)

Specifying relocation fixup constants with name and type facilitates
readability and compile-time checks. The `FixupInfo<EdgeKind>` facade
organizes the information into entries per relocation type and provides
uniform access across Arm and Thumb relocations. Since it uses template
specializations, it doesn't limit potential entries. We cannot access
the entries dynamically though, because `EdgeKind` must be given as a
compile-time constant.

With this patch we populate a static lookup table on-demand and use it
for dynamic access in opcode-checks.


  Commit: 85b2e9c02295a54100d41207cddce5908b8c513f
      https://github.com/llvm/llvm-project/commit/85b2e9c02295a54100d41207cddce5908b8c513f
  Author: Raymond Chang <raymondkenchang at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    A clang/test/OpenMP/dispatch_unsupported.c

  Log Message:
  -----------
  [Clang][OpenMP] Emit unsupported directive error (#70233)

Hello!

This PR fixes #63871. Clang should no longer crash and instead emits an
error message.

Below is an example of the new error message:

```
~/dev/fork-llvm-project omp_dispatch_unimpl
❯ ./install/bin/clang -fopenmp  -c -emit-llvm -Xclang -disable-llvm-passes test.c
test.c:6:5: error: cannot compile this OpenMP dispatch directive yet
    6 |     #pragma omp dispatch
      |     ^~~~~~~~~~~~~~~~~~~~
1 error generated.
```


  Commit: a3c0f705db03c4ebf651ee2d83cebb02b1e27540
      https://github.com/llvm/llvm-project/commit/a3c0f705db03c4ebf651ee2d83cebb02b1e27540
  Author: Lixi Zhou <zhoulx2013 at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M openmp/runtime/test/ompt/callback.h

  Log Message:
  -----------
  [NFC] fix failed ompt tests on M1 device (#65696)

Fix the 2 failed ompt tests on M1 device found on #63194.

```
libomp :: ompt/synchronization/masked.c
libomp :: ompt/synchronization/master.c
```

For the details of this fix, please check the origin discussion in
https://github.com/llvm/llvm-project/issues/63194#issuecomment-1710494689

Thanks @jprotze for the fix.


  Commit: 12563ea6403f6f5a467862732b92db3517626cd2
      https://github.com/llvm/llvm-project/commit/12563ea6403f6f5a467862732b92db3517626cd2
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M libcxx/include/__availability
    M libcxx/include/__verbose_abort
    M libcxx/include/fstream
    M libcxx/include/sstream
    M libcxx/include/version
    M libcxx/src/ios.instantiations.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][NFC] Refactor _LIBCPP_AVAILABILITY_HAS_* macros to always be defined (#71002)

This makes the conditionals quite a bit simpler to understand, since it
avoids double negatives and makes sure we have <__availability>
included. For vendors which use availability macros, it also enforces
that they check when specific features are introduced and define the
macro for their platform appropriately.


  Commit: afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d
      https://github.com/llvm/llvm-project/commit/afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGen/aapcs-align.cpp
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/OpenMP/bug54082.c

  Log Message:
  -----------
  [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)

Recommit of 0d2860b795879f4dd152963b52f969b53b136899 with extra test
cases fixed.


  Commit: 1a3b14d26152ab7e7352c8e7aa97ec880cdac82d
      https://github.com/llvm/llvm-project/commit/1a3b14d26152ab7e7352c8e7aa97ec880cdac82d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/riscv_bitmanip.h
    A clang/lib/Headers/riscv_crypto.h
    M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkb.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkx.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknd.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zkne.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknh.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd-zkne.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zkne.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknh.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/zksed.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/zksh.c
    M llvm/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [RISCV] Add C intrinsics for scalar bitmanip and crypto

This adds riscv_bitmanip and riscv_crypto.h

This is based on the proposed spec here https://github.com/riscv-non-isa/riscv-c-api-doc/pull/44

Tests that previously used builtins directly now use the intrinsics.

Reviewed By: wangpc

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


  Commit: bc85284273ea1e6efbf7367f736f7982459c652b
      https://github.com/llvm/llvm-project/commit/bc85284273ea1e6efbf7367f736f7982459c652b
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M clang/tools/clang-linker-wrapper/OffloadWrapper.cpp

  Log Message:
  -----------
  [clang-linker-wrapper] Re-use type returned from 'PointerType::getUnqual(C)' (NFC) (#73374)

Multiple calls to `PointerType::getUnqual(C)`, and calls to
`Type::getPointerTo(AddrSpace=0)` on them all result in the same type.

Clean them up to re-use the same `PtrTy` variable within function
`createRegisterGlobalsFunction()`.


  Commit: a0a41d106dc932fa39c40562fc0d6f05fb8f5119
      https://github.com/llvm/llvm-project/commit/a0a41d106dc932fa39c40562fc0d6f05fb8f5119
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 1a3b14d26152


  Commit: 2ac6b268dacd6539a9c51cc930d11def2e14197c
      https://github.com/llvm/llvm-project/commit/2ac6b268dacd6539a9c51cc930d11def2e14197c
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp

  Log Message:
  -----------
  [llvm][Transforms][Utils] Remove no-op ptr-to-ptr bitcasts (NFC)

Opaque ptr cleanup effort (NFC).


  Commit: 5ac5c0e7d1007745456329dbcf05aa15b50c08c8
      https://github.com/llvm/llvm-project/commit/5ac5c0e7d1007745456329dbcf05aa15b50c08c8
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86WinEHState.cpp

  Log Message:
  -----------
  [llvm][X86WinEHState] Replace calls to 'Type::getPointerTo' (NFC)

Work towards to the TODO item of removing method `Type::getPointerTo`
(as noted in llvm/include/llvm/IR/Type.h).


  Commit: 024718313b526a4530d7cd58886fcc157247e0ff
      https://github.com/llvm/llvm-project/commit/024718313b526a4530d7cd58886fcc157247e0ff
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M flang/unittests/Runtime/RuntimeCrashTest.cpp

  Log Message:
  -----------
  [Flang] Fix a test case that depends on stderr output of nullptr. (#73349)

This test case depends on the stderr output of a `nullptr` being
"(null)". However, it is empty string on AIX.
This PR is to initialize the `sourceFileName_` to be a specific string
to avoid that.


  Commit: 16dc5572fa7a1eca35fa1a41f8c69425a38a0fa0
      https://github.com/llvm/llvm-project/commit/16dc5572fa7a1eca35fa1a41f8c69425a38a0fa0
  Author: Yida Zhang <zyd200101 at outlook.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/MSP430/MSP430InstrInfo.td

  Log Message:
  -----------
  [MSP430] Add missed mayStore flag for MSP430 PUSH instructions (#73377)


  Commit: f995afe7f265683a6343a41ac62401150b40ca33
      https://github.com/llvm/llvm-project/commit/f995afe7f265683a6343a41ac62401150b40ca33
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Add G_FRAME_INDEX support to selectAddrRegImm.

We can fold the G_FRAME_INDEX into a load/store address.


  Commit: 26cf3aab836ce421156d7542985f35701e1b5783
      https://github.com/llvm/llvm-project/commit/26cf3aab836ce421156d7542985f35701e1b5783
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Add more G_SEXTLOAD instruction selection tests. NFC


  Commit: c8f6bb452a77260f543cb256e53a5028bb180668
      https://github.com/llvm/llvm-project/commit/c8f6bb452a77260f543cb256e53a5028bb180668
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td

  Log Message:
  -----------
  [mlir][doc] Remove duplicate syntax formats (#73343)

Some operations defined their syntax both in the documentation and via
`assemblyFormat`. This leads to two `Syntax:` subheadings in the
documentation, see for example the documentation for
[`arith.maximumf`](https://mlir.llvm.org/docs/Dialects/ArithOps/#arithmaximumf-arithmaximumfop).
Since the `assemblyFormat` is used to generate the actual parsers and
printer implementations, this PR suggest to remove the manual syntax
descriptions.


  Commit: 9cee94b81b14acf6e22b123e03e88ccff6d6913d
      https://github.com/llvm/llvm-project/commit/9cee94b81b14acf6e22b123e03e88ccff6d6913d
  Author: David Green <david.green at arm.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-add.mir

  Log Message:
  -----------
  [GlobalISel] Add identity fold for fadd -0.0 (#73296)

-0.0 acts as the identity element for fadd. This doesn't try to add 0.0
too, which would require nsz fast math flags.


  Commit: 2170252b443f898d7c650ce93ab701a697c351df
      https://github.com/llvm/llvm-project/commit/2170252b443f898d7c650ce93ab701a697c351df
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI] Add check-mlir-python to MLIR pre-merge checks (#72847)

PR for: https://discourse.llvm.org/t/add-check-mlir-python-to-the-mlir-pre-commit-tests/74041

It’s easy to forget about the Python bindings and not build/test them
locally. It’s also easy to change something that’ll break the python
binding tests and not find out till after you’ve committed your change.

These tests seem to run quickly and don’t require much extra setup, so
let's add them to the general MLIR pre-merge tests.


  Commit: e970652776bd07dbe42be557bf98722749230653
      https://github.com/llvm/llvm-project/commit/e970652776bd07dbe42be557bf98722749230653
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
    M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Reflow code structure after llvm::endianness refactor (NFC)


  Commit: 9020026b88b7f49d9d0e1780a89df4a2bce811e8
      https://github.com/llvm/llvm-project/commit/9020026b88b7f49d9d0e1780a89df4a2bce811e8
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Fix GetEdgeKindName function in error tests

The `getGenericEdgeKindName()` function returned "<Unrecognized edge kind>" for all our relocations.
We must use `aarch32::getEdgeKindName()` instead.


  Commit: 385304eb6f8c5b3137cd4937d6a93c5072bfc6b1
      https://github.com/llvm/llvm-project/commit/385304eb6f8c5b3137cd4937d6a93c5072bfc6b1
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    R mlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
    A mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-transforms.mlir

  Log Message:
  -----------
  [MLIR][Vector] Refactor tests for contract -> OP transforms (#73348)

This patch refactors tests for:

   * vector.contract -> vector.outerproduct

transformations for matvec operations (b += Ax). Specifically, relevant
tests from the following 2 files:

   * vector-contract-matvec-transforms.mlir
   * vector-contract-to-outerproduct-transforms.mlir

are combined into one:

  * vector-contract-to-outerproduct-matvec-transforms.mlir

All original tests are preserved and no new tests are added.

This is a part of a larger effort to add cases with scalable vectors
to tests for the Vector dialect. I am refactoring these test as a
preparation for follow-up patches.

Implements #72834.


  Commit: bbc5d9fe427362f3fec8d147d5f7bc2d39b08e44
      https://github.com/llvm/llvm-project/commit/bbc5d9fe427362f3fec8d147d5f7bc2d39b08e44
  Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    A llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
    M llvm/test/MC/ARM/pcrel-global.s
    A llvm/test/MC/ARM/pcrel-ldr-relocs.s
    A llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
    M llvm/test/MC/ARM/thumb1-relax-ldrlit.s

  Log Message:
  -----------
  [llvm][MC][ARM][Assembly] Emit relocations for LDRs (#72873)

It's possible (though inadvisable) to use LDR and refer to labels in
different
sections. In the Arm state, the assembler resolves the LDR instruction
without
emitting a relocation. That's incorrect because the assembler cannot
make any
assumptions about the relative position of the sections and the compiler
output
is therefore wrong.

This patch ensures relocations are generated for all `LDR <Rt...>,
label`
instructions in the Arm state (little endian). This is not necessary
when the
label is in the same section but the relocation is now generated
regardless.
Instructions that now generate relocations have been removed from the
pcrel-global.s test.

Fortunately, LLD already implements the generated relocations and can
fix LDR
instructions when the symbol is in a different section, or report an
error if
the offset is too large for the immediate field in the particular LDR's
encoding.

The patch to address this problem for big endian targets will follow, as
well
as a fix for ADR that exhibits a similar behavior.


  Commit: 84a20989c6f72d0f7d04c9981d51c7838e95855c
      https://github.com/llvm/llvm-project/commit/84a20989c6f72d0f7d04c9981d51c7838e95855c
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/test/ELF/loongarch-pc-aligned.s

  Log Message:
  -----------
  [lld][LoongArch] Add a another corner testcase for elf::getLoongArchPageDelta

Similar to e752b58e0d26.


  Commit: 494c9e5f59302b1681d1f6171cd01c26004d05fb
      https://github.com/llvm/llvm-project/commit/494c9e5f59302b1681d1f6171cd01c26004d05fb
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/string
    M libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
    A libcxx/test/std/strings/basic.string/string.capacity/reserve.removed_in_cxx26.verify.cpp

  Log Message:
  -----------
  [libc++] Removes basic_string::reserve(). (#73354)

Implements:
- P2870R3 Remove basic_string::reserve()

---------

Co-authored-by: philnik777 <nikolasklauser at berlin.de>


  Commit: fcf5ac84a62de48fc9a6be545e84ccd7e6436320
      https://github.com/llvm/llvm-project/commit/fcf5ac84a62de48fc9a6be545e84ccd7e6436320
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [llvm][NFC] Autoupdater x86 intrinsic selection (#73046)

Sort  x86 intrinsics and use prefix checking.


  Commit: 0fea00d48bcd2368f21ecbca80833093f3a96e64
      https://github.com/llvm/llvm-project/commit/0fea00d48bcd2368f21ecbca80833093f3a96e64
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Split invalid edge kind test out into readAddendDataErrors

This test actually exercises the readAddendData() function.


  Commit: 3703e7cb424269740cccaa936db3afc250af5371
      https://github.com/llvm/llvm-project/commit/3703e7cb424269740cccaa936db3afc250af5371
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst

  Log Message:
  -----------
  [libc++][doc] Fixes grammar issues.


  Commit: 7c44167daa7529d0a1352746e17c9aba6a4ed8ae
      https://github.com/llvm/llvm-project/commit/7c44167daa7529d0a1352746e17c9aba6a4ed8ae
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M libcxx/include/mdspan

  Log Message:
  -----------
  [libc++] Updates mdspan synopsis,

The class layout_stride has been implemented in
639a0986f3a34d52533a726e2a4193411cc1312f


  Commit: fa23d2b9d972134fba3424814b690dd29a33c231
      https://github.com/llvm/llvm-project/commit/fa23d2b9d972134fba3424814b690dd29a33c231
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Add test fixture with helper functions in error tests


  Commit: bc6b632723f8a025c7daa78c82f7d2ad1962a4e9
      https://github.com/llvm/llvm-project/commit/bc6b632723f8a025c7daa78c82f7d2ad1962a4e9
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

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

  Log Message:
  -----------
  [CGOpenMPRuntimeGPU] Remove no-op ptr-to-ptr bitcasts (NFC)

Opaque ptr cleanup effort


  Commit: 564ff80e22735505cb58e8b05cc40434a8559725
      https://github.com/llvm/llvm-project/commit/564ff80e22735505cb58e8b05cc40434a8559725
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Test G_FRAME_INDEX folding into store address. NFC


  Commit: 75a9ed42461aad6d8e3a0db20d660b6a598491ad
      https://github.com/llvm/llvm-project/commit/75a9ed42461aad6d8e3a0db20d660b6a598491ad
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Add simplest case of folding add with immediate into load/store address.

This covers the simm12 offset case.


  Commit: bee78b88f8effdb378a809e0416988ce9c37f5ac
      https://github.com/llvm/llvm-project/commit/bee78b88f8effdb378a809e0416988ce9c37f5ac
  Author: antangelo <contact at antangelo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/nested-deduction-guides.cpp
    A clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp

  Log Message:
  -----------
  Reland "[clang][Sema] Use original template pattern when declaring implicit deduction guides for nested template classes" (#73087)

Reland of f418319730341e9d41ce8ead6fbfe5603c343985 with proper handling
of template constructors

When a nested template is instantiated, the template pattern of the
inner class is not copied into the outer class
ClassTemplateSpecializationDecl. The specialization contains a
ClassTemplateDecl with an empty record that points to the original
template pattern instead.

As a result, when looking up the constructors of the inner class, no
results are returned. This patch finds the original template pattern and
uses that for the lookup instead.

Based on CWG2471 we must also substitute the known outer template
arguments when creating deduction guides for the inner class.

Changes from last iteration:

1. In template constructors, arguments are first rewritten to depth - 1
relative to the constructor as compared to depth 0 originally. These
arguments are needed for substitution into constraint expressions.
2. Outer arguments are then applied with the template instantiator to
produce a template argument at depth zero for use in the deduction
guide. This substitution does not evaluate constraints, which preserves
constraint arguments at the correct depth for later evaluation.
3. Tests are added that cover template constructors within nested
deduction guides for all special substitution cases.
4. Computation of the template pattern and outer instantiation arguments
are pulled into the constructor of
`ConvertConstructorToDeductionGuideTransform`.


  Commit: 92b821f2dcddbfa934689e10d8f11df150ab1043
      https://github.com/llvm/llvm-project/commit/92b821f2dcddbfa934689e10d8f11df150ab1043
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt

  Log Message:
  -----------
  Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"

This reverts commit ddc6ef46418cc419041d0bd85de40d0eb9396848.

This relands commit 12b0ab2c9ce8ef813d9eb888860f20daac3336bd.

There was an issue with certain configurations failing to build due to a
deleted Error constructor that should be fixed with this relanding.


  Commit: 6b708cc96b4b78e943fc7af7beb3c9c1f52f979f
      https://github.com/llvm/llvm-project/commit/6b708cc96b4b78e943fc7af7beb3c9c1f52f979f
  Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
    M llvm/lib/DWARFLinkerParallel/DependencyTracker.h

  Log Message:
  -----------
  [DWARFLinkerParallel] fix build on 32-bit platform. (#73388)

This fixes usage of PointerIntPair on 32-bit platform -
https://github.com/llvm/llvm-project/issues/73267.


  Commit: c018ae92945b0f5ec1bd5581e8305a5db7b48169
      https://github.com/llvm/llvm-project/commit/c018ae92945b0f5ec1bd5581e8305a5db7b48169
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove Reg2Mem Legacy Pass (#73404)

This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons it should be removed.


  Commit: 24f6f12ba8d5099fd5674b0400f69e1868ed3644
      https://github.com/llvm/llvm-project/commit/24f6f12ba8d5099fd5674b0400f69e1868ed3644
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
    M llvm/lib/Transforms/Utils/PredicateInfo.cpp
    M llvm/lib/Transforms/Utils/Utils.cpp

  Log Message:
  -----------
  [NewPM] Remove PredicateInfoPrinterLegacyPass (#73407)

This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.


  Commit: 631e737d7240a0eb0cdfa143fc1bf6ca820c5477
      https://github.com/llvm/llvm-project/commit/631e737d7240a0eb0cdfa143fc1bf6ca820c5477
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CallGraph.cpp

  Log Message:
  -----------
  [NewPM] Remove CallGraphPrinterLegacyPass (#73409)

This pass isn't used anywhere upstream and thus doesn't have any test
coverage. For these reasons, remove it.


  Commit: 835e2e43266244b6fe3664e94285226df1aee034
      https://github.com/llvm/llvm-project/commit/835e2e43266244b6fe3664e94285226df1aee034
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CFGPrinter.cpp

  Log Message:
  -----------
  [NewPM] Remove CFGViewerLegacyPass (#73410)

This pass isn't used anywhere upstream, has a NewPM equivalent, and has
no test coverage. For these reasons, remove it.


  Commit: 65cbe068d275ddd216cc3ba23708f093e3718bd1
      https://github.com/llvm/llvm-project/commit/65cbe068d275ddd216cc3ba23708f093e3718bd1
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CFGPrinter.cpp

  Log Message:
  -----------
  [NewPM] Remove CFGOnlyViewerLegacyPass (#73411)

This pass has a NewPM equivalent, isn't used anywhere upstream, and
doesn't have any test coverage. For these reasons, remove it.


  Commit: cd4e62833554b9925f055d1b890ca3d0c061fbe4
      https://github.com/llvm/llvm-project/commit/cd4e62833554b9925f055d1b890ca3d0c061fbe4
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/lib/Transforms/Scalar/DCE.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp

  Log Message:
  -----------
  [NewPM] Remove Legacy RedudantDbgInstEliminationPass (#73405)

This pass isn't used by anywhere upstream and thus has no test coverage.
For these reasons, remove it.


  Commit: 505523ed34869c4f4324d79da11d27fe0c628238
      https://github.com/llvm/llvm-project/commit/505523ed34869c4f4324d79da11d27fe0c628238
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/CFGPrinter.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CFGPrinter.cpp

  Log Message:
  -----------
  [NewPM] Remove CFGOnlyPrinterLegacyPass (#73412)

This pass has no test coverage upstream, is not used anywhere upstream,
and has a NewPM equivalent. For these reasons, remove it.


  Commit: 52848d001766ea2deb5705458632d4b0efe8ea34
      https://github.com/llvm/llvm-project/commit/52848d001766ea2deb5705458632d4b0efe8ea34
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/test/MC/X86/x86_errors.s

  Log Message:
  -----------
  [X86[MC][test] Error for EGPR in 32-bit mode


  Commit: 3bbed4ee26817e50ec699fe66017638ee080fc20
      https://github.com/llvm/llvm-project/commit/3bbed4ee26817e50ec699fe66017638ee080fc20
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp

  Log Message:
  -----------
  [X86][MC] Remove duplicated code in getX86SubSuperRegister by using macros, NFCI


  Commit: abc405858d6d6212d1eb40298865771e8a3b759a
      https://github.com/llvm/llvm-project/commit/abc405858d6d6212d1eb40298865771e8a3b759a
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Object/XCOFFObjectFile.h
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/test/CodeGen/PowerPC/aix-text.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
    A llvm/test/tools/llvm-objdump/XCOFF/aux-entry-invalid-type.test
    M llvm/test/tools/llvm-symbolizer/xcoff-sd-symbol.ll

  Log Message:
  -----------
  [XCOFF] make related SD symbols as isFunction (#69553)

This will help tools like llvm-symbolizer recognizes more functions.


  Commit: 365114292a312f5caf95186168bd25105b302416
      https://github.com/llvm/llvm-project/commit/365114292a312f5caf95186168bd25105b302416
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][NFC] Refactor function state check (#73420)

Remove redundant check in updateOutputValues().


  Commit: 1aa1d176ba96ded489b902376426dde71556be1f
      https://github.com/llvm/llvm-project/commit/1aa1d176ba96ded489b902376426dde71556be1f
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll

  Log Message:
  -----------
  Add "REQUIRES: asserts" to test as it requires the compiler to hit an assertion failure to pass and was failing in release builds.


  Commit: f4834255d30d695fb89c4b566d65917a8e505ca2
      https://github.com/llvm/llvm-project/commit/f4834255d30d695fb89c4b566d65917a8e505ca2
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-25 (Sat, 25 Nov 2023)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Reset output addresses for deleted blocks (#73429)

This is a follow-up to #73076. We need to reset output addresses for
deleted blocks, otherwise the address translation may mistakenly
attribute input address of a deleted block to a non-zero address.

While working on a test case, I've discovered that DWARF output ranges
were already broken for deleted basic blocks: #73428. I will provide a
test case for this PR with a DWARF address range fix PR.


  Commit: 1449b349ac4072adb1f593234c1d6f67986d3b6a
      https://github.com/llvm/llvm-project/commit/1449b349ac4072adb1f593234c1d6f67986d3b6a
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

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

  Log Message:
  -----------
  [Bazel] Fix llvm-exegesis build post 12b0ab2

12b0ab2 switched llvm-exegesis from using MCJIT to OrcJIT, which is a
different dep/library. This was ported over in the CMake build, but not
in the bazel build. This patch adjusts the llvm-exegesis deps in the
Bazel build to account for this change.


  Commit: 9ba74c2ee044381544c8e1e736c4c85a1a9d56bf
      https://github.com/llvm/llvm-project/commit/9ba74c2ee044381544c8e1e736c4c85a1a9d56bf
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/CFGPrinter.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CFGPrinter.cpp

  Log Message:
  -----------
  [NewPM] Remove CFGPrinterLegacyPass (#73414)

This pass has no test coverage in upstream LLVM, is not used anywhere in
upstream LLVM, and has a NewPM equivalent. For these reasons, remove it.


  Commit: f42eb15c39405a8ae26d7f4f2fe7b29337ed6799
      https://github.com/llvm/llvm-project/commit/f42eb15c39405a8ae26d7f4f2fe7b29337ed6799
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/test/Transforms/Coroutines/coro-resume-destroy.ll

  Log Message:
  -----------
  [llvm][Coroutines] Remove no-op ptr-to-ptr bitcasts (NFC) (#73427)

Opaque ptr cleanup effort


  Commit: 79a2cf5da31913d75056fa272c784272fcc1278d
      https://github.com/llvm/llvm-project/commit/79a2cf5da31913d75056fa272c784272fcc1278d
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  test-release.sh: Default to letting ninja select the number of build jobs (#73187)

ninja defaults to using ncpus + 2 build jobs, and this extra parallelism
helps the script complete faster in my testing on the GitHub runners.


  Commit: dc8b055c71d2ff2f43c0f4cac66e15a210b91e3b
      https://github.com/llvm/llvm-project/commit/dc8b055c71d2ff2f43c0f4cac66e15a210b91e3b
  Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Update bot message to suggest GitHub pull requests (#65914)

Fixes #65890.

---------

Co-authored-by: Danny Mösch <danny.moesch at icloud.com>


  Commit: 346a29908e0a0401073169ea94c17be72a9c83db
      https://github.com/llvm/llvm-project/commit/346a29908e0a0401073169ea94c17be72a9c83db
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/prepend_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/append_range.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/assign_range.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/insert_range.pass.cpp
    M libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.invoke/invoke_r.pass.cpp
    M libcxx/test/support/deduction_guides_sfinae_checks.h

  Log Message:
  -----------
  [libc++][test] Fix unused and nodiscard warnings (#73437)

Found while running libc++'s test suite with MSVC's STL.

This is structured into a series of commits for easier reviewing; I
could also split this into smaller PRs if desired.

* Add void-casts for `invoke_r` calls to fix MSVC STL `[[nodiscard]]`
warnings.
+ Our rationale is that if someone is calling `invoke_r<NonVoidType>`,
it sure looks like they care about the return value.
* Add `[[maybe_unused]]` to silence `-Wunused-parameter` warnings.
+ This happens because the parameters are used within `LIBCPP_ASSERT`,
which vanishes for MSVC's STL. This also motivates the following
changes.
* Add `[[maybe_unused]]` to fix `-Wunused-variable` warnings.
* Always void-cast `debug_comparisons` to fix `-Wunused-variable`
warnings.
+ As this was already unused with a void-cast in one
`_LIBCPP_HARDENING_MODE` branch, I'm simply lifting it next to the
variable definition.
* Add `[[maybe_unused]]` to fix `-Wunused-local-typedef` warnings.


  Commit: bc191ac376fb30e118bca873cfa6d66e6572a6b7
      https://github.com/llvm/llvm-project/commit/bc191ac376fb30e118bca873cfa6d66e6572a6b7
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

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

  Log Message:
  -----------
  [readtapi] Use consistent error handling diagnostics (#73419)


  Commit: d033f51a0aafd8149f5059bc0f89ffd300093356
      https://github.com/llvm/llvm-project/commit/d033f51a0aafd8149f5059bc0f89ffd300093356
  Author: Sunil Kuravinakop <koops at hpe.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/OpenMP/atomic_ast_print.cpp
    M clang/test/OpenMP/atomic_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [OpenMP] atomic compare fail : Parser & AST support

Diff Revision: https://reviews.llvm.org/D123235


  Commit: 2c545131b09f5ef7b361855ddc609f6687cce184
      https://github.com/llvm/llvm-project/commit/2c545131b09f5ef7b361855ddc609f6687cce184
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.pass.cpp
    R libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.cpp
    A libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.pass.cpp
    R libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.cpp
    A libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp

  Log Message:
  -----------
  [libc++] Fix a few tests that are missing proper suffixes (#73444)

The tests were missing the `.pass.cpp` suffix to be recognized as tests.
As a result, they were never run and some are completely broken.


  Commit: cd9829c231e32dc73cfe1957f84b1645e9105196
      https://github.com/llvm/llvm-project/commit/cd9829c231e32dc73cfe1957f84b1645e9105196
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/optional
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp

  Log Message:
  -----------
  [libc++][NFC] Use __construct_at and __destroy_at instead of using preprocessor conditionals (#70866)


  Commit: 5a74805bd6b28af7744b88c0cfe2e2b68ac1779f
      https://github.com/llvm/llvm-project/commit/5a74805bd6b28af7744b88c0cfe2e2b68ac1779f
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/LazyValueInfo.h
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Passes/PassRegistry.def
    A llvm/test/Analysis/LazyValueAnalysis/print.ll

  Log Message:
  -----------
  [LVI] Add NewPM printer pass (#73425)

This patch adds a NewPM printer pass for the LazyValueAnalysis.


  Commit: f4a4e2f85d819f44772b29c12a6cd2b86c14d611
      https://github.com/llvm/llvm-project/commit/f4a4e2f85d819f44772b29c12a6cd2b86c14d611
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Transforms/Utils/StripGCRelocates.cpp
    M llvm/lib/Transforms/Utils/Utils.cpp

  Log Message:
  -----------
  [NewPM] Remove StripGCRelocatesLegacyPass (#73403)

This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.


  Commit: c672ba7dde3a6ec2f6c89fcb207c9a6a8474cedc
      https://github.com/llvm/llvm-project/commit/c672ba7dde3a6ec2f6c89fcb207c9a6a8474cedc
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/CloneModule.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    A llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/Generic/inline-debug-loc.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
    M llvm/test/Transforms/Inline/alloca-dbgdeclare.ll
    M llvm/test/Transforms/Inline/delete-function-with-metadata-use.ll
    M llvm/test/Transforms/Inline/ignore-debug-info.ll
    M llvm/test/Transforms/Inline/inline-skip-use-empty-alloca.ll
    M llvm/test/Transforms/Inline/local-as-metadata-undominated-use.ll
    M llvm/test/Transforms/Inline/no-inline-line-tables.ll
    A llvm/test/Transforms/JumpThreading/guard-split-debuginfo.ll
    M llvm/test/Transforms/LoopUnroll/debug-info.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Instrument inliner for non-instr debug-info (#72884)

With intrinsics representing debug-info, we just clone all the
intrinsics when inlining a function and don't think about it any
further. With non-instruction debug-info however we need to be a bit
more careful and manually move the debug-info from one place to another.
For the most part, this means keeping a "cursor" during block cloning of
where we last copied debug-info from, and performing debug-info copying
whenever we successfully clone another instruction.

There are several utilities in LLVM for doing this, all of which now
need to manually call cloneDebugInfo. The testing story for this is not
well covered as we could rely on normal instruction-cloning mechanisms
to do all the hard stuff. Thus, I've added a few tests to explicitly
test dbg.value behaviours, ahead of them becoming not-instructions.


  Commit: 580858ad0accee171256d720cff465e7016f018d
      https://github.com/llvm/llvm-project/commit/580858ad0accee171256d720cff465e7016f018d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [gn] port 92b821f2dcdd


  Commit: acdd3cc1785f5f002dbde48ccd9140578e5b59c9
      https://github.com/llvm/llvm-project/commit/acdd3cc1785f5f002dbde48ccd9140578e5b59c9
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [gn] manually re-sync llvm-exegesis tool deps

As far as I can tell, the non-lib part never depended on MCJIT,
so I'm not sure why I added that. While here, re-sync some other
deps.

Since there's no shared library build for the gn build, no real
behavior change.


  Commit: 1a08887784484f7ea49c66c188c73527e7764648
      https://github.com/llvm/llvm-project/commit/1a08887784484f7ea49c66c188c73527e7764648
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

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

  Log Message:
  -----------
  Suppressed unused-var warning from c672ba7dde


  Commit: f0b5527b793413e40bfe1db799d9188e9180b53d
      https://github.com/llvm/llvm-project/commit/f0b5527b793413e40bfe1db799d9188e9180b53d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/test/Transforms/LoopRotate/dbgvalue.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Instrument loop-rotate for DPValues (#72997)

Loop-rotate manually maintains dbg.value intrinsics -- it also needs to
manually maintain the replacement for dbg.value intrinsics, DPValue
objects. For the most part this patch adds parallel implementations
using the new type Some extra juggling is needed when loop-rotate hoists
loop-invariant instructions out of the loop: the DPValues attached to
such an instruction need to get rotated but not hoisted. Exercised by
the new test function invariant_hoist in dbgvalue.ll.

There's also a "don't insert duplicate debug intrinsics" facility in
LoopRotate. The value and correctness of this isn't clear, but to
continue preserving behaviour that's now tested in the "tak_dup"
function in dbgvalue.ll.

Other things in this patch include a helper DebugVariable constructor
for DPValues, a insertDebugValuesForPHIs handler for RemoveDIs
(exercised by the new tests), and beefing up the dbg.value checking in
dbgvalue.ll to ensure that each record is tested (and that there's an
implicit check-not).


  Commit: 1314e8774f73565934c88c606fd7c81225d415fc
      https://github.com/llvm/llvm-project/commit/1314e8774f73565934c88c606fd7c81225d415fc
  Author: philnik777 <nikolasklauser at berlin.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/include/__algorithm/pstl_move.h
    M libcxx/include/__algorithm/pstl_rotate_copy.h
    M libcxx/include/experimental/__simd/abi_tag.h
    M libcxx/include/experimental/__simd/aligned_tag.h
    M libcxx/include/experimental/__simd/declaration.h
    M libcxx/include/experimental/__simd/internal_declaration.h
    M libcxx/include/experimental/__simd/reference.h
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/traits.h
    M libcxx/include/experimental/__simd/utility.h
    M libcxx/include/experimental/__simd/vec_ext.h
    M libcxx/include/module.modulemap.in
    A libcxx/test/libcxx/headers_in_modulemap.sh.py
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Add missing headers to the modulemap (#71127)

I don't know when, but at some point we lost test coverage to ensue that
all the headers are in the modulemap. This adds a test to make sure all
the headers (excluding a few which shouldn't be part of the modulemap)
are at least mentioned. This also fixes a few headers which bit-rotted
while we were missing the coverage.


  Commit: 3bebf3b4950494ce9d20a7b26bb6676e6a395294
      https://github.com/llvm/llvm-project/commit/3bebf3b4950494ce9d20a7b26bb6676e6a395294
  Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M flang/include/flang/Common/enum-class.h

  Log Message:
  -----------
  Fix for building llvm-flang with gcc 7.5.0 (minimum LLVM required gcc version (#73265)

Fix for https://github.com/llvm/llvm-project/issues/68593


  Commit: a369a5946f99254d56455f3deb0031199562c1dd
      https://github.com/llvm/llvm-project/commit/a369a5946f99254d56455f3deb0031199562c1dd
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug in formating `#define A x:` (#73220)

Fixed #70789.


  Commit: 897141449e306ba56a8b214c0799f00e5a1289cc
      https://github.com/llvm/llvm-project/commit/897141449e306ba56a8b214c0799f00e5a1289cc
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add floating point dot product (#73466)

Because `OpDot` does not require any extra capabilities or extensions,
enable it by default in the vector to spirv conversion.


  Commit: 42d669f82c4db6abd6f39e1d89e4e62872c4e0a8
      https://github.com/llvm/llvm-project/commit/42d669f82c4db6abd6f39e1d89e4e62872c4e0a8
  Author: cmtice <cmtice at google.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/source/Symbol/CompilerType.cpp

  Log Message:
  -----------
  [LLDB] Add more helper functions to CompilerType class. (#73467)

This adds 23 new helper functions to LLDB's CompilerType class, things
like IsSmartPtrType, IsPromotableIntegerType,
GetNumberofNonEmptyBaseClasses, and GetTemplateArgumentType (to name a
few).

These helper functions are needed as part of the implementation for the
Data Inspection Language, (see
https://discourse.llvm.org/t/rfc-data-inspection-language/69893).


  Commit: 1b70587ca13bc1d372ddd3928818b7d774e21595
      https://github.com/llvm/llvm-project/commit/1b70587ca13bc1d372ddd3928818b7d774e21595
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntegerDotProductOps.td
    M mlir/lib/Dialect/SPIRV/IR/IntegerDotProductOps.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-reduction-to-spirv-dot-prod.mlir
    M mlir/test/Dialect/SPIRV/IR/availability.mlir
    M mlir/test/Dialect/SPIRV/IR/integer-dot-product-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Update integer dot product op syntax (#73468)

Make the syntax more concise and aligned with the `spirv.Dot` syntax in
https://github.com/llvm/llvm-project/pull/73466.

Move some type verification from C++ to ODS.

Regexes to update existing code and tests:
`(\s*\{format\s+=\s+#spirv.packed_vector_format([^}]+)\})`
==>
`, $2`

`(spirv.[SU]+Dot[a-zA-Z]*[^:]+:)(\s*\(([^,]+),[^\)]+\))(.+)`
==>
`$1 $3$4`


  Commit: af3c5a7cf1e008a467eb3104424ed122b533d7b3
      https://github.com/llvm/llvm-project/commit/af3c5a7cf1e008a467eb3104424ed122b533d7b3
  Author: Caroline Tice <cmtice at google.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/source/Symbol/CompilerType.cpp

  Log Message:
  -----------
  Revert "[LLDB]  Add more helper functions to CompilerType class."

PR 73467 was committed by accident. This undoes the premature commit.


  Commit: f5832bab6f5024cabe32a9f668b7f44e6b7cfef5
      https://github.com/llvm/llvm-project/commit/f5832bab6f5024cabe32a9f668b7f44e6b7cfef5
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
    M libcxx/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    M libcxx/test/libcxx/utilities/meta/stress_tests/stress_test_variant_overloads_impl.sh.cpp
    M libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/concepts/concepts.object/semiregular.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
    M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
    M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
    M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_default.pass.cpp
    M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_default.pass.cpp
    M libcxx/test/std/input.output/syncstream/syncbuf/sputc.pass.cpp
    M libcxx/test/std/input.output/syncstream/syncbuf/sputn.pass.cpp
    M libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/assign.pass.cpp
    M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/default.pass.cpp
    M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/start_size_stride.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.other.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.reverse/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_move.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_swap.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/types.h
    M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
    M libcxx/test/std/re/re.const/re.matchflag/match_flag_type.pass.cpp
    M libcxx/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/common_type_specialization.pass.cpp
    M libcxx/test/std/thread/futures/futures.async/async.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.intializer_list.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.void/swap/free.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/types.h
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.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.functions/escaped_output.ascii.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.lwg2070.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.private.compile.fail.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.verify.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/tracking_mem_res.h
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
    M libcxx/test/support/assert_macros.h
    M libcxx/test/support/boolean_testable.h
    M libcxx/test/support/concat_macros.h
    M libcxx/test/support/copy_move_types.h
    M libcxx/test/support/iterator_traits_cpp17_iterators.h
    M libcxx/test/support/test_container_comparisons.h
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++][test] Cleanup typos and unnecessary semicolons (#73435)

I've structured this into a series of commits for even easier reviewing,
if that helps. I could easily split this up into separate PRs if
desired, but as this is low-risk with simple edits, I thought one PR
would be easiest.

* Drop unnecessary semicolons after function definitions.
* Cleanup comment typos.
* Cleanup `static_assert` typos.
* Cleanup test code typos.
+ There should be no functional changes, assuming I've changed all
occurrences.
* ~~Fix massive test code typos.~~
+ This was a real problem, but needed more surgery. I reverted those
changes here, and @philnik777 is fixing this properly with #73444.
* clang-formatting as requested by the CI.


  Commit: b84cb9c2e672a39cb94f080b67c121ff5ae74879
      https://github.com/llvm/llvm-project/commit/b84cb9c2e672a39cb94f080b67c121ff5ae74879
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp

  Log Message:
  -----------
  [libc++][test] Use `LIBCPP_STATIC_ASSERT` for `std::__mdspan_detail` (#73436)

Found while running libc++'s test suite against MSVC's STL.

`libcxx/test/std` should be portable, so these lines checking
`std::__mdspan_detail` machinery should be using `LIBCPP_STATIC_ASSERT`.

I checked for other occurrences and these appear to be the only ones
which have appeared since our last libc++ test suite update.


  Commit: 6c462fe2112c83b2682ffa3e7b0a70c33ea4ca7e
      https://github.com/llvm/llvm-project/commit/6c462fe2112c83b2682ffa3e7b0a70c33ea4ca7e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  AMDGPU: Move intrinsic definition out of subtarget specific section

This was at the end of the subtarget specific intrinsics and
before backend internal intrinsics. Move it with other genericish
synthetic intrinsics.


  Commit: c419f3e10ee091ab4757f3f343795e9f1661bfd5
      https://github.com/llvm/llvm-project/commit/c419f3e10ee091ab4757f3f343795e9f1661bfd5
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

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

  Log Message:
  -----------
  [llvm][SROA] Replace calls to Type::getPointerTo (NFC)

NFC cleanup towards removing method Type::getPointerTo.

* Remove unnecessary call to Type::getPointerTo
* Replace call to Type::getPointerTo with IRB.getPtrTy


  Commit: a77ea94c3c2132b7d9a0f4c12a64675ba2aa6f1a
      https://github.com/llvm/llvm-project/commit/a77ea94c3c2132b7d9a0f4c12a64675ba2aa6f1a
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp

  Log Message:
  -----------
  [X86][MC] Update condition about ExplicitVEXPrefix (#73312)

After #72835, ExplicitVEXPrefix has changed and it is not a bit now, but
in scope ExplicitOpPrefix, so the bitwise op of ExplicitVEXPrefix may
need to update.


  Commit: 282201dc633e164042df0ae726a804c0aad46e50
      https://github.com/llvm/llvm-project/commit/282201dc633e164042df0ae726a804c0aad46e50
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/test/Driver/entry.s

  Log Message:
  -----------
  [Driver] Allow -e entry but reject -eentry (#72804)

This short option taking an argument is unfortunate.

* If a cc1-only option starts with `-e`, using it for driver will not be
  reported as an error (e.g. commit
  6cd9886c88d16d288c74846495d89f2fe84ff827).
* If another `-e` driver option is intended but a typo is made, the
  option will be recognized as a `-e`.

`gcc -export-dynamic` passes `-export-dynamic` to ld. It's not clear
whether some options behave this way.

It seems `-Wl,-eentry` and `-Wl,--entry=entry` are primarily used. There
may also be a few `gcc -e entry`, but `gcc -eentry` is extremely rare or
not used at all. Therefore, we probably should reject the Joined form of
`-e`.


  Commit: 2e6c01be0db5d137c48953adde386eaef0982775
      https://github.com/llvm/llvm-project/commit/2e6c01be0db5d137c48953adde386eaef0982775
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/TableGen/DAGDefaultOps.td
    M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
    M llvm/test/TableGen/dag-isel-subregs.td
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [SelectionDAG] Add instantiated OPC_EmitInteger and OPC_EmitStringInteger (#73241)

These two opcodes are used to be followed by a MVT operand, which is
always one of i8/i16/i32/i64.

We add instantiated `OPC_EmitInteger` and `OPC_EmitStringInteger` with
i8/i16/i32/i64 so that we can reduce one byte.

We reserve `OPC_EmitInteger` and `OPC_EmitStringInteger` in case that
we may need them someday, though I haven't found one usage after this
change.

Overall this reduces the llc binary size with all in-tree targets by
about 200K.


  Commit: 771676878a1df2610cdc2ece6a55b4aa81a3da6a
      https://github.com/llvm/llvm-project/commit/771676878a1df2610cdc2ece6a55b4aa81a3da6a
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
    M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add missing group non-uniform bitwise and logical ops (#73475)

This covers the following ops:
`spirv.GroupNonUniform` x {`Bitwise`, `Logical`} x {`And`, `Or`, `Xor`}

We need these to efficiently lower from the `gpu.subgroup_reduce` op.


  Commit: 6318dd82732c583fcfa12fe5b8d837e048dbb571
      https://github.com/llvm/llvm-project/commit/6318dd82732c583fcfa12fe5b8d837e048dbb571
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

  Changed paths:
    M mlir/lib/Pass/PassRegistry.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

 mlir/lib/Pass/PassRegistry.cpp:376:37: error: ISO C++ requires the
 name after '::~' to be found in the same scope as the name before
 '::~' [-Werror,-Wdtor-name]


  Commit: e89324219acf3d799a86fed5651e492bbab4867c
      https://github.com/llvm/llvm-project/commit/e89324219acf3d799a86fed5651e492bbab4867c
  Author: Zi Xuan Wu (Zeson) <zixuan.wu at linux.alibaba.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll

  Log Message:
  -----------
  [RISCV] Don't combine store of vmv.x.s/vfmv.f.s to vp_store with VL of 1 when it's indexed store (#73219)

Because we can't support vp_store with indexed address mode by lowering to vse intrinsic later.


  Commit: f8afc53d641ce9d4ad8565aae9e7b5911b572a02
      https://github.com/llvm/llvm-project/commit/f8afc53d641ce9d4ad8565aae9e7b5911b572a02
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/benchmarks/stringstream.bench.cpp
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale
    A libcxx/include/__utility/no_destroy.h
    M libcxx/include/module.modulemap.in
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Speed up classic locale (#72112)

Locale objects use atomic reference counting, which may be very
expensive in parallel applications. The classic locale is used by
default by all streams and can be very contended. But it's never
destroyed, so the reference counting is also completely pointless on the
classic locale. Currently ~70% of time in the parallel stringstream
benchmarks is spent in locale ctor/dtor. And the execution radically
slows down with more threads.

Avoid reference counting on the classic locale. With this change
parallel benchmarks start to scale with threads.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>

```
                              │   baseline   │    optimized                            │
                              │    sec/op    │    sec/op      vs base                  │
Istream_numbers/0/threads:1      4.672µ ± 0%   4.419µ ± 0%     -5.42% (p=0.000 n=30+39)
Istream_numbers/0/threads:72   539.817µ ± 0%   9.842µ ± 1%    -98.18% (p=0.000 n=30+40)
Istream_numbers/1/threads:1      4.890µ ± 0%   4.750µ ± 0%     -2.85% (p=0.000 n=30+40)
Istream_numbers/1/threads:72     66.44µ ± 1%   10.14µ ± 1%    -84.74% (p=0.000 n=30+40)
Istream_numbers/2/threads:1      4.888µ ± 0%   4.746µ ± 0%     -2.92% (p=0.000 n=30+40)
Istream_numbers/2/threads:72     494.8µ ± 0%   410.2µ ± 1%    -17.11% (p=0.000 n=30+40)
Istream_numbers/3/threads:1      4.697µ ± 0%   4.695µ ± 5%          ~ (p=0.391 n=30+37)
Istream_numbers/3/threads:72     421.5µ ± 7%   421.9µ ± 9%          ~ (p=0.665 n=30)
Ostream_number/0/threads:1       183.0n ± 0%   141.0n ± 2%    -22.95% (p=0.000 n=30)
Ostream_number/0/threads:72    24196.5n ± 1%   343.5n ± 3%    -98.58% (p=0.000 n=30)
Ostream_number/1/threads:1       250.0n ± 0%   196.0n ± 2%    -21.60% (p=0.000 n=30)
Ostream_number/1/threads:72    16260.5n ± 0%   407.0n ± 2%    -97.50% (p=0.000 n=30)
Ostream_number/2/threads:1       254.0n ± 0%   196.0n ± 1%    -22.83% (p=0.000 n=30)
Ostream_number/2/threads:72      28.49µ ± 1%   18.89µ ± 5%    -33.72% (p=0.000 n=30)
Ostream_number/3/threads:1       185.0n ± 0%   185.0n ± 0%      0.00% (p=0.017 n=30)
Ostream_number/3/threads:72      19.38µ ± 4%   19.33µ ± 5%          ~ (p=0.425 n=30)
```


  Commit: 681d02d09e35dbcf0f87dff2e8a786d4e0a2be55
      https://github.com/llvm/llvm-project/commit/681d02d09e35dbcf0f87dff2e8a786d4e0a2be55
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port f8afc53d641c


  Commit: 659e4017b7371efa8ce97da2d87270c60a93d03d
      https://github.com/llvm/llvm-project/commit/659e4017b7371efa8ce97da2d87270c60a93d03d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-26 (Sun, 26 Nov 2023)

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

  Log Message:
  -----------
  [clang-format][NFC] Improve an `if` conditional in the annotator


  Commit: 27c0bc9cae3e2483e14cf724df78f40e956a39b9
      https://github.com/llvm/llvm-project/commit/27c0bc9cae3e2483e14cf724df78f40e956a39b9
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
    M llvm/test/CodeGen/X86/asm-mismatched-types.ll

  Log Message:
  -----------
  [X86][MC] Allow to specify any of the 8/16/32/64 register names interchangeably for R16-R31 (#73421)


  Commit: 477c0b67a3ab30e74f3563b3f0b9d4d53caba465
      https://github.com/llvm/llvm-project/commit/477c0b67a3ab30e74f3563b3f0b9d4d53caba465
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
    M mlir/test/Conversion/SCFToGPU/step_positive.mlir

  Log Message:
  -----------
  [mlir][affine][gpu] Replace DivSIOp to CeilDivSIOp when lowering to GPU launch (#73328)

When converting affine.for to GPU launch operator, we have to calculate
the block dimension and thread dimension for the launch operator.

The formula of the dimension size is

(upper_bound - lower_bound) / step_size

When the difference is indivisible by step_size, we use rounding-to-zero
as the division result. However, the block dimension and thread
dimension is right-open range, i.e., [0, block_dim) and [0, thread_dim).
So, we will get the wrong result if we use DivSIOp. In this patch, we
replace it with CeilDivSIOp to get the correct block and thread
dimension values.


  Commit: 2b646b598942b87f25fda1713a3c5e211585ca88
      https://github.com/llvm/llvm-project/commit/2b646b598942b87f25fda1713a3c5e211585ca88
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll

  Log Message:
  -----------
  [CVP] Don't try to fold load/store operands to constant (#73338)

CVP currently tries to fold load/store pointer operands to constants
using LVI. If there is a dominating condition of the form `icmp eq ptr
%p, @g`, then `%p` will be replaced with `@g`.

LVI is geared towards range-based optimizations, and is *very*
inefficient at handling simple pointer equality conditions. We have
other passes that can handle this optimization in a more efficient way,
such as IPSCCP and GVN.

Removing this optimization gives a geomean 0.4-1.2% compile-time
improvement depending on configuration. At the same time, there
is no impact on codegen.


  Commit: 5eb85c052e458a11dd1d536e00b9d4170d812612
      https://github.com/llvm/llvm-project/commit/5eb85c052e458a11dd1d536e00b9d4170d812612
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll

  Log Message:
  -----------
  [JumpThreading] Remove LVI printer flag (#73426)

This patch removes the -print-lvi-after-jump-threading flag now that we
can print everything in the LVI cache using the print<lazy-value-info>
pass.


  Commit: 295edaab13326d842f8298ad07e9a5f9e5d3b131
      https://github.com/llvm/llvm-project/commit/295edaab13326d842f8298ad07e9a5f9e5d3b131
  Author: David Green <david.green at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Better vecreduce.fadd lowering. (PR #73294)

This changes the fadd legalization to handle fp16 types, and treats more types
as legal so that the backend can produce the correct patterns. This is
currently a missing identity fold for `fadd x -0.0 -> x`


  Commit: 553f8853db1a41543bcd3c7c9a6e0f75c537d2f9
      https://github.com/llvm/llvm-project/commit/553f8853db1a41543bcd3c7c9a6e0f75c537d2f9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [DomTree] Reduce number of hash table lookups (NFC) (#73097)

Inside runSemiNCA(), create a direct mapping from node number of node
info, so we can save the node number -> node pointer -> node info lookup
in many cases.

To allow this in more cases, change Label to a node number instead of
node pointer.

I've limited this to runSemiNCA() for now, because we have the
convenient property there that no new node infos will be added, so we
don't have to worry about pointer invalidation.

This gives a pretty nice compile-time improvement of about 0.4%.


  Commit: 57a0a9aadf1ec4c111e303b7f0fe76505b3ad137
      https://github.com/llvm/llvm-project/commit/57a0a9aadf1ec4c111e303b7f0fe76505b3ad137
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll

  Log Message:
  -----------
  [InstCombine] Add more inbounds tests for indexed compare fold (NFC)

Don't only test the case where all GEPs are missing inbounds, also
test inbounds only being present on some of them. The fold should
not be performed in either case.


  Commit: d045e23c2d00a445e40a8c97471df023d8364f59
      https://github.com/llvm/llvm-project/commit/d045e23c2d00a445e40a8c97471df023d8364f59
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/gep-add-multiple-indices.ll
    M llvm/test/Transforms/ConstraintElimination/gep-sub.ll

  Log Message:
  -----------
  [ConstraintElim] Refactor GEP offset collection.

Move GEP offset collection to separate helper function and collect
variable and constant offsets in OffsetResult. For now, this only
supports 1 VariableOffset, but the new code structure can be more easily
extended to handle more offsets in the future.

The refactoring drops the check that the VariableOffset >= -1 * constant
offset. This is not needed to check whether the constraint is
monotonically increasing. The constant factors can be ignored, the
constraint will be monotonically increasing if all variables are
positive.

See https://alive2.llvm.org/ce/z/ah2uSQ,
    https://alive2.llvm.org/ce/z/NCADNZ


  Commit: 8167934480a7b6a8e122aa6233aa8ed2e2683d6a
      https://github.com/llvm/llvm-project/commit/8167934480a7b6a8e122aa6233aa8ed2e2683d6a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp

  Log Message:
  -----------
  [lldb] Improve error message for script commands when there's no interpreter (#73321)

It was:
```
error: there is no embedded script interpreter in this mode.
```

1. What does "mode" mean?
2. It implies there might be an embedded script interpreter for some
other "mode", whatever that would be.

So I'm simplifying it and noting the most common reason for this which
is that lldb wasn't built with a scripting language enabled in the first
place.

There are other tips for dealing with this, but I'm not sure this
message is the best place for them.


  Commit: 772f296214e10323ca16921c02b1852307b7d51b
      https://github.com/llvm/llvm-project/commit/772f296214e10323ca16921c02b1852307b7d51b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/RegisterFlagsLinux_arm64.cpp
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py

  Log Message:
  -----------
  [lldb][AArch64][Linux] Correct name of FPCR field

It should be "RMode" as in "rounding mode" not "RMMode".


  Commit: 1726a59d462147986e6860d228f27f0131c8645b
      https://github.com/llvm/llvm-project/commit/1726a59d462147986e6860d228f27f0131c8645b
  Author: Tim Northover <tnorthover at apple.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h

  Log Message:
  -----------
  AArch64: remove duplicate SHA3 feature from Apple CPUs. NFC.


  Commit: d1652ff0803ac9f2f3ea99336f71edacdf95a721
      https://github.com/llvm/llvm-project/commit/d1652ff0803ac9f2f3ea99336f71edacdf95a721
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp

  Log Message:
  -----------
  [Clang][SME2] Add outer product and accumulate/subtract builtins (#71176)

Adds the following SME2 builtins:
 - svmop(a|s)_za32,
 - svbmop(a|s)_za32

See https://github.com/ARM-software/acle/pull/217


  Commit: edf5cae7391cdb097a090ea142dfa7ac6ac03555
      https://github.com/llvm/llvm-project/commit/edf5cae7391cdb097a090ea142dfa7ac6ac03555
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
    M mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
    M mlir/test/Dialect/GPU/invalid.mlir
    M mlir/test/Dialect/GPU/ops.mlir
    A mlir/test/Integration/GPU/CUDA/sm90/cga_cluster.mlir
    M mlir/test/Target/LLVMIR/gpu.mlir

  Log Message:
  -----------
  [mlir][gpu] Support Cluster of Thread Blocks in `gpu.launch_func` (#72871)

NVIDIA Hopper architecture introduced the Cooperative Group Array (CGA).
It is a new level of parallelism, allowing clustering of Cooperative
Thread Arrays (CTA) to synchronize and communicate through shared memory
while running concurrently.

This PR enables support for CGA within the `gpu.launch_func` in the GPU
dialect. It extends `gpu.launch_func` to accommodate this functionality.

The GPU dialect remains architecture-agnostic, so we've added CGA
functionality as optional parameters. We want to leverage mechanisms
that we have in the GPU dialects such as outlining and kernel launching,
making it a practical and convenient choice.

An example of this implementation can be seen below:

```
gpu.launch_func @kernel_module::@kernel
                clusters in (%1, %0, %0) // <-- Optional
                blocks in (%0, %0, %0)
                threads in (%0, %0, %0)
```

The PR also introduces index and dimensions Ops specific to clusters,
binding them to NVVM Ops:

```
%cidX = gpu.cluster_id  x
%cidY = gpu.cluster_id  y
%cidZ = gpu.cluster_id  z

%cdimX = gpu.cluster_dim  x
%cdimY = gpu.cluster_dim  y
%cdimZ = gpu.cluster_dim  z
```

We will introduce cluster support in `gpu.launch` Op in an upcoming PR. 

See [the
documentation](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#cluster-of-cooperative-thread-arrays)
provided by NVIDIA for details.


  Commit: 2fda8ca6da736ac5ead87b1301400d22f8b33637
      https://github.com/llvm/llvm-project/commit/2fda8ca6da736ac5ead87b1301400d22f8b33637
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-carried.ll

  Log Message:
  -----------
  [LAA] Auto-generate checks for forward-loop-carried.ll

Auto-generate checks for -loop-carried.ll to make it easier to update in
follow-on patch. As this test only checks the dependence, mark pointers
as noalias to avoid also checking various runtime pointer check groups.


  Commit: 0e86d3ea9b93da273ee800a251dd60a44b85a320
      https://github.com/llvm/llvm-project/commit/0e86d3ea9b93da273ee800a251dd60a44b85a320
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/complex-folding.cpp
    M clang/test/SemaCXX/static-assert.cpp

  Log Message:
  -----------
  [clang] Print static_assert values of arithmetic binary operators (#71671)

These are actually quite useful to print.


  Commit: 17139f38e55ec06b8546b9306e04e64d0408033a
      https://github.com/llvm/llvm-project/commit/17139f38e55ec06b8546b9306e04e64d0408033a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-carried.ll

  Log Message:
  -----------
  [LAA] Check HasSameSize before couldPreventStoreLoadForward.

After 9645267, TypeByteSize is 0 if both access do not have the same
size (i.e. HasSameSize will be false). This can cause an infinite loop
in couldPreventStoreLoadForward, if HasSameSize is not checked first.

So check HasSameSize first instead of after
couldPreventStoreLoadForward. Checking HasSameSize first is also
cheaper.


  Commit: 272085f10bfaa33349682a9e4d08c990c159355d
      https://github.com/llvm/llvm-project/commit/272085f10bfaa33349682a9e4d08c990c159355d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [DomTree] Remove unnecessary domtree level check in SemiNCA (NFC) (#73107)

runSemiNCA() currently checks that the ReverseChildren are below
MinLevel in the DT, which is used when performing incremental updates.

However, ReverseChildren is populated during runDFS with only the
predecessors that are part of that DFS walk, which will itself be level
limited in the relevant cases. As such, I don't believe that this should
be checked during runSemiNCA().

This code probably dates back to a time when predecessors were not
cached during runDFS and as such not limited to the visited subtree
only.


  Commit: 56cf3ff479ab70b4d802f935afa64a343b402a73
      https://github.com/llvm/llvm-project/commit/56cf3ff479ab70b4d802f935afa64a343b402a73
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBarrierOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBitOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVJointMatrixOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMiscOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td

  Log Message:
  -----------
  [mlir][spirv][doc] Remove duplicate syntax formats (#73386)

Some operations defined their syntax both in the documentation and via
`assemblyFormat`. This leads to two syntax descriptions in the
documentation for SPIR-V, see for example the documentation for
[`spirv.mlir.yield`](https://mlir.llvm.org/docs/Dialects/SPIR-V/#spirvmliryield-spirvyieldop).
Since the `assemblyFormat` is used to generate the actual parsers and
printer implementations, this PR removes the manual syntax descriptions.
(Similar to https://github.com/llvm/llvm-project/pull/73343.)

The strategy that I used to find the duplicates was pretty
uncomplicated. I scrolled through the [SPIR-V
Dialect](https://mlir.llvm.org/docs/Dialects/SPIR-V) to find all
duplicates and then remove the duplicate text from the `td` file.

Note that the `Syntax:` block in the docs is a good proxy for whether
`assemblyFormat` is defined because it will only be generated if the op
has defined `assemblyFormat` (`op.hasAssemblyFormat()`):


https://github.com/llvm/llvm-project/blob/e970652776bd07dbe42be557bf98722749230653/mlir/tools/mlir-tblgen/OpDocGen.cpp#L108-L124


https://github.com/llvm/llvm-project/blob/e970652776bd07dbe42be557bf98722749230653/mlir/tools/mlir-tblgen/OpDocGen.cpp#L197-L199

Related issue https://github.com/llvm/llvm-project/issues/73359.


  Commit: 489df61a2960cbd154fe0a2c23918c2609ef4357
      https://github.com/llvm/llvm-project/commit/489df61a2960cbd154fe0a2c23918c2609ef4357
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [clang][Interp][NFC] const qualify a local variable


  Commit: 11276563c81987791a2326950dbc3315a32dd709
      https://github.com/llvm/llvm-project/commit/11276563c81987791a2326950dbc3315a32dd709
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
    M llvm/test/CodeGen/X86/bfloat.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
    M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
    M llvm/test/CodeGen/X86/constant-pool-sharing.ll
    M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr57340.ll
    M llvm/test/CodeGen/X86/splat-for-size.ll
    M llvm/test/CodeGen/X86/subvector-broadcast.ll
    M llvm/test/CodeGen/X86/vec_fabs.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-sext.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
    M llvm/test/CodeGen/X86/viabs.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)

If we are loading the same ptr at different vector widths, then reuse the largest load and just extract the low subvector.

Unlike the equivalent VBROADCAST_LOAD/SUBV_BROADCAST_LOAD folds which can occur in DAG, we have to wait until DAGISel otherwise we can hit infinite loops if constant folding recreates the original constant value.

This is mainly useful for better constant sharing.


  Commit: ea5de6021cf69a233106689cc6f0ee14899e1a83
      https://github.com/llvm/llvm-project/commit/ea5de6021cf69a233106689cc6f0ee14899e1a83
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt

  Log Message:
  -----------
  Revert "Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)""

This broke

  tools/llvm-exegesis/X86/latency/dummy-counters.test

on Mac, see comment on the PR.

> There was an issue with certain configurations failing to build due to a
> deleted Error constructor that should be fixed with this relanding.

This reverts commit 92b821f2dcddbfa934689e10d8f11df150ab1043.


  Commit: 344b5346a0e899d59ff52f60421788eef4e2c864
      https://github.com/llvm/llvm-project/commit/344b5346a0e899d59ff52f60421788eef4e2c864
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  Revert "[gn] port 92b821f2dcdd"

This reverts commit 580858ad0accee171256d720cff465e7016f018d.
92b821f2dcdd was reverted in ea5de6021cf69a23


  Commit: f21a70f9fe21539f70212ba2346c3db54f4d9980
      https://github.com/llvm/llvm-project/commit/f21a70f9fe21539f70212ba2346c3db54f4d9980
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp

  Log Message:
  -----------
  [mlir][cuda] Guard mgpuLaunchClusterKernel for Cuda 12.0+ (NFC) (#73495)


  Commit: ac06d4e4cb0b604f89130ce7cf63556381baac46
      https://github.com/llvm/llvm-project/commit/ac06d4e4cb0b604f89130ce7cf63556381baac46
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/sink-and-fold.ll

  Log Message:
  -----------
  Re-commit "[MachineSink][AArch64] Enable sink-and-fold by default (#72132)"

This re-commits 13fe0386454d after fixing a couple of issues in the LLDB
testsuite in ef9bcace834e and 6b87d84ff45d


  Commit: a9e3d232a520a17f098d4dc872c9591c565e7d36
      https://github.com/llvm/llvm-project/commit/a9e3d232a520a17f098d4dc872c9591c565e7d36
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Revert "[runtimes] Add missing test dependencies to check-all (#72955)"

This caused some runtimes builds to fail with:
error: unknown target 'runtimes-test-depends'

See comments on the PR.

> The test-depends target contained all the dependencies needed to run the
> runtimes tests, but it was never added as a dependency of check-all.
> This caused some of the tsan tests to fail, since the custom libcxx
> build the tests were looking for was never built. Besides the tsan
> failures, this fixes all the other test failures I was seeing with:
> cmake -G Ninja -B release-build -S llvm \
>         -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
>         -DCMAKE_BUILD_TYPE=Release \
>         -DLLVM_ENABLE_ASSERTIONS=OFF \
>         -DLLVM_ENABLE_PROJECTS="clang;lld" \
>         -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt"
>
> This is the same configuration the test-release.sh script uses, so I'm
> hoping this will also fix all the test failures we've been seeing when
> building the releases.
>
> Fixes #58680

This reverts commit 7f215b1380da49dccbf57da3040a40d25ed898f4.


  Commit: d7c03a196edb1e5f5a45121bb51899e8f5e72ca6
      https://github.com/llvm/llvm-project/commit/d7c03a196edb1e5f5a45121bb51899e8f5e72ca6
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [clang][AArch64][NFC] Remove trailing space in SME intriniscs header


  Commit: cb112eb16cff222d8fbe7cfd3cb0834f538a691d
      https://github.com/llvm/llvm-project/commit/cb112eb16cff222d8fbe7cfd3cb0834f538a691d
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86MachineFunctionInfo.h
    A llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh.ll
    A llvm/test/CodeGen/X86/apx/push2-pop2-vector-register.ll
    A llvm/test/CodeGen/X86/apx/push2-pop2.ll
    A llvm/test/CodeGen/X86/apx/pushp-popp.ll

  Log Message:
  -----------
  [X86][CodeGen] Teach frame lowering to spill/reload registers w/ PUSHP/POPP, PUSH2[P]/POP2[P] (#73292)

#73092 supported the encoding/decoding for PUSHP/POPP
#73233 supported the encoding/decoding for PUSH2[P]/POP2[P]

In this patch, we teach frame lowering to spill/reload registers w/
these instructions.

1. Use PPX for balanced spill/reload
2. Use PUSH2/POP2 for continuous spills/reloads
3. PUSH2/POP2 must be 16B-aligned on the stack, so pad when necessary


  Commit: edf645616f8734b0dbf08e15cc5209e6cf553c12
      https://github.com/llvm/llvm-project/commit/edf645616f8734b0dbf08e15cc5209e6cf553c12
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll

  Log Message:
  -----------
  [X86] Regenerate vector-interleaved-store-i64-stride-4.ll


  Commit: 5bd643e1456bd2acc53ac0bf594d285be89a44fe
      https://github.com/llvm/llvm-project/commit/5bd643e1456bd2acc53ac0bf594d285be89a44fe
  Author: martinboehme <mboehme at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Strengthen widening of boolean values. (#73484)

Before we widen to top, we now check if both values can be proved either
true or
false in their respective environments; if so, widening returns a true
or false
literal. The idea is that we avoid losing information if posssible.

This patch includes a test that fails without this change to widening.

This change does mean that we call the SAT solver in more places, but
this seems
acceptable given the additional precision we gain.

In tests on an internal codebase, the number of SAT solver timeouts we
observe
with Crubit's nullability checker does increase by about 25%. They can
be
brought back to the previous level by doubling the SAT solver work
limit.


  Commit: adb130ccad67a18eb15506822e9cfcb1cb00cb45
      https://github.com/llvm/llvm-project/commit/adb130ccad67a18eb15506822e9cfcb1cb00cb45
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/unittests/Support/TypeSizeTest.cpp

  Log Message:
  -----------
  [llvm][TypeSize] Consider TypeSize of '0' to be fixed/scalable-agnostic. (#72994)

This patch allows adding any quantity to a zero-initialized TypeSize,
such
that e.g.:

  TypeSize::Scalable(0) + TypeSize::Fixed(4) == TypeSize::Fixed(4)
  TypeSize::Fixed(0) + TypeSize::Scalable(4) == TypeSize::Scalable(4)

This makes it easier to implement add-reductions using TypeSize where
the 'scalable' flag is not yet known before starting the reduction.

(this PR follows on from #72979)


  Commit: 6778dbe50228ea47c586d7b9b60ef57a78915148
      https://github.com/llvm/llvm-project/commit/6778dbe50228ea47c586d7b9b60ef57a78915148
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [DomTree] Avoid duplicate hash lookup (NFC)

We're performing the same lookup twice here, just to access
different fields. Only perform it once.

Also prefer using find() over operator[], as we do not want to
perform an insert if the node does not exist.


  Commit: 79b03306af5c11d354fa90db8bfd7818cd811ef5
      https://github.com/llvm/llvm-project/commit/79b03306af5c11d354fa90db8bfd7818cd811ef5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Disable HandleLLVMOptions in runtimes mode (#73031)

Summary:
There are a few default options that LLVM adds that can be problematic
for runtimes builds. These options are generally intended to handle
building LLVM itself, but are also added when building in a runtimes
mode. One such issue I've run into is that in `libc` we deliberately use
`--target` to use a different device toolchain, which doesn't support
some linker arguments passed via `-Wl`. This is observed in
https://github.com/llvm/llvm-project/pull/73030 when attempting to use
these options.

This patch completely removes these default arguments.

The consensus is that any issues created by this patch should ultimately
be solved on a per-runtime basis.


  Commit: ae10baf0a0dff53837c3729b8bde64505f54f7aa
      https://github.com/llvm/llvm-project/commit/ae10baf0a0dff53837c3729b8bde64505f54f7aa
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxxabi/test/test_demangle.pass.cpp

  Log Message:
  -----------
  [libcxxabi][test][NFC] Turn off clang-format for demangler test-case array (#73503)

Adding test-cases to the `cases` array causes `git clang-format` to
split the strings of many of the existing test-cases, making them harder
to read/work with in most cases.

This patch disables `clang-format` for the `cases` array so it doesn't
catch anyone off-guard in the future.


  Commit: 839abdb0d293a87a8bf9a298c9d5c29845fd59b2
      https://github.com/llvm/llvm-project/commit/839abdb0d293a87a8bf9a298c9d5c29845fd59b2
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll

  Log Message:
  -----------
  [MachineLICM] Fix incorrect CSE on hoisted const load (#73007)

When hoisting an invariant load, we should not combine it with an
existing load through common subexpression elimination (CSE). This is
because there might be memory-changing instructions between the existing
load and the end of the block entering the loop.

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


  Commit: bf02c84cb8e7f60dfc12f822cd2bb71890b03101
      https://github.com/llvm/llvm-project/commit/bf02c84cb8e7f60dfc12f822cd2bb71890b03101
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Use file lock to join newline on RPC puts call (#73373)

Summary:
The puts call appends a newline. With multiple threads, this can be done
out of order such that another thread puts something before we finish
appending the newline. Add a flockfile and funlockfile to ensure that
the whole string is printed before another string can appear.


  Commit: ba1c869f0026923e0db80ffbd94d02e4718cc1f1
      https://github.com/llvm/llvm-project/commit/ba1c869f0026923e0db80ffbd94d02e4718cc1f1
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    A clang/test/ParserOpenACC/parse-constructs.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'routine' construct parsing (#73143)

The 'routine' construct applies either to a function directly, or, when
provided a name, applies to the function named (and is visible in the
current scope). This patch implements the parsing for this.  The
identifier provided (or Id Expression) is required to be a valid,
declared identifier, though the semantic analysis portion of the Routine
directive will need to enforce it being a function/overload set.


  Commit: 934efd2c9b9461bf79599cac3f57fc35cff978f7
      https://github.com/llvm/llvm-project/commit/934efd2c9b9461bf79599cac3f57fc35cff978f7
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  Revert "[Bazel] Fix llvm-exegesis build post 12b0ab2"

This reverts commit 1449b349ac4072adb1f593234c1d6f67986d3b6a. The
corresponding CMake commit (12b0ab2) was reverted.


  Commit: 286905351f5b0f520ec4ed6081f7008a0b292aa5
      https://github.com/llvm/llvm-project/commit/286905351f5b0f520ec4ed6081f7008a0b292aa5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll

  Log Message:
  -----------
  [X86] vector-interleaved tests - add AVX512F/AVX512DQ/AVX512BW/AVX512DQBW-ONLY common prefixes to merge more SLOW/FAST checks

Not used by many vector-interleaved tests, but its a LOT easier to maintain if we use the same prefixes for all of them.


  Commit: 9539cbf03304b0f36f95414d40b3c8ecce42eb70
      https://github.com/llvm/llvm-project/commit/9539cbf03304b0f36f95414d40b3c8ecce42eb70
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libc/src/__support/macros/properties/float.h

  Log Message:
  -----------
  [libc] Add detection support for float16 (#73372)


  Commit: caba0314cf631a3ba3e982cbcdc455224046c7a8
      https://github.com/llvm/llvm-project/commit/caba0314cf631a3ba3e982cbcdc455224046c7a8
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/falias-analysis.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/optimization-remark.f90
    M flang/test/Fir/basic-program.fir
    M flang/tools/tco/tco.cpp

  Log Message:
  -----------
  [flang] Enable alias tags pass by default (#73111)

Enable by default for optimization levels higher than 0 (same behavior
as clang).

For simplicity, only forward the flag to the frontend driver when it
contradicts what is implied by the optimization level.

Since https://github.com/llvm/llvm-project/pull/72903 there are now no
known performance regressions.


  Commit: 80403e9fee77b24ad85420a5449fd3ab31794218
      https://github.com/llvm/llvm-project/commit/80403e9fee77b24ad85420a5449fd3ab31794218
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++] fix some inconsistencies on libcxx status pages (#73471)

Minor things I've noticed from looking at the pages. For the missing
space I actually searched for "``\\\s\w" to see where they were hiding.


  Commit: c94444390f4c8f4d898ac8a8444bc4bf3394609f
      https://github.com/llvm/llvm-project/commit/c94444390f4c8f4d898ac8a8444bc4bf3394609f
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h
    M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp

  Log Message:
  -----------
  [clangtidy] Allow safe suspensions in coroutine-hostile-raii check (#72954)

Certain `awaitable` types could be safe to `co_await` on even when we
have suspension-hostile RAII objects in scope.
This PR adds a way for users to mark such safe `awaitable` and silence
false positive warnings in `co_await` expressions involving such an
`awaitable`.

`co_await`-ing an expression of `awaitable` type is considered safe if
the type is part of `SafeAwaiatablesList` check option. RAII objects
persisting across such a `co_await` expression are
considered safe and hence are not flagged.


  Commit: fb23fabc190f528e09d85505c094666bb75fbf11
      https://github.com/llvm/llvm-project/commit/fb23fabc190f528e09d85505c094666bb75fbf11
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libc/src/__support/macros/properties/float.h

  Log Message:
  -----------
  [libc] Fix forward octal prefix (#73526)

To fix failing build bots after :
https://github.com/llvm/llvm-project/pull/73372

```
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/__support/macros/properties/float.h:40:71: error: invalid digit '9' in octal constant
#if (defined(LIBC_COMPILER_CLANG_VER) && (LIBC_COMPILER_CLANG_VER >= 0900)) || \
```


  Commit: ca007181eadf9bce357e382400cfddb5b925c142
      https://github.com/llvm/llvm-project/commit/ca007181eadf9bce357e382400cfddb5b925c142
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/cmake/HandleOpenMPOptions.cmake

  Log Message:
  -----------
  [OpenMP] Fix missing CMake function in runtimes build

Summary:
We borrowed this function from LLVM, my previous patch removed that. Now
we redefine it if it's not present.


  Commit: bf95a0cd2073b6f5bd2c00bc645be00d38bf49a6
      https://github.com/llvm/llvm-project/commit/bf95a0cd2073b6f5bd2c00bc645be00d38bf49a6
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
    M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/monadic/and_then.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/monadic/transform.pass.cpp

  Log Message:
  -----------
  [libc++][test] Avoid C++23 Core features that MSVC lacks (#73438)

Found while running libc++'s test suite with MSVC's STL, where we use
both Clang and MSVC's compiler.

libc++'s test suite has started using some C++23 Core Language features
that MSVC hasn't implemented yet. When avoiding these features costs
just a tiny bit of syntax, I would like to ask libc++ to consider making
that change in the interest of practical portability, at least until
MSVC catches up. If there's no desire to do so, then I could skip the
affected tests, but that would make me a slightly sad kitty.


  Commit: c449460d8a657e46500ad12be457928207207e3e
      https://github.com/llvm/llvm-project/commit/c449460d8a657e46500ad12be457928207207e3e
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/test/CodeGen/ms-inline-asm-64.c
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  ms inline asm: Fix {call,jmp} fptr (#73207)

https://reviews.llvm.org/D151863 (2023-05) removed
`BaseReg = BaseReg ? BaseReg : 1` (introduced in commit
175d0aeef3725ce17032e9ef76e018139f2f52f0 (2013)) and caused a
regression: ensuring a non-zero `BaseReg` was to treat
`static void (*fptr)(); __asm { call fptr }` as non-`AbsMem`
`AsmOperandClass` and generate `call $0`/`callq *fptr(%rip)` instead of
`call ${0:P}`/`callq *fptr`
(The asm template argument modifier `P` is for call targets, while
no modifier is used by other instructions like `mov rax, fptr`)

This patch reinstates the BaseReg-setting statement but places it inside
`if (IsGlobalLV)` for clarify.

The special case is unfortunate, but we also have special case in
similar places (https://reviews.llvm.org/D149920).

Fix: #73033


  Commit: 936180a5e8816b2d02393b8faa535bcd37ac9b42
      https://github.com/llvm/llvm-project/commit/936180a5e8816b2d02393b8faa535bcd37ac9b42
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [libc++][NFC] Fix typo in comment


  Commit: 28a5e6b069ee7540cd0965a0ad6cf0475db8d68c
      https://github.com/llvm/llvm-project/commit/28a5e6b069ee7540cd0965a0ad6cf0475db8d68c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/AssumptionCache.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/zext-or-icmp.ll

  Log Message:
  -----------
  [InstCombine] Remove over-generalization from computeKnownBitsFromCmp() (#72637)

For most practical purposes, the only KnownBits patterns we care about are
those involving a constant comparison RHS and constant mask. However,
the actual implementation is written in a very general way -- and of
course, with basically no test coverage of those generalizations.

This patch reduces the implementation to only handle cases with constant
operands. The test changes are all in "make sure we don't crash" tests.

The motivation for this change is an upcoming patch to handling dominating
conditions in computeKnownBits(). Handling non-constant RHS would add
significant additional compile-time overhead in that case, without any
significant impact on optimization quality.


  Commit: 12bb2910c3e339730279f65b2c0813ccfce024f1
      https://github.com/llvm/llvm-project/commit/12bb2910c3e339730279f65b2c0813ccfce024f1
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__std_clang_module
    M libcxx/include/experimental/__config
    R libcxx/include/experimental/deque
    R libcxx/include/experimental/forward_list
    R libcxx/include/experimental/list
    R libcxx/include/experimental/map
    R libcxx/include/experimental/memory_resource
    R libcxx/include/experimental/regex
    R libcxx/include/experimental/set
    R libcxx/include/experimental/string
    R libcxx/include/experimental/unordered_map
    R libcxx/include/experimental/unordered_set
    R libcxx/include/experimental/vector
    M libcxx/include/module.modulemap.in
    M libcxx/src/CMakeLists.txt
    A libcxx/src/experimental/keep.cpp
    R libcxx/src/experimental/memory_resource.cpp
    R libcxx/src/experimental/memory_resource_init_helper.h
    R libcxx/test/libcxx/experimental/lit.local.cfg
    R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/assert.deallocate.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/assert.deallocate.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.resource.global/global_memory_resource_lifetime.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.resource.global/new_delete_resource_lifetime.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/assign.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/copy.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/other_alloc.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair_evil.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/destroy.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/select_on_container_copy_construction.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.overview/nothing_to_do.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.overview/overview.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_deque_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_forward_list_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_list_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_regex_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_map_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_set_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_vector_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.synop/nothing_to_do.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/construct.verify.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.overview/nothing_to_do.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.priv/private_members.verify.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp
    R libcxx/test/support/test_memory_resource.h
    M libcxx/test/support/uses_alloc_types.h
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Remove experimental pmr headers now shipped in mainline (#73172)

Several experimental headers around std::pmr have been slated for
removal for a while now. This patch actually performs the removal and
cleanups from the code base.


  Commit: 63a6e51f8ad68a1f573b3a278486124c0ade8711
      https://github.com/llvm/llvm-project/commit/63a6e51f8ad68a1f573b3a278486124c0ade8711
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/OpenMP/critical-empty.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix issue with empty critical or critical without surrounding context (#71944)

Add the sourcerange for critical directive.

Fixes #65571


  Commit: c599b8eec0c4f134afcd28ac3baf6fc7b0b36901
      https://github.com/llvm/llvm-project/commit/c599b8eec0c4f134afcd28ac3baf6fc7b0b36901
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/FPUtil/dyadic_float.h

  Log Message:
  -----------
  [libc][NFC] Decouple FP properties from C++ types (#73517)

We simplify the floating point properties by splitting concerns:
 - We define all distinct floating point formats in the `FPType` enum.
 - We map them to properties via the `FPProperties` trait.
- We map from C++ type to `FPType` in the `getFPType` function so logic
is easier to understand and extend.


  Commit: 6b9c186b2d4c8bd315034a9655a28d32bcf745ab
      https://github.com/llvm/llvm-project/commit/6b9c186b2d4c8bd315034a9655a28d32bcf745ab
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Handle non-innerprod float vector add reductions (#73476)

Instead of extracting all individual vector components and performing a
scalar summation, use `spirv.Dot` with the original reduction operand
and a vector constant of all ones.


  Commit: e0aac8c88d0d30e8da0f8a240ad1e6b4d88782e0
      https://github.com/llvm/llvm-project/commit/e0aac8c88d0d30e8da0f8a240ad1e6b4d88782e0
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
    A mlir/test/Dialect/GPU/all-reduce-add.mlir
    R mlir/test/Dialect/GPU/all-reduce-max.mlir
    A mlir/test/Dialect/GPU/all-reduce-maxf.mlir
    R mlir/test/Dialect/GPU/all-reduce.mlir
    M mlir/test/Dialect/GPU/invalid.mlir

  Log Message:
  -----------
  [mlir][gpu] Align reduction operations with vector combining kinds (#73423)

The motivation for this change is explained in
https://github.com/llvm/llvm-project/issues/72354.

Before this change, we could not tell between signed/unsigned
minimum/maximum and NaN treatment for floating point values.

The mapping of old reduction operations to the new ones is as follows:
*  `min` --> `minsi` for ints, `minf` for floats
*  `max` --> `maxsi` for ints, `maxf` for floats

New reduction kinds not represented in the old enum: `minui`, `maxui`,
`minimumf`, `maximumf`.

As a next step, I would like to have a common definition of combining
kinds used by the `vector` and `gpu` dialects. Separately, the GPU to
SPIR-V lowering does not yet properly handle zero and NaN values -- the
behavior of floating point min/max group reductions is not specified by
the SPIR-V spec, see https://github.com/llvm/llvm-project/issues/73459. 

Issue: https://github.com/llvm/llvm-project/issues/72354


  Commit: 3c23ed156f0151923b168bdff0c34ec73fb37f38
      https://github.com/llvm/llvm-project/commit/3c23ed156f0151923b168bdff0c34ec73fb37f38
  Author: David Green <david.green at arm.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [AArch64] Add a test to show scheduling aliasing between SVE loads and stores. NFC


  Commit: dd3184c30ff531b8aecea280e65233337dd02815
      https://github.com/llvm/llvm-project/commit/dd3184c30ff531b8aecea280e65233337dd02815
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/unittests/Analysis/MemorySSATest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/Transforms/Utils/FunctionComparatorTest.cpp

  Log Message:
  -----------
  [unittest,examples] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC


  Commit: dd09221a29506031415cad8a1308998358633d48
      https://github.com/llvm/llvm-project/commit/dd09221a29506031415cad8a1308998358633d48
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
    R mlir/test/Dialect/GPU/all-reduce-add.mlir
    A mlir/test/Dialect/GPU/all-reduce-max.mlir
    R mlir/test/Dialect/GPU/all-reduce-maxf.mlir
    A mlir/test/Dialect/GPU/all-reduce.mlir
    M mlir/test/Dialect/GPU/invalid.mlir

  Log Message:
  -----------
  Revert "[mlir][gpu] Align reduction operations with vector combining kinds (#73423)"

This reverts commit e0aac8c88d0d30e8da0f8a240ad1e6b4d88782e0.

I'm seeing some nvidia integration test failures:
https://lab.llvm.org/buildbot/#/builders/61/builds/52334.


  Commit: 129440728ce3e688969ed253a6709a5d50c5e850
      https://github.com/llvm/llvm-project/commit/129440728ce3e688969ed253a6709a5d50c5e850
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp

  Log Message:
  -----------
  [RISCV] Partially move doPeepholeMaskedRVV into RISCVFoldMasks (#72441)

This change is motived by a point of confusion on
https://github.com/llvm/llvm-project/pull/71764. I hadn't fully
understood why doPeepholeMaskedRVV needed to be part of the same change.
As indicated in the fixme in this patch, the reason is that
performCombineVMergeAndVOps doesn't know how to deal with the true side
of the merge being a all-ones masked instruction.

This change removes one of two calls to the routine in
RISCVISELDAGToDAG, and adds a clarifying comment on the precondition for
the remaining call. The post-ISEL code is tested by the cases where we
can form a unmasked instruction after folding the vmerge back into true.

I don't really care if we actually land this patch, or leave it roled
into https://github.com/llvm/llvm-project/pull/71764. I'm posting it
mostly to clarify the confusion.


  Commit: c6444867405d25e5784e36302c90bca1c280a964
      https://github.com/llvm/llvm-project/commit/c6444867405d25e5784e36302c90bca1c280a964
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [ValueTracking] Pass unpacked arguments to computeKnownBitsFromCmp() (NFC)

This will alllow using it with an inverted predicate in the future.


  Commit: 7eccd5284290fea26df44fbc5a604b54e7b115a2
      https://github.com/llvm/llvm-project/commit/7eccd5284290fea26df44fbc5a604b54e7b115a2
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
    A mlir/test/Dialect/GPU/all-reduce-add.mlir
    R mlir/test/Dialect/GPU/all-reduce-max.mlir
    A mlir/test/Dialect/GPU/all-reduce-maxf.mlir
    R mlir/test/Dialect/GPU/all-reduce.mlir
    M mlir/test/Dialect/GPU/invalid.mlir
    R mlir/test/Integration/GPU/CUDA/all-reduce-max.mlir
    A mlir/test/Integration/GPU/CUDA/all-reduce-maxsi.mlir
    R mlir/test/Integration/GPU/CUDA/all-reduce-min.mlir
    A mlir/test/Integration/GPU/CUDA/all-reduce-minsi.mlir

  Log Message:
  -----------
  Reland "[mlir][gpu] Align reduction operations with vector combining kinds (#73423)"

This reverts commit dd09221a29506031415cad8a1308998358633d48 and relands
https://github.com/llvm/llvm-project/pull/73423.

* Updated `gpu.all_reduce` `min`/`max` in CUDA integration tests.


  Commit: d8b8aa3a56611477f93d029a59a0b350fb5166b0
      https://github.com/llvm/llvm-project/commit/d8b8aa3a56611477f93d029a59a0b350fb5166b0
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp

  Log Message:
  -----------
  [llvm] Replace calls to Type::getPointerTo (NFC)

Cleanup work towards removing the method Type::getPointerTo.

If a call to Type::getPointerTo is used solely to support an unneeded
pointer-cast, remove the call entirely.


  Commit: b9b627fbc3bc64cd3e7e009917df35d2971827d9
      https://github.com/llvm/llvm-project/commit/b9b627fbc3bc64cd3e7e009917df35d2971827d9
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/test/OpenMP/dispatch_unsupported.c

  Log Message:
  -----------
  [clang] Fix a new test to not write temp files to the git repository


  Commit: 811234ee954a2d7e3c4e91aab390e87f4a36e9b9
      https://github.com/llvm/llvm-project/commit/811234ee954a2d7e3c4e91aab390e87f4a36e9b9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Add Zbs Write classes to SiFive7AnyToGPRBypass. (#72560)


  Commit: fe3c4218438adeebba4914a57b4d382e3a947394
      https://github.com/llvm/llvm-project/commit/fe3c4218438adeebba4914a57b4d382e3a947394
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [RISCV][GISel] Merge selectGlobalValue and selectJumpTable. NFC (#72759)

We can use addDisp in place of addGlobalAddress/addJumpTableIndex to
copy the existing MachineOperand from the generic instruction.


  Commit: 9a376530b3e3b5d105f46ca5abc2375a593b9a63
      https://github.com/llvm/llvm-project/commit/9a376530b3e3b5d105f46ca5abc2375a593b9a63
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)"

This reverts commit 79b03306af5c11d354fa90db8bfd7818cd811ef5.

I am seeing very confusing errors with the `libomptarget` test suite
when using dlopen / other flags. Reverting to investigate why this is.


  Commit: 623cd75105398dfe199b9588d58281956b8e6753
      https://github.com/llvm/llvm-project/commit/623cd75105398dfe199b9588d58281956b8e6753
  Author: Jason Liu <47833311+jasonliudev at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Object/ELF.h
    A llvm/test/tools/llvm-objdump/X86/phdrs-lma3.test
    M llvm/tools/llvm-objdump/ELFDump.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-objdump] Fix lma display issue for non-bss sections (#72141)

llvm-readobj and llvm-objdump have inconsistent handling of display
lma for sections.
This patch tries to common code up and adapt the same approach for
both tools.


  Commit: d79aee9f7339e80facedb140492181a4bba3c5b7
      https://github.com/llvm/llvm-project/commit/d79aee9f7339e80facedb140492181a4bba3c5b7
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h

  Log Message:
  -----------
  Changes to support running tests for Windows arm64 asan (#66973)

1. Differentiate SANITIZER_WINDOWS64 for x64 and arm64
2. turn off interception tests that expect x86 assembly

---------

Co-authored-by: Farzon Lotfi <farzon at farzon.com>


  Commit: 390840fbdf280b68a5498af952926ffcd678954e
      https://github.com/llvm/llvm-project/commit/390840fbdf280b68a5498af952926ffcd678954e
  Author: Dimitrij Mijoski <dmjpp at hotmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/src/locale.cpp
    A libcxx/test/std/localization/codecvt_unicode.pass.cpp

  Log Message:
  -----------
  [libc++] Fix UTF-8 decoding in codecvts (#68442)

This patch fixes one case where the decoding member function `in()` was
returning `partial` instead of `error`. Additionally, it adds large
testsuite that tests all `codecvt` facets that were added in C++11 and
in C++20. The testsuite covers this bug.

Fixes #60177.


  Commit: 1bdb2e85509da95544fbad7af053196061feca8c
      https://github.com/llvm/llvm-project/commit/1bdb2e85509da95544fbad7af053196061feca8c
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/test/Conversion/GPUToSPIRV/reductions.mlir

  Log Message:
  -----------
  [mlir][spirv] Simplify gpu reduction to spirv logic (#73546)

Check the type only once and then specialize op handlers based on it.

Do not use boolean types in group arithmetic ops that expect integers.


  Commit: 6e8f7d5966f51f3c3ddf76bb00eb60f4fb9ceebe
      https://github.com/llvm/llvm-project/commit/6e8f7d5966f51f3c3ddf76bb00eb60f4fb9ceebe
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][vector] Fix patterns for dropping leading unit dims from masks (#73525)

Previously the pattern only worked when the permutation map was a minor
identity. Infer the new mask type from the new transfer map after
dropping leading unit dims.


  Commit: 7138fabfbcdfedfe7e9271ee8355774101dfcfed
      https://github.com/llvm/llvm-project/commit/7138fabfbcdfedfe7e9271ee8355774101dfcfed
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M compiler-rt/lib/orc/simple_packed_serialization.h
    M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp

  Log Message:
  -----------
  [ORC-RT] Add SPS serialization for std::tuple.

This will be used in upcoming changes to macho_platform.


  Commit: 56c72c7f339cd6ff780a0d6aa1a0ac8bfc1487aa
      https://github.com/llvm/llvm-project/commit/56c72c7f339cd6ff780a0d6aa1a0ac8bfc1487aa
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
    M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
    M llvm/unittests/ExecutionEngine/Orc/SymbolStringPoolTest.cpp

  Log Message:
  -----------
  [ORC] Add a public unsafe-operations helper for SymbolStringPtr.

SymbolStringPoolEntryUnsafe provides unsafe access to SymbolStringPtr objects,
allowing clients to manually retain and release pool entries, or consume or
create SymbolStringPtr instances without affecting an entry's ref-count. This
can be useful when writing C APIs that need to handle SymbolStringPtrs.

As part of this patch the LLVM-C API implementation is updated to use the new
utility, rather than the old, private OrcV2CAPIHelper utility.


  Commit: 4a2db23e6ce48f393dea5667755bb87baca348f1
      https://github.com/llvm/llvm-project/commit/4a2db23e6ce48f393dea5667755bb87baca348f1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [RISCV][GISel] Use setDesc in some cases instead of creating new instructions. (#72769)

Slight memory usage improvement by reusing.


  Commit: 20406af31ba5996edd4db3b7363ac1a870859929
      https://github.com/llvm/llvm-project/commit/20406af31ba5996edd4db3b7363ac1a870859929
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_safe_c_api.h

  Log Message:
  -----------
  [runtime] Have the runtime use the compiler builtin for alloca on NetBSD (#73480)

Most of the tests were failing with the following in their logs..

| /usr/bin/ld: /home/brad/llvm-build/runtimes/runtimes-bins/openmp/runtime/src/libomp.so:
warning: Warning: reference to the libc supplied alloca(3); this most likely will not
work. Please use the compiler provided version of alloca(3), by supplying the appropriate
compiler flags (e.g. -std=gnu99).

By making use of __builtin_alloca..

before:

Total Discovered Tests: 353
  Unsupported:  59 (16.71%)
  Passed     :  51 (14.45%)
  Failed     : 243 (68.84%)

after:

Total Discovered Tests: 353
  Unsupported:  59 (16.71%)
  Passed     : 290 (82.15%)
  Failed     :   4 (1.13%)


  Commit: e66876f2e05faa82ffee8e3c28cbfe0637193b99
      https://github.com/llvm/llvm-project/commit/e66876f2e05faa82ffee8e3c28cbfe0637193b99
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/tools/multiplex/tests/lit.cfg

  Log Message:
  -----------
  [OpenMP][Tools] Have sort(1) not use long name parameters (#73477)

I noticed a few tests were failing on NetBSD. NetBSD's sort(1) does not
support long name parameters unlike GNU and FreeBSD/OpenBSD/DragonFly's
sort(1).

executed command: sort --numeric-sort --stable

 .---command stderr------------
 | sort: unknown option -- -
 | usage: sort [-bdfHilmnrSsu] [-k kstart[,kend]] [-o output] [-R char] [-T dir]
 |              [-t char] [file ...]
 |    or: sort -C|-c [-bdfilnru] [-k kstart[,kend]] [-o output] [-R char]
 |              [-t char] [file]
 `-----------------------------


  Commit: 90b3e6711e0a03520fb617994178cdbe083ff20c
      https://github.com/llvm/llvm-project/commit/90b3e6711e0a03520fb617994178cdbe083ff20c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Fix a warning

This patch fixes:

  llvm/lib/Target/RISCV/RISCVFoldMasks.cpp:151:14: error: unused
  variable 'HasPolicyOp' [-Werror,-Wunused-variable]


  Commit: 5f31dbd18d24f0084363891139edf4fe71081eed
      https://github.com/llvm/llvm-project/commit/5f31dbd18d24f0084363891139edf4fe71081eed
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv64.mir

  Log Message:
  -----------
  [RISCV] Add register bank and instruction selection support for FP G_SELECT. (#72726)

Try to pick the FP register bank based on surrounding use/defs. Code is
basically copied from AArch64.

Need legalizer changes to make this more useful. Right now we're stuck
with only being able to FP select types less than or equal to XLen.


  Commit: 30afb21547dd075729910d33cd8f610e057f2c9b
      https://github.com/llvm/llvm-project/commit/30afb21547dd075729910d33cd8f610e057f2c9b
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
    M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
    M llvm/test/CodeGen/RISCV/machine-cp.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/X86/shift-i128.ll
    M llvm/test/CodeGen/X86/shift-i256.ll
    M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll

  Log Message:
  -----------
  Revert "[MCP] Enhance MCP copy Instruction removal for special case (#70778)"

This reverts commit cae46f6210293ba4d3568eb21b935d438934290d.

Reverted due to miscompiles.
See https://github.com/llvm/llvm-project/issues/73512


  Commit: b29332a318d922aa3a626feeb3e39a312c32ba12
      https://github.com/llvm/llvm-project/commit/b29332a318d922aa3a626feeb3e39a312c32ba12
  Author: Max191 <44243577+Max191 at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir] Add narrow type emulation for `memref.reinterpret_cast` (#73144)


  Commit: ab14eb23b6b4939cefa01f8cb16d7540f9686144
      https://github.com/llvm/llvm-project/commit/ab14eb23b6b4939cefa01f8cb16d7540f9686144
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M bolt/test/AArch64/got-ld64-relaxation.test
    M bolt/test/AArch64/skip-got-rel.test
    M bolt/test/RISCV/branch-no-secondary-entry.s
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/load-store.s
    M bolt/test/RISCV/reloc-abs.s
    M bolt/test/RISCV/reloc-bb-split.s
    M bolt/test/RISCV/reloc-branch.s
    M bolt/test/RISCV/reloc-call.s
    M bolt/test/RISCV/reloc-got.s
    M bolt/test/RISCV/reloc-jal.s
    M bolt/test/RISCV/reloc-lohi.s
    M bolt/test/RISCV/reloc-pcrel.s
    M bolt/test/RISCV/reloc-rvc-branch.s
    M bolt/test/RISCV/reloc-rvc-jump.s
    M bolt/test/RISCV/reloc-tls.s
    M bolt/test/X86/block-reordering.test
    M bolt/test/X86/branch-data.test
    M bolt/test/X86/bug-function-layout-execount.s
    M bolt/test/X86/call-zero.s
    M bolt/test/X86/cfi-instrs-count.s
    M bolt/test/X86/checkvma-large-section.test
    M bolt/test/X86/data-to-data-pcrel.s
    M bolt/test/X86/double-rel.s
    M bolt/test/X86/exceptions-args.test
    M bolt/test/X86/fptr-addend-pcrel.s
    M bolt/test/X86/gotpcrelx.s
    M bolt/test/X86/icp-inline.s
    M bolt/test/X86/indirect-goto.test
    M bolt/test/X86/is-strip.s
    M bolt/test/X86/jmpjmp.test
    M bolt/test/X86/jump-table-footprint-reduction.test
    M bolt/test/X86/jump-table-pic-order.test
    M bolt/test/X86/jump-table-reference.test
    M bolt/test/X86/layout-heuristic.test
    M bolt/test/X86/line-number.test
    M bolt/test/X86/lto-name-match.s
    M bolt/test/X86/no-entry-reordering.test
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/reader-stale-yaml.test
    M bolt/test/X86/reader.test
    M bolt/test/X86/sctc-bug.test
    M bolt/test/X86/sctc-bug2.test
    M bolt/test/X86/sctc-bug3.test
    M bolt/test/X86/sctc-bug4.test
    M bolt/test/X86/section-end-sym.s
    M bolt/test/X86/tailcall.test
    M bolt/test/X86/vararg.test
    M bolt/test/X86/yaml-multiple-profiles.test
    M bolt/test/bad-exe.test
    M bolt/test/no-relocs.test
    M bolt/test/pie.test
    M bolt/test/re-optimize.test
    M bolt/test/runtime/X86/asm-dump.c
    M bolt/test/yaml-profile-kind.c

  Log Message:
  -----------
  [BOLT][test] Replace /dev/null with temp file (#73485)

NFC processing time script identifies tests by output filename.
When `/dev/null` is used as output filename, we're unable to tell the
source test, and the reports are unhelpful.
Replace `/dev/null/` with `%t.null` which resolves the issue.


  Commit: 9c33bf62a7f1047e96d9da702baf0d436980fb34
      https://github.com/llvm/llvm-project/commit/9c33bf62a7f1047e96d9da702baf0d436980fb34
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/rtl.cpp
    M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Remove unused (un)register_lib plugin API

These APIs have not been hooked up for a while. No need to carry them.


  Commit: 2b2e711afcc3b627284538c965351add6608cc64
      https://github.com/llvm/llvm-project/commit/2b2e711afcc3b627284538c965351add6608cc64
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/omptargetplugin.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Remove no-op __tgt_rtl_deinit_plugin

The order in which we deinit things, especially when shared libraries
are involved, is complicated. To simplify our lives the nextgen plugin
deinitializes the GenericPluginTy and subclasses automatically. The old
__tgt_rtl_deinit_plugin is not needed anymore.


  Commit: f9436464a9c8ecae8e7eac5be788bc48041b19b4
      https://github.com/llvm/llvm-project/commit/f9436464a9c8ecae8e7eac5be788bc48041b19b4
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/src/interface.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Minor name and code simplification


  Commit: c2ba2b219054ea1f898678cceea4a159f948fa98
      https://github.com/llvm/llvm-project/commit/c2ba2b219054ea1f898678cceea4a159f948fa98
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/shuffle-half.ll

  Log Message:
  -----------
  Fix ISel crash when lowering BUILD_VECTOR (#73186)

512bit vpbroadcastw is available only with AVX512BW. Avoid lowering
BUILD_VEC into vbroard_cast node when the condition is not met. This
fixed a crash (see the added new test).


  Commit: e3f16de9a33d48f6a9d8035a9aebfdb0e3a16ea5
      https://github.com/llvm/llvm-project/commit/e3f16de9a33d48f6a9d8035a9aebfdb0e3a16ea5
  Author: Duo Wang <duow1 at uci.edu>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [unittest][Support] Fix bad negation of signed integer in LEB128Test.SLEB128Size (#72700)

I came across an undefined behavior when running Support unit tests with
UBSAN on Windows.
```bash
[ RUN      ] LEB128Test.SLEB128Size
C:\llvm\unittests\Support\LEB128Test.cpp:382:3: runtime error: negation of -9223372036854775808 cannot be represented in type 'long long'; cast to an unsigned type to negate this value to itself
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior C:\llvm\unittests\Support\LEB128Test.cpp:382:3 in 
```

UBSAN did not report the same error on macOS, but the negation still
seemed invalid (`0x8000000000000000LL == -0x8000000000000000LL`
evaluated to `true`).
I can confirm that `-0x7fffffffffffffffLL - 1` results in the expected
value on both platforms.


  Commit: 7bfcce3e940f401a519906ecad3632978ccd0fb5
      https://github.com/llvm/llvm-project/commit/7bfcce3e940f401a519906ecad3632978ccd0fb5
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/omptargetplugin.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP] Tear down GenericDeviceTy's with GenericPluginTy (#73557)

There is no point in keeping GenericDeviceTy objects alive longer than
the associated GenericPluginTy. Instead of the old API we now tear them
down with the plugin, avoiding ordering issues.


  Commit: 2b7cca1ccfea5f3ff233afa7f85bf84cf41226ef
      https://github.com/llvm/llvm-project/commit/2b7cca1ccfea5f3ff233afa7f85bf84cf41226ef
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++] Add missing REQUIRES for exception handling test

It otherwise fails on Windows.


  Commit: ee922e6ebfb6aab722f6b0f7cfc0c20af636a250
      https://github.com/llvm/llvm-project/commit/ee922e6ebfb6aab722f6b0f7cfc0c20af636a250
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Disable HandleLLVMOptions in runtimes mode (#73031)

Summary:
There are a few default options that LLVM adds that can be problematic
for runtimes builds. These options are generally intended to handle
building LLVM itself, but are also added when building in a runtimes
mode. One such issue I've run into is that in `libc` we deliberately use
`--target` to use a different device toolchain, which doesn't support
some linker arguments passed via `-Wl`. This is observed in
https://github.com/llvm/llvm-project/pull/73030 when attempting to use
these options.

This patch completely removes these default arguments.

The consensus is that any issues created by this patch should ultimately
be solved on a per-runtime basis.


  Commit: 983a2757b0a66812f1b0bfc5a2262bfcee6ac562
      https://github.com/llvm/llvm-project/commit/983a2757b0a66812f1b0bfc5a2262bfcee6ac562
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td

  Log Message:
  -----------
  [AArch64] Update comment on GHC CC (#72761)

Currently, there are a couple dead links in the comment surrounding the
tablegen implementtion of the GHC calling convention in AArch64. There
was some refactoring in GHC that moved things around. This patch fixes
up the comment to match the current state of the repository to make it
easier for future readers to reference the relevant documentation.


  Commit: 4e0c48b907f1349f62e8ecb97f76e8f078c9c0f2
      https://github.com/llvm/llvm-project/commit/4e0c48b907f1349f62e8ecb97f76e8f078c9c0f2
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/benchmarks/stringstream.bench.cpp
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale
    R libcxx/include/__utility/no_destroy.h
    M libcxx/include/module.modulemap.in
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  Revert "[libc++] Speed up classic locale (#72112)"

Looks like it broke the ASAN build: https://lab.llvm.org/buildbot/#/builders/168/builds/17053/steps/9/logs/stdio

This reverts commit f8afc53d641ce9d4ad8565aae9e7b5911b572a02.


  Commit: 3d87b9d5f0ebc0df2b258817ff6a25a40e1fbc37
      https://github.com/llvm/llvm-project/commit/3d87b9d5f0ebc0df2b258817ff6a25a40e1fbc37
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  [Bazel] Fix for 7eccd5284290fea26df44fbc5a604b54e7b115a2


  Commit: 4b7beab4187ab0766c3d7b272511d5751431a8da
      https://github.com/llvm/llvm-project/commit/4b7beab4187ab0766c3d7b272511d5751431a8da
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/cmake/HandleOpenMPOptions.cmake
    M openmp/cmake/config-ix.cmake

  Log Message:
  -----------
  [OpenMP] Add back implicit flags manually

Summary:
We used to inherit these flags from the LLVM options in a runtimes
build. This patch adds them back in manually as they are helpful for
diagnostics and optimizing the created binary.


  Commit: 71e3082d8572fd335dcc994fd63a75d69b9d2b2e
      https://github.com/llvm/llvm-project/commit/71e3082d8572fd335dcc994fd63a75d69b9d2b2e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/src/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Enable position independent code for libomptarget

Summary:
This option used to be passed manually by the `-fPIC` option that was
always enabled by the LLVM flags. Since we now do this manually we want
to specify that these are supposed for use fPIC code.


  Commit: e666e27485d69ca60747c198418e64922c72238f
      https://github.com/llvm/llvm-project/commit/e666e27485d69ca60747c198418e64922c72238f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Move compiler-detection Lit features first (#73544)

Lit features are evaluated in order. Some checks may require the
compiler detection to have run first in order to work properly, for
example some checks being added in https://reviews.llvm.org/D154246
which require GCC to have been detected. It is kind of brittle to rely
on such ordering, but in practice moving the compiler detection first
should never hurt.


  Commit: 03d4a9d94da30590ebfc444cf13a8763f47b7bb9
      https://github.com/llvm/llvm-project/commit/03d4a9d94da30590ebfc444cf13a8763f47b7bb9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/test/CodeGen/aarch64-ls64-inline-asm.c
    M clang/test/CodeGen/ms-intrinsics.c
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Analysis/ValueTracking/assume.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/add2.ll
    M llvm/test/Transforms/InstCombine/apint-add.ll
    M llvm/test/Transforms/InstCombine/apint-shift.ll
    M llvm/test/Transforms/InstCombine/bitreverse-known-bits.ll
    M llvm/test/Transforms/InstCombine/masked-merge-add.ll
    M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/InstCombine/pr72433.ll
    M llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
    M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
    M llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll

  Log Message:
  -----------
  [InstCombine] Set disjoint flag when turning Add into Or. (#72702)

The disjoint flag was recently added to IR in #72583


  Commit: 9e8691962626e62382eb31da6fea49ddbb559750
      https://github.com/llvm/llvm-project/commit/9e8691962626e62382eb31da6fea49ddbb559750
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll

  Log Message:
  -----------
  [RISCV][GISel] Fix 2 indirect call bugs. (#73170)

We can't set MO_PLT on an indirect call.
We need to constrain the register class for the operand to the call
instruction.


  Commit: 39faf13dde5502cdba7aff1b967c51cd0a93bb71
      https://github.com/llvm/llvm-project/commit/39faf13dde5502cdba7aff1b967c51cd0a93bb71
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add BreakAdjacentStringLiterals option (#73432)

Closes #70451.


  Commit: 179a2e04439d449bbcd7482070c27983ef345c20
      https://github.com/llvm/llvm-project/commit/179a2e04439d449bbcd7482070c27983ef345c20
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-brindirect-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-brindirect-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Legalize and select G_BRINDIRECT. (#73059)


  Commit: a8837b49c1c1650357d7d8f2957c903b3a5ab039
      https://github.com/llvm/llvm-project/commit/a8837b49c1c1650357d7d8f2957c903b3a5ab039
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c

  Log Message:
  -----------
  [cross-project-tests] Fix struct-dse example so that it fails again (#73566)

The purpose of this example is to provide a case where the debugger /
debug info experience could be improved. A recent commit by clang
(0d2860b795879f4dd152963b52f969b53b136899) changed codegen such that it
changes how "small structs" are initialized, in a way that the debugger
is now able to correctly display the variable being targeted by this
test.

In order to keep the example relevant, i.e. failing, this commit makes
it so that the struct is now "big enough" to not trigger the new
codegen.


  Commit: 0f189840a9a8268664c9e6d4701bf35d9a19fd5f
      https://github.com/llvm/llvm-project/commit/0f189840a9a8268664c9e6d4701bf35d9a19fd5f
  Author: Chris B <chris.bieneman at me.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h

  Log Message:
  -----------
  [NFC] Cleanup and sort hlsl_intrinsics.h (#72414)

This is just a simple cleanup of hlsl_intrinsics.h. I've broken this
into two commits to make it easier to follow during review. The first
commit replaces the `__attribute__` annotations with preprocessor macros
to make it easier to read the function declarations. The second commit
sorts the function declarations.

Function declarations are sorted by function name alphabetically, then
grouped by base element type. The declarations within each group are
sorted in increasing order by number of elements, and the groups
themselves are sorted by increasing element size. For elements of the
same size they are then sorted by signed integers, then unsigned
integers then floating point.


  Commit: f385f6c93b33eff211523e7838ea023d7beee3f2
      https://github.com/llvm/llvm-project/commit/f385f6c93b33eff211523e7838ea023d7beee3f2
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/test/Dialect/Vector/vector-warp-distribute.mlir

  Log Message:
  -----------
  [mlir][vector] Distribute all non-permutation or broadcasted masked transfer reads (#73539)

The primary difficulty with distribution of masked transfers is when the
permutation map permutes the vector, in which case the distribution
logic needs to make sure the correct mask elements end up with the
distributed transfer. This is only tricky when the permutation map has a
permutation in it, so we can relax the condition for distribution.


  Commit: fc6b72523f3d73b921690a713e97a433c96066c6
      https://github.com/llvm/llvm-project/commit/fc6b72523f3d73b921690a713e97a433c96066c6
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Breakpoint/BreakpointSite.h
    R lldb/include/lldb/Breakpoint/BreakpointSiteList.h
    A lldb/include/lldb/Breakpoint/StopPointSiteList.h
    M lldb/include/lldb/Breakpoint/Watchpoint.h
    A lldb/include/lldb/Breakpoint/WatchpointResource.h
    A lldb/include/lldb/Breakpoint/WatchpointResourceList.h
    M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBWatchpoint.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/BreakpointSite.cpp
    R lldb/source/Breakpoint/BreakpointSiteList.cpp
    M lldb/source/Breakpoint/CMakeLists.txt
    A lldb/source/Breakpoint/StopPointSiteList.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    A lldb/source/Breakpoint/WatchpointResource.cpp
    A lldb/source/Breakpoint/WatchpointResourceList.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanCallFunction.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/Target/ThreadPlanStepRange.cpp
    M lldb/source/Target/ThreadPlanStepUntil.cpp
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
    M lldb/test/Shell/Watchpoint/Inputs/val.c
    M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
    M lldb/test/Shell/Watchpoint/SetErrorCases.test

  Log Message:
  -----------
  [lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)

This patch is rearranging code a bit to add WatchpointResources to
Process. A WatchpointResource is meant to represent a hardware
watchpoint register in the inferior process. It has an address, a size,
a type, and a list of Watchpoints that are using this
WatchpointResource.

This current patch doesn't add any of the features of
WatchpointResources that make them interesting -- a user asking to watch
a 24 byte object could watch this with three 8 byte WatchpointResources.
Or a Watchpoint on 1 byte at 0x1002 and a second watchpoint on 1 byte at
0x1003, these must both be served by a single WatchpointResource on that
doubleword at 0x1000 on a 64-bit target, if two hardware watchpoint
registers were used to track these separately, one of them may not be
hit. Or if you have one Watchpoint on a variable with a condition set,
and another Watchpoint on that same variable with a command defined or
different condition, or ignorecount, both of those Watchpoints need to
evaluate their criteria/commands when their WatchpointResource has been
hit.

There's a bit of code movement to rearrange things in the direction I'll
need for implementing this feature, so I want to start with reviewing &
landing this mostly NFC patch and we can focus on the algorithmic
choices about how WatchpointResources are shared and handled as they're
triggeed, separately.

This patch also stops printing "Watchpoint <n> hit: old value: <x>, new
vlaue: <y>" for Read watchpoints. I could make an argument for print
"Watchpoint <n> hit: current value <x>" but the current output doesn't
make any sense, and the user can print the value if they are
particularly interested. Read watchpoints are used primarily to
understand what code is reading a variable.

This patch adds more fallbacks for how to print the objects being
watched if we have types, instead of assuming they are all integral
values, so a struct will print its elements. As large watchpoints are
added, we'll be doing a lot more of those.

To track the WatchpointSP in the WatchpointResources, I changed the
internal API which took a WatchpointSP and devolved it to a Watchpoint*,
which meant touching several different Process files. I removed the
watchpoint code in ProcessKDP which only reported that watchpoints
aren't supported, the base class does that already.

I haven't yet changed how we receive a watchpoint to identify the
WatchpointResource responsible for the trigger, and identify all
Watchpoints that are using this Resource to evaluate their conditions
etc. This is the same work that a BreakpointSite needs to do when it has
been tiggered, where multiple Breakpoints may be at the same address.

There is not yet any printing of the Resources that a Watchpoint is
implemented in terms of ("watchpoint list", or
SBWatchpoint::GetDescription).

"watchpoint set var" and "watchpoint set expression" take a size
argument which was previously 1, 2, 4, or 8 (an enum). I've changed this
to an unsigned int. Most hardware implementations can only watch 1, 2,
4, 8 byte ranges, but with Resources we'll allow a user to ask for
different sized watchpoints and set them in hardware-expressble terms
soon.

I've annotated areas where I know there is work still needed with
LWP_TODO that I'll be working on once this is landed.

I've tested this on aarch64 macOS, aarch64 Linux, and Intel macOS.

https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116


  Commit: 9a38a72f1d482ce3e1ecd30550d78484debd69ae
      https://github.com/llvm/llvm-project/commit/9a38a72f1d482ce3e1ecd30550d78484debd69ae
  Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/SystemZ/systemz-ppa2.c
    M llvm/include/llvm/BinaryFormat/GOFF.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
    A llvm/test/CodeGen/SystemZ/zos-ppa2.ll

  Log Message:
  -----------
  [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (#68926)

This PR adds support for the PPA2 fields.

---------

Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>


  Commit: f90f036efbe6879ecf1c9ff8cf0fb956b5ceb877
      https://github.com/llvm/llvm-project/commit/f90f036efbe6879ecf1c9ff8cf0fb956b5ceb877
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/optional.h
    M libc/test/src/__support/CPP/optional_test.cpp

  Log Message:
  -----------
      [libc] Move in_use into OptionalStorage (#73569)

The previous optional class would call the destructor on a non-trivially
destructible object regardless of if it had already been reset. This
patch fixes this by moving tracking for if the object exists into the
internal storage class for optional.


  Commit: a0a1ff3ab40e347589b4e27d8fd350c600526735
      https://github.com/llvm/llvm-project/commit/a0a1ff3ab40e347589b4e27d8fd350c600526735
  Author: Jason Molenda <jason at molenda.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Breakpoint/WatchpointResource.h

  Log Message:
  -----------
  Include <vector> in WatchpointResource.h

On macOS <vector> was already included via another
header file, but this failed on the CI bots.  I'd
tested on linux earlier in this patch's life when
the headers were differently arranged.


  Commit: 7440e4ed85aa992718d4b5ccd1c97724bc3bdd2c
      https://github.com/llvm/llvm-project/commit/7440e4ed85aa992718d4b5ccd1c97724bc3bdd2c
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp

  Log Message:
  -----------
  [sanitizer] Add re-execution on FreeBSD when ASLR is detected (#73439)

In the FreeBSD base system, re-executing the main binary when ASLR is
detected was implemented in the following commits:

* freebsd/freebsd-src at 7cafe89f9ce33
* freebsd/freebsd-src at 96fe7c8ab0f65
* freebsd/freebsd-src at 930a7c2ac67e1
* freebsd/freebsd-src at 0a736f0a6aeb0
* freebsd/freebsd-src at 4c9a0adad1826

Squash all these to bring them into upstream compiler-rt.

When ASLR is detected to be enabled, this first force-disables ASLR for
the current process, then calls ReExec(). The ReExec() function gets a
FreeBSD specific implementation for finding the path of the executed
program, via the ELF auxiliary vector. This is done without calling into
the regular elf_aux_info(3) function, as that makes use of several
already-intercepted functions.


  Commit: 216040eef2bf854ee56380d7625ee76c6479c0f5
      https://github.com/llvm/llvm-project/commit/216040eef2bf854ee56380d7625ee76c6479c0f5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/test/ompt/veccopy.c
    M openmp/libomptarget/test/ompt/veccopy_data.c
    M openmp/libomptarget/test/ompt/veccopy_disallow_both.c
    M openmp/libomptarget/test/ompt/veccopy_emi.c
    M openmp/libomptarget/test/ompt/veccopy_emi_map.c
    M openmp/libomptarget/test/ompt/veccopy_map.c

  Log Message:
  -----------
  [OpenMP] Temporarily disable OMPT tests for x64

Summary:
These tests are currently failing, disable them so we can keep the bots
green until we find a better solution. The x64 tests are not the core
target so this is low priority.


  Commit: 6a9613eee76c1842f9f5c012d7fdf14d4632fab5
      https://github.com/llvm/llvm-project/commit/6a9613eee76c1842f9f5c012d7fdf14d4632fab5
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [GitHub] Add @hanhanW to CODEOWNERS for relevant files. (#73571)


  Commit: 225648e91ccd951eab9a4ab3200248d5617df1cc
      https://github.com/llvm/llvm-project/commit/225648e91ccd951eab9a4ab3200248d5617df1cc
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/python/CMakeLists.txt
    A mlir/python/mlir/extras/__init__.py
    A mlir/python/mlir/extras/types.py
    M mlir/test/python/ir/builtin_types.py
    M mlir/test/python/ir/context_managers.py

  Log Message:
  -----------
  [mlir][python] add type wrappers (#71218)


  Commit: f45453ab642800d567d148eb7891a47d7ce4fc33
      https://github.com/llvm/llvm-project/commit/f45453ab642800d567d148eb7891a47d7ce4fc33
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp

  Log Message:
  -----------
  [sanitizer][nfc] Reformat sanitizer_linux sources (#73573)


  Commit: e1f69b863df87227a48f10831b44a2adfba1c80d
      https://github.com/llvm/llvm-project/commit/e1f69b863df87227a48f10831b44a2adfba1c80d
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/tools/llvm-readtapi/command-line.test
    A llvm/test/tools/llvm-readtapi/extract-invalid.test
    A llvm/test/tools/llvm-readtapi/extract.test
    A llvm/test/tools/llvm-readtapi/remove-invalid.test
    A llvm/test/tools/llvm-readtapi/remove.test
    M llvm/tools/llvm-readtapi/TapiOpts.td
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp

  Log Message:
  -----------
  [readtapi] Add Extract & Remove architecture functionality (#72657)

This adds functionality to tbd files similar to what `lipo -extract`
and `lipo -remove` does for binaries.


  Commit: 1944c4f76b47c0b86c91845987baca24fd4775f8
      https://github.com/llvm/llvm-project/commit/1944c4f76b47c0b86c91845987baca24fd4775f8
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.h
    M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMapParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
    M mlir/test/python/dialects/sparse_tensor/dialect.py
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  [mlir][sparse] rename DimLevelType to LevelType (#73561)

The "Dim" prefix is a legacy left-over that no longer makes sense, since
we have a very strict "Dimension" vs. "Level" definition for sparse
tensor types and their storage.


  Commit: cf17a24a4b47dde8b0222a3e641d55fe8f36a083
      https://github.com/llvm/llvm-project/commit/cf17a24a4b47dde8b0222a3e641d55fe8f36a083
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll

  Log Message:
  -----------
  [RISCV] Use subreg extract for extract_vector_elt when vlen is known (#72666)

This is the first in a planned patch series to teach our vector lowering
how to exploit register boundaries in LMUL>1 types when VLEN is known to
be an exact constant. This corresponds to code compiled by clang with
the -mrvv-vector-bits=zvl option.

For extract_vector_elt, if we have a constant index and a known vlen,
then we can identify which register out of a register group is being
accessed. Given this, we can do a sub-register extract for that
register, and then shift any remaining index.

This results in all constant index extracts becoming m1 operations, and
thus eliminates the complexity concern for explode-vector idioms at high
lmul.


  Commit: 488d900209bc6d8321724a5c9867ce677c098c3b
      https://github.com/llvm/llvm-project/commit/488d900209bc6d8321724a5c9867ce677c098c3b
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  [NFC] Map changed file through envar

This sanitizes the string for printing.


  Commit: e7dd596c68c4c292494ffabb1c89a63c84af8115
      https://github.com/llvm/llvm-project/commit/e7dd596c68c4c292494ffabb1c89a63c84af8115
  Author: spupyrev <spupyrev at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/test/X86/Inputs/blarge_profile_stale.yaml
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/reader-stale-yaml.test

  Log Message:
  -----------
  [BOLT] Use deterministic xxh3 for computing BF/BB hashes (#72542)

std::hash and ADT/Hashing::hash_value are non-deterministic functions
whose
results might vary across implementation/process/execution. Using xxh3
instead
for computing hashes of BinaryFunctions and BinaryBasicBlock for stale
profile
matching.
(A possible alternative is to use ADT/StableHashing.h based on FNV
hashing but
xxh3 seems to be more popular in LLVM)

This is to address https://github.com/llvm/llvm-project/issues/65241.


  Commit: c0fe0719df457b0992606b0f2a235719a5bbfd54
      https://github.com/llvm/llvm-project/commit/c0fe0719df457b0992606b0f2a235719a5bbfd54
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/utils/vim/ftplugin/llvm.vim

  Log Message:
  -----------
  [vim] set commentstring (#71838)

I recently moved from using vim to lunarvim. I noticed that `gcc` (lol)
wasn't able to comment out lines, because commentstring is not set.

Thanks to Chase Colman for the suggestion in
https://github.com/LunarVim/LunarVim/issues/4394.


  Commit: 4e2f1521ec4b03a5838f9a4b61cd59bb8d60d8e6
      https://github.com/llvm/llvm-project/commit/4e2f1521ec4b03a5838f9a4b61cd59bb8d60d8e6
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h
    M mlir/lib/Dialect/SparseTensor/Transforms/IterationGraphSorter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp

  Log Message:
  -----------
  [mlir][sparse] code cleanup, remove FIXMEs (#73575)


  Commit: 0bdb9cb1ea981978e66039b6441999cc5b11c5b2
      https://github.com/llvm/llvm-project/commit/0bdb9cb1ea981978e66039b6441999cc5b11c5b2
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp

  Log Message:
  -----------
  [NewPM] Remove LazyValueInfoPrinter Pass (#73408)

This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.


  Commit: fea023b129190edeb503dbe947034f925bbda666
      https://github.com/llvm/llvm-project/commit/fea023b129190edeb503dbe947034f925bbda666
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    R mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    R mlir/lib/CAPI/Target/CMakeLists.txt
    R mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    R mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  Revert "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73117)"

Breaks https://lab.llvm.org/buildbot/#/builders/5/builds/38700

This reverts commit c43c88501e3bc273a7c1074a19e86dc305ad7234.


  Commit: eae1811e4f0431ea6336e68a38318a55f7529ef6
      https://github.com/llvm/llvm-project/commit/eae1811e4f0431ea6336e68a38318a55f7529ef6
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/docs/SourceLevelDebugging.rst

  Log Message:
  -----------
  [docs] Fix issues in SourceLevelDebugging (#73528)

An SSA register `value` was being defined twice.
An "external" link was using the "internal" link syntax.


  Commit: 8cd7184dc0f1e5e28e39b03c90bc9aeee96d104f
      https://github.com/llvm/llvm-project/commit/8cd7184dc0f1e5e28e39b03c90bc9aeee96d104f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn

  Log Message:
  -----------
  [gn] port 12bb2910c3e3


  Commit: ed6560240d5b0e2faa993e86d0ded0f5be0c8d19
      https://github.com/llvm/llvm-project/commit/ed6560240d5b0e2faa993e86d0ded0f5be0c8d19
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn] add a bunch of missing libc++ headers

Ports:
* fcaccf817d31d (mdspan)
* 73d94b1916135 (source_location)
* b77e50e6aef56 (stop_token)
* 7cc72a0a2ec22 (syncstream)


  Commit: be1e8a659df5003fa74e1f55c40acf3667f3cdb9
      https://github.com/llvm/llvm-project/commit/be1e8a659df5003fa74e1f55c40acf3667f3cdb9
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn] port 12bb2910c3e3 more


  Commit: b4cf014991bfa144306a1069ca5c1eabbb456ddd
      https://github.com/llvm/llvm-project/commit/b4cf014991bfa144306a1069ca5c1eabbb456ddd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/trap.mir

  Log Message:
  -----------
  [RISCV][GISel] Select trap and debugtrap. (#73171)


  Commit: a6c62bf1a4717accc852463b664cd1012237d334
      https://github.com/llvm/llvm-project/commit/a6c62bf1a4717accc852463b664cd1012237d334
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/source/Breakpoint/WatchpointResource.cpp

  Log Message:
  -----------
  [lldb] try to fix build on linux after fc6b72523f3d7

Tries to fix:

    ../../lldb/source/Breakpoint/WatchpointResource.cpp:59:12:
    error: no member named 'find' in namespace 'std'; did you mean 'fill'?
          std::find(m_constituents.begin(), m_constituents.end(), wp_sp);
          ~~~~~^~~~
               fill


  Commit: 5623c44f08176cf7c1707786c65c55a20c7fa112
      https://github.com/llvm/llvm-project/commit/5623c44f08176cf7c1707786c65c55a20c7fa112
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4e0c48b907f1


  Commit: 295bd6fc4b91fec9eea5456cafb97c14c45107bb
      https://github.com/llvm/llvm-project/commit/295bd6fc4b91fec9eea5456cafb97c14c45107bb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn

  Log Message:
  -----------
  [gn build] Port fc6b72523f3d


  Commit: 77aa79d4fb646b9fd28176d3845117a6a2da6745
      https://github.com/llvm/llvm-project/commit/77aa79d4fb646b9fd28176d3845117a6a2da6745
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/README.txt

  Log Message:
  -----------
  [OpenMP][Docs] Cleanup libomptarget README


  Commit: 755e1088258b030cdd00cfa1b184c58fe41b4287
      https://github.com/llvm/llvm-project/commit/755e1088258b030cdd00cfa1b184c58fe41b4287
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Utils.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Remove unused variable


  Commit: 30fbe73ba9c726acbe0658e4ea98f328724482e5
      https://github.com/llvm/llvm-project/commit/30fbe73ba9c726acbe0658e4ea98f328724482e5
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/interface.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Remove else after return


  Commit: d2636dc39043f6adda3a6797fc5b7966bd4cb2f0
      https://github.com/llvm/llvm-project/commit/d2636dc39043f6adda3a6797fc5b7966bd4cb2f0
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Fix diagnostic warnings


  Commit: e1f911e40ce6ad4a7f393ea1b33e65b24940eb84
      https://github.com/llvm/llvm-project/commit/e1f911e40ce6ad4a7f393ea1b33e65b24940eb84
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Simplify code


  Commit: b823f8469b5364411cde31a215c9bcbe0d3c08f7
      https://github.com/llvm/llvm-project/commit/b823f8469b5364411cde31a215c9bcbe0d3c08f7
  Author: Max191 <44243577+Max191 at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir] Add support for `memref.alloca` sub-byte emulation (#73138)

Adds a similar case to `memref.alloc` for `memref.alloca` in
EmulateNarrowTypes.

Fixes https://github.com/openxla/iree/issues/15515


  Commit: 93a2be26e7cb54331033aad8f306bdbb5ef4b4c4
      https://github.com/llvm/llvm-project/commit/93a2be26e7cb54331033aad8f306bdbb5ef4b4c4
  Author: Andres Villegas <andresvi at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
    A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp

  Log Message:
  -----------
  [NFC sanitizer_symbolizer] Move Fuchsia specific code.

Moves sanitizer symbolizer code that is specific for
fuchsia into its own _fuchsia.cpp file.
This is preparation to enable symbolizer markup in
linux.

Reviewers: PiJoules, petrhosek, vitalybuka

Reviewed By: PiJoules, vitalybuka

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


  Commit: 93e156833bfadfbabfa5be2afad4f002c019257f
      https://github.com/llvm/llvm-project/commit/93e156833bfadfbabfa5be2afad4f002c019257f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll

  Log Message:
  -----------
  [DAG] Fix a miscompile in insert_subvector undef (insert_subvector undef, ..), idx combine (#73587)

The combine was implicitly assuming that the index on the outer
insert_subvector meant the same thing when the source was switched to be
the index of the inner insert_subvector. This is not true if the
innermost sub-vector is fixed, and the outer subvector is scalable.

I could do a less restrictive fix here - i.e. allow the case where the
scalability of the subvectors are the same - but there's no test
coverage which shows this transform actually has profit. Given that, go
for the simplest fix.


  Commit: 9a7f4bde2489f6529d336998e2c3fe902a1d864a
      https://github.com/llvm/llvm-project/commit/9a7f4bde2489f6529d336998e2c3fe902a1d864a
  Author: Jacob Yu <pingshiyu at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td

  Log Message:
  -----------
  [mlir][arith] doc updates for ub semantics, and int representations (#72932)

Following the discussions in this thread,
https://discourse.llvm.org/t/some-question-on-the-semantics-of-the-arith-dialect/74861,
here are some updates to the documented semantics of Arith.
Added are clarifications on poison behaviour, UBs, overflow semantics,
and the underlying two's complement representation used for integers

Co-authored-by: kuhar <jakubk at openxla.org>
Co-authored-by: math-fehr <mathieu.fehr at gmail.com>


  Commit: 52b413f25ae79b07df88c0224adec4a6d7dabecc
      https://github.com/llvm/llvm-project/commit/52b413f25ae79b07df88c0224adec4a6d7dabecc
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll

  Log Message:
  -----------
  [RISCV] Precommit tests for buildvector lowering with exact VLEN


  Commit: 67268da61aa2f8b24172907ee6f8d9250ee18b65
      https://github.com/llvm/llvm-project/commit/67268da61aa2f8b24172907ee6f8d9250ee18b65
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [libc][bazel] Add copts to libc_support_library (#73591)

Most libc_support_library calls are for header-only libraries, but there
are a few that have .cpp files. This patch adds the same base copts to
these that libc_function already has.


  Commit: 7cbf9598cc6f207a268599cea636533a5c7b2dbd
      https://github.com/llvm/llvm-project/commit/7cbf9598cc6f207a268599cea636533a5c7b2dbd
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/MinimalElementType.h

  Log Message:
  -----------
  [libc++][test] Avoid using `allocator<const T>` (#73545)

Found while running libc++'s test suite with MSVC's STL.

MSVC's STL rejects `allocator<const T>`. This may or may not be
justified by the current Standardese (it was bogus in the C++03 era),
but it's how we reject usage like `vector<const T>`.

A bunch of `mdspan` tests are failing for us because some centralized
machinery is using `allocator<const T>`. Testing that `mdspan` and its
associated types work properly with `const T` is good and necessary, but
directly allocating `const T` is what's a problem for MSVC's STL. I'd
like to ask for a very targeted change here that preserves all of the
test coverage but changes how `ElementPool` interacts with `allocator`.

This intentionally leaves `ElementPool::get_ptr()` returning `T*`
(pointer-to-possibly-const), so there's no externally visible
difference.


  Commit: 17ec364b1b338b6bee5a65a886d0fe75089e6bb9
      https://github.com/llvm/llvm-project/commit/17ec364b1b338b6bee5a65a886d0fe75089e6bb9
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/__init__.py
    M mlir/python/mlir/dialects/python_test.py
    M mlir/python/mlir/ir.py
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/PythonTestModule.cpp

  Log Message:
  -----------
  [mlir][python] enable registering dialects with the default `Context` (#72488)


  Commit: 79cb594fdf15c4bb8fc357b615210e6e57eb1c26
      https://github.com/llvm/llvm-project/commit/79cb594fdf15c4bb8fc357b615210e6e57eb1c26
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp

  Log Message:
  -----------
  [mlir][sparse] remove unused COO method (#73595)

step closer towards moving all type related methods into encoding and/or
sparse tensor type class


  Commit: d3143a09acb30f9d3978373d20d67d2c78ce07a9
      https://github.com/llvm/llvm-project/commit/d3143a09acb30f9d3978373d20d67d2c78ce07a9
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/test/CodeGen/SystemZ/systemz-ppa2.c

  Log Message:
  -----------
  Add `REQUIRES: systemz-registered-target` to test added in #68926 (9a38a72).


  Commit: 8b3944ca19645df13b0800336de2bac77ddb60b0
      https://github.com/llvm/llvm-project/commit/8b3944ca19645df13b0800336de2bac77ddb60b0
  Author: Andres Villegas <andresvi at google.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_symbolizer] Add initial symbolizer markup support for linux.

This is part of a stack of PRs to add support for symbolizer
markup in linux.

You can check the symbolizer markup specification at:
https://llvm.org/docs/SymbolizerMarkupFormat.html

Reviewers: vitalybuka, PiJoules

Reviewed By: vitalybuka

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


  Commit: a3529aa92ee48552946066330f5302281a49e447
      https://github.com/llvm/llvm-project/commit/a3529aa92ee48552946066330f5302281a49e447
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.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/vprint_nonunicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][test] Avoid preprocessor directives in macro argument lists (#73440)

Found while running libc++'s test suite with MSVC's STL.

MSVC has a level 1 "warning C5101: use of preprocessor directive in
function-like macro argument list is undefined behavior". I don't know
why Clang doesn't complain about this.

There are some formatting tests which densely interleave preprocessor
directives within function-like macros, and they would need invasive
changes. For now, I'm just skipping those tests.

However, a few tests were only slightly affected, and I was able to add
a new test macro `TEST_IF_AIX` to make them portable.


  Commit: 1ece4d3a0dc951aa349616c3c8740d8b3f9926c1
      https://github.com/llvm/llvm-project/commit/1ece4d3a0dc951aa349616c3c8740d8b3f9926c1
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

  Log Message:
  -----------
  [mlir][sparse] code simplification: always use synthetical tensor for… (#73597)

… loop bound.


  Commit: d9221da72baee50b24b14b0dc0200a6ddec49ea0
      https://github.com/llvm/llvm-project/commit/d9221da72baee50b24b14b0dc0200a6ddec49ea0
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/apx/asm-constraint.ll
    M llvm/test/CodeGen/X86/callbr-asm-bb-exports.ll
    M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel-m32.ll
    M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel.ll

  Log Message:
  -----------
  [X86][MC] Keep backward compatibility in inline asm for constraints (#73529)

Not use r16-r31 with 'q','r','l' constraint for backward compatibility


  Commit: 5d59e97e883445f36e99d4b9600330ac4a631565
      https://github.com/llvm/llvm-project/commit/5d59e97e883445f36e99d4b9600330ac4a631565
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn

  Log Message:
  -----------
  [gn] port 93a2be26e7cb


  Commit: e247e6ff272ce70003ca67f62be178f332f9de0f
      https://github.com/llvm/llvm-project/commit/e247e6ff272ce70003ca67f62be178f332f9de0f
  Author: yonghong-song <yhs at fb.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/BPF/BPFInstrFormats.td
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/test/MC/BPF/insn-unit-32.s
    M llvm/test/MC/BPF/insn-unit.s

  Log Message:
  -----------
  [BPF] Add asm support for JSET insn (#73161)

BPF upstream reported that JSET insn is not supported in inline asm
([1]). BPF_JSET insn is part of BPF ISA so let us add asm support for it
now.

[1]
https://lore.kernel.org/bpf/2e8a1584-a289-4b2e-800c-8b463e734bcb@linux.dev/


  Commit: 4537985ccc907395ec520a0bd8cceca386c11dc0
      https://github.com/llvm/llvm-project/commit/4537985ccc907395ec520a0bd8cceca386c11dc0
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrFormats.td

  Log Message:
  -----------
  [X86][CodeGen] Remove CodeSize settings for instructions, NFCI

CodeSize was designed to used as the 3rd isel sorting tie-breaker.
>From observation, it has no impact on X86 ISEL.


  Commit: fdefe88bfff17075e6f35979318bff40a338c836
      https://github.com/llvm/llvm-project/commit/fdefe88bfff17075e6f35979318bff40a338c836
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/CXX/drs/dr27xx.cpp
    M clang/test/SemaCXX/static-assert-cxx26.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Improve support for expression messages in `static_assert` (#73234)

- Support non-member functions and callable objects for size and data().
We previously tried to (badly) pick the best overload ourselves, in a
way that would only support member functions. We now leave clang
construct an unresolved member expression and call that, properly
performing overload resolution with callable objects and static
functions, consistent with the logic for `get` calls for structured
bindings.
- Support UDLs as message expression.
- Add tests and mark CWG2798 as resolved


  Commit: 00f99466805f7860fce5f359f5601b9c4f0214ca
      https://github.com/llvm/llvm-project/commit/00f99466805f7860fce5f359f5601b9c4f0214ca
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll

  Log Message:
  -----------
  [PowerPC] Precommit test of building vector via load and zeros. NFC.


  Commit: a3b7b2d6354f622372ce6967e082869979c25ed8
      https://github.com/llvm/llvm-project/commit/a3b7b2d6354f622372ce6967e082869979c25ed8
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86EvexToVex.cpp
    A llvm/test/CodeGen/X86/apx/evex-to-vex.ll

  Log Message:
  -----------
  [X86][CodeGen] Not compress EVEX into VEX when R16-R31 is used (#73604)

b/c VEX prefix can not encode R16-R31.


  Commit: ffcc5c7796b00dd7f945cb2a1bd30399f616c6b0
      https://github.com/llvm/llvm-project/commit/ffcc5c7796b00dd7f945cb2a1bd30399f616c6b0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/atomic-fence.ll

  Log Message:
  -----------
  [RISCV][GISel] Select G_FENCE. (#73184)

Using IR test to make it easier to compare with the SelectionDAG test
output. The constant operands otherwise make it harder to understand.


  Commit: 04072485204c75f8a38287a0817f0cec55d4fe8c
      https://github.com/llvm/llvm-project/commit/04072485204c75f8a38287a0817f0cec55d4fe8c
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/dummy-counters.test
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt

  Log Message:
  -----------
  Reland "Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"

This reverts commit ea5de6021cf69a233106689cc6f0ee14899e1a83.

This patch was reverted as it broke a test on x86_64 Darwin due to the
symbol naming being different between platforms. As Darwin isn't a
supported platform for executing snippets for llvm-exegesis, we can just
disable the test to fix the issue.


  Commit: a3ef858968d3a7c4da03cd9126a2909dbd64c1d4
      https://github.com/llvm/llvm-project/commit/a3ef858968d3a7c4da03cd9126a2909dbd64c1d4
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
    M polly/lib/CodeGen/LoopGeneratorsKMP.cpp
    M polly/lib/CodeGen/PerfMonitor.cpp
    M polly/lib/CodeGen/RuntimeDebugBuilder.cpp

  Log Message:
  -----------
  [mlir,polly] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC


  Commit: f3d2a31d7d433f9c843a61caa7b025f3b7188ddf
      https://github.com/llvm/llvm-project/commit/f3d2a31d7d433f9c843a61caa7b025f3b7188ddf
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86EvexToVex.cpp
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp

  Log Message:
  -----------
  [X86][CodeGen] Cleanup code for EVEX2VEX pass, NFCI

1. Remove unused variables, e.g X86Subtarget object in performCustomAdjustments
2. Define checkVEXInstPredicate directly instead of generating it b/c
   the function is small and it's unlikely we have more instructions to
   check the predicate in the future
3. Check the tables are sorted only once for each function
4. Remove some blanks and clang-format code


  Commit: e2d60c86268479b019d62bba25745407dc15ce98
      https://github.com/llvm/llvm-project/commit/e2d60c86268479b019d62bba25745407dc15ce98
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [Frontend] Remove unneeded -frtti check. NFC

-frtti is not a CC1 option. We just need to check -fno-rtti.


  Commit: 18fd6df885da35f6b6e65a373d70297ac8db303b
      https://github.com/llvm/llvm-project/commit/18fd6df885da35f6b6e65a373d70297ac8db303b
  Author: Nishant Mittal <nishantwrp at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/smoke/NextAfterTest.h

  Log Message:
  -----------
  [libc][math] Add unit tests for raising excepts in nextafter (#73556)

Follow up to
https://github.com/llvm/llvm-project/pull/72763#discussion_r1398277962.

### Summary
- Add unit tests for raising excepts in `nextafter`. 
- Fixed a bug in testing code for `nexttoward`.  

cc: @lntue


  Commit: 1b1f3c20b5081b97dace604c64bc8034f39acdfc
      https://github.com/llvm/llvm-project/commit/1b1f3c20b5081b97dace604c64bc8034f39acdfc
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp

  Log Message:
  -----------
  [X86][CodeGen] Remove duplicated code for the table checks, NFCI


  Commit: 3247f1e7a281184ac0db4fc6df35232e8f1a4f12
      https://github.com/llvm/llvm-project/commit/3247f1e7a281184ac0db4fc6df35232e8f1a4f12
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Conversion/FuncToSPIRV/func-ops-to-spirv.mlir
    M mlir/test/Dialect/Affine/invalid.mlir
    M mlir/test/Dialect/Affine/load-store-invalid.mlir

  Log Message:
  -----------
  [mlir][affine] Fix dim index out of bounds crash (#73266)

This PR suggests a way to fix
https://github.com/llvm/llvm-project/issues/70418. It now throws an
error if the `index` operand for `memref.dim` is out of bounds. Catching
it in the verifier was not possible because the constant value is not
yet available at that point. Unfortunately, the error is not very
descriptive since it was only possible to propagate boolean up.


  Commit: 9166d5318d728f545bfe791175f21c512b352c0e
      https://github.com/llvm/llvm-project/commit/9166d5318d728f545bfe791175f21c512b352c0e
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

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

  Log Message:
  -----------
  Reland "[Bazel] Fix llvm-exegesis build post 12b0ab2"

This reverts commit 934efd2c9b9461bf79599cac3f57fc35cff978f7.

This relands commit 1449b349ac4072adb1f593234c1d6f67986d3b6a.

This build system fix was reverted as the underlying patch that required
the fix got reverted due to test failures on Darwin. The test failures
have since been fixed and the patch has relanded, so we need support in
Bazel again.


  Commit: 1d50560335e908a71787c13da450366733296db5
      https://github.com/llvm/llvm-project/commit/1d50560335e908a71787c13da450366733296db5
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  Revert "[Bazel] Fixes for c43c88501e3bc273a7c1074a19e86dc305ad7234"

This reverts commit aaae104e282505add432ccc76a4adb674087190f.


  Commit: 4cf4c5201830c5854ee34acd868576083204011d
      https://github.com/llvm/llvm-project/commit/4cf4c5201830c5854ee34acd868576083204011d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  Reland "[gn] port 92b821f2dcdd"

This reverts commit 344b5346a0e899d59ff52f60421788eef4e2c864.
92b821f2dcdd relanded in 04072485204c7.


  Commit: aefca74d44667749e6f513fbe1908de1429e9226
      https://github.com/llvm/llvm-project/commit/aefca74d44667749e6f513fbe1908de1429e9226
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [DomTree] Store ReverseChildren as indices (NFC) (#73505)

Store the ReverseChildren using node indices instead of node pointers.
This avoids some more hash table lookups.

I've also increased the size of the SmallVector from 2 to 4. As the
indices are half as large as the pointers (on 64bit) this keeps memory
usage the same as before. I've found the larger SmallVector to perform a
bit better.


  Commit: d01237c45b7cdbf83d1249dd019178b2cafbb63c
      https://github.com/llvm/llvm-project/commit/d01237c45b7cdbf83d1249dd019178b2cafbb63c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll

  Log Message:
  -----------
  [InstCombine] Make indexed compare fold GEP source type independent (#71663)

The indexed compare fold converts comparisons of GEPs with same
(indirect) base into comparisons of offset. Currently, it only supports
GEPs with the same source element type.

This change makes the transform operate on offsets instead, which
removes the type dependence. To keep closer to the scope of the original
implementation, this keeps the limitation that we should only have at
most one variable index per GEP.

This addresses the main regression from
https://github.com/llvm/llvm-project/pull/68882.

TBH I have some doubts that this is really a useful transform (at least
for the case where there are extra pointer users, so we have to
rematerialize pointers at some point). I can only assume it exists for a
reason...


  Commit: 82d22a1bb407ffe08dc9a272c1d5c627b4609587
      https://github.com/llvm/llvm-project/commit/82d22a1bb407ffe08dc9a272c1d5c627b4609587
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll

  Log Message:
  -----------
  [AMDGPU] Fixed folding of inline imm into dot w/o opsel (#73589)

A splat packed constant can be folded as an inline immediate but it
shall use opsel. On gfx940 this code path can be skipped due to HW bug
workaround and then it may be folded w/o opsel which is a bug. Fixed.


  Commit: 61e58c4dc1001597c48d59a37884a534ab37b47b
      https://github.com/llvm/llvm-project/commit/61e58c4dc1001597c48d59a37884a534ab37b47b
  Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A llvm/include/llvm/CodeGen/DwarfEHPrepare.h
    M llvm/lib/CodeGen/DwarfEHPrepare.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/CodeGen/X86/dwarf-eh-prepare-dbg.ll
    M llvm/test/CodeGen/X86/dwarf-eh-prepare.ll
    M llvm/test/CodeGen/X86/dwarf_eh_resume.ll

  Log Message:
  -----------
  [CodeGen] Port DwarfEHPrepare to new pass manager (#72500)

Co-authored-by: PaperChalice <example at example.com>


  Commit: b7ccaf0bf6b5efcab8390a6b3ca93314c4e3bbec
      https://github.com/llvm/llvm-project/commit/b7ccaf0bf6b5efcab8390a6b3ca93314c4e3bbec
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [mlir][Python] Add filegroup for files in mlir/extras.

This is needed after 225648e91ccd951eab9a4ab3200248d5617df1cc


  Commit: b31cd07de5b7dfb435b062c80d85083e14f28321
      https://github.com/llvm/llvm-project/commit/b31cd07de5b7dfb435b062c80d85083e14f28321
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/OpenMP/bug57757.cpp

  Log Message:
  -----------
  [Clang] Regenerate test checks (NFC)

The UTC output has changes slightly, regenerate tests to minimize
future diff.


  Commit: 1459c627f0bc1a4938b5b6a7f4c2bdc1f3ec6a2c
      https://github.com/llvm/llvm-project/commit/1459c627f0bc1a4938b5b6a7f4c2bdc1f3ec6a2c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp

  Log Message:
  -----------
  [lldb][PDB] Fix message order in test case

Launch/stopped ordering was fixed by bd8f1068cad06b0f0342ac7ef351bf01c2e27322
but the Windows on Arm bot wasn't running at the time it landed.


  Commit: b0af8a1ede89e87f737f2a31b6a2e2491e38ac04
      https://github.com/llvm/llvm-project/commit/b0af8a1ede89e87f737f2a31b6a2e2491e38ac04
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Breakpoint/BreakpointSite.h
    A lldb/include/lldb/Breakpoint/BreakpointSiteList.h
    R lldb/include/lldb/Breakpoint/StopPointSiteList.h
    M lldb/include/lldb/Breakpoint/Watchpoint.h
    R lldb/include/lldb/Breakpoint/WatchpointResource.h
    R lldb/include/lldb/Breakpoint/WatchpointResourceList.h
    M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBWatchpoint.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/BreakpointSite.cpp
    A lldb/source/Breakpoint/BreakpointSiteList.cpp
    M lldb/source/Breakpoint/CMakeLists.txt
    R lldb/source/Breakpoint/StopPointSiteList.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    R lldb/source/Breakpoint/WatchpointResource.cpp
    R lldb/source/Breakpoint/WatchpointResourceList.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanCallFunction.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/Target/ThreadPlanStepRange.cpp
    M lldb/source/Target/ThreadPlanStepUntil.cpp
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
    M lldb/test/Shell/Watchpoint/Inputs/val.c
    M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
    M lldb/test/Shell/Watchpoint/SetErrorCases.test

  Log Message:
  -----------
  Revert "[lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)"

...and follow ups.

As it has caused test failures on Linux Arm and AArch64:
https://lab.llvm.org/buildbot/#/builders/96/builds/49126
https://lab.llvm.org/buildbot/#/builders/17/builds/45824

```
  lldb-shell :: Subprocess/clone-follow-child-wp.test
  lldb-shell :: Subprocess/fork-follow-child-wp.test
  lldb-shell :: Subprocess/vfork-follow-child-wp.test
```

This reverts commit a6c62bf1a4717accc852463b664cd1012237d334,
commit a0a1ff3ab40e347589b4e27d8fd350c600526735 and commit
fc6b72523f3d73b921690a713e97a433c96066c6.


  Commit: 06157a6d865e1f65362144aa9c3f44f34f241267
      https://github.com/llvm/llvm-project/commit/06157a6d865e1f65362144aa9c3f44f34f241267
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b0af8a1ede89


  Commit: 4a3d2088d61e994dd1aa4e66cdecd15f28d2f397
      https://github.com/llvm/llvm-project/commit/4a3d2088d61e994dd1aa4e66cdecd15f28d2f397
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
    A mlir/test/Dialect/Linalg/transpose-conv2d.mlir

  Log Message:
  -----------
  [mlir][linalg] Add TransposeConv2D Transform Op (#68567)

* Add a LinAlg pass to convert 2D convolutions and quantized 2D
convolutions that have the `FHWC` filter channel ordering into a
transpose followed by 2D convolutions that have the `HWCF` channel
ordering.

* Add a lit test to check the semantics of the transformation are
correct for both quantized and unquantized variants.

Signed-off-by: Jack Frankland <jack.frankland at arm.com>


  Commit: 08a6968127f04a40d767bf3fe296bc36667c89eb
      https://github.com/llvm/llvm-project/commit/08a6968127f04a40d767bf3fe296bc36667c89eb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll.expected
    M llvm/utils/UpdateTestChecks/asm.py

  Log Message:
  -----------
  [UTC] Support arm64-apple-macosx in update_llc_test_checks.py. (#73568)

arm64-apple-macosx is the default triple (usually with the macOS version
number) on arm64 macOS. Support it in update_llc_test_checks.py.


  Commit: eba50929b863c6270fce6b24538dd871aa1f2fd6
      https://github.com/llvm/llvm-project/commit/eba50929b863c6270fce6b24538dd871aa1f2fd6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/pr57340.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll

  Log Message:
  -----------
  [X86] X86DAGToDAGISel - fix typo in #73126

We were casting the LoadSDNode from the wrong node in the base pointer uses list, meaning the ptr/chain comparison were comparing against themselves.


  Commit: dd0973be58b8a8d94d63762941f741f2b93aec28
      https://github.com/llvm/llvm-project/commit/dd0973be58b8a8d94d63762941f741f2b93aec28
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
    A llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
    A llvm/utils/TableGen/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/GlobalISel/CombinerUtils.h
    A llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
    A llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
    A llvm/utils/TableGen/GlobalISel/Patterns.cpp
    A llvm/utils/TableGen/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [TableGen] Split GlobalISelCombinerEmitter into multiple files (#73325)

Split MatchDataInfo, CXXPredicates and the Pattern hierarchy into their
own files.

This should help with maintenance a bit, and make the API easier to
navigate.
I hope this encourages a bit more experimentation with MIR patterns,
e.g. I'd like to try getting them in ISel at some point.

Currently, this is pretty much only moving code around. There is no
significant refactoring in there.
I want to split the Combiner backend even more at some point though,
e.g. by separating the TableGen parsing logic into yet another file so
other backends could very easily parse patterns themselves.

Note: I moved the responsibility of managing string lifetimes into the
backend instead of the Pattern class.
e.g. Before you'd do `P.addOperand(Name)` but now it's
`P.addOperand(insertStrRef(Name))`.
I verified this was done correctly by running the tests with UBSan/ASan.


  Commit: a05c23fdcf45c39e31931a68f2352a7eff5333a4
      https://github.com/llvm/llvm-project/commit/a05c23fdcf45c39e31931a68f2352a7eff5333a4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [gn build] Port dd0973be58b8


  Commit: facead618b830b682ea6b12148a0e02f2bc4fd54
      https://github.com/llvm/llvm-project/commit/facead618b830b682ea6b12148a0e02f2bc4fd54
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-volatile.ll

  Log Message:
  -----------
  [AMDGPU] PromoteAlloca - bail always if load/store is volatile (#73228)

This change is addressing case where alloca size is the same as
load/store size.


  Commit: 4142a64ae3ca4856e6a5ffae9e40014ef5cf9db5
      https://github.com/llvm/llvm-project/commit/4142a64ae3ca4856e6a5ffae9e40014ef5cf9db5
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [Clang] Fix compilation with GCC 7.5

Fixes #73628


  Commit: c66c15a76dc7b021c29479a54aa1785928e9d1bf
      https://github.com/llvm/llvm-project/commit/c66c15a76dc7b021c29479a54aa1785928e9d1bf
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [X86] Rename some variables for memory fold and format code, NFCI

1. Rename the names of tables to simplify the print
2. Align the abbreviation in the same file Instr -> Inst
3. Clang-format
4. Capitalize the first char of the variable name


  Commit: 439b16e2b369a0e3d482597b2c6597ce187e65f9
      https://github.com/llvm/llvm-project/commit/439b16e2b369a0e3d482597b2c6597ce187e65f9
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/test/API/lang/cpp/alignas_base_class/TestAlignAsBaseClass.py
    M lldb/test/API/lang/cpp/alignas_base_class/main.cpp

  Log Message:
  -----------
  [LLDB] Respect the DW_AT_alignment attribute. (#73307)

Part of fixes for #72913.

clang emits `DW_AT_alignment` attribute, however LLDB didn't respect it,
resulting in incorrect RecordDecls built by lldb.

This only fixes non-inheritance cases. The inheritance case will be
handled in a follow-up patch.


  Commit: 2a8040e8f6639b5bf35b65c7e881de4b4ca8742f
      https://github.com/llvm/llvm-project/commit/2a8040e8f6639b5bf35b65c7e881de4b4ca8742f
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Avoid looking up base opcode when converting vmerge -> vmv. NFC

This helps avoid a diff in #71764


  Commit: ea640472a2f1b851a5edf653c5257767d7fedd70
      https://github.com/llvm/llvm-project/commit/ea640472a2f1b851a5edf653c5257767d7fedd70
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)"

This appears to have caused a variety of breakages, see comments on the PR.

> Summary:
> There are a few default options that LLVM adds that can be problematic
> for runtimes builds. These options are generally intended to handle
> building LLVM itself, but are also added when building in a runtimes
> mode. One such issue I've run into is that in `libc` we deliberately use
> `--target` to use a different device toolchain, which doesn't support
> some linker arguments passed via `-Wl`. This is observed in
> https://github.com/llvm/llvm-project/pull/73030 when attempting to use
> these options.
>
> This patch completely removes these default arguments.
>
> The consensus is that any issues created by this patch should ultimately
> be solved on a per-runtime basis.

This reverts commit ee922e6ebfb6aab722f6b0f7cfc0c20af636a250.


  Commit: d20cc3ef4cc37d93b9db30218d85888b8e947e34
      https://github.com/llvm/llvm-project/commit/d20cc3ef4cc37d93b9db30218d85888b8e947e34
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Order includes. NFC

Silences a clang-format warning


  Commit: bafa51c8a50a68a26455ee86d97e28d7e0624eb7
      https://github.com/llvm/llvm-project/commit/bafa51c8a50a68a26455ee86d97e28d7e0624eb7
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/lib/Target/X86/X86InstrFoldTables.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [X86] Rename X86MemoryFoldTableEntry to X86FoldTableEntry, NFCI

b/c it's used for element that folds a load, store or broadcast.


  Commit: 17041276d4c0a988da48361eb25b3271bcca8602
      https://github.com/llvm/llvm-project/commit/17041276d4c0a988da48361eb25b3271bcca8602
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [ValueTracking] Remove unused computeKnownBits() overload (NFC)

If you need this, use one of the variants returning KnownBits
instead.


  Commit: 3e6207a775dfed9a8b54e4afbbffb9d6cdabf3ef
      https://github.com/llvm/llvm-project/commit/3e6207a775dfed9a8b54e4afbbffb9d6cdabf3ef
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [InstCombine] Use SimplifyQuery for computeKnownBits() (NFC)

Call computeKnownBits() with SimplifyQuery to make sure it gets
all available analyses, even if more are added in the future.

As this code is performance-critical, I'm exporting the variant
with by-ref KnownBits and SimplifyQuery, as the variant returning
KnownBits is measurably slower in this context.


  Commit: ab7110bcd6b137803935508de8c9f6af377f9454
      https://github.com/llvm/llvm-project/commit/ab7110bcd6b137803935508de8c9f6af377f9454
  Author: David Green <david.green at arm.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedA510.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-fptrunc-store.ll
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
    M llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
    M llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-vscale-attr.ll
    M llvm/test/CodeGen/AArch64/sve2-fixed-length-fcopysign.ll

  Log Message:
  -----------
  [AArch64][SVE] Remove pseudo from LD1_IMM (#73631)

The LD1 immediate offset instructions have both a pseudo and a real
instruction, mostly as the instructions shares a tablegen class with the
FFR version of the instructions. As far as I can tell the pseudo for the
non-ffr versions does not serve any useful purpose though, and we can
rejig the the classes to only define the pseudo for FFR instructions
similar to the existing sve_mem_cld_ss instructions.

The end result of this is that we don't have a SideEffects flag on the
LD1_IMM instructions whilst scheduling them, and have a few less pseudo
instructions which is usually a good thing.


  Commit: 95a47bca5ed87bab975d9e5c841e346feee59be6
      https://github.com/llvm/llvm-project/commit/95a47bca5ed87bab975d9e5c841e346feee59be6
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Support `fputs` in the StreamChecker (#73335)


  Commit: 205f53010d0da11a9c4ab7a4655edb4a2ded1b02
      https://github.com/llvm/llvm-project/commit/205f53010d0da11a9c4ab7a4655edb4a2ded1b02
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/dr27xx.cpp

  Log Message:
  -----------
  [Clang] CWG2789 Overload resolution with implicit and explicit object… (#73493)

… member functions

Implement the resolution to CWG2789 from
https://wiki.edg.com/pub/Wg21kona2023/StrawPolls/p3046r0.html

The DR page is not updated because the issue has not made it to a
published list yet.


  Commit: 6b89fab8978f2b075cecc98b3d37769b24019034
      https://github.com/llvm/llvm-project/commit/6b89fab8978f2b075cecc98b3d37769b24019034
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    A clang/test/ExtractAPI/objc_block.m
    M clang/test/ExtractAPI/objc_category.m
    M clang/test/ExtractAPI/objc_id_protocol.m
    M clang/test/ExtractAPI/objc_interface.m
    M clang/test/ExtractAPI/objc_property.m

  Log Message:
  -----------
  [clang][ExtractAPI] Add support for blocks in declaration fragments (#73369)

Ensure that block types get represented correctly in declaration
fragments, as block parameter names are important for documentation
clients we need a separate system from getFragmentsForType in order to
have access to full ParmVarDecls for the parameters.

rdar://118257401


  Commit: d6f00654fbc686f5413f9c8d1bac2c4050fdf350
      https://github.com/llvm/llvm-project/commit/d6f00654fbc686f5413f9c8d1bac2c4050fdf350
  Author: Alex <1132174766 at qq.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/test/ompt/tasks/explicit_task_thread_num.c

  Log Message:
  -----------
  [OpenMP][Runtime][test] Fix ompt task testcase fail randomly (#72337)

Fixed #72231


  Commit: 2c729d29aa1390253508c19b4d83dbedb233098d
      https://github.com/llvm/llvm-project/commit/2c729d29aa1390253508c19b4d83dbedb233098d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [AssumptionCache] Remove unnecessary bitcast/not handling

We only handle not for the top level value of the condition, so
move it there instead of trying to look through not at all leafs.
Also remove bitcast handling entirely -- we don't do anything
special wrt bitcasts, this is probably a leftover from pointer
types.


  Commit: ced0f28a35b8a14759e6bd9418e8c8a7c35775c8
      https://github.com/llvm/llvm-project/commit/ced0f28a35b8a14759e6bd9418e8c8a7c35775c8
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py

  Log Message:
  -----------
  Improve clang-format-diff help output (#73491)

It is quite common to symlink clang-format-diff.py to clang-format-diff,
and in that case the help output still refers to the .py version.
Compute it instead to work in both setup.


  Commit: 3c0f87147d0e5904ab469381329f4661cf17a024
      https://github.com/llvm/llvm-project/commit/3c0f87147d0e5904ab469381329f4661cf17a024
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [X86][fold-table] Add an assertion in addEntryWithFlags, NFCI


  Commit: 1116e4f5dc2ba070dd655ec55231a5b21d33573f
      https://github.com/llvm/llvm-project/commit/1116e4f5dc2ba070dd655ec55231a5b21d33573f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [ValueTracking] Rename computeKnownBitsFrom{Assume -> Context} (NFC)

In preparation for handling non-assume context-sensitive facts.


  Commit: b5d132010dd460453203ed03e223283ba63383c3
      https://github.com/llvm/llvm-project/commit/b5d132010dd460453203ed03e223283ba63383c3
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/vector-stores.ll

  Log Message:
  -----------
  [NFC][NVPTX] Add a simpler test case for 0b80288e9e0b (#73379)

While 0b80288e9e0b allowed more efficient lowering for 16xi8 loads, its
test case was closer to an "integration" one. Add a much simpler unit
test case that exercises it.


  Commit: 01091fd101ee78fb8068a2b916ae007a4873d66a
      https://github.com/llvm/llvm-project/commit/01091fd101ee78fb8068a2b916ae007a4873d66a
  Author: Zhikai Zeng <44666321+Backl1ght at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [clang] fix typo (#73644)


  Commit: 0d408317650930d550e6bc88cdf9ff3d03557495
      https://github.com/llvm/llvm-project/commit/0d408317650930d550e6bc88cdf9ff3d03557495
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
    M llvm/test/CodeGen/AMDGPU/fma.f16.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll

  Log Message:
  -----------
  [AMDGPU] Allow folding to FMAAK with SGPR and immediate operand on GFX10+ (#72266)

Allow foldImmediate to create instructions like:

  v_fmaak_f32 v0, s0, v0, 0x42000000

This instruction has two "scalar values": s0 and 0x42000000. On GFX10+
this is allowed. This fold was originally implemented before the
compiler supported GFX10, when all ASICs were limited to one scalar
value.


  Commit: 82a5708c7a4809ca9095499b2bc70caf244bee4e
      https://github.com/llvm/llvm-project/commit/82a5708c7a4809ca9095499b2bc70caf244bee4e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Document that PAL uses Elf64_Rel relocation records (#73648)


  Commit: ced5c1c715b2ade886a5501fa0ef728a3e1ce830
      https://github.com/llvm/llvm-project/commit/ced5c1c715b2ade886a5501fa0ef728a3e1ce830
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  AMDGPU: Remove let Predicates from PredicateControl'd InstAliases (#73474)

This was overriding the Predicate list computed by PredicateControl.
There are other places that seem to also be setting confusing overrides
of computed predicate lists.


  Commit: 0237f1b998fab69ce365f0ebc79f0ecfa4294744
      https://github.com/llvm/llvm-project/commit/0237f1b998fab69ce365f0ebc79f0ecfa4294744
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/PragmaKinds.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Sema/SemaAttr.cpp
    A clang/test/CodeGen/fp-reciprocal-pragma.cpp
    M clang/test/Parser/pragma-fp-contract.c
    M clang/test/Parser/pragma-fp.cpp
    M clang/test/Sema/eval-method-with-unsafe-math.c

  Log Message:
  -----------
  clang: Add pragma clang fp reciprocal (#68267)

Just follow along with the reassociate pragma. This allows locally
setting the arcp fast math flag. Previously you could only access this
through the global -freciprocal-math.

Fixes #64798


  Commit: a86bce6577bbbc12fb31bae2edf715178f9b493d
      https://github.com/llvm/llvm-project/commit/a86bce6577bbbc12fb31bae2edf715178f9b493d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopUnroll/peel-loop.ll

  Log Message:
  -----------
  [LoopPeel] Regenerate test checks (NFC)


  Commit: 1237e313ef0015dcdc06c820737a134fb7991fd5
      https://github.com/llvm/llvm-project/commit/1237e313ef0015dcdc06c820737a134fb7991fd5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
    M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll

  Log Message:
  -----------
  [InstCombine] Regenerate test checks (NFC)


  Commit: f0faff8b9bb66be700a0e6881aa9c2baf06e6cbd
      https://github.com/llvm/llvm-project/commit/f0faff8b9bb66be700a0e6881aa9c2baf06e6cbd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll

  Log Message:
  -----------
  [LoopVectorize] Regenerate test checks (NFC)


  Commit: a90e215dfbc99803b30904c521ac375ebe0ea271
      https://github.com/llvm/llvm-project/commit/a90e215dfbc99803b30904c521ac375ebe0ea271
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Regenerate test checks (NFC)


  Commit: af4d8d5af670d41d31fd5d508daf15a5d29d01ff
      https://github.com/llvm/llvm-project/commit/af4d8d5af670d41d31fd5d508daf15a5d29d01ff
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/test/perf2bolt/Inputs/perf_test.c

  Log Message:
  -----------
  [BOLT][test] Update perf2bolt/perf_test.test (#73482)


  Commit: 104b7c624ed54865ea2caf5180ccc8824bddec4b
      https://github.com/llvm/llvm-project/commit/104b7c624ed54865ea2caf5180ccc8824bddec4b
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
    M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll

  Log Message:
  -----------
  [LV] Add support for uniform parameters on vectorized function variants (#72891)

Parameters marked as uniform take a scalar value, assuming the value is
invariant in the scalar loop.


  Commit: eb1d5065c560b3468fa0d34af3103359cd78c088
      https://github.com/llvm/llvm-project/commit/eb1d5065c560b3468fa0d34af3103359cd78c088
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir

  Log Message:
  -----------
  [MLIR][Vector] Refactor tests for contract -> OP transforms (2/N) (#73445)

This is a direct follow-up of #73348. The matvec trait that's used for
`@matvec_m_mk_k` was incorrectly updated from:

```
#redpar_vecmattrans_accesses = [
  affine_map<(m, k) -> (m)>,
  affine_map<(m, k) -> (m, k)>,
  affine_map<(m, k) -> (k)>
]
  indexing_maps = #redpar_vecmattrans_accesses,
  iterator_types = ["reduction", "parallel"]
}
```

to:

```
#matvec_accesses_4 = [
  affine_map<(m, k) -> (k)>,
  affine_map<(m, k) -> (k, m)>,
  affine_map<(m, k) -> (m)>
]
  indexing_maps = #matvec_accesses_4,
  iterator_types = ["parallel", "reduction"]
}
```

Note that these traits describe identical matvec operation, hence the
`CHECK` lines are identical for both.

Also, `#redpar_vecmattrans_trait` is identical to `#matvec_trait_8`
that's already present in:

   * "vector-contract-to-outerproduct-matvec-transforms.mlir"

For this reason:
* `@matvec_m_mk_k` is moved near other tests that already use
`#matvec_trait_8`,
  * `#redpar_vecmattrans_trait` is replaced `#matvec_trait_8`.

This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect. I am refactoring these tests so that it's
easier to identify what cases are tested and where to add tests for
scalable vectors.

Implements #72834.


  Commit: 4d29bdabab5cc953e21603f7f8c127a7f7540ed0
      https://github.com/llvm/llvm-project/commit/4d29bdabab5cc953e21603f7f8c127a7f7540ed0
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/tools/llvm-readtapi/command-line.test
    M llvm/test/tools/llvm-readtapi/extract-invalid.test
    M llvm/test/tools/llvm-readtapi/merge-invalid.test
    M llvm/test/tools/llvm-readtapi/remove.test

  Log Message:
  -----------
  [readtapi][tests] add descriptions to tests (#73576)


  Commit: 45139ab6cadcdf3d9a31fc5f04425ce87efeb9d3
      https://github.com/llvm/llvm-project/commit/45139ab6cadcdf3d9a31fc5f04425ce87efeb9d3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Improve aliasing support in SLP, NFC.

No need to store optional boolean in the map, enough to store boolean
directly. Also, we can do preliminary check for instruction and if they
are not simple, mark as aliased without storing this result in the map.


  Commit: a3ae7b660acfac3a812fe366b9210a24bd383963
      https://github.com/llvm/llvm-project/commit/a3ae7b660acfac3a812fe366b9210a24bd383963
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Minor style cleanup to cf17a24 [nfc]

This was suggested in another related review, so backporting it to the
existing code as well.


  Commit: 0424546ed4a7570837626922edc66530cd3c3ab7
      https://github.com/llvm/llvm-project/commit/0424546ed4a7570837626922edc66530cd3c3ab7
  Author: DonatNagyE <donat.nagy at ericsson.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/memory-model.cpp
    M clang/test/Analysis/out-of-bounds-diagnostics.c

  Log Message:
  -----------
  [analyzer] Use AllocaRegion in MallocChecker (#72402)

...to model the results of alloca() and _alloca() calls. Previously it
acted as if these functions were returning memory from the heap, which
led to alpha.security.ArrayBoundV2 producing incorrect messages.


  Commit: b6eb740cae13b26ddc8762277f2eb6e552320fc3
      https://github.com/llvm/llvm-project/commit/b6eb740cae13b26ddc8762277f2eb6e552320fc3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Improve/fix auto declarations, NFC.


  Commit: f3a9dbe7fcabb10d81a56d3757fb1b32fa37972e
      https://github.com/llvm/llvm-project/commit/f3a9dbe7fcabb10d81a56d3757fb1b32fa37972e
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll

  Log Message:
  -----------
  [RISCV] Split build_vector into vreg sized pieces when exact VLEN is known (#73606)

If we have a high LMUL build_vector and a known exact VLEN, we can
decompose the build_vector into one build_vector per register in the
register group. Doing so requires exact knowledge of which elements
correspond to each register in the register group, and thus an exact
VLEN must be known.

Since we no longer have operations which are linear (or worse) in LMUL,
this also allows us to lower all build_vectors without resorting to
going through the stack.


  Commit: 7f3ee3ca1d09daf0f7d350ed9d62796640a59bf4
      https://github.com/llvm/llvm-project/commit/7f3ee3ca1d09daf0f7d350ed9d62796640a59bf4
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
    M clang/test/CodeGenCXX/debug-info-static-member.cpp

  Log Message:
  -----------
  [clang][DebugInfo] Revert to attaching DW_AT_const_value on static member declarations (#73626)

In https://github.com/llvm/llvm-project/pull/71780 we started emitting
definitions for all static data-members with constant initialisers, even
if they were constants (i.e., didn't have a location). We also dropped
the DW_AT_const_value from the declaration to [help resolve
inconsistencies during type merging in the
DWARFParallelLinker](https://github.com/llvm/llvm-project/pull/68721).
However, for static data members that do have locations, we wouldn't
emit a DW_AT_const_value on it, assuming that the consumer knows how to
read the value using the location. This broke some consumers that really
wanted to find a DW_AT_const_value. Ultimately we want to attach a
DW_AT_const_value to definitions that have a location too. But to fix
consumers broken by said change, this patch adds the constant back onto
the declaration. This is what we used to do prior to
https://github.com/llvm/llvm-project/pull/71780


  Commit: 2bdf6231dadc59d9be3ad32b787120f473b6ca9e
      https://github.com/llvm/llvm-project/commit/2bdf6231dadc59d9be3ad32b787120f473b6ca9e
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Split out error test for invalid edge in applyFixup()

Also rename the fixture class since these tests are not ELF-specific.


  Commit: b3bc8d75ff3c9d44d0f547fb949e73e6b8b65fef
      https://github.com/llvm/llvm-project/commit/b3bc8d75ff3c9d44d0f547fb949e73e6b8b65fef
  Author: Lucas Duarte Prates <lucas.prates at arm.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    A llvm/test/MC/AArch64/armv9.5a-spmu2-error.s
    A llvm/test/MC/AArch64/armv9.5a-spmu2.s
    A llvm/test/MC/AArch64/armv9.5a-step2.s
    M llvm/test/MC/AArch64/basic-a64-diagnostics.s
    M llvm/test/MC/AArch64/basic-a64-instructions.s
    A llvm/test/MC/Disassembler/AArch64/armv9.5a-spmu2.txt
    A llvm/test/MC/Disassembler/AArch64/armv9.5a-step2.txt
    M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt

  Log Message:
  -----------
  [AArch64] Assembly support for Armv9.5-A Debug/PMU Extensions (#73537)

This implements assembly support for the Debug/PMU extensions introduced
as part of the Armv9.5-A architecture version.
The changes include:
* New ID_AA64DFR2_EL1 ID system register
* New MDSTEPOP_EL1 and SPMZR_EL0 system registers

Mode details about these extensions can be found at:
* https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2023
* https://developer.arm.com/documentation/ddi0602/2023-09/

Co-authored-by: Oliver Stannard <oliver.stannard at arm.com>


  Commit: 3e5acc78f78a75ec76ef6ddc36e08d3d124fb099
      https://github.com/llvm/llvm-project/commit/3e5acc78f78a75ec76ef6ddc36e08d3d124fb099
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll

  Log Message:
  -----------
  [RISCV] Precommit test coverage for insert_vector_elt with exact VLEN


  Commit: f4c5c470cdd6962550cfbdd41318b3a63a9d3747
      https://github.com/llvm/llvm-project/commit/f4c5c470cdd6962550cfbdd41318b3a63a9d3747
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/test/Parser/acc-unparse.f90
    M flang/test/Semantics/OpenACC/acc-branch.f90

  Log Message:
  -----------
  [flang][openacc] Enforce no branching out of compute region for combined construct (#73581)

`A program may not branch into or out of a compute construct.` This
restriction is also true for combined constructs. This patch enforce
this rule.


  Commit: 202dda8e5c3fb45e6a96691a40a66cd5877a9a9b
      https://github.com/llvm/llvm-project/commit/202dda8e5c3fb45e6a96691a40a66cd5877a9a9b
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/utils/nfc-stat-parser.py

  Log Message:
  -----------
  [BOLT][utils] Bump default time threshold to 1s in nfc-stat-parser


  Commit: a1b3b78c55be7e95042e22d83a7f183ae6cc865a
      https://github.com/llvm/llvm-project/commit/a1b3b78c55be7e95042e22d83a7f183ae6cc865a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Clarify description of _HI relocation types (#73663)

Clarify how the addend is used in _HI relocation types like
R_AMDGPU_ABS32_HI based on the current behaviour of the Mesa and AMDPAL
ELF loaders.

This affects Mesa and AMDPAL because they use REL relocation records, so
the addend for these types is the 32-bit literal value from the
instruction being relocated. AMDHSA is not affected because it uses RELA
relocation records which have a 64-bit addend.


  Commit: 87d884b5c8ff3f477b54fcd5a7966df49f1f8111
      https://github.com/llvm/llvm-project/commit/87d884b5c8ff3f477b54fcd5a7966df49f1f8111
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll

  Log Message:
  -----------
  [AMDGPU] Fix folding of v2i16/v2f16 splat imms (#72709)

We can use inline constants with packed 16-bit operands, but these
should use op_sel. Currently splat of inlinable constants is considered
legal, which is not really true if we fail to fold it with op_sel and
drop the high half. It may be legal as a literal but not as inline
constant, but then usual literal checks must be performed.

This patch makes these splat literals illegal but adds additional logic
to the operand folding to keep current folds. This logic is somewhat
heavy though.

This has fixed constant bus violation in the fdot2 test.


  Commit: c72884225b46486493d903897f62591faaad4f81
      https://github.com/llvm/llvm-project/commit/c72884225b46486493d903897f62591faaad4f81
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Fix naming of variables/functions, NFC.


  Commit: 21361bb8605fd26a06312d80b9fb20a8b41c58ed
      https://github.com/llvm/llvm-project/commit/21361bb8605fd26a06312d80b9fb20a8b41c58ed
  Author: Juergen Ributzka <juergen at ributzka.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/lib/Frontend/ASTMerge.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp

  Log Message:
  -----------
  [clang] Remove unused argument. NFC. (#73594)


  Commit: 4667dd62eee3c5d70e47fd45cb8c45d2f1234bff
      https://github.com/llvm/llvm-project/commit/4667dd62eee3c5d70e47fd45cb8c45d2f1234bff
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    A openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
    A openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h
    R openmp/libomptarget/plugins-nextgen/common/elf_common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/elf_common/ELFSymbols.cpp
    R openmp/libomptarget/plugins-nextgen/common/elf_common/ELFSymbols.h
    R openmp/libomptarget/plugins-nextgen/common/elf_common/elf_common.cpp
    R openmp/libomptarget/plugins-nextgen/common/elf_common/elf_common.h
    M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP][NFC] Merge elf_common into PluginInterface (#73677)

The overhead of a library and 4 files seems high without benefit. This
simply tries to consolidate our structure.


  Commit: 50b9930cfaa145145c13a89ef59b67efc9a772de
      https://github.com/llvm/llvm-project/commit/50b9930cfaa145145c13a89ef59b67efc9a772de
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h

  Log Message:
  -----------
  [asan] Fix Windows i386 regression (#73650)

This change makes x64 enablement case explicit and
adds an else case for 32bit which fixes a regression
on Windows i386 asan builds introduced
by https://github.com/llvm/llvm-project/pull/66973.


  Commit: 6c62f7cbfb3a4dc12cee2f6c02191b83047321d9
      https://github.com/llvm/llvm-project/commit/6c62f7cbfb3a4dc12cee2f6c02191b83047321d9
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/MsgPackReader.h
    M llvm/lib/BinaryFormat/MsgPackDocument.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/test/tools/llvm-readobj/ELF/note-amd-invalid-v3.test
    M llvm/test/tools/llvm-readobj/ELF/note-amdgpu-invalid.s

  Log Message:
  -----------
  [MsgPack] Handle Expected<T> errors in document reader (#73183)

This was causing an assert on invalid in the modified test case.


  Commit: 43f783ff66d7ae5a8bf43cdab251750780de7934
      https://github.com/llvm/llvm-project/commit/43f783ff66d7ae5a8bf43cdab251750780de7934
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/docs/dev/api_test.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/implementation_standard.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/strings.rst

  Log Message:
  -----------
  [libc][docs] Update implementation docs (#73590)

Some of the files in the docs/ directory are from 2019 and haven't been
updated since. This patch updates implementation_standard.rst,
source_tree_layout.rst, and has some minor fixes for strings.rst. It
also marks the most severely out of date files with a warning. These
files will be updated in a later patch.


  Commit: 0783bf1cb3e47fc48813ee63f42d72b70d8cb792
      https://github.com/llvm/llvm-project/commit/0783bf1cb3e47fc48813ee63f42d72b70d8cb792
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/MemoryManager/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/MemoryManager/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
    A openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP][NFC] Merge MemoryManager into PluginInterface (#73678)

Similar to #73677, there is no benefit from keeping MemoryManager
seperate; it's tied into the current design. Except the move I also
replaced the getenv call with our Env handling.


  Commit: efac016e32f3b7ded78650b0e40a9880a298bdbe
      https://github.com/llvm/llvm-project/commit/efac016e32f3b7ded78650b0e40a9880a298bdbe
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/test/std/time/time.cal/euclidian.h
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp

  Log Message:
  -----------
  [NFC][libc++] Refactors the time.cal tests. (#73356)

These tests use an old way to test code in constexpr context. This
changes the code to the idomatic libc++ method.

This is a preparation for #73162.

Side changes
- Updated formatting
- Made some helper functions constexpr
- Some naming improvements


  Commit: badec9b7bfb6fb27d8be42d1b71bea7a3cd37da6
      https://github.com/llvm/llvm-project/commit/badec9b7bfb6fb27d8be42d1b71bea7a3cd37da6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Fix loops variables names, NFC.


  Commit: 98e674c9f16d677d95c67bc130e267fae331e43c
      https://github.com/llvm/llvm-project/commit/98e674c9f16d677d95c67bc130e267fae331e43c
  Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Type.cpp
    M clang/test/SemaCXX/type-traits-incomplete.cpp
    A clang/test/SemaCXX/type-traits-nonobject.cpp

  Log Message:
  -----------
  [clang] Non-object types are non-trivially relocatable (#69734)

Both active C++ proposals (P1144 and P2786) agree that
`is_trivially_relocatable_v<int&>` and
`is_trivially_relocatable_v<int()>` should be false, not true. Only
complete object types can be trivially relocatable.

Fixes #67498


  Commit: c846f8ba104f18053ce666de7e2da0a82deb45cd
      https://github.com/llvm/llvm-project/commit/c846f8ba104f18053ce666de7e2da0a82deb45cd
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/source/Core/Progress.cpp

  Log Message:
  -----------
  [lldb][progress] Always report progress upon Progress object destruction (#73605)

This commit allows a final progress report upon the destruction of the
`Progress` object to happen at all times as opposed to when the progress
was not completed.


  Commit: 02cbae4fe0683c90ccd544d0be7fa82732a502e8
      https://github.com/llvm/llvm-project/commit/02cbae4fe0683c90ccd544d0be7fa82732a502e8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll

  Log Message:
  -----------
  [RISCV] Work on subreg for insert_vector_elt when vlen is known (#72666) (#73680)

If we have a constant index and a known vlen, then we can identify which
registers out of a register group is being accessed. Given this, we can
reuse the (slightly generalized) existing handling for working on
sub-register groups. This results in all constant index extracts with
known vlen becoming m1 operations.

One bit of weirdness to highlight and explain: the existing code uses
the VL from the original vector type, not the inner vector type. This is
correct because the inner register group must be smaller than the
original (possibly fixed length) vector type. Overall, this seems to a
reasonable codegen tradeoff as it biases us towards immediate AVLs,
which avoids needing the vsetvli form which clobbers a GPR for no real
purpose. The downside is that for large fixed length vectors, we end up
materializing an immediate in register for little value. We should
probably generalize this idea and try to optimize the large fixed length
vector case, but that can be done in separate work.


  Commit: a8ac930b99d93b2a539ada7e566993d148899144
      https://github.com/llvm/llvm-project/commit/a8ac930b99d93b2a539ada7e566993d148899144
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/code-object-version.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Lower/AMD/code-object-version.f90
    M llvm/include/llvm/Target/TargetOptions.h

  Log Message:
  -----------
  [Flang] Add code-object-version option (#72638)

Information about code object version can be configured by the user for
AMD GPU target and it needs to be placed in LLVM IR generated by Flang.

Information about code object version in MLIR generated by the parser
can be reused by other tools. There is no need to specify extra flags if
we want to invoke MLIR tools (like fir-opt) separately.


  Commit: 19fa27605ca63c0d60ffd532f41de004a57a455f
      https://github.com/llvm/llvm-project/commit/19fa27605ca63c0d60ffd532f41de004a57a455f
  Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M openmp/docs/design/Runtimes.rst

  Log Message:
  -----------
  [NFC][docs] Add AMDGPU documentation for `LIBOMPTARGET_STACK_SIZE`

Add documentation w.r.t. changes by #72606, which allows to set the dynamic
callstack size.


  Commit: f00ffcdb58d6db902a8f86b0ce83a03874d113ad
      https://github.com/llvm/llvm-project/commit/f00ffcdb58d6db902a8f86b0ce83a03874d113ad
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    R flang/test/Driver/code-object-version.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    R flang/test/Lower/AMD/code-object-version.f90
    M llvm/include/llvm/Target/TargetOptions.h

  Log Message:
  -----------
  Revert "[Flang] Add code-object-version option (#72638)"

This commit causes test errors on buildbots.

This reverts commit a8ac930b99d93b2a539ada7e566993d148899144.


  Commit: 447da954c7dc3175ef3e04da7b2c65cd75c16f92
      https://github.com/llvm/llvm-project/commit/447da954c7dc3175ef3e04da7b2c65cd75c16f92
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [SLP][NFC]Use DenseSet instead of SetVector, NFC.

For CSEBlocks we can safely use DenseSet, the order should not be
preserved for this container.


  Commit: e88a1ce0137bc14b754b86313228fdc48ba737f3
      https://github.com/llvm/llvm-project/commit/e88a1ce0137bc14b754b86313228fdc48ba737f3
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [ASan] Allow for passing AddressSanitizer command line options through the AddressSanitizerOptions struct. (#72439)

This patch adds the ability to pass values for the command line options
of -max-inline-poisoning-size, -instrumentation-with-calls-threshold and
-asan-guard-against-version-mismatch through the AddressSanitizerOptions
struct. The motivation is to use these new options when using the pass
in Swift.

rdar://118470958


  Commit: 3a6f02a6581b49b269710eea944dc114166403ed
      https://github.com/llvm/llvm-project/commit/3a6f02a6581b49b269710eea944dc114166403ed
  Author: Max191 <44243577+Max191 at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir] Add subbyte emulation support for `memref.store`. (#73174)

This adds a conversion for narrow type emulation of memref.store ops.
The conversion replaces the memref.store with two memref.atomic_rmw ops.
Atomics are used to prevent race conditions on same-byte accesses, in
the event that two threads are storing into the same byte.

Fixes https://github.com/openxla/iree/issues/15370


  Commit: 17feb330aab39c6c0c21ee9b02efb484dfb2261e
      https://github.com/llvm/llvm-project/commit/17feb330aab39c6c0c21ee9b02efb484dfb2261e
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    A flang/test/Driver/Inputs/no_duplicate_main.ll
    M flang/test/Driver/linker-flags.f90
    A flang/test/Driver/no_duplicate_main.f90

  Log Message:
  -----------
  [flang][Driver] Let the linker fail on multiple definitions of main() (#73124)

The flang driver was silently ignoring the `main()` function in
`Fortran_main.a` for entry into the Fortran program unit if an external
`main()` as supplied (e.g., via cross-language linkage with Fortran and
C/C++). This PR fixes this by making sure that the linker always pulls
in the `main()` definition from `Fortran_main.a` and consequently fails
due to multiple definitions of the same symbol if another object file
also has a definition of `main()`.


  Commit: 6989859254e8ce486d21d5a981c7fddf7964c7ad
      https://github.com/llvm/llvm-project/commit/6989859254e8ce486d21d5a981c7fddf7964c7ad
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [llvm][HWASan] Replace calls to Type::getPointerTo (NFC)

If `Type::getPointerTo` is called solely to support an unnecessary
pointer-cast, remove the call entirely.

Otherwise, replace with IRB.getPtrTy().

Clean-up work towards removing method `Type::getPointerTo`.


  Commit: 38e435895779c6f0e6c47a171f3b300ad99828b3
      https://github.com/llvm/llvm-project/commit/38e435895779c6f0e6c47a171f3b300ad99828b3
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  [X86] With large code model, put functions into .ltext with large section flag (#73037)

So that when mixing small and large text, large text stays out of the
way of the rest of the binary.

This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.


  Commit: e1f59ad9f6b4df592925e39462ba95bb299eca26
      https://github.com/llvm/llvm-project/commit/e1f59ad9f6b4df592925e39462ba95bb299eca26
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/string

  Log Message:
  -----------
  Mark some std::string functions noinline. (#72869)

The intent of these particular functions, since their introduction, was
to NOT be inlinable.

However, the mechanism by which this was accomplished was non-obvious,
and stopped working when string is compiled for C++20.

A longstanding behavior specified by the C++ standard is that
instantiation of the body of a template function is suppressed by an
extern template declaration -- unless the function is explicitly marked
either constexpr or inline. Of course, if the body is not instantiated,
then it cannot possibly be inlined, and thus all the functions listed in
libcxx/include/__string/extern_template_lists.h were uninlineable.

But, in C++20 mode, string functions were annotated constexpr, which
means they _are_ instantiated, and do become inlineable. And, in fact,
they do get inlined, which has caused noticeable binary-size growth for
users.

For example, in C++17,
`std::string f(std::string *in) { return *in; }`
does not inline the copy-constructor call, and instead generates a call
to the exported function defined in the libc++ shared library.

I think we probably don't want to mark all functions that are currently
in the extern template list as noinline, as many of them really are
reasonable inlining candidates. Thus, I've restricted this change to
only the few functions that were clearly intended to be outlined.

See commits like b019c5c0372eb08800327efb5e7955ce918b75d1 (and some
others like it) for background, in which functions were removed from the
extern template list in the unstable ABI in order to allow the
short-string case to be inlined, while moving the long-string case to a
separate function, added to the extern template list.


  Commit: ed27a4edb03809f0fe38f780765acfb97346c127
      https://github.com/llvm/llvm-project/commit/ed27a4edb03809f0fe38f780765acfb97346c127
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/docs/Status/PSTLPaper.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl_backend.h
    A libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap.in
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][PSTL] Implement std::equal (#72448)

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

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: d4626216943f8c4712bd17a709e439a0ffd0006b
      https://github.com/llvm/llvm-project/commit/d4626216943f8c4712bd17a709e439a0ffd0006b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/ParserHLSL/hlsl_groupshared.cpp
    A clang/test/ParserHLSL/hlsl_parameter_modifiers.cpp
    A clang/test/SemaHLSL/parameter_modifiers.hlsl
    A clang/test/SemaHLSL/parameter_modifiers_ast.hlsl

  Log Message:
  -----------
  [HLSL] Parameter modifier parsing and AST (#72139)

This change implements parsing for HLSL's parameter modifier keywords
`in`, `out` and `inout`. Because HLSL doesn't support references or
pointers, these keywords are used to allow parameters to be passed in
and out of functions.

This change only implements the parsing and AST support. In the HLSL
ASTs we represent `out` and `inout` parameters as references, and we
implement the semantics of by-value passing during IR generation.

In HLSL parameters marked `out` and `inout` are ambiguous in function
declarations, and `in`, `out` and `inout` may be ambiguous at call
sites.

This means a function may be defined as `fn(in T)` and `fn(inout T)` or
`fn(out T)`, but not `fn(inout T)` and `fn(out T)`. If a funciton `fn`
is declared with `in` and `inout` or `out` arguments, the call will be
ambiguous the same as a C++ call would be ambiguous given declarations
`fn(T)` and `fn(T&)`.

Fixes #59849


  Commit: ec76d3975c42cb4906fe6e2b555f720d097cc49f
      https://github.com/llvm/llvm-project/commit/ec76d3975c42cb4906fe6e2b555f720d097cc49f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ed27a4edb038


  Commit: 4d5079c4dc0ce30ba36315a7c822255cd1eeb9fb
      https://github.com/llvm/llvm-project/commit/4d5079c4dc0ce30ba36315a7c822255cd1eeb9fb
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/demangle/ItaniumNodes.def
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/ItaniumNodes.def

  Log Message:
  -----------
  [libcxxabi][ItaniumDemangle] Demangle explicitly named object parameters (#72881)

The mangling for an explicitly named object was introduced in
https://reviews.llvm.org/D140828

See following discussion for why a new mangling had to be introduced:
https://github.com/itanium-cxx-abi/cxx-abi/issues/148

Since clang started emitting names with the new mangling, this patch
implements support for demangling such names.

The approach this patch takes is to add a new `ExplicitObjectParameter`
node that will print the first parameter of a function declaration with
a `this ` prefix, to reflect what was spelled out in source.

Example:
```
void MyClass::func(this MyClass const& self); // _ZNH7MyClass4funcERKS_
```
With this patch, the above demangles to:
```
_ZNH7MyClass4funcERKS_ -> MyClass::func(this MyClass const&)
```

Note that `func` is not marked as `const &`, since the
function-qualifiers are now encoded as part of the explicit `this`. C++
doesn't allow specifying the function-qualifiers in the presence of an
explicit object parameter, so this demangling is consistent with the
source spelling.


  Commit: ce731770f869e8e61afa2dccb772e8367105a1a6
      https://github.com/llvm/llvm-project/commit/ce731770f869e8e61afa2dccb772e8367105a1a6
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Fix clang Attribute doc build

This fixes the clang attributes documentation build.


  Commit: 8327f4a851fe45760b12752acd0f3b9c1a64b1f3
      https://github.com/llvm/llvm-project/commit/8327f4a851fe45760b12752acd0f3b9c1a64b1f3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    R openmp/libomptarget/include/Debug.h
    M openmp/libomptarget/include/OmptConnector.h
    A openmp/libomptarget/include/Shared/Debug.h
    A openmp/libomptarget/include/Shared/Utils.h
    R openmp/libomptarget/include/Utilities.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    M openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/OmptCallback.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Move Utils.h and Debug.h into a "Shared" include folder (#73701)

Headers used throughout the different runtimes are different from the
internal headers. This is a first step to bring structure in into the
include folder.


  Commit: 3661eb150e6d4e1e06adb8a62c4b45b056f3c8be
      https://github.com/llvm/llvm-project/commit/3661eb150e6d4e1e06adb8a62c4b45b056f3c8be
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-debug-names.cpp
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

  Log Message:
  -----------
  Add support for parsing type unit entries in .debug_names. (#72952)

This is a follow up patch after .debug_names can now emit local type
unit entries when we compile with type units + DWARF5 + .debug_names.
The pull request that added this functionality was:

https://github.com/llvm/llvm-project/pull/70515

This patch makes sure that the DebugNamesDWARFIndex in LLDB will not
manually need to parse type units if they have a valid index. It also
fixes the index to be able to correctly extract name entries that
reference type unit DIEs. Added a test to verify things work as
expected.


  Commit: d8d9394cb0ec052d54f51d50d33e76062bf63e9a
      https://github.com/llvm/llvm-project/commit/d8d9394cb0ec052d54f51d50d33e76062bf63e9a
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    R llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  Revert "[X86] With large code model, put functions into .ltext with large section flag (#73037)"

This reverts commit 38e435895779c6f0e6c47a171f3b300ad99828b3.

May be culprit for https://lab.llvm.org/buildbot/#/builders/37/builds/28079/steps/9/logs/stdio.


  Commit: 1a041a3ad8a0104da70202e68256513de8848dbf
      https://github.com/llvm/llvm-project/commit/1a041a3ad8a0104da70202e68256513de8848dbf
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h

  Log Message:
  -----------
  [compiler-rt][sanitizer_common] Increase min user-map/freearray round… (#73600)

…ing size

About 90% of the time when running scudo tests on fuchsia+riscv with
asan instrumentation, we will be unable to map the arena for scudo's
primary allocator. We have enough space, but much of the existing
allocations are fragmented enough such that we can't allocate that large
enough contiguous space. This reduces fragmentation more by increase min
allocation rounding for user-map and freearray in the primary allocator.

Note that changing these values doesn't have a functional effect on the
actual size of the user-map or freearray portions of a region. Those are
toggled by different constants. This will reduce the number of times
mmap is called and reduce the number of fragments.

Locally, I've been able to run the scudo tests under
asan-instrumentation on riscv 39-bit vma and haven't run into the `SCUDO
ERROR: zx_vmar_map` error.


  Commit: 7233e42dff7f819d76baeb67781648718828e026
      https://github.com/llvm/llvm-project/commit/7233e42dff7f819d76baeb67781648718828e026
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/include/Configuration.h
    M openmp/libomptarget/DeviceRTL/include/Interface.h
    M openmp/libomptarget/DeviceRTL/include/State.h
    M openmp/libomptarget/DeviceRTL/src/Allocator.cpp
    M openmp/libomptarget/DeviceRTL/src/Debug.cpp
    M openmp/libomptarget/DeviceRTL/src/Kernel.cpp
    M openmp/libomptarget/DeviceRTL/src/State.cpp
    R openmp/libomptarget/include/Environment.h
    A openmp/libomptarget/include/Shared/Environment.h
    A openmp/libomptarget/include/Shared/SourceInfo.h
    R openmp/libomptarget/include/SourceInfo.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Move Environment.h and SourceInfo.h into "Shared" folder (#73703)


  Commit: 86b0ccaee12221d088b35b7b57d415ba290fabb9
      https://github.com/llvm/llvm-project/commit/86b0ccaee12221d088b35b7b57d415ba290fabb9
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardl.cpp

  Log Message:
  -----------
  [libc][NFC] unify nextafter and nexttoward code (#73698)

Previously the nextafter and nexttoward implementations were almost
identical, with the exception of whether or not the second argument was
a template or just long double. This patch unifies them by making the
two argument templates independent.


  Commit: ab562686d1d67962576b7a01346d9ff691b6b28d
      https://github.com/llvm/llvm-project/commit/ab562686d1d67962576b7a01346d9ff691b6b28d
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
    M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp

  Log Message:
  -----------
  [libc++][test] Change forbidden `extents<char>` to `extents<signed char>` (#73535)

Found while running libc++'s test suite with MSVC's STL.

[mdspan.extents.overview]/1.1 mandates that IndexType is a signed or
unsigned integer type, which excludes char.

MSVC's STL enforces the Mandates here, so this PR changes the relevant
occurrences of `char to `signed char`. To make this work, we also need
to add an `operator signed char()` to the test helper type `IntType` so
it remains unambiguously convertible, and then we can remove `operator
char()`.

libc++ should also enforce the Mandates, but this PR doesn't attempt to make
such a change.


  Commit: eaab947a8aa39002e8bdaa82be08cbc31e116a11
      https://github.com/llvm/llvm-project/commit/eaab947a8aa39002e8bdaa82be08cbc31e116a11
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  [OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)

Use of VLA can cause compile warning that was introduced in D156565.
This patch
implements a simple stack/heap-based VLA that can miminc the behavior of
an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by
default is 8,
a heap buffer will be allocated and used to acccomodate the elements.


  Commit: 4701f776d0f22dc0ff80a7d33ef3ae031eac9c2f
      https://github.com/llvm/llvm-project/commit/4701f776d0f22dc0ff80a7d33ef3ae031eac9c2f
  Author: Petr Hosek <phosek at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Always define runtimes-test-depends (#73629)

This allows the parent build to depend on this target unconditionally
even when the tests are disabled.


  Commit: e7f5d609dd7ec73f9e098532d3fa73b9fa4be02d
      https://github.com/llvm/llvm-project/commit/e7f5d609dd7ec73f9e098532d3fa73b9fa4be02d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    R openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)"

This reverts commit eaab947a8aa39002e8bdaa82be08cbc31e116a11 because it
causes link error.


  Commit: d1057014a184acaa93df0acbf4df37bc5226accd
      https://github.com/llvm/llvm-project/commit/d1057014a184acaa93df0acbf4df37bc5226accd
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/OpenMP/InternalTypes.h
    A openmp/libomptarget/include/OpenMP/InteropAPI.h
    A openmp/libomptarget/include/OpenMP/omp.h
    R openmp/libomptarget/include/interop.h
    M openmp/libomptarget/src/CMakeLists.txt
    A openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    R openmp/libomptarget/src/interop.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Create an "OpenMP" folder in the include folder (#73713)

Not everything in libomptarget (include) is "OpenMP", but some things
most certainly are. This commit moves some code around to start making
this distinction without the intention to change functionality.


  Commit: ac8c9f1e39e1a773fd81ce23dbf1c80ea186f226
      https://github.com/llvm/llvm-project/commit/ac8c9f1e39e1a773fd81ce23dbf1c80ea186f226
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/benchmarks/filesystem.bench.cpp
    M libcxx/include/__chrono/file_clock.h
    M libcxx/include/__config
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/file_time_type.h
    M libcxx/include/__filesystem/file_type.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/space_info.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/fstream
    M libcxx/src/filesystem/directory_entry.cpp
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path_helper.h
    M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    R libcxx/test/std/input.output/filesystems/fs.req.namespace/namespace.verify.cpp
    R libcxx/test/support/filesystem_include.h
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libc++] Properly guard std::filesystem with >= C++17 (#72701)

<filesystem> is a C++17 addition. In C++11 and C++14 modes, we actually
have all the code for <filesystem> but it is hidden behind a non-inline
namespace __fs so it is not accessible. Instead of doing this unusual
dance, just guard the code for filesystem behind a classic C++17 check
like we normally do.


  Commit: b47b3bee7ba500e81646aa9720f5ca1eddd66875
      https://github.com/llvm/llvm-project/commit/b47b3bee7ba500e81646aa9720f5ca1eddd66875
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-main.s
    A bolt/test/X86/dwarf5-df-types-dup-dwp-input.test

  Log Message:
  -----------
  [BOLT][DWARF] Fix handling of DWARF5 DWP (#72729)

Fixed handling of DWP as input. Before BOLT crashed. Now it will write
out
correct CU, and all the TUs. Potential future improvement is to scan all
the TUs
used in this CU, and only include those.


  Commit: d46f63553ab9ee041884b5306527afefaf00e144
      https://github.com/llvm/llvm-project/commit/d46f63553ab9ee041884b5306527afefaf00e144
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  [OpenMP] Use simple VLA implementation to replace uses of actual VLA

Use of VLA can cause compile warning that was introduced in D156565. This patch
implements a simple stack/heap-based VLA that can miminc the behavior of an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by default is 8,
a heap buffer will be allocated and used to acccomodate the elements.


  Commit: 351c3ee5f6d0bf7f89e70282e84b8766c9dd1256
      https://github.com/llvm/llvm-project/commit/351c3ee5f6d0bf7f89e70282e84b8766c9dd1256
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    R openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA"

This reverts commit d46f63553ab9ee041884b5306527afefaf00e144.


  Commit: 45288085b5b2711a15f107a5bffdcc6bfe5a43b0
      https://github.com/llvm/llvm-project/commit/45288085b5b2711a15f107a5bffdcc6bfe5a43b0
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp

  Log Message:
  -----------
  [mlir][sparse] move toCOOType into SparseTensorType class (#73708)

Migrates dangling convenience method into proper SparseTensorType class.
Also cleans up some details (picking right dim2lvl/lvl2dim). Removes
more dead code.


  Commit: 97e16da450e94c92456fa5a74768ec1b22fe6b63
      https://github.com/llvm/llvm-project/commit/97e16da450e94c92456fa5a74768ec1b22fe6b63
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  [OpenMP] Use simple VLA implementation to replace uses of actual VLA

Use of VLA can cause compile warning that was introduced in D156565. This patch
implements a simple stack/heap-based VLA that can miminc the behavior of an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by default is 8,
a heap buffer will be allocated and used to acccomodate the elements.


  Commit: 57a0416e0e8ccd522d4242dbe5d0d7893864a10a
      https://github.com/llvm/llvm-project/commit/57a0416e0e8ccd522d4242dbe5d0d7893864a10a
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGenCXX/template-param-objects-address-space.cpp

  Log Message:
  -----------
  [clang][CodeGen] Handle template parameter objects with explicit address spaces (#69266)

For certain cases (e.g. when their address is observable at run time) it
is necessary to provide physical backing for non-type template parameter
objects. Said backing comes in the form of a global variable. For
certain targets (e.g. AMDGPU), which use a non-default address space for
globals, this can lead to an issue when referencing said global in
address space agnostic languages (such as HIP), for example when passing
them to a function.

This patch addresses this issue by inserting an address space cast iff
there is an address space mismatch between the type of a reference
expression and the address space of the backing global. A test is also
added.


  Commit: d6783c7c98ac7a02290d17c5109052f9d71ed914
      https://github.com/llvm/llvm-project/commit/d6783c7c98ac7a02290d17c5109052f9d71ed914
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  Revert "[libc][bazel] Add copts to libc_support_library" (#73723)

Reverts llvm/llvm-project#73591

Broke downstream builds. I will look into relanding tomorrow.


  Commit: 110f927f937102b1233291ba70dd5f873f4b1724
      https://github.com/llvm/llvm-project/commit/110f927f937102b1233291ba70dd5f873f4b1724
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td

  Log Message:
  -----------
  [mlir][sparse] refactor sparse tensor traits (#73726)

Slightly refactors the order of the sparse tensor
traits, and usage. Also makes minor doc improvements.


  Commit: 4eb421192479dbecae2621b868e55aaf6d945b02
      https://github.com/llvm/llvm-project/commit/4eb421192479dbecae2621b868e55aaf6d945b02
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py

  Log Message:
  -----------
  [lldb][test] TestConstStaticIntegralMember: relax assertion on number of global variables (#73707)

In https://github.com/llvm/llvm-project/pull/73626 we started attaching
`DW_AT_const_value`s on a static data-member's declaration again. In
DWARFv5, those static members are represented with a `DW_TAG_variable`.
When LLDB builds the `ManualDWARFIndex`, it simply iterates over all
DIEs in a CU and puts *any* `DW_TAG_variable` with a constant or
location into the index. So when using the manual index, we can end up
having 2 entries for a static data member in the index, one for the
declaration and one for the definition.

This caused a test failure on Linux (where DWARFv5 is the default and
the tests use the manual index).

This patch loosens the restriction that we find exactly 1 variable.


  Commit: 00dbea7c73d0d5c3b1fe92f1b3de3c6680869c01
      https://github.com/llvm/llvm-project/commit/00dbea7c73d0d5c3b1fe92f1b3de3c6680869c01
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/lib/Core/DIEBuilder.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Added const to variable (#73731)

Nit followup to 72729.


  Commit: 1debbae96b77b88fbc2f20ff749e742759b7419f
      https://github.com/llvm/llvm-project/commit/1debbae96b77b88fbc2f20ff749e742759b7419f
  Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/include/llvm/CodeGen/CallBrPrepare.h
    M llvm/lib/CodeGen/CallBrPrepare.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/CodeGen/AArch64/callbr-prepare.ll

  Log Message:
  -----------
  [CodeGen] Port CallBrPrepare to new pass manager (#73630)

IIUC in the new pass manager infrastructure, the analysis result is
always computed lazily. So just use `getResult` here.


  Commit: 3287ae8f6520ef81570377c1fb4c7147782a13ef
      https://github.com/llvm/llvm-project/commit/3287ae8f6520ef81570377c1fb4c7147782a13ef
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (#73290)

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 523160555925ff451e7c6d213a377d191e514805
      https://github.com/llvm/llvm-project/commit/523160555925ff451e7c6d213a377d191e514805
  Author: Edgar <git at edgarluque.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    A mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)

The test was checking something unrelated to what it controlled so it
failed after that part changed, i removed that.

See https://github.com/llvm/llvm-project/pull/73117


  Commit: 5d57041d39461d0262fcef71bd9cfa0ee20c6576
      https://github.com/llvm/llvm-project/commit/5d57041d39461d0262fcef71bd9cfa0ee20c6576
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/CMakeLists.txt
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/test/env/omp_target_debug.c
    M openmp/libomptarget/test/mapping/alloc_fail.c
    M openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    M openmp/libomptarget/test/mapping/padding_not_mapped.c
    M openmp/libomptarget/test/mapping/present/target.c
    M openmp/libomptarget/test/mapping/present/target_array_extension.c
    M openmp/libomptarget/test/mapping/present/target_data.c
    M openmp/libomptarget/test/mapping/present/target_data_array_extension.c
    M openmp/libomptarget/test/mapping/present/target_data_at_exit.c
    M openmp/libomptarget/test/mapping/present/target_enter_data.c
    M openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
    M openmp/libomptarget/test/mapping/present/target_exit_data_release.c
    M openmp/libomptarget/test/mapping/present/target_update.c
    M openmp/libomptarget/test/mapping/present/target_update_array_extension.c
    M openmp/libomptarget/test/mapping/present/unified_shared_memory.c
    M openmp/libomptarget/test/mapping/present/zero_length_array_section.c
    M openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
    M openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
    M openmp/libomptarget/test/mapping/target_update_array_extension.c
    M openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
    M openmp/libomptarget/test/offloading/info.c
    M openmp/libomptarget/test/offloading/mandatory_but_no_devices.c

  Log Message:
  -----------
  [OpenMP][NFC] Move debug declares into CMAKE out of "private.h" (#73732)

Everywhere else we define this in the CMakeLists.txt and "private.h"
needs to go. Rename "Libomptarget" into "omptarget", no benefit from
"lib".


  Commit: 83305faeb54cf254d133e39ddac7f2fee36972cc
      https://github.com/llvm/llvm-project/commit/83305faeb54cf254d133e39ddac7f2fee36972cc
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A lld/test/wasm/lto/Inputs/comdat_ordering1.ll
    A lld/test/wasm/lto/Inputs/comdat_ordering2.ll
    A lld/test/wasm/lto/comdat_ordering.test
    M lld/wasm/SymbolTable.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix bitcode LTO order in archive parsing (#73095)

When doing LTO on multiple archives, the order with which bitcodes are
linked to the LTO module is hard to control, given that processing
undefined symbols can lead to parsing of an object file, which in turn
lead to parsing of another object file before finishing parsing of the
previous file. This can result in encountering a non-prevailing comdat
first when linking, which can make the the symbol undefined, and the
real definition is added later with an additional prefix to avoid
duplication (e.g. `__cxx_global_var_init` and `__cxx_global_var_init.2`)

So this one-line fix ensures we compile bitcodes in the order that we
process comdats, so that when multiple archived bitcode files have the
same variable with the same comdat, we make sure that the prevailing
comdat will be linked first in the LTO.

Fixes #62243.


  Commit: 98f8b1afb408e488274e77533dbb8041c9513ca7
      https://github.com/llvm/llvm-project/commit/98f8b1afb408e488274e77533dbb8041c9513ca7
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    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

  Log Message:
  -----------
  [mlir][sparse] remove COO test from  trait and encoding (#73733)

This is a minor step towards moving ALL COO related tests into the
SparseTensorType class rather than
having it all over the place (with risk of becoming inconsistent). Next
revision will move ALL COO related methods into this class.


  Commit: f7247d50414df36d6aa47a0aa225fda9f6708d91
      https://github.com/llvm/llvm-project/commit/f7247d50414df36d6aa47a0aa225fda9f6708d91
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Canonicalise SextADD + GEP (#69581)


  Commit: 81e3e7e5d455f85e070a27763c578df493716ae9
      https://github.com/llvm/llvm-project/commit/81e3e7e5d455f85e070a27763c578df493716ae9
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/llvm-libc-types/ACTION.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/ENTRY.h
    A libc/include/llvm-libc-types/struct_hsearch_data.h
    A libc/include/search.h.def
    M libc/spec/gnu_ext.td
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/HashTable/CMakeLists.txt
    A libc/src/__support/HashTable/bitmask.h
    A libc/src/__support/HashTable/generic/bitmask_impl.inc
    A libc/src/__support/HashTable/randomness.h
    A libc/src/__support/HashTable/sse2/bitmask_impl.inc
    A libc/src/__support/HashTable/table.h
    M libc/src/__support/bit.h
    A libc/src/__support/hash.h
    A libc/src/__support/memory_size.h
    A libc/src/search/CMakeLists.txt
    A libc/src/search/hcreate.cpp
    A libc/src/search/hcreate.h
    A libc/src/search/hcreate_r.cpp
    A libc/src/search/hcreate_r.h
    A libc/src/search/hdestroy.cpp
    A libc/src/search/hdestroy.h
    A libc/src/search/hdestroy_r.cpp
    A libc/src/search/hdestroy_r.h
    A libc/src/search/hsearch.cpp
    A libc/src/search/hsearch.h
    A libc/src/search/hsearch/CMakeLists.txt
    A libc/src/search/hsearch/global.cpp
    A libc/src/search/hsearch/global.h
    A libc/src/search/hsearch_r.cpp
    A libc/src/search/hsearch_r.h
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/HashTable/CMakeLists.txt
    A libc/test/src/__support/HashTable/bitmask_test.cpp
    A libc/test/src/__support/HashTable/group_test.cpp
    A libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/__support/bit_test.cpp
    A libc/test/src/__support/hash_test.cpp
    A libc/test/src/__support/memory_size_test.cpp
    A libc/test/src/search/CMakeLists.txt
    A libc/test/src/search/hsearch_test.cpp

  Log Message:
  -----------
  [libc] [search] implement hcreate(_r)/hsearch(_r)/hdestroy(_r) (#73469)

This patch implements `hcreate(_r)/hsearch(_r)/hdestroy(_r)` as
specified in https://man7.org/linux/man-pages/man3/hsearch.3.html.

Notice that `neon/asimd` extension is not yet added in this patch. 

- The implementation is largely simplified from rust's
[`hashbrown`](https://github.com/rust-lang/hashbrown/blob/master/src/raw/mod.rs)
as we only consider fix-sized insertion-only hashtables. Technical
details are provided in code comments.

- This patch also contains a portable string hash function, which is
derived from [`aHash`](https://github.com/tkaitchuck/aHash)'s fallback
routine. Not using any SIMD acceleration, it has a good enough quality
(passing all SMHasher tests) and is not too bad in speed.

- Some general functionalities are added, such as `memory_size`,
`offset_to`(alignment), `next_power_of_two`, `is_power_of_two`.
`ctz/clz` are extended to support shorter integers.


  Commit: 593358937025e8635f75ba8931130b1ca5212ea1
      https://github.com/llvm/llvm-project/commit/593358937025e8635f75ba8931130b1ca5212ea1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst

  Log Message:
  -----------
  [GISel][Docs] Add a little bit of documentation for G_FENCE. (#73722)


  Commit: 4a294b5806417aa88c91aa05735b2d557ea5dfe5
      https://github.com/llvm/llvm-project/commit/4a294b5806417aa88c91aa05735b2d557ea5dfe5
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp

  Log Message:
  -----------
  [Clang] CGCoroutines skip emitting try block for value returning `noexcept` init `await_resume` calls (#73160)

Previously we were not properly skipping the generation of the `try { }`
block around the `init_suspend.await_resume()` if the `await_resume` is
not returning void. The reason being that the resume expression was
wrapped in a `CXXBindTemporaryExpr` and the first dyn_cast failed,
silently ignoring the noexcept. This only mattered for `init_suspend`
because it had its own try block.

This patch changes to first extract the sub expression when we see a
`CXXBindTemporaryExpr`. Then perform the same logic to check for
`noexcept`.

Another version of this patch also wanted to assert the second step by
`cast<CXXMemberCallExpr>` and as far as I understand it should be a
valid assumption. I can change to that if upstream prefers.


  Commit: ae86239e86e9e289167fad2d7465d254852ecb82
      https://github.com/llvm/llvm-project/commit/ae86239e86e9e289167fad2d7465d254852ecb82
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/include/sanitizer/memprof_interface.h
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_interface_internal.h
    A compiler-rt/test/memprof/TestCases/profile_reset.cpp

  Log Message:
  -----------
  [MemProf] Add interface for reseting the profile file descriptor (#73714)

Add __memprof_profile_reset() interface which can be used to facilitate
dumping multiple rounds of profiles from a single binary run. This
closes the current file descriptor and resets the internal file
descriptor to invalid (-1), which ensures the underlying writer reopens
the recorded profile filename. This can be used once the client is done
moving or copying a dumped profile, to prepare for reinvoking profile
dumping.


  Commit: e399a317ef63d05991f6b15f74247eee6bfc5279
      https://github.com/llvm/llvm-project/commit/e399a317ef63d05991f6b15f74247eee6bfc5279
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  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/src/__support/bit.h
    M libc/test/src/__support/hash_test.cpp

  Log Message:
  -----------
  [libc] fix build on aarch64 (#73739)

* avoid implicit narrowing conversion
* move hsearch entrypoints to FULL_BUILD


  Commit: 649e8111a95ae0d8814576e9ca74823572ee404b
      https://github.com/llvm/llvm-project/commit/649e8111a95ae0d8814576e9ca74823572ee404b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr72828.cppm

  Log Message:
  -----------
  [C++20] [Modules] Handling capturing strucuted bindings

Close https://github.com/llvm/llvm-project/issues/72828.

This should be an overlook that we extend the type of captures but we
forgot to fix it in deserializer side.


  Commit: 4b8964dfd8b7ec989cd64a3606a364f2ddbbf285
      https://github.com/llvm/llvm-project/commit/4b8964dfd8b7ec989cd64a3606a364f2ddbbf285
  Author: frgossen <frgossen at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  Fix bazel build (#73741)


  Commit: f73844d92b36cb6801ac50ea721f4ba29b35d7a9
      https://github.com/llvm/llvm-project/commit/f73844d92b36cb6801ac50ea721f4ba29b35d7a9
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/condops.ll

  Log Message:
  -----------
  [RISCV] Generate bexti for (select(setcc eq (and x, c))) where c is power of 2. (#73649)

Currently, llvm can transform (setcc ne (and x, c)) to (bexti x,
log2(c)) where c is power of 2.
This patch transform (select (setcc ne (and x, c)), T, F) into (select
(setcc eq (and x, c)), F, T).
It is benefit to the case c is not fit to 12-bits.


  Commit: c6d6a57c697452e9320acea86f6631a92ab8017c
      https://github.com/llvm/llvm-project/commit/c6d6a57c697452e9320acea86f6631a92ab8017c
  Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang][docs] Fix emphasis syntax in attribute documentation (#73737)

This causes CI failure for PRs updating `AttrDocs.td`. CC @llvm-beanz (I
don't have write access)


  Commit: c1511a65d5c09f7cff15feba91ce9bda23d74b6e
      https://github.com/llvm/llvm-project/commit/c1511a65d5c09f7cff15feba91ce9bda23d74b6e
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-i8-i16.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll

  Log Message:
  -----------
  [AMDGPU] Folding imm offset in more cases for scratch access (#70634)

For scratch load/store, our hardware only accept non-negative value in
SGPR/VGPR. Besides the case that we can prove from known bits, we can
also prove that the value in `base` will be non-negative: 1.) When the
ADD for the address calculation has NonUnsignedWrap flag. 2.) When the
immediate offset is already negative.


  Commit: 1886b1a580240fc6aa3173f5a9344d3ead0421b6
      https://github.com/llvm/llvm-project/commit/1886b1a580240fc6aa3173f5a9344d3ead0421b6
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h

  Log Message:
  -----------
  [libc] add PREFER_GENERIC flag (#73744)

There are some basic vectorization features in standard architecture
specifications. Such as SSE/SSE2 for x86-64, or NEON for aarch64. Even
though such features are almost always available, we still need some
methods to test fallback routines without any vectorization.

Previous attempt in hsearch adds a DISABLE_SSE2_OPT flag that tries to
compile the code with -mno-sse2 in order to test specific table scanning
routines. However, it turns out that such flag may have some unwanted
side effects hindering portability.

This PR introduces PREFER_GENERIC as an alternative. When a target is
built with PREFER_GENERIC, cmake will define a macro
__LIBC_PREFER_GENERIC such that developers can selectively choose the
fallback routine based on the macro.


  Commit: 9c5003cc0c706f3cf0b13e709f41e3a64249477a
      https://github.com/llvm/llvm-project/commit/9c5003cc0c706f3cf0b13e709f41e3a64249477a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Implement RISCVInstrInfo::getMemOperandsWithOffsetWidth (#73681)

This hook is called by the default implementation of
getMemOperandWithOffset and by the load/store clustering code in the
MachineScheduler though this isn't enabled by default and is not yet
enabled for RISC-V. Only return true for queries on scalar loads/stores
for now (this is a conservative starting point, and vector load/store
can be handled in a follow-on patch).


  Commit: 4e49358cdcad9aed232ed1e95eab9ded5e6fd7b1
      https://github.com/llvm/llvm-project/commit/4e49358cdcad9aed232ed1e95eab9ded5e6fd7b1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    R mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    R mlir/lib/CAPI/Target/CMakeLists.txt
    R mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    R mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  Revert "[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (#73749)

Still breaks
https://lab.llvm.org/buildbot/#/builders/5/builds/38743/steps/9/logs/stdio

There is some info on how to reproduce
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild

This reverts commit 523160555925ff451e7c6d213a377d191e514805.


  Commit: c954414c0a0b55ad747d5d526100314ecc352c32
      https://github.com/llvm/llvm-project/commit/c954414c0a0b55ad747d5d526100314ecc352c32
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/test/msan/Linux/mallinfo.cpp

  Log Message:
  -----------
  [msan][aarch64] Fix mallinfo interceptor (#73728)

Not sure how the previous implementation supposed to work, but the test
was disabled.

This implementation works for x86_64 and aarch64.


  Commit: f35c0f2f232a0b298a35bfb0047bf8a00b107bf0
      https://github.com/llvm/llvm-project/commit/f35c0f2f232a0b298a35bfb0047bf8a00b107bf0
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/condops.ll

  Log Message:
  -----------
  [RISCV] Refine pattern (select_cc seteq (and x, C), 0, 0, A) with Zbs. (#73746)

PR #72978 disabled transformation (select_cc seteq (and x, C), 0, 0, A)
-> (and (sra(shl x)), A) for better Zicond codegen. It still enables the
combine when C is not fit into 12-bits. This patch disables the combine
when Zbs enabled.


  Commit: 2e838c8437f8466455932c31e82474800056c712
      https://github.com/llvm/llvm-project/commit/2e838c8437f8466455932c31e82474800056c712
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Pass-through CLANG_RESOURCE_DIR to cmake invocations (#73185)

compiler-rt and libomp need access to this variable in order to install
their libraries and headers to the path that clang expects.


  Commit: 3d7e6db12072c26c7ad42c2c473d1dc321725db4
      https://github.com/llvm/llvm-project/commit/3d7e6db12072c26c7ad42c2c473d1dc321725db4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py
    M lldb/test/API/lang/c/shared_lib/TestSharedLib.py
    M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
    M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
    M lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
    M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py

  Log Message:
  -----------
  [lldb][test] Remove `reason` from `unittest2.expectedFailure` usage (#73028)


  Commit: 9535e011c7b25ece5e51c0b9e0f2c43a2912a417
      https://github.com/llvm/llvm-project/commit/9535e011c7b25ece5e51c0b9e0f2c43a2912a417
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

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

  Log Message:
  -----------
  [AMDGPU] Fix -Wc++98-compat-extra-semi after c1511a65d5c09f7cff15feba91ce9bda23d74b6e


  Commit: 35db35b7cfb80139ab6f23c7f10c47df5d1d7462
      https://github.com/llvm/llvm-project/commit/35db35b7cfb80139ab6f23c7f10c47df5d1d7462
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-arith.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-arith.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-arith.mir

  Log Message:
  -----------
  [RISCV][GISel] Support G_FCOPYSIGN with F and D extension.


  Commit: 0acfe8483a1ab972a435bc551cc4a5c6c78be3f0
      https://github.com/llvm/llvm-project/commit/0acfe8483a1ab972a435bc551cc4a5c6c78be3f0
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/dwarf4-deleted-range.s
    A bolt/test/X86/dwarf5-deleted-range.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix output ranges for deleted code (#73464)

Set range low_pc to 0 for DIEs that correspond to deleted code.

Fixes #73428


  Commit: d0c8d41e103dcd3ee1b2b5ed17f9a68e973e01d6
      https://github.com/llvm/llvm-project/commit/d0c8d41e103dcd3ee1b2b5ed17f9a68e973e01d6
  Author: wangpc <wangpengcheng.pp at bytedance.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [TableGen][NFC] Format getOpcodeString and remove unreachable breaks


  Commit: 5e7e0d603204ede803323a825318e365a87f73e9
      https://github.com/llvm/llvm-project/commit/5e7e0d603204ede803323a825318e365a87f73e9
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
    M llvm/test/CodeGen/LoongArch/double-fma.ll
    M llvm/test/CodeGen/LoongArch/float-fma.ll

  Log Message:
  -----------
  [LoongArch] Fix pattern for FNMSUB_{S/D} instructions (#73742)

```
when a=c=-0.0, b=0.0:
-(a * b + (-c)) = -0.0
-a * b + c = 0.0
(fneg (fma a, b (-c))) != (fma (fneg a), b ,c)
```

See https://reviews.llvm.org/D90901 for a similar discussion on X86.


  Commit: d345cfb55c2c923041a7e0a8eb5c7d1302cd2221
      https://github.com/llvm/llvm-project/commit/d345cfb55c2c923041a7e0a8eb5c7d1302cd2221
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-select-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv32.mir

  Log Message:
  -----------
  [RISCV][GISel] Support s64 G_SELECT on RV32 with D extension.

We have to force the register bank to FPRB if the type is s64 and
the GPR is 32 bits.


  Commit: b6ee831b59ef11b424c819d272216add268e6164
      https://github.com/llvm/llvm-project/commit/b6ee831b59ef11b424c819d272216add268e6164
  Author: David Green <david.green at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir

  Log Message:
  -----------
  [AArch64] Load/store optimizer fixes and cleanup.

This includes a couple of fixes after #71908 for bundles and some cleanup for
the debug output. One was an iterator type that asserted on bundles, the second
a rather subtle issue where forAllMIsUntilDef would hit the LdStLimit when
renaming registers, meaning the last instruction was not updated leaving an
invalid `ldp x6, x6` instruction.


  Commit: 6a4489a73337907d52e7eaf3716f3de9008e6e53
      https://github.com/llvm/llvm-project/commit/6a4489a73337907d52e7eaf3716f3de9008e6e53
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Use proper Markdown syntax and avoid child list items (#73700)


  Commit: 403ab9ac740d00b2f85ae6ee3a474cf81e257e4f
      https://github.com/llvm/llvm-project/commit/403ab9ac740d00b2f85ae6ee3a474cf81e257e4f
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/frem.ll

  Log Message:
  -----------
  [NFC] Update X86 frem CodeGen case


  Commit: ebeae22cdebc1db62a0264cf8f5179d079ff3262
      https://github.com/llvm/llvm-project/commit/ebeae22cdebc1db62a0264cf8f5179d079ff3262
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  Revert "Fix bazel build (#73741)"

This reverts commit 4b8964dfd8b7ec989cd64a3606a364f2ddbbf285.


  Commit: 95943d2fab7e6f8dcea216df2d56a0512201b467
      https://github.com/llvm/llvm-project/commit/95943d2fab7e6f8dcea216df2d56a0512201b467
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/code-object-version.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Lower/AMD/code-object-version.f90
    M llvm/include/llvm/Target/TargetOptions.h

  Log Message:
  -----------
  [Flang] Add code-object-version option (#72638)

Information about code object version can be configured by the user for
AMD GPU target and it needs to be placed in LLVM IR generated by Flang.

Information about code object version in MLIR generated by the parser
can be reused by other tools. There is no need to specify extra flags if
we want to invoke MLIR tools (like fir-opt) separately.

Changes in comparison to a8ac93:
 * added information about required targets for test
   flang/test/Driver/driver-help.f90


  Commit: dad73bcd802c35bc877d0ec1ceef3722bafb0f33
      https://github.com/llvm/llvm-project/commit/dad73bcd802c35bc877d0ec1ceef3722bafb0f33
  Author: Tim Northover <tnorthover at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  AArch64: switch Apple CPUs (that support it) to v8.6a. (#73497)

We pretended they were v8.5a in the past because LLVM's modelling used
to fold SM4 crypto support into v8.6a (which the CPUs don't actually
have). That's changed in the last year so we can use the real value.

This is mostly a tidy-up commit before one that'll bring in A17 and M3.


  Commit: c145e4c18eab5d5edf664ad07d5c5be0e536d095
      https://github.com/llvm/llvm-project/commit/c145e4c18eab5d5edf664ad07d5c5be0e536d095
  Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [Pass][NFC] Sort and format passes in PassRegistery.def (#73762)

- Sort all passes in alphabetical order.
- Format `llvm/lib/Passes/PassRegistry.def`.
- Remove redundant semicolon.


  Commit: 91e1b4a64f7df6cc51af74e91610f84ee1bdc74a
      https://github.com/llvm/llvm-project/commit/91e1b4a64f7df6cc51af74e91610f84ee1bdc74a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/box-offset-codegen.fir
    A flang/test/Fir/box-offset.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang] add fir.box_offset operation (#73641)

This operation allows computing the address of descriptor fields. It is
needed to help attaching descriptors in OpenMP/OpenACC target region.
The pointers inside the descriptor structure must be mapped too, but the
fir.box is abstract, so these fields cannot be computed with
fir.coordinate_of.

To preserve the abstraction of the descriptor layout in FIR, introduce
an operation specifically to !fir.ref<fir.box<>> address fields based on
field names (base_addr or derived_type).


  Commit: e2a37e5130709e3e3df52fac97ed3f5356bc0a21
      https://github.com/llvm/llvm-project/commit/e2a37e5130709e3e3df52fac97ed3f5356bc0a21
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
    M libc/src/__support/UInt.h
    M libc/src/__support/integer_operations.h
    M libc/src/string/memmem.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Fix missing LIBC_INLINE + style (#73659)


  Commit: 9eb80ab3787e1851be8c686651688e870b93506b
      https://github.com/llvm/llvm-project/commit/9eb80ab3787e1851be8c686651688e870b93506b
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp

  Log Message:
  -----------
  [llvm-exegesis] Set stack pointer register after starting perf counter (#72489)

Before this patch, in subprocess mode, llvm-exegesis setup the stack
pointer register with the rest of the registers when it was requested by
the user. This would cause a segfault when the instructions to start the
perf counter ran as they use the stack to preserve the three registers
needed to make the syscall. This patch moves the setup of the stack
register to after the configuration of the perf counter to fix this
issue so that we have a valid stack pointer for all the preceeding
operations.

Regression test added.

This fixes #72193.


  Commit: 6e0101684e59d5e8b11853a7311c71090547d355
      https://github.com/llvm/llvm-project/commit/6e0101684e59d5e8b11853a7311c71090547d355
  Author: Sandeep Kosuri <66305775+sandeepkosuri at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/test/OpenMP/metadirective_ast_print.c
    M clang/test/OpenMP/metadirective_empty.cpp
    M clang/test/OpenMP/nothing_messages.cpp

  Log Message:
  -----------
  [OpenMP] Support for `nothing` in `metadirective` (#73690)

- Removed an unnecessary check that was preventing `nothing` to work
properly inside `metadirective`.


  Commit: 6cf3566850a807085d413dee4a573b3eca7b6bee
      https://github.com/llvm/llvm-project/commit/6cf3566850a807085d413dee4a573b3eca7b6bee
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h

  Log Message:
  -----------
  [NFC][MachineScheduler] Rename NumLoads parameter of shouldClusterMemOps to ClusterSize (#73757)

As the same hook is called for both load and store clustering, NumLoads
is a misleading name. Use ClusterSize instead.


  Commit: 10d6d5f224c2e9b5fed025940bc1ac45a4f6f70f
      https://github.com/llvm/llvm-project/commit/10d6d5f224c2e9b5fed025940bc1ac45a4f6f70f
  Author: Tim Northover <tnorthover at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  AArch64: add support for currently released Apple CPUs. (#73499)

These are still v8.6a and have no real changes as far as LLVM cares, so
it's mostly just a copy/paste job.


  Commit: 4b3ea337ad188d5c3ff05bf64cc61c3355e66376
      https://github.com/llvm/llvm-project/commit/4b3ea337ad188d5c3ff05bf64cc61c3355e66376
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp

  Log Message:
  -----------
  [ValueTracking] Convert isKnownNonNegative() to use SimplifyQuery (NFC)


  Commit: 85c9c16895082dfaee3e8440440c83ba9b436da0
      https://github.com/llvm/llvm-project/commit/85c9c16895082dfaee3e8440440c83ba9b436da0
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    A llvm/test/CodeGen/RISCV/misched-load-clustering.ll

  Log Message:
  -----------
  [RISCV] Support load clustering in the MachineScheduler (off by default) (#73754)

This adds minimal support for load clustering, but disables it by
default. The intent is to iterate on the precise heuristic and the
question of turning this on by default in a separate PR. Although
previous discussion indicates hope that the MachineScheduler would
replace most uses of the SelectionDAG scheduler, it does seem most
targets aren't using MachineScheduler load clustering right now:
PPC+AArch64 seem to just use it to help with paired load/store formation
and although AMDGPU uses it for general clustering it also implements
ShouldScheduleLoadsNear for the SelectionDAG scheduler's clustering.


  Commit: 52b4b357268ac114f7972e37da1e5954f322df09
      https://github.com/llvm/llvm-project/commit/52b4b357268ac114f7972e37da1e5954f322df09
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Set stack pointer register after starting perf counter (#72489)"

This reverts commit 9eb80ab3787e1851be8c686651688e870b93506b.

This is causing failures on multiple builders. Pulling it out until I
have time to fix it.


  Commit: d6e8f3b9a23475e0da6ebbfd6950c6b8c8bd20c0
      https://github.com/llvm/llvm-project/commit/d6e8f3b9a23475e0da6ebbfd6950c6b8c8bd20c0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [ValueTracking] Convert isKnownPositive() to use SimplifyQuery (NFC)


  Commit: 42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad
      https://github.com/llvm/llvm-project/commit/42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [ValueTracking] Convert isKnownNegative() to use SimplifyQuery (NFC)

It looks like this function is actually unused.


  Commit: d9e8ae7d2f74fff629a8be10835677ce8039d452
      https://github.com/llvm/llvm-project/commit/d9e8ae7d2f74fff629a8be10835677ce8039d452
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Convert MaskedValueIsZero() to use SimplifyQuery (NFC)


  Commit: 511218642bc5df7815423de211192dd577eb3a9c
      https://github.com/llvm/llvm-project/commit/511218642bc5df7815423de211192dd577eb3a9c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/idioms.ll

  Log Message:
  -----------
  [InstCombine] Regenerate test checks (NFC)


  Commit: 621183cb45b93517169787bb254705ab3baff2a2
      https://github.com/llvm/llvm-project/commit/621183cb45b93517169787bb254705ab3baff2a2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/addr-mode-matcher-4.ll

  Log Message:
  -----------
  [X86] Add test case showing failure to remove unnecessary zext from address math

Thanks to @yubingex007-a11y for the original test case


  Commit: 0fac9da7342e7846fbc4464abe5c00086cbf026c
      https://github.com/llvm/llvm-project/commit/0fac9da7342e7846fbc4464abe5c00086cbf026c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/addr-mode-matcher-4.ll

  Log Message:
  -----------
  [DAG] getNode() - relax (zext (trunc x)) -> x fold iff the upper bits are known zero.

Just leave the (zext (trunc (and x, c))) pattern which is still being used to create some zext_inreg patterns.


  Commit: 1bfb84b47738155cc3c290ac7034075bec60920b
      https://github.com/llvm/llvm-project/commit/1bfb84b47738155cc3c290ac7034075bec60920b
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/armpl-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll

  Log Message:
  -----------
  [NFC][TLI] Improve tests for ArmPL and SLEEF Intrinsics. (#73352)

Auto-generate test `armpl-intrinsics.ll` and simplify tests:
- Eliminate scalar tail with no tail-folding flag.
- Use active lane mask for shorter check lines (no long `shufflevectors`).
- Eliminate scalar loops by providing `noalias` to relevant arguments and
run `simplifycfg` to drop them.
- Update script now use `@llvm.compiler.used` instead of a longer regex.


  Commit: 47df664c7acfd8abd082c0252d1793182c92dc3d
      https://github.com/llvm/llvm-project/commit/47df664c7acfd8abd082c0252d1793182c92dc3d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Support `fgets` in the SteamChecker (#73638)


  Commit: 241076fb529eafccea9bae8bb407a57d83480745
      https://github.com/llvm/llvm-project/commit/241076fb529eafccea9bae8bb407a57d83480745
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [SelectionDAG] Fix assertion for widening of mask operand in MSTORE. (#73295)

According to the code in `SelectionDAG::getMaskedStore`, the Mask
operator is in position 4, not 3:

     SDValue Ops[] = {Chain, Val, Base, Offset, Mask};


  Commit: af65379e383bac651f0868237e9086630b15ee0d
      https://github.com/llvm/llvm-project/commit/af65379e383bac651f0868237e9086630b15ee0d
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/test/Driver/ctofortran.f90

  Log Message:
  -----------
  [flang] Fix test ctofortran (#73738)

After merge request #73124, the flang test Driver/ctofortran started
failing because both the C and the Fortran code had main programs. This
update fixes that by eliminating the C main program in the test.


  Commit: 437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249
      https://github.com/llvm/llvm-project/commit/437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/loc.f90

  Log Message:
  -----------
  [flang] Handle absent optional in LOC (#73530)

LOC is a GNU extension, so gfortran is the reference for it, and it
accepts absent OPTIONAL and returns zero. Support this use case in flang
too.

Update the LOC test to use HLFIR while touching it.

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


  Commit: 15798f4ec4dfa9607f4a7c94b922b80049e1575d
      https://github.com/llvm/llvm-project/commit/15798f4ec4dfa9607f4a7c94b922b80049e1575d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h

  Log Message:
  -----------
  Move documentation about -verify from a header to public docs (#73694)

The internals manual seems like a more obvious home for the details
instead of hiding them away in a header file and relying on doxygen
output to document it publicly.


  Commit: d2d9dc8eb4126271ee1406c2586a4953db831d21
      https://github.com/llvm/llvm-project/commit/d2d9dc8eb4126271ee1406c2586a4953db831d21
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/BDCE/basic.ll
    M llvm/test/Transforms/DCE/basic.ll
    M llvm/test/Transforms/DeadStoreElimination/debuginfo.ll
    M llvm/test/Transforms/GlobalOpt/shrink-global-to-bool-check-debug.ll
    M llvm/test/Transforms/InstCombine/call-guard.ll
    M llvm/test/Transforms/InstCombine/cast-mul-select.ll
    M llvm/test/Transforms/InstCombine/debuginfo-variables.ll
    M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
    M llvm/test/Transforms/InstCombine/storemerge-dbg.ll
    M llvm/test/Transforms/JumpThreading/branch-debug-info.ll
    M llvm/test/Transforms/LCSSA/avoid-intrinsics-in-catchswitch.ll
    M llvm/test/Transforms/LCSSA/basictest.ll
    M llvm/test/Transforms/LICM/sinking-debugify.ll
    M llvm/test/Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
    M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
    M llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
    M llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
    M llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
    M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
    M llvm/test/Transforms/LoopVectorize/i8-induction.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
    M llvm/test/Transforms/MemCpyOpt/pr37967.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_check_debug.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/loadtest.ll
    M llvm/test/Transforms/SROA/alignment.ll
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad-debuginfo.ll
    M llvm/test/Transforms/SimplifyCFG/debug-info-thread-phi.ll
    M llvm/test/Transforms/TailCallElim/debugloc.ll
    M llvm/test/Transforms/Util/Debugify/loc-only.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Make debugify pass convert to/from RemoveDIs mode (#73251)

Debugify is extremely useful as a testing and debugging tool, and a good
number of LLVM-IR transform tests use it. We need it to support "new"
non-instruction debug-info to get test coverage, but it's not important
enough to completely convert right now (and it'd be a large
undertaking). Thus: convert to/from dbg.value/DPValue mode on entry and
exit of the pass, which gives us the functionality without any further
work. The cost is compile-time, but again this is only happening during
tests.

Tested by: the large set of debugify tests enabled here. Note the
InstCombine test (cast-mul-select.ll) that hasn't been fully enabled:
this is because there's a debug-info sinking piece of code there that
hasn't been instrumented.


  Commit: 3930a0b57a9a558409a7368f52f905029112e3c2
      https://github.com/llvm/llvm-project/commit/3930a0b57a9a558409a7368f52f905029112e3c2
  Author: Jan Patrick Lehr <jplehr at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][libomptarget] Use two SDMA engines (#73633)

Limit the use to two SDMA engines which are optimized for such transfers.


  Commit: d4d88b8499b66e0904e5c545613a14d170b3ea62
      https://github.com/llvm/llvm-project/commit/d4d88b8499b66e0904e5c545613a14d170b3ea62
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M openmp/libomptarget/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] New Openmp device RTL functions (#73225)

Add new implementation of workshare loop functions.

These functions will be used by OpenMPIRBuilder to support
handling of OpenMP workshare loops for the target region.

---------

Co-authored-by: Johannes Doerfert <johannes at jdoerfert.de>


  Commit: 23b82bfdc2b6771231cc6a51e6aad9b48318cc1f
      https://github.com/llvm/llvm-project/commit/23b82bfdc2b6771231cc6a51e6aad9b48318cc1f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Add getTargetConstantPoolFromBasePtr helper. NFC.

Split out of getTargetConstantFromBasePtr


  Commit: 9619a2420eac885060bae6c45e85f85abfc7d6a9
      https://github.com/llvm/llvm-project/commit/9619a2420eac885060bae6c45e85f85abfc7d6a9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir

  Log Message:
  -----------
      [MLIR][Vector] Refactor tests for contract -> OP transforms (3/N) (#73447)

This patch refactors tests for:

      vector.contract -> vector.outerproduct

for matvec operations (b += Ax). Summary of changes:
  * names of LIT variables are unified,
  * "plain" tests (i.e. without masking and with fixed-width vectors)
    are moved to the top of their respective sections,
  * missing "plain" cases are added.

This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect. I am refactoring these tests so that it's
easier to identify what cases are tested and where to add tests for
scalable vectors.

Implements #72834.


  Commit: 0d3c40b82b3b667a4f7f69f45658c184615fd54f
      https://github.com/llvm/llvm-project/commit/0d3c40b82b3b667a4f7f69f45658c184615fd54f
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/test/libcxx/transitive_includes_to_csv.py
    M libcxx/utils/adb_run.py
    M libcxx/utils/gdb/libcxx/printers.py
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_test.py
    M libcxx/utils/generate_std_clang_module_header.py
    M libcxx/utils/generate_std_cppm_in.py
    M libcxx/utils/generate_width_estimation_table.py
    M libcxx/utils/graph_header_deps.py
    M libcxx/utils/libcxx/test/android.py
    M libcxx/utils/libcxx/test/dsl.py
    M libcxx/utils/libcxx/test/format.py
    M libcxx/utils/qemu_baremetal.py

  Log Message:
  -----------
  [libc++] Remove unused Python imports (#73724)

VSCode's Pylance extension informed me, and text searching confirmed,
that these imports are unused. I believe we should be able to remove
them harmlessly.


  Commit: 68433f6b27a2d95d8132d4a636a7e18ed85ca9e6
      https://github.com/llvm/llvm-project/commit/68433f6b27a2d95d8132d4a636a7e18ed85ca9e6
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `setmaxregister.sync.aligned` Op (#73780)

This PR introduce `setmaxregister.sync.aligned` Op to increase or
decrease the register size.


https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-setmaxnreg


  Commit: fa712b0764d30e415159537d3e89c994cdef73f9
      https://github.com/llvm/llvm-project/commit/fa712b0764d30e415159537d3e89c994cdef73f9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Build the dylib with sanitizers when requested (#73656)

We were detecting which sanitizer flags to use when building
libc++.dylib but we were never actually adding those flags to the
targets, which means that our sanitized builds would basically build the
dylib without any sanitizers enabled.


  Commit: 1a5af34e6fcb56098e67d3272e1e89a05528f15e
      https://github.com/llvm/llvm-project/commit/1a5af34e6fcb56098e67d3272e1e89a05528f15e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/benchmarks/stringstream.bench.cpp
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale
    A libcxx/include/__utility/no_destroy.h
    M libcxx/include/module.modulemap.in
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Speed up classic locale (take 2) (#73533)

Locale objects use atomic reference counting, which may be very
expensive in parallel applications. The classic locale is used by
default by all streams and can be very contended. But it's never
destroyed, so the reference counting is also completely pointless on the
classic locale. Currently ~70% of time in the parallel stringstream
benchmarks is spent in locale ctor/dtor. And the execution radically
slows down with more threads.

Avoid reference counting on the classic locale. With this change
parallel benchmarks start to scale with threads.

This is a re-application of f8afc53d641c (aka PR #72112) which was
reverted in 4e0c48b907f1 because it broke the sanitizer builds due
to an initialization order fiasco. This issue has now been fixed by
ensuring that the locale is constinit'ed.

Co-authored-by: Dmitry Vyukov <dvyukov at google.com>


  Commit: 3c00c8c0fcd64600f7adc4538b2116a91ef60ced
      https://github.com/llvm/llvm-project/commit/3c00c8c0fcd64600f7adc4538b2116a91ef60ced
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c

  Log Message:
  -----------
  [AArch64][SME2] Enable CLAMP multi-vector builtins for SME2 (#72272)

Thing change add builtins for SME2:
    sclamp.single.x2
    uclamp.single.x2
    fclamp.single.x2
    sclamp.single.x4
    uclamp.single.x4
    fclamp.single.x4

Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: 9b192596ded4982ea360e70f723f9d05dc456ec0
      https://github.com/llvm/llvm-project/commit/9b192596ded4982ea360e70f723f9d05dc456ec0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 1a5af34e6fcb


  Commit: 738c3ede315acb413fc8e0e15c78657102110e94
      https://github.com/llvm/llvm-project/commit/738c3ede315acb413fc8e0e15c78657102110e94
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Pre-commit test for FrameIndex handling in getMemOperandsWithOffsetWidth

Currently AArch64 handles a FrameIndex operand in this function, but we
fail to.


  Commit: 53f3e59e59339cdc3b55f1f6f5c87951df2039de
      https://github.com/llvm/llvm-project/commit/53f3e59e59339cdc3b55f1f6f5c87951df2039de
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/combine-fneg.ll
    R llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Rename vec_fneg.ll to combine-fneg.ll

These tests are for fneg canonicalization combines, not codegen coverage tests like most of the other vec_* test files.


  Commit: 244389ad1794b0bc6c659bd685cf6ea9a7cad8e3
      https://github.com/llvm/llvm-project/commit/244389ad1794b0bc6c659bd685cf6ea9a7cad8e3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Add fneg vector test coverage


  Commit: 0468867c982c9438cf1e9adb71709cb9c7d66391
      https://github.com/llvm/llvm-project/commit/0468867c982c9438cf1e9adb71709cb9c7d66391
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/generic/bitmask_impl.inc

  Log Message:
  -----------
  [libc] Fix the GPU build for the hashing support (#73799)

Summary:
For reasons unknown to me, this function is undefined only on the GPU
build if you use `uintptr_t` but not `uint64_t` directly. This patch
makes an ifdef to use this directly for the GPU build to fix the bots.


  Commit: 3af82b3962c443d43edba1abb50a82fb3048999a
      https://github.com/llvm/llvm-project/commit/3af82b3962c443d43edba1abb50a82fb3048999a
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [clang-format] Add spaces around the Verilog implication operator (#71352)

The Verilog implication operator `->` is a binary operator meaning
either the left hand side is false or the right hand side is true.
Previously it was treated as the C++ struct member operator.

I didn't even know it existed when I added the operator formatting part.
And I didn't check all the tests for all the operators I added. That is
how the bad test got in.


  Commit: 9fa2d74be415a3e30d811c0acc05c45e1c55759e
      https://github.com/llvm/llvm-project/commit/9fa2d74be415a3e30d811c0acc05c45e1c55759e
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp

  Log Message:
  -----------
  [clang-format] Indent Verilog case statements with comments (#71353)

If a line contains a comment outside of (fake) parentheses, the part
following it is indented according to `CurrentState.Indent`. A Verilog
case label and the statement that follows are broken with
mustBreakBefore. So the part that follows the case label needs some
special handling. Previously, that variable was left out. So the
indentation was wrong when there was a comment.

old:

```Verilog
case (data)
  16'd0:
    result = //
        10'b0111111111;
endcase
case (data)
  16'd0:
    //

  //
  result = //
  10'b0111111111;
endcase
```

new:

```Verilog
case (data)
  16'd0:
    result = //
        10'b0111111111;
endcase
case (data)
  16'd0:
    //

    //
    result = //
        10'b0111111111;
endcase
```


  Commit: 2212e900599bb98a46b99b61ccc1983cdaf422d1
      https://github.com/llvm/llvm-project/commit/2212e900599bb98a46b99b61ccc1983cdaf422d1
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A lld/test/ELF/lto/libcall-archive-calloc.ll

  Log Message:
  -----------
  [ELF,LTO] Test calloc defined in a lazy bitcode file for (malloc+memset => calloc) libcall optimization

Similar to https://reviews.llvm.org/D50017: malloc+memset references can
be combined to a calloc reference, which is not explicit in the
referencer's IR symbol table. If calloc is defined in a lazy bitcode
file, we should extract the archive member to satisfy possible
references from LTO generated object files; otherwise (current status,
which will be fixed by #72673), `calloc` as a LazyObject symbol will be
resolved by compileBitcodeFiles generated Undefined, leading to an
incorrectly-extracted Defined symbol without section, which will lower
to an SHN_ABS symbol at address 0.


  Commit: 7eb3103123ffa5c6061ad6775ba6c87d6cd5e256
      https://github.com/llvm/llvm-project/commit/7eb3103123ffa5c6061ad6775ba6c87d6cd5e256
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libc/src/__support/integer_to_string.h

  Log Message:
  -----------
  [libc] Fix cast semantic in integer_to_string (#73804)


  Commit: 8aeacebf288b2f5dc9d3f23e9ac9a4f910238504
      https://github.com/llvm/llvm-project/commit/8aeacebf288b2f5dc9d3f23e9ac9a4f910238504
  Author: Michael Platings <michael.platings at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/docs/index.rst
    A libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    M libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
    M libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
    M libcxx/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
    M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.hires/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/from_time_t.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/to_time_t.pass.cpp
    M libcxx/test/std/time/time.point/time.point.nonmember/op_-duration.pass.cpp
    M libcxx/utils/ci/BOT_OWNERS.txt
    A libcxx/utils/ci/build-picolibc.sh
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/libcxx/test/features.py
    A libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
    M libcxxabi/test/test_demangle.pass.cpp
    A libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in

  Log Message:
  -----------
  [libc++] Add initial support for picolibc

Picolibc is a C Standard Library that is commonly used in embedded
environments. This patch adds initial support for this configuration
along with pre-commit CI. As of this patch, the test suite only builds
the tests and nothing is run. A follow-up patch will make the test suite
actually run the tests.

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


  Commit: fad77dce5111214c51a7c2fe8f30153d630349cb
      https://github.com/llvm/llvm-project/commit/fad77dce5111214c51a7c2fe8f30153d630349cb
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [C API] Add support for setting/getting new nneg flag on zext instructions (#73592)

This flag was added in #67982, but was not yet accessible via the C API.
This commit adds a getter/setter for this flag, and a test for it.


  Commit: dc16964f0ecc1dc292c064ef439c1f48629e8c41
      https://github.com/llvm/llvm-project/commit/dc16964f0ecc1dc292c064ef439c1f48629e8c41
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R .github/workflows/sync-release-repo.yml
    R llvm/utils/git/sync-release-repo.sh

  Log Message:
  -----------
  [workflows] Remove sync-release-repo.yml (#73682)

This should not be needed now that the project uses PRs, plus the
OpenSSF Scorecard report flagged this as insecure.


  Commit: 2cfe7b1b6625ae982d8d0d489bdf0f0d15b234f7
      https://github.com/llvm/llvm-project/commit/2cfe7b1b6625ae982d8d0d489bdf0f0d15b234f7
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/Shared/Profile.h
    M openmp/libomptarget/src/LegacyAPI.cpp
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Extract timescope profile support into its own header (#73727)


  Commit: 672b3d097464becb6e0077ee49a1117ea9bd8238
      https://github.com/llvm/llvm-project/commit/672b3d097464becb6e0077ee49a1117ea9bd8238
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/LICM/pr64897.ll

  Log Message:
  -----------
  [LICM] Add test for #64897 (NFC)


  Commit: db96a9c3b7f1855a586c23328bfa073dde6f1352
      https://github.com/llvm/llvm-project/commit/db96a9c3b7f1855a586c23328bfa073dde6f1352
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R openmp/libomptarget/include/dlwrap.h
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h
    A openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
    A openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    A openmp/libomptarget/plugins-nextgen/common/include/JIT.h
    A openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
    A openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    A openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    A openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h
    M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Flatten plugin-nextgen/common folder sturcture (#73725)

For historic reasons we had it setup that there was
`  plugin-nextgen/common/PluginInterface/<sources + headers>`
which is not what we do anywhere else.
Now it looks like the rest:
```
  plugin-nextgen/common/include/<headers>
  plugin-nextgen/common/src/<sources>
```
As part of this, `dlwrap.h` was moved into common/include (as
`DLWrap.h`)
since it is exclusively used by the plugins.


  Commit: 953d675c42c254676ca446951bd728abefecf436
      https://github.com/llvm/llvm-project/commit/953d675c42c254676ca446951bd728abefecf436
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/target_ast_print.cpp

  Log Message:
  -----------
  Fix accsessing "PresentModifierLocs" array beyond its end. (#73579)

Currently PresentModifierLocs defined with size DefaultmapKindNum; where
DefaultmapKindNum = OMPC_DEFAULTMAP_pointer + 1

Before 5.0 variable-category can not be omitted. For the test like
\#pragma omp target map(tofrom: errors) defaultmap(present)

error would be mitted.

After 5.0 that is allowd.

When try to:
PresentModifierLocs[DMC->getDefaultmapKind()] =
              DMC->getDefaultmapModifierLoc();
It is accessed beyond array end.

To fix this using OMPC_DEFAULTMAP_unknow instead OMPC_DEFAULTMAP_poiner.


  Commit: 0ccef6a723cbfe3d72b85d34963badb37a6a9a53
      https://github.com/llvm/llvm-project/commit/0ccef6a723cbfe3d72b85d34963badb37a6a9a53
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Lower/ConvertExpr.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/associate-for-args-with-alloc-components.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/charconvert.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/expr-addr.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/HLFIR/polymorphic-expressions.f90
    M flang/test/Lower/HLFIR/transformational.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/Intrinsics/storage_size-2.f90

  Log Message:
  -----------
  [flang] Make adapt.valuebyref attribute work again (#73658)

This got "lost" in the HLFIR transformation. This patch applies the old
attribute to the AssociateOp that needs it, and forwards it to the
AllocaOp that is generated when lowering to FIR.


  Commit: b05335989239f08f0931b9153b1872790b8645f4
      https://github.com/llvm/llvm-project/commit/b05335989239f08f0931b9153b1872790b8645f4
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    A llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir

  Log Message:
  -----------
  [X86InstrInfo] support memfold on spillable inline asm (#70832)

This enables -regalloc=greedy to memfold spillable inline asm
MachineOperands.

Because no instruction selection framework marks MachineOperands as
spillable, no language frontend can observe functional changes from this
patch. That will change once instruction selection frameworks are
updated.

Link: https://github.com/llvm/llvm-project/issues/20571


  Commit: 3bf72bf427f15521111df4e35c868005ceb0013b
      https://github.com/llvm/llvm-project/commit/3bf72bf427f15521111df4e35c868005ceb0013b
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Extract DPValues in CodeExtractor like dbg.values (#73252)

CodeExtractor shifts dbg.value intrinsics out of the region being
extracted and updates them to be appropriate in the extracted function.
With new non-intrinsic variable locations, we need to manually do this
too, with DPValues.

Most of this patch shifts and refactors some utilities in
fixupDebugInfoPostExtraction so that we can add a single extra helper
lambda that iterates over DPValues and applies update-utilities. We also
have to assign the IsNewDbgInfoFormat flag in a bunch of places -- this
normally gets set the moment you insert a block into a function (or
function into a module), however a few blocks are constructed here
before being inserted, thus we have to do some manual setup.

Tested via LoopExtractor_alloca.ll, which invokes debugify.


  Commit: 859338a695169d2804d6999f44e1e94bedf6ddd7
      https://github.com/llvm/llvm-project/commit/859338a695169d2804d6999f44e1e94bedf6ddd7
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [llvm] Replace uses of Type::getPointerTo (NFC)

Work towards removing method Type::getPointerTo.
Opaque ptr cleanup effort.


  Commit: e2299e8d9d99ed1e5315b767a8dd5790967ef485
      https://github.com/llvm/llvm-project/commit/e2299e8d9d99ed1e5315b767a8dd5790967ef485
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R openmp/libomptarget/include/OmptCallback.h
    R openmp/libomptarget/include/OmptConnector.h
    A openmp/libomptarget/include/OpenMP/OMPT/Callback.h
    A openmp/libomptarget/include/OpenMP/OMPT/Connector.h
    A openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/OmptCallback.cpp
    R openmp/libomptarget/src/OmptInterface.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Move OMPT headers into OpenMP/OMPT (#73718)


  Commit: fd2d0bf90e37756308a5fa91a0bcd80d0923989e
      https://github.com/llvm/llvm-project/commit/fd2d0bf90e37756308a5fa91a0bcd80d0923989e
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/InternalTypes.h
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Replace unnecessary typedefs (#73815)


  Commit: bdecfebce4b0af94b3afa3e20add0b9d232f21ad
      https://github.com/llvm/llvm-project/commit/bdecfebce4b0af94b3afa3e20add0b9d232f21ad
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/CMakeLists.txt
    R openmp/libomptarget/src/OmptCallback.cpp
    A openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Rename OmptCallback.cpp into OpenMP/OMPT/Callback.cpp (#73813)

Also revert the ifdef OMPT_SUPPORT order to have the short fallback
first and not after 400 lines.


  Commit: 16b8c9608f2081c4f5a9beab6432c4aed842f2f8
      https://github.com/llvm/llvm-project/commit/16b8c9608f2081c4f5a9beab6432c4aed842f2f8
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp
    A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][format] Fixes formatting code units as integers. (#73396)

This paper was voted in as a DR, so it's retroactively enabled back to
C++20; the C++ version that introduced std::format.

Implements:
- P2909R4 Fix formatting of code units as integers (Dude, where’s my
``char``?)


  Commit: 740f14edb4f2bf836b8892dd772ed1d52d24288d
      https://github.com/llvm/llvm-project/commit/740f14edb4f2bf836b8892dd772ed1d52d24288d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp

  Log Message:
  -----------
  [flang] fix codegen warning from #73641 (#73808)


  Commit: aeb051affe690d42e4a7bf96b4704244acc6cefb
      https://github.com/llvm/llvm-project/commit/aeb051affe690d42e4a7bf96b4704244acc6cefb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Correct the documentation category for the 'cleanup' attribute

It was previously classified as a type attribute when it is actually a
variable attribute.


  Commit: 5ce5ea3786246815ce4913dcf8020bde976d2c95
      https://github.com/llvm/llvm-project/commit/5ce5ea3786246815ce4913dcf8020bde976d2c95
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/falias-analysis.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/optimization-remark.f90
    M flang/test/Fir/basic-program.fir
    M flang/tools/tco/tco.cpp

  Log Message:
  -----------
  Revert "[flang] Enable alias tags pass by default (#73111)" (#73821)

This reverts commit caba0314cf631a3ba3e982cbcdc455224046c7a8.

Serious performance regressions were reported by @vzakhari
https://github.com/llvm/llvm-project/issues/58303#issuecomment-1830754173

Fixing this doesn't look quick so I will revert for now.


  Commit: b465f94b7c47f4c759fbfb15cde672739dd0b3d3
      https://github.com/llvm/llvm-project/commit/b465f94b7c47f4c759fbfb15cde672739dd0b3d3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/Utils/ExponentialBackoff.h
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Put ExponentialBackoff in a Utils header (#73816)

"private.h" will go.


  Commit: 2273ee086a5ecd676b0d9782f7b55c8fa2409b35
      https://github.com/llvm/llvm-project/commit/2273ee086a5ecd676b0d9782f7b55c8fa2409b35
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Sema/Overload.h

  Log Message:
  -----------
  Remove an outdated comment; NFC

StandardConversionSequence is significantly larger than a word.


  Commit: 04b185302be963c3c6399b2284c2ec75eb81b6cf
      https://github.com/llvm/llvm-project/commit/04b185302be963c3c6399b2284c2ec75eb81b6cf
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/runtime/character.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/random.cpp
    M flang/runtime/tools.cpp
    M flang/runtime/transformational.cpp
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90

  Log Message:
  -----------
  [flang] Cleanup of NYI messages (#73740)

This update makes the user visible messages relating to features that
are not yet implemented be more consistent. I also cleaned up some of
the code.

For NYI messages that refer to intrinsics, I made sure the the message
begins with "not yet implemented: intrinsic:" to make them easier to
recognize.

I created some utility functions for NYI reporting that I put into
.../include/Optimizer/Support/Utils.h. These mainly convert MLIR types
to their Fortran equivalents.

I converted the NYI code to use the newly created utility functions.


  Commit: 8391bb3f5c0d0d90e47db157809d671d360231bc
      https://github.com/llvm/llvm-project/commit/8391bb3f5c0d0d90e47db157809d671d360231bc
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/InternalTypes.h
    M openmp/libomptarget/include/OpenMP/omp.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Move more declarations out of private.h (#73823)


  Commit: 2630d72cb343fed771e505c1bb0e4f334aed66ce
      https://github.com/llvm/llvm-project/commit/2630d72cb343fed771e505c1bb0e4f334aed66ce
  Author: Chris B <chris.bieneman at me.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    A clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl

  Log Message:
  -----------
  [HLSL] Support vector swizzles on scalars (#67700)

HLSL supports vector swizzles on scalars by implicitly converting the
scalar to a single-element vector. This syntax is a convienent way to
initialize vectors based on filling a scalar value.

There are two parts of this change. The first part in the Lexer splits
numeric constant tokens when a `.x` or `.r` suffix is encountered. This
splitting is a bit hacky but allows the numeric constant to be parsed
separately from the vector element expression. There is an ambiguity
here with the `r` suffix used by fixed point types, however fixed point
types aren't supported in HLSL so this should not cause any exposable
problems (a separate issue has been filed to track validating language
options for HLSL: #67689).

The second part of this change is in Sema::LookupMemberExpr. For HLSL,
if the base type is a scalar, we implicit cast the scalar to a
one-element vector then call back to perform the vector lookup.

Fixes #56658 and #67511


  Commit: f688e0901213726feb9b26cedc61919413cbf59c
      https://github.com/llvm/llvm-project/commit/f688e0901213726feb9b26cedc61919413cbf59c
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  Enable custom lowering of fabs_v16f16 with AVX and fabs_v32f16 with A… (#73565)

This is the last patch for fabs lowering. v32f16 works for AVX as well
with the patch (with type legalization).


  Commit: ff96567bd0fb8ed7a4739afa27a3cf3908115021
      https://github.com/llvm/llvm-project/commit/ff96567bd0fb8ed7a4739afa27a3cf3908115021
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl

  Log Message:
  -----------
  [NFC] Fix failing test introduced in #67700

This fixes the test to handle the changes in the AST printer.
../clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl


  Commit: 40422bf150bf29e9d4ac00da5e29fa0ff9bcd8b6
      https://github.com/llvm/llvm-project/commit/40422bf150bf29e9d4ac00da5e29fa0ff9bcd8b6
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/OpenMP/Mapping.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/src/CMakeLists.txt
    A openmp/libomptarget/src/OpenMP/Mapping.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Separate OpenMP/OpenACC specific mapping code (#73817)

While this does not really encapsulate the mapping code, it at least
moves most of the declarations out of the way.


  Commit: 749d595de906e43660dfd0daa1a60b501e1dc838
      https://github.com/llvm/llvm-project/commit/749d595de906e43660dfd0daa1a60b501e1dc838
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [MemProf][NFC] Correct comment about stripping of suffixes in profile (#73840)

The comment about the stripping of suffixes when creating the indexed
MemProf profile was partially incorrect, as we do not strip ".__uniq."
suffixes by default (by design). Update the comment accordingly.


  Commit: 5259e14e7dcb58f50c31cf3b15a9b9f6e64dc7a1
      https://github.com/llvm/llvm-project/commit/5259e14e7dcb58f50c31cf3b15a9b9f6e64dc7a1
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add folding for [S|U]Mod, [S|U]Div, SRem (#73341)

Add missing constant propogation folder for [S|U]Mod, [S|U]Div, SRem

Implement additional folding when rhs is 1 for all ops.

This helps for readability of lowered code into SPIR-V.

Part of work for #70704


  Commit: 2f1399c73f52aac77afbdd2ba53dd9f1dcbb7c98
      https://github.com/llvm/llvm-project/commit/2f1399c73f52aac77afbdd2ba53dd9f1dcbb7c98
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/APINotes/APINotesManager.h

  Log Message:
  -----------
  clang/APINotes: fix parenthesization of &&, ||

Follow up on 59edb43 (clang/APINotes: squelch a -Wparantheses warning
(NFC)) to fix parenthesization, as requested by David Blaikie.


  Commit: 7fb89bfb0f93d5cfe3cf661253bbb2e2ef19359a
      https://github.com/llvm/llvm-project/commit/7fb89bfb0f93d5cfe3cf661253bbb2e2ef19359a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    A mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  Reapply "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (#73749) (#73751)

Co-authored-by: Edgar <git at edgarluque.com>


  Commit: 6a634953e1a2ec1e434e1ed274e6b37ff7aa643d
      https://github.com/llvm/llvm-project/commit/6a634953e1a2ec1e434e1ed274e6b37ff7aa643d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h
    M compiler-rt/test/msan/Linux/mallinfo.cpp

  Log Message:
  -----------
  [msan] Intercept mallinfo2 (#73729)


  Commit: 8f564a1f30c160635a8225af5d20669ee42b468a
      https://github.com/llvm/llvm-project/commit/8f564a1f30c160635a8225af5d20669ee42b468a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Remove reference to non-existant __builtin_riscv_sha512sum0l/__builtin_riscv_sha512sum1l.

This was a copy/paste mistake from sig0/sig1 which have high and low halves.
sum0 and sum1 have sum0r and sum1r instead.


  Commit: ce00133e5f5b243b320d55f7e000057a3f8ad2c9
      https://github.com/llvm/llvm-project/commit/ce00133e5f5b243b320d55f7e000057a3f8ad2c9
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h

  Log Message:
  -----------
  Allow lldb to load .dwp files with large .debug_info or .debug_types. (#73736)

A previous patch to llvm allowed the DWARFUnitIndex class to handle
.debug_info.dwo and .debug_types.dwo sections to go over 4GB by checking
for this case and fixing up the DWARFUnitIndex. LLDB's DWARF parser
tries to use the llvm's DWARF parser when it can, and LLDB's DWARF
parser uses the llvm::DWARFUnitIndex which should allow us to load large
.dwp files, but there were a few things missing on the LLDB front:
- support for parsing DWARFUnit objects when the offset exceeds 4GB due
to a 32 bit truncation issue
- not populating the required DWARF sections when we call
DWARFContext::GetAsLLVM() which didn't allow the fixups to happen as the
data was missing.

This patch fixes these issues and now allows LLDB to parse large .dwp
files without issues. The issue was discovered when running the "target
modules dump separate-debug-info" command on one of these binaries that
used a large .dwp file.

This is unfortunately hard to test without creating a huge .dwp file, so
there are currently no tests for this that I can think of adding that
wouldn't cause disk space constraints or making testing times longer by
producing a huge .dwp file.


  Commit: 14028ec0a62210d68a4dd7a046ac79c8c3b7727e
      https://github.com/llvm/llvm-project/commit/14028ec0a62210d68a4dd7a046ac79c8c3b7727e
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add canon patterns for IAddCarry/[S|U]MulExtended (#73340)

Add missing constant propogation folder for IAddCarry and
[S|U]MulExtended. Due to currently missing constant value for
spirv.struct the folding is done using canonicalization patterns.

Implement additional folding when rhs is 0 for all ops and when rhs is 1
for UMulExt.

This helps for readability of lowered code into SPIR-V.

Part of work for #70704


  Commit: 9e7b6f46ba13ef0bac72e18b425aed37f576fb1e
      https://github.com/llvm/llvm-project/commit/9e7b6f46ba13ef0bac72e18b425aed37f576fb1e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
    M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp

  Log Message:
  -----------
  [mlir] Adopt `ConvertToLLVMPatternInterface` GpuToLLVMConversionPass to align with `convert-to-llvm` (#73761)

This is a follow-up to the introduction of `convert-to-llvm`: it is
supposed to be a unifying pass through the
`ConvertToLLVMPatternInterface`, but some specific conversion (like the
GPU target) aren't vanilla LLVM target. Instead they need extra
customizations that are specific to LLVM-on-GPUs and our custom runtime
wrappers.
This change make the GpuToLLVMConversionPass just as pluggable as the
`convert-to-llvm` by using the same mechanism.


  Commit: 002c54a2e6cced2eb9d79608afee5fb36dcc5b98
      https://github.com/llvm/llvm-project/commit/002c54a2e6cced2eb9d79608afee5fb36dcc5b98
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A flang/docs/OpenACC-descriptor-management.md

  Log Message:
  -----------
  [flang][openacc] Representing Fortran descriptor management with OpenACC. (#72725)

This document describes the aspects of Fortran descriptor management
in the offload data environment and how this semantics can be
represented using MLIR OpenACC dialect.

In the document I tried to clarify some parts of the OpenACC
specification that seemed unclear to me, e.g. where the spec allowed different
interpretations (in my opinion) or did not specify the actual runtime
behavior. I tried to demonstrate how this ambiguity can affect user
programs with examples.

The document proposes using `attachRecipe` on the data operations
to represent the non-trivial pointer attachment semantics for variables
represented by descriptors. The recipe provides the actual
implementation of the pointer attachment, e.g. we can call an F18 offload runtime
function that will perform all necessary checks and actions.

It is unclear at this point if we want to expose the implementation
details in FIR, otherwise, the recipe could have contained more low
level acc operations such as is_present lookups, host to device
memory copies, etc.


  Commit: e947f953370abe8ffc8713b8f3250a3ec39599fe
      https://github.com/llvm/llvm-project/commit/e947f953370abe8ffc8713b8f3250a3ec39599fe
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll

  Log Message:
  -----------
  [LSR][TTI][RISCV] Enable terminator folding for RISC-V

If looking for a miscompile revert candidate, look here!

The transform being enabled prefers comparing to a loop invariant
exit value for a secondary IV over using an otherwise dead primary
IV.  This increases register pressure (by requiring the exit value
to be live through the loop), but reduces the number of instructions
within the loop by one.

On RISC-V which has a large number of scalar registers, this is
generally a profitable transform.  We loose the ability to use a beqz
on what is typically a count down IV, and pay the cost of computing
the exit value on the secondary IV in the loop preheader, but save
an add or sub in the loop body.  For anything except an extremely
short running loop, or one with extreme register pressure, this is
profitable.  On spec2017, we see a 0.42% geomean improvement in
dynamic icount, with no individual workload regressing by more than
0.25%.

Code size wise, we trade a (possibly compressible) beqz and a (possibly
compressible) addi for a uncompressible beq.  We also add instructions
in the preheader.  Net result is a slight regression overall, but
neutral or better inside the loop.

Previous versions of this transform had numerous cornercase correctness
bugs.  All of them ones I can spot by inspection have been fixed, and I
have run this through all of spec2017, but there may be further issues
lurking.  Adding uses to an IV is a fraught thing to do given poison
semantics, so this transform is somewhat inherently risky.

This patch is a reworked version of D134893 by @eop.  That patch has
been abandoned since May, so I picked it up, reworked it a bit, and
am landing it.


  Commit: 771e9cda239c12ebc3aec65d8a6fd861b2c9e4dc
      https://github.com/llvm/llvm-project/commit/771e9cda239c12ebc3aec65d8a6fd861b2c9e4dc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/msan/Linux/mallinfo.cpp
    A compiler-rt/test/msan/Linux/mallinfo2.cpp

  Log Message:
  -----------
  [msan] Intercept mallinfo2 only on GLIBC 2.33+

Followup to #73729


  Commit: 792253ae0ef3acf9e55f92de25e0bd47a8531d1a
      https://github.com/llvm/llvm-project/commit/792253ae0ef3acf9e55f92de25e0bd47a8531d1a
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-reduce.rst

  Log Message:
  -----------
  [llvm][docs] Add example use of `llvm-reduce`. (#73237)

The script is based on an example provided by Tim
Northover (https://github.com/TNorthover).


  Commit: 545c8e009e2b649ef38f7e432ffbc06ba8a9b813
      https://github.com/llvm/llvm-project/commit/545c8e009e2b649ef38f7e432ffbc06ba8a9b813
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M llvm/include/llvm/Support/LEB128.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [LEB128] Don't initialize error on success

This change removes an unnecessary branch from a hot path. It's also
questionable API to override any previous error unconditonally.


  Commit: b96121c2e7de66154a70db5f202c9adce515aa45
      https://github.com/llvm/llvm-project/commit/b96121c2e7de66154a70db5f202c9adce515aa45
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [LEB128] Factor out redundant code


  Commit: 0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6
      https://github.com/llvm/llvm-project/commit/0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [LEB128] Don't handle edge cases in every loop iteration

Previously the overflow check was done for every byte even though it
is only needed for the case where Shift == 63.


  Commit: 80fc872a24c4dca4820d2e7885b5ee9195bec42a
      https://github.com/llvm/llvm-project/commit/80fc872a24c4dca4820d2e7885b5ee9195bec42a
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [LEB128] Mark error condition with LLVM_UNLIKELY


  Commit: 9415fca848db7686700f17eb5a238484c24f87de
      https://github.com/llvm/llvm-project/commit/9415fca848db7686700f17eb5a238484c24f87de
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix build with shared libs (missing cmake link dependency) (NFC)


  Commit: f32509b2ca209f8620bbe5e66e77ed85aa8d1d84
      https://github.com/llvm/llvm-project/commit/f32509b2ca209f8620bbe5e66e77ed85aa8d1d84
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp

  Log Message:
  -----------
   [JITLink][AArch32] Test out-of-range and interworking errors for Thumb (#73397)


  Commit: 1cbd52f791d3f088246526c0801634edb65cee31
      https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/SemaCXX/cxx2c-enum-compare.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)

https://isocpp.org/files/papers/P2864R2.pdf


  Commit: b2f42f5d298cd68366b48ab7f20ab02dc80c8cae
      https://github.com/llvm/llvm-project/commit/b2f42f5d298cd68366b48ab7f20ab02dc80c8cae
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll

  Log Message:
  -----------
  [LV] Add test variant without sdiv by undef and uses.

Add a variant of @PR34687 with a sdiv with non-undef operands and actual
uses, to avoid the SDIV and SELECT being folded away triviall.y


  Commit: 3313c256c82e16e6f15a182bbf77ad2d60548a56
      https://github.com/llvm/llvm-project/commit/3313c256c82e16e6f15a182bbf77ad2d60548a56
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [RISCV] Fix a couple copy/paste mistakes in riscv_crypto.h. NFC


  Commit: 77e5c5dbd88a7845fe5b8225f6bb139048ced1a9
      https://github.com/llvm/llvm-project/commit/77e5c5dbd88a7845fe5b8225f6bb139048ced1a9
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  Revert "[LEB128] Mark error condition with LLVM_UNLIKELY"

This reverts commit 80fc872a24c4dca4820d2e7885b5ee9195bec42a.


  Commit: 275bec486f68cc027d121e3ff8f807086cdf4902
      https://github.com/llvm/llvm-project/commit/275bec486f68cc027d121e3ff8f807086cdf4902
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  Revert "[LEB128] Don't handle edge cases in every loop iteration"

This reverts commit 0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6.


  Commit: fc05a82fa6f91c6872a0fad80177d63b578df14f
      https://github.com/llvm/llvm-project/commit/fc05a82fa6f91c6872a0fad80177d63b578df14f
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  Revert "[LEB128] Factor out redundant code"

This reverts commit b96121c2e7de66154a70db5f202c9adce515aa45.


  Commit: 69b0cb9c567eb0f937474f5424b9ed23b61c04d7
      https://github.com/llvm/llvm-project/commit/69b0cb9c567eb0f937474f5424b9ed23b61c04d7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M llvm/include/llvm/Support/LEB128.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  Revert "[LEB128] Don't initialize error on success"

This reverts commit 545c8e009e2b649ef38f7e432ffbc06ba8a9b813.


  Commit: 076bd22f579ec4c90b41c700fca21a90fd2b6dbc
      https://github.com/llvm/llvm-project/commit/076bd22f579ec4c90b41c700fca21a90fd2b6dbc
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT] Add structure of CDSplit to SplitFunctions (#73430)

This commit establishes the general structure of the CDSplit strategy in
SplitFunctions without incorporating the exact splitting logic. With
-split-functions -split-strategy=cdsplit, the SplitFunctions pass will
run twice: the first time is before function reordering and functions
are hot-cold split; the second time is after function reordering and
functions are hot-warm-cold split based on the fixed function ordering.
Currently, all functions are hot-warm split after the entry block in the
second splitting pass. Subsequent commits will introduce the precise
splitting logic. NFC.


  Commit: 2c07181424b45d0785002b760f9ab404b7506b57
      https://github.com/llvm/llvm-project/commit/2c07181424b45d0785002b760f9ab404b7506b57
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M llvm/include/llvm/Support/LEB128.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/tools/llvm-readobj/COFFDumper.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [LEB128] Don't initialize error on success

This change removes an unnecessary branch from a hot path. It's also
questionable API to override any previous error unconditonally.


  Commit: 643f25fb1d0b2153e8684354968ad358cc0e3f53
      https://github.com/llvm/llvm-project/commit/643f25fb1d0b2153e8684354968ad358cc0e3f53
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [LEB128] Factor out redundant code


  Commit: 963b186951ec9b8babb924ebda6a9f193a6269c8
      https://github.com/llvm/llvm-project/commit/963b186951ec9b8babb924ebda6a9f193a6269c8
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [LEB128] Don't handle edge cases in every loop iteration

Previously the overflow check was done for every byte even though it
is only needed for the case where Shift == 63.


  Commit: efa1d0d641c770267ff4c523a450334cd24ebe15
      https://github.com/llvm/llvm-project/commit/efa1d0d641c770267ff4c523a450334cd24ebe15
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [LEB128] Mark error condition with LLVM_UNLIKELY


  Commit: 4c1745207665262380e9bff65201816a966339d0
      https://github.com/llvm/llvm-project/commit/4c1745207665262380e9bff65201816a966339d0
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp

  Log Message:
  -----------
  [clang-format][NFC] Extend isProto() to also cover LK_TextProto (#73582)


  Commit: bbae59ae71c73e26809d4ab7da1a80239ebd9381
      https://github.com/llvm/llvm-project/commit/bbae59ae71c73e26809d4ab7da1a80239ebd9381
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Finalize children after formatting them (#73753)

This would also fix the overlapping replacements below:
```
$ clang-format
 a(
 #else
 #endif
) = []() {      
)}
The new replacement overlaps with an existing replacement.
New replacement: <stdin>: 38:+7:"
"
Existing replacement: <stdin>: 38:+7:" "
```
Fixed #73487.


  Commit: 0123608822a7b58d6deca528eef8dc958420acd1
      https://github.com/llvm/llvm-project/commit/0123608822a7b58d6deca528eef8dc958420acd1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp

  Log Message:
  -----------
  [RISCV] Minor improvements/cleanup to target attribute handling. NFC (#73851)

Use ArrayRef to avoid a vector copy.
Replace a push_back loop with a call to std::vector::insert.


  Commit: 44c5593cd5f337d44e23a2151c3e84495b007109
      https://github.com/llvm/llvm-project/commit/44c5593cd5f337d44e23a2151c3e84495b007109
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  Fix stale comment (#73846)

Fix stale comment.


  Commit: 328fd363daabb464670613dece6c75cf99d03410
      https://github.com/llvm/llvm-project/commit/328fd363daabb464670613dece6c75cf99d03410
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [clang][CGStmtOpenMP] Remove unneeded calls to CreatePointerBitCastOrAddrSpaceCast (NFC)

Opaque ptr cleanup effort (NFC).


  Commit: 73f8aa01d8b60bf4323359a9e2d45e68395ac290
      https://github.com/llvm/llvm-project/commit/73f8aa01d8b60bf4323359a9e2d45e68395ac290
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

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

  Log Message:
  -----------
  [libc][NFC] Fix missing dep in bazel (#73854)

Patch #73469 added a dependency from __support/bit.h to
__support/CPP/type_traits.h, but didn't add a dependency in the bazel.
This caused downstream build failures. This patch fixes the missing
dependency.


  Commit: ae4d7ac9c885d56c98c1a19af9c330de37883ad1
      https://github.com/llvm/llvm-project/commit/ae4d7ac9c885d56c98c1a19af9c330de37883ad1
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp

  Log Message:
  -----------
  [flang][driver][nfc] Move the definition of SemanticsContext (#73669)

Moves the defintion of `SemanticsContext` within the Flang driver.

Rather than in `CompilerInvocation`, semantic context fits better within
`CompilerInstance` that encapsulates the objects that are required to
run the
frontend. `CompilerInvocation` is better suited for objects
encapsulating compiler configuration (e.g. set-up resulting from user
input or host set-up).


  Commit: 4b2ba5a61aaa9b7bea493425699f8a8d32a191b0
      https://github.com/llvm/llvm-project/commit/4b2ba5a61aaa9b7bea493425699f8a8d32a191b0
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir

  Log Message:
  -----------
  [mlir][sve] Add an e2e for linalg.matmul with mixed types (#73773)

Apart from the test itself, this patch also updates a few patterns to
fix how new VectorType(s) are created. Namely, it makes sure that
"scalability" is correctly propagated.

Regression tests will be updated seperately while auditing Vector
dialect tests in the context of scalable vectors:
  * https://github.com/orgs/llvm/projects/23


  Commit: f150ecc32276d3afa96f673ebbd388d99ac1ccca
      https://github.com/llvm/llvm-project/commit/f150ecc32276d3afa96f673ebbd388d99ac1ccca
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [workflows] Add top-level permissions for libcxx-build-and-test.yaml (#73689)

This is the standard convention for our workflow files.


  Commit: cc33f2e1bf31679932e8570f2ad37d46c47004cb
      https://github.com/llvm/llvm-project/commit/cc33f2e1bf31679932e8570f2ad37d46c47004cb
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M .github/workflows/docs.yml
    M .github/workflows/issue-subscriber.yml
    A .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/scorecard.yml
    R .github/workflows/sync-release-repo.yml
    M .mailmap
    M bolt/docs/doxygen.cfg.in
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DynoStats.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/include/bolt/Passes/FixRelaxationPass.h
    M bolt/include/bolt/Passes/InstrumentationSummary.h
    M bolt/include/bolt/Passes/ReorderAlgorithm.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Passes/StackReachingUses.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Passes/TailDuplication.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/DataReader.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/instr.cpp
    A bolt/test/AArch64/Inputs/iplt.ld
    M bolt/test/AArch64/go_dwarf.test
    M bolt/test/AArch64/got-ld64-relaxation.test
    A bolt/test/AArch64/hook-fini.s
    A bolt/test/AArch64/ifunc.c
    A bolt/test/AArch64/patch-entries.s
    M bolt/test/AArch64/r_aarch64_prelxx.s
    R bolt/test/AArch64/reloc-call26.s
    M bolt/test/AArch64/skip-got-rel.test
    M bolt/test/AArch64/unmarked-data.test
    A bolt/test/Inputs/lsda.ldscript
    M bolt/test/RISCV/branch-no-secondary-entry.s
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/load-store.s
    M bolt/test/RISCV/reloc-abs.s
    M bolt/test/RISCV/reloc-bb-split.s
    M bolt/test/RISCV/reloc-branch.s
    M bolt/test/RISCV/reloc-call.s
    M bolt/test/RISCV/reloc-got.s
    M bolt/test/RISCV/reloc-jal.s
    M bolt/test/RISCV/reloc-lohi.s
    M bolt/test/RISCV/reloc-pcrel.s
    M bolt/test/RISCV/reloc-rvc-branch.s
    M bolt/test/RISCV/reloc-rvc-jump.s
    M bolt/test/RISCV/reloc-tls.s
    M bolt/test/X86/Inputs/blarge_profile_stale.yaml
    M bolt/test/X86/Inputs/dwarf5-cu-no-debug-addr-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-output-dir-same-name-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-output-dir-same-name-main.s
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-main.s
    M bolt/test/X86/Inputs/linenumber.cpp
    M bolt/test/X86/block-reordering.test
    M bolt/test/X86/branch-data.test
    M bolt/test/X86/bug-function-layout-execount.s
    A bolt/test/X86/calculate-emitted-block-size.s
    M bolt/test/X86/call-zero.s
    M bolt/test/X86/cfi-instrs-count.s
    M bolt/test/X86/checkvma-large-section.test
    M bolt/test/X86/data-to-data-pcrel.s
    M bolt/test/X86/double-jump.test
    M bolt/test/X86/double-rel.s
    A bolt/test/X86/dwarf-inline-range.s
    A bolt/test/X86/dwarf4-deleted-range.s
    M bolt/test/X86/dwarf5-call-pc-function-null-check.test
    A bolt/test/X86/dwarf5-deleted-range.s
    M bolt/test/X86/dwarf5-df-inlined-subroutine-range-0.test
    A bolt/test/X86/dwarf5-df-output-dir-same-name.test
    A bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
    M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
    M bolt/test/X86/dynrelocs.s
    M bolt/test/X86/exceptions-args.test
    M bolt/test/X86/fallthrough-to-noop.test
    M bolt/test/X86/fptr-addend-pcrel.s
    M bolt/test/X86/gotpcrelx.s
    M bolt/test/X86/icp-inline.s
    M bolt/test/X86/indirect-goto.test
    M bolt/test/X86/is-strip.s
    M bolt/test/X86/jmpjmp.test
    M bolt/test/X86/jump-table-footprint-reduction.test
    M bolt/test/X86/jump-table-icp.test
    M bolt/test/X86/jump-table-pic-order.test
    M bolt/test/X86/jump-table-reference.test
    A bolt/test/X86/keep-nops.s
    M bolt/test/X86/layout-heuristic.test
    M bolt/test/X86/line-number.test
    M bolt/test/X86/lto-name-match.s
    M bolt/test/X86/no-entry-reordering.test
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/reader-stale-yaml.test
    M bolt/test/X86/reader.test
    M bolt/test/X86/sctc-bug.test
    M bolt/test/X86/sctc-bug2.test
    M bolt/test/X86/sctc-bug3.test
    M bolt/test/X86/sctc-bug4.test
    M bolt/test/X86/section-end-sym.s
    M bolt/test/X86/tail-duplication-cache.s
    M bolt/test/X86/tailcall.test
    M bolt/test/X86/vararg.test
    M bolt/test/X86/yaml-multiple-profiles.test
    M bolt/test/bad-exe.test
    A bolt/test/lsda-section-name.cpp
    M bolt/test/no-relocs.test
    A bolt/test/perf2bolt/Inputs/perf_test.c
    A bolt/test/perf2bolt/Inputs/perf_test.lds
    A bolt/test/perf2bolt/lit.local.cfg
    A bolt/test/perf2bolt/perf_test.test
    M bolt/test/pie.test
    M bolt/test/re-optimize.test
    M bolt/test/runtime/AArch64/adrrelaxationpass.s
    M bolt/test/runtime/AArch64/controlflow.s
    A bolt/test/runtime/AArch64/hook-fini.test
    M bolt/test/runtime/X86/asm-dump.c
    A bolt/test/runtime/X86/exceptions-lpstart-zero.s
    M bolt/test/runtime/X86/instrumentation-ind-calls.s
    M bolt/test/runtime/iplt.c
    M bolt/test/yaml-profile-kind.c
    M bolt/unittests/Core/BinaryContext.cpp
    A bolt/utils/nfc-stat-parser.py
    M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h
    M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
    M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
    A clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
    M clang-tools-extra/clangd/test/diagnostics-tidy.test
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    A clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    M clang-tools-extra/include-cleaner/lib/Record.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-warn-on-sizeof-pointer-to-aggregate.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/enum-size.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-match.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/AutomaticReferenceCounting.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/examples/CMakeLists.txt
    A clang/examples/LLVMPrintFunctionNames/CMakeLists.txt
    A clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.cpp
    A clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.exports
    A clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/APINotes/APINotesYAMLCompiler.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/CXXInheritance.h
    M clang/include/clang/AST/Comment.h
    M clang/include/clang/AST/CommentSema.h
    M clang/include/clang/AST/CommentVisitor.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DependentDiagnostic.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprConcepts.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/RawCommentList.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Analysis/FlowSensitive/Arena.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    A clang/include/clang/Analysis/FlowSensitive/SimplifyConstraints.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/Module.h
    A clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/ParsedAttrInfo.h
    M clang/include/clang/Basic/PragmaKinds.h
    M clang/include/clang/Basic/RISCVVTypes.def
    M clang/include/clang/Basic/SourceManager.h
    A clang/include/clang/Basic/SourceMgrAdapter.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/DependencyOutputOptions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Frontend/MigratorOptions.h
    M clang/include/clang/Frontend/PreprocessorOutputOptions.h
    M clang/include/clang/Frontend/TextDiagnosticPrinter.h
    M clang/include/clang/Frontend/Utils.h
    M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
    M clang/include/clang/Lex/DirectoryLookup.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/MacroInfo.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/VariadicMacroSupport.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/APINotes/APINotesFormat.h
    A clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/APINotes/CMakeLists.txt
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    A clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Function.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/IntegralAP.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    A clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/FlowSensitive/Value.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/SourceManager.cpp
    A clang/lib/Basic/SourceMgrAdapter.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/X86.cpp
    A clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenCLRuntime.cpp
    M clang/lib/CodeGen/CGOpenCLRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/lib/CodeGen/LinkInModulesPass.cpp
    A clang/lib/CodeGen/LinkInModulesPass.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    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/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.h
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTMerge.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/avx2intrin.h
    M clang/lib/Headers/avx512bf16intrin.h
    M clang/lib/Headers/avx512bwintrin.h
    M clang/lib/Headers/avx512dqintrin.h
    M clang/lib/Headers/avx512fintrin.h
    M clang/lib/Headers/avx512fp16intrin.h
    M clang/lib/Headers/avx512ifmavlintrin.h
    M clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/avx512vbmivlintrin.h
    M clang/lib/Headers/avx512vlbf16intrin.h
    M clang/lib/Headers/avx512vlbitalgintrin.h
    M clang/lib/Headers/avx512vlbwintrin.h
    M clang/lib/Headers/avx512vlcdintrin.h
    M clang/lib/Headers/avx512vldqintrin.h
    M clang/lib/Headers/avx512vlfp16intrin.h
    M clang/lib/Headers/avx512vlintrin.h
    M clang/lib/Headers/avx512vlvbmi2intrin.h
    M clang/lib/Headers/avx512vlvnniintrin.h
    M clang/lib/Headers/avx512vlvp2intersectintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/gfniintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/llvm_libc_wrappers/ctype.h
    M clang/lib/Headers/llvm_libc_wrappers/stdio.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/pmmintrin.h
    A clang/lib/Headers/riscv_bitmanip.h
    A clang/lib/Headers/riscv_crypto.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/CMakeLists.txt
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    A clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/IdentifierResolver.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/Store.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    M clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/intap.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/AST/ast-dump-template-decls-json.cpp
    A clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-ref-deref-on-diff-classes.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-members-ref-deref-on-diff-classes.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/builtin_bitcast.cpp
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/Analysis/cert/env31-c.c
    M clang/test/Analysis/cert/env34-c-cert-examples.c
    M clang/test/Analysis/cert/env34-c.c
    M clang/test/Analysis/diagnostics/explicit-suppression.cpp
    M clang/test/Analysis/errno-notes.c
    M clang/test/Analysis/errno-options.c
    M clang/test/Analysis/errno-stdlibraryfunctions-notes.c
    M clang/test/Analysis/errno-stdlibraryfunctions.c
    M clang/test/Analysis/errno.c
    M clang/test/Analysis/invalid-ptr-checker.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/memory-model.cpp
    A clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-new.cpp
    M clang/test/Analysis/out-of-bounds.c
    M clang/test/Analysis/security-syntax-checks.c
    M clang/test/Analysis/std-c-library-functions-POSIX.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-path-notes.c
    A clang/test/Analysis/std-variant-checker.cpp
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-non-posix-function.c
    M clang/test/Analysis/stream-noopen.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/test/C/C2x/n2508.c
    M clang/test/C/drs/dr4xx.c
    M clang/test/CMakeLists.txt
    A clang/test/CXX/drs/dr27xx.cpp
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.reach/ex1.cpp
    M clang/test/CXX/module/module.reach/p2.cpp
    M clang/test/CXX/special/class.dtor/p3-0x.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/p5.cpp
    M clang/test/ClangScanDeps/P1689.cppm
    M clang/test/ClangScanDeps/header-search-pruning-transitive.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    M clang/test/ClangScanDeps/modules-symlink-dir-from-module.c
    M clang/test/ClangScanDeps/modules-symlink-dir.c
    A clang/test/ClangScanDeps/optimize-system-warnings.m
    M clang/test/ClangScanDeps/regular_cdb.cpp
    M clang/test/ClangScanDeps/relative_directory.cpp
    A clang/test/ClangScanDeps/strip-visibility.c
    M clang/test/CodeGen/LoongArch/abi-lp64d-empty-structs.c
    M clang/test/CodeGen/LoongArch/abi-lp64d-empty-unions.c
    A clang/test/CodeGen/PowerPC/ppc-full-reg-names.c
    A clang/test/CodeGen/RISCV/math-builtins.c
    A clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    A clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkb.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkx.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknd.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zkne.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknh.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd-zkne.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zkne.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknh.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/zksed.c
    M clang/test/CodeGen/RISCV/rvk-intrinsics/zksh.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv-rv64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv-rv64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvw.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-intrinsic-datatypes.cpp
    M clang/test/CodeGen/SystemZ/align-systemz.c
    A clang/test/CodeGen/SystemZ/mbackchain-4.c
    A clang/test/CodeGen/SystemZ/systemz-ppa2.c
    M clang/test/CodeGen/X86/avx512-error.c
    A clang/test/CodeGen/X86/math-builtins.c
    A clang/test/CodeGen/X86/pr72106.c
    M clang/test/CodeGen/aapcs-align.cpp
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/aarch64-ls64-inline-asm.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
    M clang/test/CodeGen/amdgpu-abi-version.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/builtin-align-array.c
    M clang/test/CodeGen/builtin-align.c
    M clang/test/CodeGen/catch-undef-behavior.c
    A clang/test/CodeGen/code_align.c
    M clang/test/CodeGen/cspgo-instrumentation_thinlto.c
    M clang/test/CodeGen/debug-info-codeview-unnamed.c
    M clang/test/CodeGen/debug-info-unused-types.c
    M clang/test/CodeGen/debug-info-unused-types.cpp
    M clang/test/CodeGen/fp-floatcontrol-stack.cpp
    A clang/test/CodeGen/fp-reciprocal-pragma.cpp
    R clang/test/CodeGen/math-builtins.c
    M clang/test/CodeGen/ms-inline-asm-64.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/no-builtin.cpp
    M clang/test/CodeGen/target-avx-abi-diag.c
    M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
    M clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
    A clang/test/CodeGenCUDA/implicit-host-device-fun.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
    M clang/test/CodeGenCXX/apple-kext.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    A clang/test/CodeGenCXX/datasizeof.cpp
    M clang/test/CodeGenCXX/debug-info-access.cpp
    M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
    M clang/test/CodeGenCXX/debug-info-class.cpp
    M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
    M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
    A clang/test/CodeGenCXX/debug-info-lambda-this.cpp
    A clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
    M clang/test/CodeGenCXX/debug-info-static-member.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    A clang/test/CodeGenCXX/fixed-point-mangle.cpp
    M clang/test/CodeGenCXX/float128-declarations.cpp
    M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
    A clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
    M clang/test/CodeGenCXX/partitions.cpp
    M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
    A clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/type-metadata.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    A clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp
    A clang/test/CodeGenCoroutines/coro-only-destroy-when-complete.cpp
    A clang/test/CodeGenHIP/dpp-const-fold.hip
    A clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenObjC/arc.m
    M clang/test/CodeGenObjC/convert-messages-to-runtime-calls.m
    M clang/test/CodeGenObjCXX/encode.mm
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
    M clang/test/Driver/aarch64-features.c
    M clang/test/Driver/aarch64-mcpu.c
    A clang/test/Driver/aarch64-v95a.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/android-pie.c
    R clang/test/Driver/canonical-system-headers.c
    M clang/test/Driver/clang-exception-flags.cpp
    M clang/test/Driver/darwin-header-search-libcxx.cpp
    M clang/test/Driver/dynamic-linker.c
    M clang/test/Driver/emulated-tls.cpp
    A clang/test/Driver/entry.s
    M clang/test/Driver/fdirect-access-external-data.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/haiku.c
    M clang/test/Driver/hip-code-object-version.hip
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/lanai-unknown-unknown.cpp
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/mcmodel.c
    R clang/test/Driver/mipsel-nacl-defines.cpp
    M clang/test/Driver/netbsd.c
    M clang/test/Driver/ohos.c
    A clang/test/Driver/openacc.c
    M clang/test/Driver/openbsd.c
    M clang/test/Driver/pic.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/save-stats.c
    M clang/test/Driver/wasm32-unknown-unknown.cpp
    M clang/test/Driver/wasm64-unknown-unknown.cpp
    M clang/test/Driver/x86-target-features.c
    M clang/test/Driver/x86_64-nacl-defines.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/bool.c
    M clang/test/ExtractAPI/bool.cpp
    M clang/test/ExtractAPI/class.cpp
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/constructor_destructor.cpp
    M clang/test/ExtractAPI/conversions.cpp
    M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
    M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
    M clang/test/ExtractAPI/enum.c
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/function_noexcepts.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_record.c
    M clang/test/ExtractAPI/global_record_multifile.c
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/known_files_only.c
    M clang/test/ExtractAPI/language.c
    M clang/test/ExtractAPI/macro_undefined.c
    M clang/test/ExtractAPI/macros.c
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    M clang/test/ExtractAPI/methods.cpp
    M clang/test/ExtractAPI/multiple_inheritance.cpp
    M clang/test/ExtractAPI/namespace.cpp
    M clang/test/ExtractAPI/nested_namespaces.cpp
    A clang/test/ExtractAPI/objc_block.m
    M clang/test/ExtractAPI/objc_category.m
    M clang/test/ExtractAPI/objc_id_protocol.m
    M clang/test/ExtractAPI/objc_instancetype.m
    M clang/test/ExtractAPI/objc_interface.m
    M clang/test/ExtractAPI/objc_module_category.m
    M clang/test/ExtractAPI/objc_property.m
    M clang/test/ExtractAPI/objc_protocol.m
    M clang/test/ExtractAPI/objc_various_categories.m
    M clang/test/ExtractAPI/operator_overload.cpp
    M clang/test/ExtractAPI/relative_include.m
    M clang/test/ExtractAPI/simple_inheritance.cpp
    M clang/test/ExtractAPI/struct.c
    M clang/test/ExtractAPI/typedef.c
    M clang/test/ExtractAPI/typedef_anonymous_record.c
    M clang/test/ExtractAPI/typedef_chain.c
    M clang/test/ExtractAPI/typedef_struct_enum.c
    M clang/test/ExtractAPI/underscored.c
    A clang/test/Frontend/fixed_point_as_variables.c
    M clang/test/Frontend/fixed_point_conversions.c
    M clang/test/Frontend/fixed_point_errors.cpp
    M clang/test/Frontend/fixed_point_not_enabled.c
    A clang/test/Frontend/llvmplugins.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
    M clang/test/Headers/wasm.c
    M clang/test/Index/recursive-cxx-member-calls.cpp
    M clang/test/Interpreter/const.cpp
    A clang/test/Lexer/has_extension.cu
    M clang/test/Lexer/update_consecutive_macro_address_space.c
    M clang/test/Misc/cc1as-compress.s
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Modules/codegen-visibility.cpp
    A clang/test/Modules/cxx20-importing-function-bodies.cppm
    M clang/test/Modules/decl-params-determinisim.m
    M clang/test/Modules/export-language-linkage.cppm
    A clang/test/Modules/has_include_non_modular.c
    M clang/test/Modules/no-import-func-body.cppm
    A clang/test/Modules/pr71484.cppm
    A clang/test/Modules/pr72828.cppm
    A clang/test/Modules/visibility.cpp
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/atomic_ast_print.cpp
    M clang/test/OpenMP/atomic_messages.cpp
    M clang/test/OpenMP/barrier_ast_print.cpp
    M clang/test/OpenMP/barrier_messages.cpp
    M clang/test/OpenMP/bug54082.c
    M clang/test/OpenMP/bug57757.cpp
    A clang/test/OpenMP/bug69198.c
    M clang/test/OpenMP/cancel_messages.cpp
    M clang/test/OpenMP/cancellation_point_messages.cpp
    M clang/test/OpenMP/declare_target_codegen.cpp
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M clang/test/OpenMP/depobj_messages.cpp
    A clang/test/OpenMP/dispatch_unsupported.c
    M clang/test/OpenMP/error_message.cpp
    M clang/test/OpenMP/flush_messages.cpp
    M clang/test/OpenMP/for_firstprivate_codegen.cpp
    M clang/test/OpenMP/for_lastprivate_codegen.cpp
    M clang/test/OpenMP/for_linear_codegen.cpp
    M clang/test/OpenMP/metadirective_ast_print.c
    M clang/test/OpenMP/metadirective_empty.cpp
    M clang/test/OpenMP/nothing_messages.cpp
    M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
    M clang/test/OpenMP/parallel_private_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/scan_messages.cpp
    M clang/test/OpenMP/sections_firstprivate_codegen.cpp
    M clang/test/OpenMP/single_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_ast_print.cpp
    M clang/test/OpenMP/target_enter_data_nowait_messages.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/taskwait_messages.cpp
    M clang/test/OpenMP/taskyield_messages.cpp
    M clang/test/Parser/c1x-alignas.c
    A clang/test/Parser/c2x-alignas.c
    M clang/test/Parser/cxx0x-attributes.cpp
    M clang/test/Parser/pragma-fp-contract.c
    M clang/test/Parser/pragma-fp.cpp
    A clang/test/ParserHLSL/hlsl_groupshared.cpp
    A clang/test/ParserHLSL/hlsl_parameter_modifiers.cpp
    A clang/test/ParserOpenACC/disabled.c
    A clang/test/ParserOpenACC/parse-constructs.c
    A clang/test/ParserOpenACC/parse-constructs.cpp
    A clang/test/ParserOpenACC/unimplemented.c
    A clang/test/ParserOpenACC/unimplemented.cpp
    R clang/test/Preprocessor/Inputs/canonical-system-headers/a.h
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/bpf-predefined-macros.c
    R clang/test/Preprocessor/canonical-system-headers.c
    A clang/test/Preprocessor/openacc.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/128bitfloat.cpp
    A clang/test/Sema/PR69717.cpp
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M clang/test/Sema/attr-counted-by.c
    M clang/test/Sema/builtin-classify-type.c
    A clang/test/Sema/code_align.c
    A clang/test/Sema/code_align_ast.c
    M clang/test/Sema/eval-method-with-unsafe-math.c
    M clang/test/Sema/nested-redef.c
    M clang/test/Sema/riscv-types.c
    M clang/test/Sema/rvv-required-features.c
    A clang/test/SemaCUDA/implicit-host-device-fun.cu
    A clang/test/SemaCXX/assume-nothrow-exception-dtor.cpp
    M clang/test/SemaCXX/builtin-classify-type.cpp
    M clang/test/SemaCXX/complex-folding.cpp
    A clang/test/SemaCXX/coro-lifetimebound.cpp
    A clang/test/SemaCXX/coro-return-type-and-wrapper.cpp
    A clang/test/SemaCXX/cxx2c-enum-compare.cpp
    A clang/test/SemaCXX/datasizeof.cpp
    M clang/test/SemaCXX/modules.cppm
    M clang/test/SemaCXX/overloaded-operators-display-order-crash.cpp
    A clang/test/SemaCXX/pr61460.cpp
    M clang/test/SemaCXX/static-assert-cxx26.cpp
    M clang/test/SemaCXX/static-assert.cpp
    M clang/test/SemaCXX/template-specialization.cpp
    M clang/test/SemaCXX/type-traits-incomplete.cpp
    A clang/test/SemaCXX/type-traits-nonobject.cpp
    A clang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
    M clang/test/SemaHLSL/BuiltIns/vector-errors.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/parameter_modifiers.hlsl
    A clang/test/SemaHLSL/parameter_modifiers_ast.hlsl
    M clang/test/SemaObjC/ivar-lookup.m
    A clang/test/SemaOpenMP/atomic-capture-const-no-crash.c
    M clang/test/SemaTemplate/nested-deduction-guides.cpp
    A clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/test/lit.cfg.py
    A clang/test/utils/update_cc_test_checks/Inputs/annotations.c
    A clang/test/utils/update_cc_test_checks/Inputs/annotations.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
    M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
    A clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
    A clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
    A clang/test/utils/update_cc_test_checks/annotations.test
    M clang/test/utils/update_cc_test_checks/check-globals.test
    M clang/test/utils/update_cc_test_checks/generated-funcs.test
    M clang/tools/c-index-test/c-index-test.c
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-linker-wrapper/CMakeLists.txt
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
    M clang/tools/clang-linker-wrapper/OffloadWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-scan-deps/Opts.td
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXComment.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/CommentParser.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    A clang/unittests/Analysis/FlowSensitive/SimplifyConstraintsTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/utils/ClangVisualizers/clang.natvis
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/www/analyzer/open_projects.html
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/include/sanitizer/asan_interface.h
    M compiler-rt/include/sanitizer/common_interface_defs.h
    M compiler-rt/include/sanitizer/memprof_interface.h
    M compiler-rt/include/sanitizer/tsan_interface.h
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_descriptions.cpp
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_interceptors.h
    M compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp
    M compiler-rt/lib/asan/asan_internal.h
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_mac.cpp
    M compiler-rt/lib/asan/asan_malloc_win.cpp
    M compiler-rt/lib/asan/asan_report.h
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/asan/asan_stack.cpp
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/assembly.h
    M compiler-rt/lib/builtins/cpu_model.c
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/lsan/lsan_interceptors.cpp
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_interface_internal.h
    M compiler-rt/lib/msan/msan_interceptors.cpp
    A compiler-rt/lib/orc/bitmask_enum.h
    M compiler-rt/lib/orc/simple_packed_serialization.h
    M compiler-rt/lib/orc/stl_extras.h
    M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
    A compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
    M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
    M compiler-rt/lib/profile/InstrProfiling.c
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_dl.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_dl.h
    M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_ring_buffer.h
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
    R compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
    A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
    A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report_fuchsia.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_unwind_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/flags.cpp
    M compiler-rt/lib/scudo/standalone/flags.inc
    M compiler-rt/lib/scudo/standalone/flags_parser.cpp
    M compiler-rt/lib/scudo/standalone/flags_parser.h
    M compiler-rt/lib/scudo/standalone/local_cache.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform.h
    M compiler-rt/lib/xray/xray_utils.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
    A compiler-rt/test/asan/TestCases/Windows/msvc/gz.cpp
    M compiler-rt/test/builtins/Unit/divtc3_test.c
    M compiler-rt/test/builtins/lit.cfg.py
    M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
    A compiler-rt/test/hwasan/TestCases/memset.cpp
    M compiler-rt/test/lit.common.cfg.py
    A compiler-rt/test/memprof/TestCases/profile_reset.cpp
    M compiler-rt/test/msan/Linux/mallinfo.cpp
    A compiler-rt/test/msan/Linux/mallinfo2.cpp
    M compiler-rt/test/msan/vararg.cpp
    A compiler-rt/test/msan/vararg_shadow.cpp
    M compiler-rt/test/profile/Linux/binary-id.c
    A compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
    M compiler-rt/test/tsan/mutex_held_wrong_context.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp
    M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-virtual-base-construction.cpp
    M compiler-rt/www/index.html
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
    A flang/docs/AssumedRank.md
    M flang/docs/BijectiveInternalNameUniquing.md
    M flang/docs/Extensions.md
    M flang/docs/FIR/FIRLangRef_Header.md
    M flang/docs/FlangDriver.md
    M flang/docs/GettingStarted.md
    M flang/docs/HighLevelFIR.md
    M flang/docs/InternalProcedureTrampolines.md
    M flang/docs/IntrinsicTypes.md
    M flang/docs/Intrinsics.md
    A flang/docs/OpenACC-descriptor-management.md
    M flang/docs/OpenACC.md
    M flang/docs/OptionComparison.md
    M flang/docs/ParameterizedDerivedTypes.md
    M flang/docs/PullRequestChecklist.md
    M flang/docs/conf.py
    M flang/docs/index.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Common/enum-class.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/BoxAnalyzer.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertExpr.h
    M flang/include/flang/Lower/ConvertProcedureDesignator.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Command.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/command.h
    M flang/include/flang/Runtime/io-api.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Decimal/CMakeLists.txt
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-complex.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    A flang/lib/Evaluate/fold-matmul.h
    M flang/lib/Evaluate/fold-real.cpp
    M flang/lib/Evaluate/fold-reduction.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Command.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    R flang/lib/Optimizer/Transforms/OMPEarlyOutlining.cpp
    M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/expr-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-data.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/module/__fortran_builtins.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/FortranMain/CMakeLists.txt
    M flang/runtime/character.cpp
    M flang/runtime/command.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/format-implementation.h
    M flang/runtime/format.h
    M flang/runtime/io-api.cpp
    M flang/runtime/random.cpp
    M flang/runtime/tools.cpp
    M flang/runtime/transformational.cpp
    A flang/test/Driver/Inputs/no_duplicate_main.ll
    R flang/test/Driver/OpenMP/host-ir-flag.f90
    A flang/test/Driver/code-object-version.f90
    M flang/test/Driver/compiler_options.f90
    M flang/test/Driver/ctofortran.f90
    A flang/test/Driver/dependent-lib.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Driver/dynamic-linker.f90
    M flang/test/Driver/frontend-forwarding.f90
    A flang/test/Driver/fveclib-codegen.f90
    A flang/test/Driver/fveclib.f90
    A flang/test/Driver/hlfir-no-hlfir-error.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/lto-flags.f90
    A flang/test/Driver/msvc-dependent-lib-flags.f90
    A flang/test/Driver/no_duplicate_main.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Driver/optimization-remark.f90
    M flang/test/Driver/save-mlir-temps.f90
    A flang/test/Evaluate/fold-iostat.f90
    A flang/test/Evaluate/fold-matmul.f90
    M flang/test/Evaluate/fold-out_of_range.f90
    M flang/test/Evaluate/folding04.f90
    M flang/test/Evaluate/folding06.f90
    R flang/test/Fir/achar.f90
    M flang/test/Fir/array-value-copy-4.fir
    A flang/test/Fir/box-offset-codegen.fir
    A flang/test/Fir/box-offset.fir
    M flang/test/Fir/boxproc.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/invalid.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/target-rewrite-boxchar.fir
    M flang/test/Fir/target-rewrite-integer.fir
    M flang/test/Fir/target-rewrite-selective.fir
    M flang/test/Fir/tbaa-codegen2.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/associate-codegen.fir
    A flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/bufferize-destroy-for-derived.fir
    M flang/test/HLFIR/bufferize01.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/get_length_codegen.fir
    M flang/test/HLFIR/hlfir-flags.f90
    M flang/test/HLFIR/mul_transpose.f90
    A flang/test/Integration/OpenMP/host-ir-flag.f90
    A flang/test/Integration/OpenMP/map-types-and-sizes.f90
    A flang/test/Integration/OpenMP/target-filtering.f90
    A flang/test/Integration/README.md
    A flang/test/Lower/AMD/code-object-version.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/assignment-intrinsics.f90
    M flang/test/Lower/HLFIR/associate-for-args-with-alloc-components.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/charconvert.f90
    M flang/test/Lower/HLFIR/constant-character.f90
    M flang/test/Lower/HLFIR/constant-derived.f90
    M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/expr-addr.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/HLFIR/polymorphic-expressions.f90
    A flang/test/Lower/HLFIR/procedure-pointer.f90
    M flang/test/Lower/HLFIR/structure-constructor.f90
    M flang/test/Lower/HLFIR/transformational.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/HLFIR/vector-subscript-lhs.f90
    M flang/test/Lower/Intrinsics/abs.f90
    M flang/test/Lower/Intrinsics/achar.f90
    M flang/test/Lower/Intrinsics/adjustl.f90
    M flang/test/Lower/Intrinsics/adjustr.f90
    M flang/test/Lower/Intrinsics/aint.f90
    M flang/test/Lower/Intrinsics/all.f90
    M flang/test/Lower/Intrinsics/anint.f90
    M flang/test/Lower/Intrinsics/any.f90
    M flang/test/Lower/Intrinsics/associated.f90
    M flang/test/Lower/Intrinsics/atand.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/bge.f90
    M flang/test/Lower/Intrinsics/bgt.f90
    M flang/test/Lower/Intrinsics/ble.f90
    M flang/test/Lower/Intrinsics/blt.f90
    M flang/test/Lower/Intrinsics/btest.f90
    M flang/test/Lower/Intrinsics/c_associated.f90
    M flang/test/Lower/Intrinsics/c_f_pointer.f90
    M flang/test/Lower/Intrinsics/c_funloc.f90
    M flang/test/Lower/Intrinsics/c_loc.f90
    M flang/test/Lower/Intrinsics/cmplx.f90
    M flang/test/Lower/Intrinsics/count.f90
    M flang/test/Lower/Intrinsics/cpu_time.f90
    M flang/test/Lower/Intrinsics/date_and_time.f90
    M flang/test/Lower/Intrinsics/dconjg.f90
    M flang/test/Lower/Intrinsics/dim.f90
    M flang/test/Lower/Intrinsics/dimag.f90
    M flang/test/Lower/Intrinsics/dot_product.f90
    M flang/test/Lower/Intrinsics/dprod.f90
    M flang/test/Lower/Intrinsics/dreal.f90
    M flang/test/Lower/Intrinsics/dshiftl.f90
    M flang/test/Lower/Intrinsics/dshiftr.f90
    M flang/test/Lower/Intrinsics/eoshift.f90
    M flang/test/Lower/Intrinsics/exit-2.f90
    M flang/test/Lower/Intrinsics/exit.f90
    M flang/test/Lower/Intrinsics/exp.f90
    M flang/test/Lower/Intrinsics/extends_type_of.f90
    M flang/test/Lower/Intrinsics/findloc.f90
    M flang/test/Lower/Intrinsics/get_command.f90
    M flang/test/Lower/Intrinsics/get_command_argument-optional.f90
    M flang/test/Lower/Intrinsics/get_command_argument.f90
    M flang/test/Lower/Intrinsics/get_environment_variable-optional.f90
    M flang/test/Lower/Intrinsics/get_environment_variable.f90
    A flang/test/Lower/Intrinsics/getpid.f90
    M flang/test/Lower/Intrinsics/iall.f90
    M flang/test/Lower/Intrinsics/iand.f90
    M flang/test/Lower/Intrinsics/iany.f90
    M flang/test/Lower/Intrinsics/ibclr.f90
    M flang/test/Lower/Intrinsics/ibits.f90
    M flang/test/Lower/Intrinsics/ibset.f90
    M flang/test/Lower/Intrinsics/ichar.f90
    M flang/test/Lower/Intrinsics/ieee_class.f90
    M flang/test/Lower/Intrinsics/ieee_copy_sign.f90
    M flang/test/Lower/Intrinsics/ieee_is_finite.f90
    M flang/test/Lower/Intrinsics/ieee_operator_eq.f90
    M flang/test/Lower/Intrinsics/ieee_rounding.f90
    M flang/test/Lower/Intrinsics/ieee_signbit.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90
    M flang/test/Lower/Intrinsics/index.f90
    M flang/test/Lower/Intrinsics/iparity.f90
    M flang/test/Lower/Intrinsics/is_contiguous.f90
    M flang/test/Lower/Intrinsics/is_iostat_value.f90
    M flang/test/Lower/Intrinsics/ishft.f90
    M flang/test/Lower/Intrinsics/ishftc.f90
    M flang/test/Lower/Intrinsics/lbound.f90
    M flang/test/Lower/Intrinsics/leadz.f90
    M flang/test/Lower/Intrinsics/len.f90
    M flang/test/Lower/Intrinsics/loc.f90
    M flang/test/Lower/Intrinsics/log.f90
    M flang/test/Lower/Intrinsics/maskl.f90
    M flang/test/Lower/Intrinsics/maskr.f90
    M flang/test/Lower/Intrinsics/matmul.f90
    M flang/test/Lower/Intrinsics/max.f90
    M flang/test/Lower/Intrinsics/maxloc.f90
    M flang/test/Lower/Intrinsics/maxval.f90
    M flang/test/Lower/Intrinsics/merge.f90
    M flang/test/Lower/Intrinsics/merge_bits.f90
    M flang/test/Lower/Intrinsics/minloc.f90
    M flang/test/Lower/Intrinsics/minval.f90
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    M flang/test/Lower/Intrinsics/mod.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    M flang/test/Lower/Intrinsics/move_alloc.f90
    M flang/test/Lower/Intrinsics/mvbits.f90
    M flang/test/Lower/Intrinsics/nearest.f90
    M flang/test/Lower/Intrinsics/norm2.f90
    M flang/test/Lower/Intrinsics/not.f90
    M flang/test/Lower/Intrinsics/pack.f90
    M flang/test/Lower/Intrinsics/parity.f90
    M flang/test/Lower/Intrinsics/popcnt.f90
    M flang/test/Lower/Intrinsics/poppar.f90
    M flang/test/Lower/Intrinsics/present.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/random.f90
    M flang/test/Lower/Intrinsics/real.f90
    M flang/test/Lower/Intrinsics/repeat.f90
    M flang/test/Lower/Intrinsics/reshape.f90
    M flang/test/Lower/Intrinsics/rrspacing.f90
    M flang/test/Lower/Intrinsics/same_type_as.f90
    M flang/test/Lower/Intrinsics/scale.f90
    M flang/test/Lower/Intrinsics/scan.f90
    M flang/test/Lower/Intrinsics/selected_int_kind.f90
    M flang/test/Lower/Intrinsics/selected_real_kind.f90
    M flang/test/Lower/Intrinsics/set_exponent.f90
    M flang/test/Lower/Intrinsics/shifta.f90
    M flang/test/Lower/Intrinsics/shiftl.f90
    M flang/test/Lower/Intrinsics/shiftr.f90
    M flang/test/Lower/Intrinsics/size.f90
    M flang/test/Lower/Intrinsics/spacing.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size-2.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    M flang/test/Lower/Intrinsics/trailz.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/transpose_opt.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/Intrinsics/verify.f90
    R flang/test/Lower/OpenACC/HLFIR/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-atomic-capture.f90
    M flang/test/Lower/OpenACC/acc-atomic-read.f90
    M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
    M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
    M flang/test/Lower/OpenACC/acc-atomic-update.f90
    M flang/test/Lower/OpenACC/acc-atomic-write.f90
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-data.f90
    M flang/test/Lower/OpenACC/acc-declare-globals.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    M flang/test/Lower/OpenACC/acc-fixed-form.f
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-init.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenACC/acc-routine-named.f90
    M flang/test/Lower/OpenACC/acc-routine.f90
    M flang/test/Lower/OpenACC/acc-routine02.f90
    A flang/test/Lower/OpenACC/acc-routine03.f90
    A flang/test/Lower/OpenACC/acc-routine04.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90
    M flang/test/Lower/OpenACC/acc-set.f90
    M flang/test/Lower/OpenACC/acc-shutdown.f90
    M flang/test/Lower/OpenACC/acc-unstructured.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    M flang/test/Lower/OpenACC/acc-wait.f90
    M flang/test/Lower/OpenACC/locations.f90
    M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/FIR/array-bounds.f90
    M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    M flang/test/Lower/OpenMP/FIR/atomic-read.f90
    M flang/test/Lower/OpenMP/FIR/atomic-update.f90
    M flang/test/Lower/OpenMP/FIR/atomic-write.f90
    M flang/test/Lower/OpenMP/FIR/copyin.f90
    M flang/test/Lower/OpenMP/FIR/critical.f90
    M flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    M flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    A flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/FIR/default-clause.f90
    M flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/FIR/flush.f90
    M flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/FIR/location.f90
    M flang/test/Lower/OpenMP/FIR/master.f90
    M flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
    R flang/test/Lower/OpenMP/FIR/omp-target-early-outlining.f90
    M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    M flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    M flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/FIR/parallel.f90
    M flang/test/Lower/OpenMP/FIR/private-commonblock.f90
    M flang/test/Lower/OpenMP/FIR/sections.f90
    M flang/test/Lower/OpenMP/FIR/simd.f90
    M flang/test/Lower/OpenMP/FIR/single.f90
    M flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
    M flang/test/Lower/OpenMP/FIR/task.f90
    M flang/test/Lower/OpenMP/FIR/taskgroup.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
    M flang/test/Lower/OpenMP/FIR/unstructured.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    M flang/test/Lower/OpenMP/FIR/wsloop.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    A flang/test/Lower/OpenMP/Todo/task_mergeable.f90
    A flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/declare-target-data.f90
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    A flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/omp-is-gpu.f90
    A flang/test/Lower/OpenMP/parallel-if.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    A flang/test/Lower/OpenMP/parallel-private-clause-str.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/target_cpu_features.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    A flang/test/Lower/achar.f90
    M flang/test/Lower/allocatable-assignment.f90
    M flang/test/Lower/allocatable-callee.f90
    M flang/test/Lower/allocatable-caller.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-return.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocatables.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/allocate-source-allocatables.f90
    M flang/test/Lower/allocate-source-pointers.f90
    M flang/test/Lower/allocated.f90
    M flang/test/Lower/always-execute-loop-body.f90
    M flang/test/Lower/arithmetic-goto.f90
    M flang/test/Lower/array-character.f90
    M flang/test/Lower/array-constructor-1.f90
    M flang/test/Lower/array-constructor-2.f90
    M flang/test/Lower/array-constructor-index.f90
    M flang/test/Lower/array-copy.f90
    M flang/test/Lower/array-derived-assignments.f90
    M flang/test/Lower/array-derived.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-elemental-calls-3.f90
    M flang/test/Lower/array-elemental-calls-char-byval.f90
    M flang/test/Lower/array-elemental-calls-char.f90
    M flang/test/Lower/array-elemental-calls.f90
    M flang/test/Lower/array-elemental-subroutines.f90
    M flang/test/Lower/array-expression-assumed-size.f90
    M flang/test/Lower/array-expression-slice-1.f90
    M flang/test/Lower/array-expression-slice-2.f90
    M flang/test/Lower/array-expression-subscript.f90
    M flang/test/Lower/array-expression.f90
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/array-temp.f90
    M flang/test/Lower/array-user-def-assignments.f90
    M flang/test/Lower/array-wide-char.f90
    M flang/test/Lower/array.f90
    M flang/test/Lower/assignment.f90
    M flang/test/Lower/associate-construct-2.f90
    M flang/test/Lower/associate-construct.f90
    M flang/test/Lower/assumed-shape-callee.f90
    M flang/test/Lower/assumed-shape-caller.f90
    M flang/test/Lower/assumed-type.f90
    M flang/test/Lower/basic-call.f90
    M flang/test/Lower/basic-function.f90
    M flang/test/Lower/block.f90
    M flang/test/Lower/c-interoperability-c-pointer.f90
    M flang/test/Lower/c-interoperability.f90
    M flang/test/Lower/c_ptr-constant-init.f90
    M flang/test/Lower/call-by-value-attr.f90
    M flang/test/Lower/call-by-value.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/call-implicit.f90
    M flang/test/Lower/call-parenthesized-arg.f90
    M flang/test/Lower/call-suspect.f90
    M flang/test/Lower/call.f90
    M flang/test/Lower/character-assignment.f90
    M flang/test/Lower/character-concatenation.f90
    M flang/test/Lower/character-elemental.f90
    M flang/test/Lower/character-local-variables.f90
    M flang/test/Lower/character-substrings.f90
    M flang/test/Lower/complex-operations.f90
    M flang/test/Lower/complex-real.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/computed-goto.f90
    M flang/test/Lower/constant-literal-mangling.f90
    M flang/test/Lower/control-flow.f90
    M flang/test/Lower/cray-pointer.f90
    M flang/test/Lower/default-initialization-globals.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/dense-attributed-array.f90
    M flang/test/Lower/derived-allocatable-components.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/derived-pointer-components.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-type-temp.f90
    M flang/test/Lower/derived-types.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/do_loop.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
    M flang/test/Lower/dummy-argument-contiguous.f90
    M flang/test/Lower/dummy-argument-optional-2.f90
    M flang/test/Lower/dummy-argument-optional.f90
    M flang/test/Lower/dummy-arguments.f90
    M flang/test/Lower/dummy-procedure-character.f90
    M flang/test/Lower/dummy-procedure-in-entry.f90
    M flang/test/Lower/dummy-procedure.f90
    M flang/test/Lower/entry-statement.f90
    M flang/test/Lower/equivalence-1.f90
    M flang/test/Lower/equivalence-2.f90
    M flang/test/Lower/equivalence-with-host-assoc.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/explicit-interface-results.f90
    M flang/test/Lower/ext-proc-as-actual-argument-1.f90
    M flang/test/Lower/ext-proc-as-actual-argument-2.f90
    M flang/test/Lower/fail_image.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/forall/array-pointer.f90
    M flang/test/Lower/forall/array-subscripts.f90
    M flang/test/Lower/forall/character-1.f90
    M flang/test/Lower/forall/degenerate.f90
    M flang/test/Lower/forall/forall-2.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/forall/forall-allocatable.f90
    M flang/test/Lower/forall/forall-array.f90
    M flang/test/Lower/forall/forall-construct-2.f90
    M flang/test/Lower/forall/forall-construct-3.f90
    M flang/test/Lower/forall/forall-construct-4.f90
    M flang/test/Lower/forall/forall-construct.f90
    M flang/test/Lower/forall/forall-ranked.f90
    M flang/test/Lower/forall/forall-slice.f90
    M flang/test/Lower/forall/forall-stmt.f90
    M flang/test/Lower/forall/forall-where-2.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/forall/scalar-substring.f90
    M flang/test/Lower/forall/test9.f90
    M flang/test/Lower/global-format-strings.f90
    M flang/test/Lower/goto-do-body.f90
    M flang/test/Lower/goto-statement.f90
    M flang/test/Lower/host-associated-functions.f90
    M flang/test/Lower/host-associated-globals.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/identical-block-merge-disable.f90
    M flang/test/Lower/implicit-call-mismatch.f90
    M flang/test/Lower/implicit-interface.f90
    M flang/test/Lower/infinite_loop.f90
    M flang/test/Lower/integer-operations.f90
    M flang/test/Lower/intentout-deallocate.f90
    M flang/test/Lower/io-char-array.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/test/Lower/io-item-list.f90
    M flang/test/Lower/io-statement-1.f90
    M flang/test/Lower/io-statement-2.f90
    M flang/test/Lower/io-statement-3.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/io-statement-open-options.f90
    M flang/test/Lower/io-write.f90
    M flang/test/Lower/logical-operations.f90
    M flang/test/Lower/loops.f90
    M flang/test/Lower/loops2.f90
    M flang/test/Lower/memory-alloc.f90
    M flang/test/Lower/mixed_loops.f90
    M flang/test/Lower/namelist-common-block.f90
    M flang/test/Lower/namelist.f90
    M flang/test/Lower/nested-where.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/nullify.f90
    M flang/test/Lower/optional-value-caller.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/pointer-args-caller.f90
    M flang/test/Lower/pointer-assignments.f90
    M flang/test/Lower/pointer-association-polymorphic.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/pointer-disassociate.f90
    M flang/test/Lower/pointer-initial-target-2.f90
    M flang/test/Lower/pointer-initial-target.f90
    M flang/test/Lower/pointer-references.f90
    M flang/test/Lower/pointer-results-as-arguments.f90
    M flang/test/Lower/pointer-runtime.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic-types.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/procedure-declarations.f90
    M flang/test/Lower/read-write-buffer.f90
    M flang/test/Lower/real-operations-1.f90
    M flang/test/Lower/real-operations-2.f90
    M flang/test/Lower/return-statement.f90
    M flang/test/Lower/select-case-statement.f90
    M flang/test/Lower/select-type-2.f90
    M flang/test/Lower/select-type-2.fir
    M flang/test/Lower/select-type.f90
    M flang/test/Lower/statement-function.f90
    M flang/test/Lower/stop-statement.f90
    M flang/test/Lower/structure-constructors.f90
    M flang/test/Lower/submodule.f90
    M flang/test/Lower/transformational-intrinsics.f90
    M flang/test/Lower/user-defined-operators.f90
    M flang/test/Lower/variable-inquiries.f90
    M flang/test/Lower/vector-subscript-io.f90
    M flang/test/Lower/where-allocatable-assignments.f90
    M flang/test/Lower/where.f90
    M flang/test/Lower/while_loop.f90
    M flang/test/Lower/zero-size.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    M flang/test/Parser/acc-unparse.f90
    M flang/test/Parser/badlabel.f
    M flang/test/Parser/continuation-before-quote.f90
    M flang/test/Parser/excessive-continuations.f90
    A flang/test/Preprocessing/disable-expansion.F90
    M flang/test/Semantics/OpenACC/acc-branch.f90
    M flang/test/Semantics/OpenACC/acc-data.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90
    M flang/test/Semantics/OpenACC/acc-serial.f90
    M flang/test/Semantics/OpenMP/copying.f90
    A flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    A flang/test/Semantics/OpenMP/declare-target07.f90
    A flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    A flang/test/Semantics/OpenMP/symbol09.f90
    A flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/allocate09.f90
    M flang/test/Semantics/associated.f90
    M flang/test/Semantics/bind-c02.f90
    M flang/test/Semantics/bind-c06.f90
    M flang/test/Semantics/bind-c11.f90
    M flang/test/Semantics/bindings01.f90
    M flang/test/Semantics/block-data01.f90
    M flang/test/Semantics/blockconstruct01.f90
    M flang/test/Semantics/c_loc01.f90
    M flang/test/Semantics/call01.f90
    M flang/test/Semantics/call02.f90
    M flang/test/Semantics/call03.f90
    M flang/test/Semantics/call09.f90
    M flang/test/Semantics/call13.f90
    M flang/test/Semantics/call14.f90
    M flang/test/Semantics/call31.f90
    M flang/test/Semantics/call39.f90
    M flang/test/Semantics/call40.f90
    M flang/test/Semantics/common-blocks-warn.f90
    M flang/test/Semantics/common-blocks.f90
    M flang/test/Semantics/data06.f90
    M flang/test/Semantics/data08.f90
    M flang/test/Semantics/data11.f90
    M flang/test/Semantics/data14.f90
    M flang/test/Semantics/data17.f90
    M flang/test/Semantics/declarations04.f90
    A flang/test/Semantics/declarations07.f90
    M flang/test/Semantics/dim01.f90
    M flang/test/Semantics/expr-errors05.f90
    M flang/test/Semantics/expr-errors06.f90
    M flang/test/Semantics/generic06.f90
    M flang/test/Semantics/ignore_tkr01.f90
    M flang/test/Semantics/io03.f90
    M flang/test/Semantics/io11.f90
    R flang/test/Semantics/label18.f90#
    M flang/test/Semantics/long-name.f90
    M flang/test/Semantics/misc-declarations.f90
    M flang/test/Semantics/modfile43.f90
    M flang/test/Semantics/modfile54.f90
    M flang/test/Semantics/pointer01.f90
    M flang/test/Semantics/procinterface02.f90
    M flang/test/Semantics/procinterface04.f90
    M flang/test/Semantics/resolve05.f90
    M flang/test/Semantics/resolve106.f90
    M flang/test/Semantics/resolve114.f90
    M flang/test/Semantics/resolve118.f90
    M flang/test/Semantics/resolve20.f90
    M flang/test/Semantics/resolve46.f90
    M flang/test/Semantics/resolve59.f90
    M flang/test/Semantics/resolve85.f90
    M flang/test/Semantics/select-rank03.f90
    M flang/test/Semantics/stmt-func01.f90
    M flang/test/Semantics/stmt-func02.f90
    M flang/test/Transforms/omp-function-filtering.mlir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/Transforms/stack-arrays.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/Evaluate/expression.cpp
    M flang/unittests/Evaluate/folding.cpp
    M flang/unittests/Evaluate/intrinsics.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
    M flang/unittests/Runtime/CommandTest.cpp
    M flang/unittests/Runtime/ExternalIOTest.cpp
    M flang/unittests/Runtime/Format.cpp
    M flang/unittests/Runtime/RuntimeCrashTest.cpp
    M libc/CMakeLists.txt
    A libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    A libc/cmake/modules/compiler_features/check_float128.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    A libc/cmake/modules/system_features/check_sys_random.cpp
    M libc/config/CMakeLists.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/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    A libc/config/linux/x86_64/exclude.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/dev/api_test.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/code_style.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/implementation_standard.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/math/index.rst
    M libc/docs/strings.rst
    M libc/include/CMakeLists.txt
    A libc/include/llvm-libc-types/ACTION.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/ENTRY.h
    A libc/include/llvm-libc-types/struct_hsearch_data.h
    A libc/include/search.h.def
    M libc/spec/gnu_ext.td
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/optional.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    R libc/src/__support/FPUtil/PlatformDefs.h
    M libc/src/__support/FPUtil/arm/FEnvImpl.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    A libc/src/__support/HashTable/CMakeLists.txt
    A libc/src/__support/HashTable/bitmask.h
    A libc/src/__support/HashTable/generic/bitmask_impl.inc
    A libc/src/__support/HashTable/randomness.h
    A libc/src/__support/HashTable/sse2/bitmask_impl.inc
    A libc/src/__support/HashTable/table.h
    M libc/src/__support/UInt.h
    A libc/src/__support/bit.h
    R libc/src/__support/builtin_wrappers.h
    M libc/src/__support/char_vector.h
    A libc/src/__support/hash.h
    M libc/src/__support/integer_operations.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/macros/properties/CMakeLists.txt
    M libc/src/__support/macros/properties/compiler.h
    A libc/src/__support/macros/properties/float.h
    A libc/src/__support/macros/properties/os.h
    M libc/src/__support/macros/sanitizer.h
    A libc/src/__support/math_extras.h
    A libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/copysignf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/common_constants.cpp
    M libc/src/math/generic/common_constants.h
    A libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/exp10f.cpp
    A libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2f.cpp
    A libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/log2f.cpp
    A libc/src/math/generic/nexttoward.cpp
    A libc/src/math/generic/nexttowardf.cpp
    A libc/src/math/generic/nexttowardl.cpp
    A libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sinhf.cpp
    A libc/src/math/nexttoward.h
    A libc/src/math/nexttowardf.h
    A libc/src/math/nexttowardl.h
    A libc/src/search/CMakeLists.txt
    A libc/src/search/hcreate.cpp
    A libc/src/search/hcreate.h
    A libc/src/search/hcreate_r.cpp
    A libc/src/search/hcreate_r.h
    A libc/src/search/hdestroy.cpp
    A libc/src/search/hdestroy.h
    A libc/src/search/hdestroy_r.cpp
    A libc/src/search/hdestroy_r.h
    A libc/src/search/hsearch.cpp
    A libc/src/search/hsearch.h
    A libc/src/search/hsearch/CMakeLists.txt
    A libc/src/search/hsearch/global.cpp
    A libc/src/search/hsearch/global.h
    A libc/src/search/hsearch_r.cpp
    A libc/src/search/hsearch_r.h
    M libc/src/string/CMakeLists.txt
    M libc/src/string/memmem.cpp
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/integration/startup/gpu/init_fini_array_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/optional_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    A libc/test/src/__support/HashTable/CMakeLists.txt
    A libc/test/src/__support/HashTable/bitmask_test.cpp
    A libc/test/src/__support/HashTable/group_test.cpp
    A libc/test/src/__support/HashTable/table_test.cpp
    A libc/test/src/__support/bit_test.cpp
    A libc/test/src/__support/hash_test.cpp
    A libc/test/src/__support/math_extras_test.cpp
    A libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/fcntl/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/atanf_test.cpp
    A libc/test/src/math/powf_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    A libc/test/src/math/smoke/NextTowardTest.h
    A libc/test/src/math/smoke/copysignf128_test.cpp
    A libc/test/src/math/smoke/nexttoward_test.cpp
    A libc/test/src/math/smoke/nexttowardf_test.cpp
    A libc/test/src/math/smoke/nexttowardl_test.cpp
    A libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/sched/CMakeLists.txt
    A libc/test/src/search/CMakeLists.txt
    A libc/test/src/search/hsearch_test.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    M libc/test/src/sys/random/linux/CMakeLists.txt
    M libc/test/src/sys/select/CMakeLists.txt
    M libc/test/src/sys/utsname/CMakeLists.txt
    M libc/test/src/termios/CMakeLists.txt
    M libc/test/src/unistd/CMakeLists.txt
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp
    M libc/utils/gpu/server/rpc_server.cpp
    M libcxx/.clang-format
    M libcxx/CMakeLists.txt
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/algorithms/for_each.bench.cpp
    M libcxx/benchmarks/filesystem.bench.cpp
    M libcxx/benchmarks/stringstream.bench.cpp
    A libcxx/cmake/caches/Armv7M-picolibc.cmake
    R libcxx/cmake/caches/Generic-debug-mode.cmake
    R libcxx/cmake/caches/Generic-hardened-mode-with-abi-breaks.cmake
    R libcxx/cmake/caches/Generic-hardened-mode.cmake
    A libcxx/cmake/caches/Generic-hardening-mode-debug.cmake
    A libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    A libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    A libcxx/cmake/caches/Generic-hardening-mode-fast.cmake
    R libcxx/cmake/caches/Generic-safe-mode.cmake
    M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Hardening.rst
    M libcxx/docs/Helpers/Styles.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/docs/Status/PSTLPaper.csv
    M libcxx/docs/Status/ParallelismProjects.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/docs/index.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/comp.h
    M libcxx/include/__algorithm/comp_ref_type.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/pstl_backend.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
    A libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/__algorithm/pstl_move.h
    M libcxx/include/__algorithm/pstl_rotate_copy.h
    M libcxx/include/__algorithm/ranges_equal_range.h
    M libcxx/include/__algorithm/ranges_find_if_not.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_copy.h
    M libcxx/include/__algorithm/ranges_replace.h
    M libcxx/include/__algorithm/ranges_replace_copy.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__algorithm/three_way_comp_ref_type.h
    M libcxx/include/__atomic/aliases.h
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_init.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    M libcxx/include/__availability
    M libcxx/include/__chrono/file_clock.h
    M libcxx/include/__config
    M libcxx/include/__config_site.in
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/file_time_type.h
    M libcxx/include/__filesystem/file_type.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/space_info.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__locale
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__numeric/pstl_transform_reduce.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__std_clang_module
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__type_traits/is_equality_comparable.h
    M libcxx/include/__type_traits/operation_traits.h
    R libcxx/include/__type_traits/predicate_traits.h
    A libcxx/include/__utility/no_destroy.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/__verbose_abort
    M libcxx/include/algorithm
    M libcxx/include/atomic
    M libcxx/include/codecvt
    M libcxx/include/cstdio
    M libcxx/include/deque
    M libcxx/include/experimental/__config
    M libcxx/include/experimental/__simd/abi_tag.h
    M libcxx/include/experimental/__simd/aligned_tag.h
    M libcxx/include/experimental/__simd/declaration.h
    M libcxx/include/experimental/__simd/internal_declaration.h
    M libcxx/include/experimental/__simd/reference.h
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/traits.h
    M libcxx/include/experimental/__simd/utility.h
    M libcxx/include/experimental/__simd/vec_ext.h
    R libcxx/include/experimental/deque
    R libcxx/include/experimental/forward_list
    R libcxx/include/experimental/list
    R libcxx/include/experimental/map
    A libcxx/include/experimental/memory
    R libcxx/include/experimental/memory_resource
    R libcxx/include/experimental/regex
    R libcxx/include/experimental/set
    R libcxx/include/experimental/string
    R libcxx/include/experimental/unordered_map
    R libcxx/include/experimental/unordered_set
    R libcxx/include/experimental/vector
    M libcxx/include/format
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/mdspan
    M libcxx/include/module.modulemap.in
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/sstream
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    A libcxx/include/syncstream
    M libcxx/include/variant
    M libcxx/include/version
    M libcxx/modules/std.cppm.in
    M libcxx/modules/std/codecvt.inc
    M libcxx/modules/std/format.inc
    M libcxx/modules/std/iosfwd.inc
    M libcxx/modules/std/syncstream.inc
    M libcxx/src/CMakeLists.txt
    M libcxx/src/atomic.cpp
    M libcxx/src/barrier.cpp
    A libcxx/src/call_once.cpp
    M libcxx/src/condition_variable.cpp
    M libcxx/src/condition_variable_destructor.cpp
    A libcxx/src/experimental/keep.cpp
    R libcxx/src/experimental/memory_resource.cpp
    R libcxx/src/experimental/memory_resource_init_helper.h
    M libcxx/src/filesystem/directory_entry.cpp
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/future.cpp
    M libcxx/src/include/ryu/common.h
    M libcxx/src/include/ryu/d2s_intrinsics.h
    M libcxx/src/include/sso_allocator.h
    M libcxx/src/ios.instantiations.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/memory_resource.cpp
    M libcxx/src/mutex.cpp
    M libcxx/src/mutex_destructor.cpp
    M libcxx/src/print.cpp
    M libcxx/src/ryu/d2fixed.cpp
    M libcxx/src/ryu/d2s.cpp
    M libcxx/src/ryu/f2s.cpp
    M libcxx/src/shared_mutex.cpp
    M libcxx/src/thread.cpp
    A libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
    M libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp
    M libcxx/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp
    M libcxx/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp
    R libcxx/test/libcxx/assertions/deprecated-link-time-custom-handler.pass.cpp
    M libcxx/test/libcxx/assertions/modes/debug.pass.cpp
    R libcxx/test/libcxx/assertions/modes/debug_mode_disabled_in_tu.pass.cpp
    R libcxx/test/libcxx/assertions/modes/debug_mode_enabled_in_tu.pass.cpp
    R libcxx/test/libcxx/assertions/modes/debug_mode_not_1_or_0.verify.cpp
    A libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
    R libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_safe_mode.pass.cpp
    A libcxx/test/libcxx/assertions/modes/extensive.pass.cpp
    A libcxx/test/libcxx/assertions/modes/fast.pass.cpp
    R libcxx/test/libcxx/assertions/modes/hardened.pass.cpp
    R libcxx/test/libcxx/assertions/modes/hardened_and_debug_mutually_exclusive.verify.cpp
    R libcxx/test/libcxx/assertions/modes/hardened_and_safe_mutually_exclusive.verify.cpp
    R libcxx/test/libcxx/assertions/modes/hardened_mode_disabled_in_tu.pass.cpp
    R libcxx/test/libcxx/assertions/modes/hardened_mode_enabled_in_tu.pass.cpp
    R libcxx/test/libcxx/assertions/modes/hardened_mode_not_1_or_0.verify.cpp
    A libcxx/test/libcxx/assertions/modes/hardening_mode_incorrect_value.sh.cpp
    A libcxx/test/libcxx/assertions/modes/none.pass.cpp
    A libcxx/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp
    A libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
    A libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
    A libcxx/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp
    R libcxx/test/libcxx/assertions/modes/safe.pass.cpp
    R libcxx/test/libcxx/assertions/modes/safe_and_debug_mutually_exclusive.verify.cpp
    R libcxx/test/libcxx/assertions/modes/safe_mode_disabled_in_tu.pass.cpp
    R libcxx/test/libcxx/assertions/modes/safe_mode_enabled_in_tu.pass.cpp
    R libcxx/test/libcxx/assertions/modes/safe_mode_not_1_or_0.verify.cpp
    R libcxx/test/libcxx/assertions/modes/unchecked.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.back.pass.cpp
    M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.front.pass.cpp
    M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.subscript.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.back.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.cback.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.cfront.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.cindex.oob.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.front.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.index.oob.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
    R libcxx/test/libcxx/depr/depr.c.headers/no_fgetpos_fsetpos.verify.cpp
    M libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
    R libcxx/test/libcxx/experimental/lit.local.cfg
    R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/assert.deallocate.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/assert.deallocate.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.resource.global/global_memory_resource_lifetime.pass.cpp
    R libcxx/test/libcxx/experimental/memory/memory.resource.global/new_delete_resource_lifetime.pass.cpp
    A libcxx/test/libcxx/headers_in_modulemap.sh.py
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/libcxx/iterators/assert.advance.pass.cpp
    M libcxx/test/libcxx/iterators/assert.next.pass.cpp
    M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
    M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.drop.while/assert.begin.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
    M libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp
    M libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp
    M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    M libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
    M libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
    M libcxx/test/libcxx/strings/basic.string/string.access/assert.back.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.access/assert.cback.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.access/assert.cfront.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.access/assert.cindex.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.access/assert.front.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.access/assert.index.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.erase_iter.null.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.pop_back.pass.cpp
    M libcxx/test/libcxx/strings/string.view/assert.ctor.length.pass.cpp
    M libcxx/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp
    M libcxx/test/libcxx/strings/string.view/string.view.iterators/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception.pass.cpp
    M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception_at_thread_exit.pass.cpp
    M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
    M libcxx/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp
    M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
    M libcxx/test/libcxx/thread/thread.latch/assert.count_down.pass.cpp
    M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
    M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
    M libcxx/test/libcxx/thread/thread.semaphore/assert.release.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/transitive_includes_to_csv.py
    M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/assert.arrow.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/assert.deref.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/assert.error.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/assert.deref.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/assert.error.pass.cpp
    M libcxx/test/libcxx/utilities/meta/stress_tests/stress_test_variant_overloads_impl.sh.cpp
    M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.dereference.pass.cpp
    M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.op_arrow.pass.cpp
    M libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/ranges.adjacent_find.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/ranges.all_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/ranges.any_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if_not.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/ranges.none_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.clamp/assert.ranges_clamp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.clamp/ranges.clamp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.pop_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.ranges_pop_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/ranges.lexicographical_compare.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    A libcxx/test/std/algorithms/ranges_robust_against_nonbool.compile.pass.cpp
    R libcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/copy.compile.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
    M libcxx/test/std/atomics/types.pass.cpp
    M libcxx/test/std/concepts/concepts.object/semiregular.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/prepend_range.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
    M libcxx/test/std/containers/views/mdspan/MinimalElementType.h
    M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
    M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/stdio_h.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/compare.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.convert.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.default.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.element_type.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.nullptr.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/deref.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/get.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/hash.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/make_observer.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/operator-bool.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/operator-element_type.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/release.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/reset.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/swap.pass.cpp
    A libcxx/test/std/experimental/memory/memory.observer.ptr/types.compile.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/assign.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/copy.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/other_alloc.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair_evil.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/destroy.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/select_on_container_copy_construction.pass.cpp
    R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.overview/nothing_to_do.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.overview/overview.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_deque_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_forward_list_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_list_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_regex_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_map_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_set_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.aliases/header_vector_synop.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource.synop/nothing_to_do.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/construct.verify.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.overview/nothing_to_do.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.priv/private_members.verify.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
    R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp
    A libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_default.pass.cpp
    A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_default.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/experimental/simd/test_utils.h
    M libcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/buffered_reads.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/buffered_writes.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
    R libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.cpp
    A libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path_helper.h
    M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    R libcxx/test/std/input.output/filesystems/fs.req.namespace/namespace.verify.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/println.file.pass.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_unicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/assign.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/members/emit.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/members/get_wrapped.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/members/rdbuf.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.move.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.ostream.allocator.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.ostream.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.pointer.allocator.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.pointer.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/thread/basic.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/thread/several_threads.pass.cpp
    A libcxx/test/std/input.output/syncstream/osyncstream/types.compile.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/helpers.h
    A libcxx/test/std/input.output/syncstream/syncbuf/sputc.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/sputn.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/sync.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/assign.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/swap.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.default.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.move.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.pointer.allocator.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.pointer.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/dtor.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/emit.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/get_allocator.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/get_wrapped.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/set_emit_on_sync.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.special/swap.pass.cpp
    A libcxx/test/std/input.output/syncstream/syncbuf/types.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
    R libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.cpp
    A libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
    A libcxx/test/std/localization/codecvt_unicode.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_mode.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_always_noconv.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_encoding.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_max_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_out.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_unshift.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_always_noconv.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_encoding.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_max_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_out.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_unshift.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_always_noconv.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_encoding.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_in.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_max_length.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_out.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_unshift.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/depr.verify.cpp
    A libcxx/test/std/localization/locale.stdcvt/remove.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
    M libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
    M libcxx/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
    M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/default.pass.cpp
    M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/start_size_stride.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/decrement.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/increment.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/iter_move.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/iter_swap.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.other.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h
    M libcxx/test/std/ranges/range.adaptors/range.reverse/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_move.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_swap.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/types.h

  Log Message:
  -----------
  Add NoteTemplateLocation and external source notes

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/cab6bcd73081...cc33f2e1bf31


More information about the All-commits mailing list