[all-commits] [llvm/llvm-project] 7f518e: [DAG] Add a one-use check to concat -> scalar_to_v...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Tue Jan 30 12:42:56 PST 2024


  Branch: refs/heads/users/alexey-bataev/spr/ttifallback-to-singlesrcpermute-shuffle-kind-if-no-direct-estimation-for
  Home:   https://github.com/llvm/llvm-project
  Commit: 7f518ee9eaa53fcd475e374aaed05ada4573d115
      https://github.com/llvm/llvm-project/commit/7f518ee9eaa53fcd475e374aaed05ada4573d115
  Author: David Green <david.green at arm.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/pr79100.ll

  Log Message:
  -----------
  [DAG] Add a one-use check to concat -> scalar_to_vector fold. (#79510)

Without this we can end up with multiple copies from gpr->fpr.


  Commit: 5f22d3356cda0a9b1521c839c006f61b5cc504fc
      https://github.com/llvm/llvm-project/commit/5f22d3356cda0a9b1521c839c006f61b5cc504fc
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Breakpoint/BreakpointID.h
    M lldb/include/lldb/Breakpoint/BreakpointIDList.h
    M lldb/source/Breakpoint/BreakpointIDList.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp

  Log Message:
  -----------
  [lldb][NFCI] Change BreakpointIDList::FindBreakpointID to BreakpointIDList::Contains (#79517)

`FindBreakpointID` take a BreakpointID and a pointer to a size_t (so you
can get position information). It returns a bool to indicate whether the
id was found in the list or not.

There are 2 callers of this currently and neither one actually uses the
position information, so I removed it. After that, I renamed it to
Contains to more accurately reflect the intent. Additionally, I changed
the argument type from a reference to a value (because BreakpointID is
just a wrapper around 2 integers, copies are cheap).


  Commit: 176d07d360094b366b25cc009846ec64ac7d8040
      https://github.com/llvm/llvm-project/commit/176d07d360094b366b25cc009846ec64ac7d8040
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Event.h
    M lldb/source/API/SBEvent.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Utility/Event.cpp

  Log Message:
  -----------
  [lldb][NFCI] Constrain EventDataBytes creation (#79508)

There are 3 ways to create an EventDataBytes object: (const char *),
(llvm::StringRef), and (const void *, size_t len). All of these cases
can be handled under `llvm::StringRef`. Additionally, this allows us to
remove the otherwise unused `SetBytes`, `SwapBytes`, and
`SetBytesFromCString` methods.


  Commit: bee1557ffc98e51ee714bab93cef011fe42468ab
      https://github.com/llvm/llvm-project/commit/bee1557ffc98e51ee714bab93cef011fe42468ab
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [NFC][AArch64] Fix indentation.


  Commit: a58c62fa824fd24d20fa2366e0ec8f241cb321fe
      https://github.com/llvm/llvm-project/commit/a58c62fa824fd24d20fa2366e0ec8f241cb321fe
  Author: Adhemerval Zanella <zatrazz at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    A llvm/test/CodeGen/X86/note-cet-property-inlineasm.ll

  Log Message:
  -----------
  [X86] Do not end 'note.gnu.property' section with -fcf-protection (#79360)

The glibc now adds the required minimum ISA level for libc-nonshared.a
(linked on all programs) and this is done with an inline asm along with
.note.gnu.property and .pushsection/.popsection. However, the x86
backend always ends the 'note.gnu.property' section when building with
-fcf-protection, leading to assert failure:

llvm/llvm-project-git/llvm/lib/MC/MCStreamer.cpp:1251: virtual void
llvm::MCStreamer::switchSection(llvm::MCSection*, const llvm::MCExpr*):
Assertion `!Section->hasEnded() && "Section already ended"' failed.

[1]
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86/isa-level.c;h=3f1b269848a52f994275bab6f60dded3ded6b144;hb=HEAD


  Commit: 02d3a799e7eb2997950d6a288a08a5e51ff0ff59
      https://github.com/llvm/llvm-project/commit/02d3a799e7eb2997950d6a288a08a5e51ff0ff59
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/Broadcaster.cpp

  Log Message:
  -----------
  [lldb][NFCI] Remove EventData* parameter from BroadcastEventIfUnique (#79045)

Instead of passing the data to BroadcastEventIfUnique to create an Event
object on the behalf of the caller, the caller can create the Event
up-front.


  Commit: 26cc651f1b2a9c74ce332a14f0e35c03db34876b
      https://github.com/llvm/llvm-project/commit/26cc651f1b2a9c74ce332a14f0e35c03db34876b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lld/ELF/InputSection.h

  Log Message:
  -----------
  [ELF] Improve comment of InputSection::file and update getFile. NFC (#79550)

Clarify a comment after #78944.

All uses of `getFile()` assert `file` is non-null. `getFile` is not used
with a
synthetic section. Replace `cast_or_null` with `cast`.


  Commit: 59f05239dbbc2c37d9de2bf638a64e1e9abd9163
      https://github.com/llvm/llvm-project/commit/59f05239dbbc2c37d9de2bf638a64e1e9abd9163
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M libcxx/test/libcxx/fuzzing/random.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp

  Log Message:
  -----------
  [libc++] Add clang-19 to failing tests on Windows (#79619)

After trunk is bumped to version 19, some libc++ tests started failing
on Windows. This patch adds clang-19 condition to XFAIL to fix the
issue.


  Commit: 6c74d8083bd97ff47cadb43cdf03da35f450389a
      https://github.com/llvm/llvm-project/commit/6c74d8083bd97ff47cadb43cdf03da35f450389a
  Author: Nour1248 <nourfouad1248 at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [clangd] fix clang-tidy warning (llvm-qualified-auto) (#79617)


  Commit: 2a068507016e476893b6b1b9c55b255dbae5829e
      https://github.com/llvm/llvm-project/commit/2a068507016e476893b6b1b9c55b255dbae5829e
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/CalledOnceCheck.cpp
    M clang/test/SemaObjC/warn-called-once.m

  Log Message:
  -----------
  [-Wcompletion-handler] Fix a non-termination issue (#78380)

The Called-Once dataflow analysis could never terminate as a
consequence of non-monotonic update on states.  States of kind Escape
can override states leading to non-monotonic update.

This fix disallows the `Escape` state to override the `Reported`
state.

rdar://119671856


  Commit: 59bf60519fc30d9d36c86abd83093b068f6b1e4b
      https://github.com/llvm/llvm-project/commit/59bf60519fc30d9d36c86abd83093b068f6b1e4b
  Author: Oskar Wirga <10386631+oskarwirga at users.noreply.github.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
    M llvm/test/CodeGen/SystemZ/branch-folder-hoist-livein.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-default.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize-strd-lr.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-vpt-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/spillingmove.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir

  Log Message:
  -----------
  Refactor recomputeLiveIns to operate on whole CFG (#79498)

Currently, the way that recomputeLiveIns works is that it will recompute
the livein registers for that MachineBasicBlock but it matters what
order you call recomputeLiveIn which can result in incorrect register
allocations down the line.

This PR fixes that by simply recomputing the liveins for the entire CFG
until convergence is achieved. This makes it harder to introduce subtle
bugs which alter liveness.


  Commit: d2c816734526312551e99c14d243c87795b6d3f3
      https://github.com/llvm/llvm-project/commit/d2c816734526312551e99c14d243c87795b6d3f3
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml

  Log Message:
  -----------
  [workflows] Use a custom token for creating backport PRs (#79501)

The CI tests don't get triggered if a PR is created by the builtin
github token, so we need to use a custom token when creating a PR.


  Commit: 55c6d9103444aaf70bf680c3768c14e8649bf580
      https://github.com/llvm/llvm-project/commit/55c6d9103444aaf70bf680c3768c14e8649bf580
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/shift-add.ll

  Log Message:
  -----------
  [InstCombine] Preserve nuw/nsw/exact flags when transforming (C shift (A add nuw C1)) --> ((C shift C1) shift A). (#79490)

If we weren't shifting out any non-zero bits or changing the sign before the transform, we
shouldn't be after.

Alive2: https://alive2.llvm.org/ce/z/mB-rWz


  Commit: 554540611201e06318a53b920d4d98a8e582a247
      https://github.com/llvm/llvm-project/commit/554540611201e06318a53b920d4d98a8e582a247
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M libcxx/include/__thread/poll_with_backoff.h

  Log Message:
  -----------
  [libc++][NFC] Improve variable naming in __libcpp_thread_poll_with_backoff (#79638)

I noticed that the parameter names used in that function were not very
descriptive during a recent review.


  Commit: e4afffbe8cc31278a9006712e7323d49eae9dbb6
      https://github.com/llvm/llvm-project/commit/e4afffbe8cc31278a9006712e7323d49eae9dbb6
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    A llvm/utils/mlgo-utils/mlgo/corpus/__init__.py
    M llvm/utils/mlgo-utils/tests/lit.local.cfg
    A llvm/utils/mlgo-utils/tests/pytype.test

  Log Message:
  -----------
  [MLGO] Add pytype test (#79558)

This patch adds a pytype test to the mlgo-utils lit test suite to
prevent regressions in typing while we wait to setup precommit CI for
this specific project.

This is somewhat hacky, but is a temporary fix and will be pulled out
soonish. It also should only impact the ML buildbots as they are the
only ones that should have `pytype` installed.


  Commit: 82afd9b19aa4b41be98ebec517bd390f33906fae
      https://github.com/llvm/llvm-project/commit/82afd9b19aa4b41be98ebec517bd390f33906fae
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    A libcxx/trigger
    M libcxx/utils/ci/buildkite-pipeline.yml
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Use GitHub-provided runners for the windows CI (#79326)

Co-authored-by: Martin Storsjö <martin at martin.st>


  Commit: 3fa14233c4631ad1062553883835a5d5b36f2fe6
      https://github.com/llvm/llvm-project/commit/3fa14233c4631ad1062553883835a5d5b36f2fe6
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M libcxx/include/__system_error/error_category.h

  Log Message:
  -----------
  [libc++] Annotate generic_category/system_category as const (#78052)

This lets the compiler eliminate unused/duplicate calls to it.


  Commit: 6f97e6bcf71d5cb6130d74d75f1db87e63be2c8d
      https://github.com/llvm/llvm-project/commit/6f97e6bcf71d5cb6130d74d75f1db87e63be2c8d
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M libc/test/UnitTest/FuchsiaTest.h

  Log Message:
  -----------
  [fuchsia][libc] Include missing macro definitions (#79639)

PR 79573 introduced `ASSERT_ERRNO_*` macros for use in libc tests.
Introduce these macro definitions to FuchsiaTest.h for string tests to
compile on Fuchsia.


  Commit: 07a1925b8b92f29880be4030630ed5053783708f
      https://github.com/llvm/llvm-project/commit/07a1925b8b92f29880be4030630ed5053783708f
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
    M llvm/test/CodeGen/SystemZ/branch-folder-hoist-livein.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-default.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize-strd-lr.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-vpt-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/spillingmove.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir

  Log Message:
  -----------
  Revert "Refactor recomputeLiveIns to operate on whole CFG (#79498)"

This reverts commit 59bf60519fc30d9d36c86abd83093b068f6b1e4b.

Introduces a major compile-time regression.


  Commit: 2b25e40a887e835c3c8d7e61feaaaaab1ed2c367
      https://github.com/llvm/llvm-project/commit/2b25e40a887e835c3c8d7e61feaaaaab1ed2c367
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/utils/mlgo-utils/tests/pytype.test

  Log Message:
  -----------
  [MLGO] Switch test to invoke pytype through python

Currently this test is assuming that ~/.local/bin (or wherever the
Python binaries are installed to) is on the path. This is not a valid
assumption in most cases, and it also means we might not find the
version of pytype associated with the Python interpreter being used to
test LLVM, which could create some inconsistencies. This patch fixes
that by invoking pytype through the Python interpreter passed to lit.


  Commit: 1d5820aafeb08c176189d44331e3e2a8030e76e4
      https://github.com/llvm/llvm-project/commit/1d5820aafeb08c176189d44331e3e2a8030e76e4
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
    M llvm/test/CodeGen/NVPTX/symbol-naming.ll

  Log Message:
  -----------
  [NVPTX] improve identifier renaming for PTX (#79459)

Update `NVPTXAssignValidGlobalNames` to convert all characters which are
illegal in PTX identifiers to `_$_`. ([PTX ISA: 4.4
Identifiers](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#identifiers)).


  Commit: 074630e8af94d839f6baf6378d7ed3d7a6d2753c
      https://github.com/llvm/llvm-project/commit/074630e8af94d839f6baf6378d7ed3d7a6d2753c
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp

  Log Message:
  -----------
  [lldb] Remove unnecessary suffix from libc++ type name patterns (NFC) (#79644)

The `(( )?&)?` appears to match types which are references. However lldb
can load the
correct data formatters without having to pattern match against a `&`
suffix.

The suffix may have been needed at one point, but it's no longer needed.


  Commit: cfd91199caed12b3f40ab35cf7f6c7fbce38d776
      https://github.com/llvm/llvm-project/commit/cfd91199caed12b3f40ab35cf7f6c7fbce38d776
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
    M llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
    M llvm/test/CodeGen/X86/domain-reassignment.mir

  Log Message:
  -----------
  [X86] Skip unused VRegs traverse (#78229)

Almost all loops with getNumVirtRegs skip unused registers by means
of reg_nodbg_empty or empty live interval. Except for these two cases
that are revealed by GlobalISel since it can skip RegClass assignment
for unused registers.

Closes #64452, closes #71926


  Commit: 33860b2f61a8a74141ae76ecd54742f9cfeb0d03
      https://github.com/llvm/llvm-project/commit/33860b2f61a8a74141ae76ecd54742f9cfeb0d03
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/unittests/Utility/ConstStringTest.cpp

  Log Message:
  -----------
  [lldb] Streamline ConstString -> std::string conversion (NFC) (#79649)

Make it easier to go from a ConstString to a std::string without having
to go through a C-String or a llvm::StringRef. I made the conversion
operator explicit as this is a relatively expensive operations (compared
to a StringRef or string_view).


  Commit: 80bfac4327b6fb94cb9bf44eeb0d032799b9d418
      https://github.com/llvm/llvm-project/commit/80bfac4327b6fb94cb9bf44eeb0d032799b9d418
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp

  Log Message:
  -----------
  [lldb] Fix progress reporting for SymbolLocatorDebugSymbols (#79624)

This fixes two issues related to the DebugSymbols symbol locator:

1. Only the default symbol locator plugin reports progress. On Darwin,
which uses the DebugSymbols framework we need to report the same
progress form the corresponding SymbolLocator plugin.

2. Forceful dSYM lookups, for example when using `add-dsym`, use a
different code path that currently does not report progress, which is
confusing. Here the progress event can be more specific and specify its
downloading a symbol file rather than just locating it as we'll always
shell out to dsymForUUID or its equivalent.

rdar://121629777


  Commit: 9816863dd439cd60c96d5764c4c21ca1a7f3d8da
      https://github.com/llvm/llvm-project/commit/9816863dd439cd60c96d5764c4c21ca1a7f3d8da
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Add a new warning for uses of std::span two-parameter constructors (#77148)

Constructing `std::span` objects with the two parameter constructors
could introduce mismatched bounds information, which defeats the
purpose of using `std::span`.  Therefore, we warn every use of such
constructors.

rdar://115817781


  Commit: 3bece3d72d1323af6b2418b13281e66b583f25b3
      https://github.com/llvm/llvm-project/commit/3bece3d72d1323af6b2418b13281e66b583f25b3
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp

  Log Message:
  -----------
  [Exegesis] Do not assume the size and layout of the assembled snippet (#79636)

Currently llvm-exegesis assumes that there will only be 3 symbols in the
snippet object, in which the benchmarking function 'foo' is always the
last symbol.

These assumptions do not hold for object file formats of other targets
we support downstream. I think it would be more ideal to generalize this
part of the logics into a simple search on all symbols, as proposed by
this patch.


  Commit: d9a9872ec4760762fdc467ef283cea302a3742e5
      https://github.com/llvm/llvm-project/commit/d9a9872ec4760762fdc467ef283cea302a3742e5
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    M llvm/include/llvm/TextAPI/InterfaceFile.h
    M llvm/include/llvm/TextAPI/Symbol.h
    M llvm/include/llvm/TextAPI/SymbolSet.h
    M llvm/lib/Object/TapiFile.cpp
    M llvm/lib/TextAPI/RecordVisitor.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/Symbol.cpp
    M llvm/lib/TextAPI/SymbolSet.cpp
    M llvm/lib/TextAPI/TextStub.cpp
    M llvm/lib/TextAPI/TextStubV5.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-readtapi/DiffEngine.cpp
    M llvm/tools/llvm-readtapi/DiffEngine.h
    M llvm/unittests/TextAPI/TextStubHelpers.h
    M llvm/unittests/TextAPI/TextStubV1Tests.cpp
    M llvm/unittests/TextAPI/TextStubV2Tests.cpp
    M llvm/unittests/TextAPI/TextStubV3Tests.cpp
    M llvm/unittests/TextAPI/TextStubV4Tests.cpp
    M llvm/unittests/TextAPI/TextStubV5Tests.cpp

  Log Message:
  -----------
  [TextAPI] Rename SymbolKind to EncodeKind (#79622)

A distinction that doesn't _usually_ matter is that the
MachO::SymbolKind is really a mapping of entries in TBD files not
symbols. To better understand this, rename the enum so it represents an
encoding mapped to TBDs as opposed to symbols alone.

For example, it can be a bit confusing that "GlobalSymbol" is a enum
value when all of those values can represent a GlobalSymbol.


  Commit: 2e1e27c7c3212254283edecae6f040272ef88e0f
      https://github.com/llvm/llvm-project/commit/2e1e27c7c3212254283edecae6f040272ef88e0f
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sys-mman-macros.h
    M libc/include/llvm-libc-macros/sys-mman-macros.h

  Log Message:
  -----------
  [libc] adjust linux's `mman.h` definitions (#79652)

Use definitions from `<linux/mman.h>` to dispatch arch-specific flag
values.
For example, `MCL_CURRENT/MCL_FUTURE/MCL_ONFAULT` are different on
different architectures.


  Commit: c1a155bf785152abc72b77608261a3d0e6c776a6
      https://github.com/llvm/llvm-project/commit/c1a155bf785152abc72b77608261a3d0e6c776a6
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M llvm/unittests/tools/llvm-exegesis/ClusteringTest.cpp
    M llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Refactor BenchmarkMeasure instantiation in tests

This patch refactors the instantiation of BenchmarkMeasure within all
the unit tests to use BenchmarkMeasure::Create rather than through
direct struct instantialization. This allows us to change what values
are stored in BenchmarkMeasure without getting compiler warnings on
every instantiation in the unit tests, and is also just a cleanup in
general as the Create function didn't seem to exist at the time the unit
tests were originally written.


  Commit: c9790f8f733f6014fdd8bdacb057c9871e624bcc
      https://github.com/llvm/llvm-project/commit/c9790f8f733f6014fdd8bdacb057c9871e624bcc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [IR] Use SmallDenseSet (NFC) (#79556)

The use of SmallDenseSet saves 0.39% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target.  During the experiment, WL.size() was 2 or less
99.9% of the time.  The inline size of 4 should accommodate up to 2
entries at the 3/4 occupancy rate.


  Commit: ff05c3087b4b7e0121125d7f6860b3d9383ca91d
      https://github.com/llvm/llvm-project/commit/ff05c3087b4b7e0121125d7f6860b3d9383ca91d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/errno-stdlibraryfunctions.c
    M clang/test/Analysis/std-c-library-functions-POSIX.c

  Log Message:
  -----------
  [clang][analyzer] Improve modeling of 'popen' and 'pclose' in StdLibraryFunctionsChecker (#78895)


  Commit: f826f55b2ab68c2515fae751dc2d6ef77f37b172
      https://github.com/llvm/llvm-project/commit/f826f55b2ab68c2515fae751dc2d6ef77f37b172
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in AnnotatingParser::rParenEndsCast() (#79549)

Fixes #78965.


  Commit: e44d3b3e503fa12fdaead2936b28844aa36237c1
      https://github.com/llvm/llvm-project/commit/e44d3b3e503fa12fdaead2936b28844aa36237c1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll

  Log Message:
  -----------
  ValueTracking: Merge fcmpImpliesClass and fcmpToClassTest (#66522)

Rushing this one out before vacation starts. Refactoring on top of
#66505


  Commit: 69f99cd20f9dfcb33502d9376b8cf3ac25086362
      https://github.com/llvm/llvm-project/commit/69f99cd20f9dfcb33502d9376b8cf3ac25086362
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir

  Log Message:
  -----------
  [mlir][complex] Prevent underflow in complex.abs (#76316)


  Commit: 701ec45f2fc026d97c3a6262ea0ae6ba6734b304
      https://github.com/llvm/llvm-project/commit/701ec45f2fc026d97c3a6262ea0ae6ba6734b304
  Author: Mikhail Gudim <mgudim at gmail.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [InstCombine] Fix a comment. (#79422)


  Commit: 75952873036fc9989fcf12c526d1a2deaeef596a
      https://github.com/llvm/llvm-project/commit/75952873036fc9989fcf12c526d1a2deaeef596a
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/CMakeLists.txt
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
    M lldb/test/API/api/multithreaded/TestMultithreaded.py

  Log Message:
  -----------
  [lldb] Remove obsolete signBinary helper (#79656)

On Darwin, the Makefile already (ad-hoc) signs everything it builds.
There's also no need to use lldb_codesign for this.


  Commit: 5585ddd90b08ecc287e1fb7f765056dc13ccbfe1
      https://github.com/llvm/llvm-project/commit/5585ddd90b08ecc287e1fb7f765056dc13ccbfe1
  Author: Jeremy Kun <2467754+j2kun at users.noreply.github.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [bazel]: de-alias pybind11 headers target (#79676)

In trying to set up python headers in an out-of-tree bazel MLIR project,
I encountered the `pybind11_bazel` project, and found that the
`@python_runtime` target used here is not defined by it.

Instead, it seems that `@python_runtime` is an alias used in some
projects like Tensorflow (see

https://github.com/tensorflow/tensorflow/blob/322936ffdd96ee59e27d028467fe458859cf3855/third_party/python_runtime/BUILD#L7-L7),
where it is aliased to `@local_config_python`. In fact,
`@local_config_python` is defined by `@pybind11_bazel`, and so it seems
that this layer of indirection no longer serves a purpose, and instead
just prevents anyone who doesn't clone Tensorflow's config from using
the python bindings here.

This commit updates the dependent targets to their canonical de-aliased
equivalents, and I suspect this will not even break any downstream users
since the new target is defined in those projects already.

Without this change, running, for example

```
bazel build @llvm-project//mlir:MLIRBindingsPythonCore
```

gives the error

```
no such package '@python_runtime//': The repository '@python_runtime'
could not be resolved: Repository '@python_runtime' is not defined and
referenced by '@llvm-project//mlir:MLIRBindingsPythonCore'
```

Minimal reproduction in https://github.com/j2kun/test_mlir_bazel_pybind,
which, when pointing to a local LLVM repository that has this change
(see `bazel/import_llvm.bzl` in that repository), results in that build
succeeding.

Hat tip to Maksim Levental for going on an hours-long investigation with
me to figure this out.


  Commit: faef68bca852d08511ea0311d8a0d221cb202e73
      https://github.com/llvm/llvm-project/commit/faef68bca852d08511ea0311d8a0d221cb202e73
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp

  Log Message:
  -----------
  Revert "[Coverage] Map regions from system headers (#76950)"

See #78920.

This reverts commit ce3e767ac5ea1a1d1a166e88c152e2125ec7662b.


  Commit: e8f882f83acf30d9b4da8846bd26314139660430
      https://github.com/llvm/llvm-project/commit/e8f882f83acf30d9b4da8846bd26314139660430
  Author: Sam James <sam at gentoo.org>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp

  Log Message:
  -----------
  [sanitizer] Handle Gentoo's libstdc++ path

On Gentoo, libc++ is indeed in /usr/include/c++/*, but libstdc++ is at
e.g. /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14.

Use '/include/g++' as it should be unique enough. Note that the omission of
a trailing slash is intentional to match g++-*.

See https://github.com/llvm/llvm-project/pull/78534#issuecomment-1904145839.

Reviewed by: mgorny
Closes: https://github.com/llvm/llvm-project/pull/79264

Signed-off-by: Sam James <sam at gentoo.org>


  Commit: 6e6c506f3caeafc25925b811b9cd205e2e213dd6
      https://github.com/llvm/llvm-project/commit/6e6c506f3caeafc25925b811b9cd205e2e213dd6
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp

  Log Message:
  -----------
  [Concepts] Traverse the instantiation chain for parameter injection inside a constraint scope (#79568)

We preserve the trailing requires-expression during the lambda
expression transformation. In order to get those referenced parameters
inside a requires-expression properly resolved to the instantiated
decls, we intended to inject these 'original' `ParmVarDecls` to the
current instantiaion scope, at `Sema::SetupConstraintScope`.

The previous approach seems to overlook nested instantiation chains,
leading to the crash within a nested lambda followed by a requires
clause.

This fixes https://github.com/llvm/llvm-project/issues/73418.


  Commit: 2b00d449d2ed09cd0364038115f90a3eb4fd15b5
      https://github.com/llvm/llvm-project/commit/2b00d449d2ed09cd0364038115f90a3eb4fd15b5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/PathConfig.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp

  Log Message:
  -----------
  [clang-tools-extra] Use SmallString::operator std::string (NFC)


  Commit: ac0b6016af5a00865ce0c3b4f1d007f8ac96b8eb
      https://github.com/llvm/llvm-project/commit/ac0b6016af5a00865ce0c3b4f1d007f8ac96b8eb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [Analysis] Use llvm::succ_empty and llvm::successors (NFC)


  Commit: f2e69d2e85463b5c415d5597a59cf41671c15c70
      https://github.com/llvm/llvm-project/commit/f2e69d2e85463b5c415d5597a59cf41671c15c70
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

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

  Log Message:
  -----------
  [CodeGen] Use a range-based for loop (NFC)


  Commit: fe35d72d8e248f1d29f9c5e503463bb1c4d6f8c6
      https://github.com/llvm/llvm-project/commit/fe35d72d8e248f1d29f9c5e503463bb1c4d6f8c6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-26 (Fri, 26 Jan 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp

  Log Message:
  -----------
  [Driver] Use StringRef::consume_back (NFC)


  Commit: 499507fdec8eb37dc68cee6c2b6c75557b28024e
      https://github.com/llvm/llvm-project/commit/499507fdec8eb37dc68cee6c2b6c75557b28024e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unused function


  Commit: ce75cbeda21e3e4e5d0c47ecf44954caf98acfe8
      https://github.com/llvm/llvm-project/commit/ce75cbeda21e3e4e5d0c47ecf44954caf98acfe8
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Don't unnecessarily use std::optional

classifyComplexElementType() doesn't return a std::optional anymore.


  Commit: 1f13203029333ac99cc9844b8b6915aae3fc0902
      https://github.com/llvm/llvm-project/commit/1f13203029333ac99cc9844b8b6915aae3fc0902
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/utils/mlgo-utils/mlgo/__init__.py

  Log Message:
  -----------
  [MLGO] Bump mlgo-utils version to 19.0.0

This patch bumps the mlgo-utils version to 19.0.0 as 18.0.0 got branched
recently.


  Commit: ad1a65fcacda8794e2f1fa3e1dec1c1b7813422c
      https://github.com/llvm/llvm-project/commit/ad1a65fcacda8794e2f1fa3e1dec1c1b7813422c
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.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/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
    A clang/test/PCH/pack_indexing.cpp
    M clang/test/Parser/cxx0x-ambig.cpp
    M clang/test/Parser/cxx0x-decl.cpp
    A clang/test/Parser/cxx2c-pack-indexing.cpp
    A clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
    A clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang][C++26] Implement Pack Indexing (P2662R3). (#72644)

Implements https://isocpp.org/files/papers/P2662R3.pdf

The feature is exposed as an extension in older language modes.
Mangling is not yet supported and that is something we will have to do before release.


  Commit: 7fcba000e90b85ce1236a1d43bebb8128332580e
      https://github.com/llvm/llvm-project/commit/7fcba000e90b85ce1236a1d43bebb8128332580e
  Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
    M clang/test/SemaTemplate/deduction.cpp

  Log Message:
  -----------
  [Sema] Substitute parameter packs when deduced from function arguments (#79371)

This pull request would solve
https://github.com/llvm/llvm-project/issues/78449 .
There is also a discussion about this on stackoverflow:
https://stackoverflow.com/questions/77832658/stdtype-identity-to-support-several-variadic-argument-lists
.

The following program is well formed:
```cpp
#include <type_traits>

template <typename... T>
struct args_tag
{
    using type = std::common_type_t<T...>;
};

template <typename... T>
void bar(args_tag<T...>, std::type_identity_t<T>..., int, std::type_identity_t<T>...) {}

// example
int main() {
    bar(args_tag<int, int>{}, 4, 8, 15, 16, 23);
}
```

but Clang rejects it, while GCC and MSVC doesn't. The reason for this is
that, in `Sema::DeduceTemplateArguments` we are not prepared for this
case.

# Substitution/deduction of parameter packs
The logic that handles substitution when we have explicit template
arguments (`SubstituteExplicitTemplateArguments`) does not work here,
since the types of the pack are not pushed to `ParamTypes` before the
loop starts that does the deduction.
The other "candidate" that may could have handle this case would be the
loop that does the deduction for trailing packs, but we are not dealing
with trailing packs here.

# Solution proposed in this PR
The solution proposed in this PR works similar to the trailing pack
deduction. The main difference here is the end of the deduction cycle.
When a non-trailing template pack argument is found, whose type is not
explicitly specified and the next type is not a pack type, the length of
the previously deduced pack is retrieved (let that length be `s`). After
that the next `s` arguments are processed in the same way as in the case
of non trailing packs.

# Another possible solution
There is another possible approach that would be less efficient. In the
loop when we get to an element of `ParamTypes` that is a pack and could
be substituted because the type is deduced from a previous argument,
then `s` number of arg types would be inserted before the current
element of `ParamTypes` type. Then we would "cancel" the processing of
the current element, first process the previously inserted elements and
the after that re-process the current element.
Basically we would do what `SubstituteExplicitTemplateArguments` does
but during deduction.

# Adjusted test cases
In
`clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp`
there is a test case named `test_pack_not_at_end` that should work, but
still does not. This test case is relevant because the note for the
error message has changed.
This is what the test case looks like currently:
```cpp
template<typename ...Types>
void pack_not_at_end(tuple<Types...>, Types... values, int); // expected-note {{<int *, double *> vs. <int, int>}}

void test_pack_not_at_end(tuple<int*, double*> t2) {
  pack_not_at_end(t2, 0, 0, 0); // expected-error {{no match}}
  // FIXME: Should the "original argument type must match deduced parameter
  // type" rule apply here?
  pack_not_at_end<int*, double*>(t2, 0, 0, 0); // ok
}

```

The previous note said (before my changes):
```
deduced conflicting types for parameter 'Types' (<int *, double *> vs. <>)
````
The current note says (after my changesand also clang 14 would say this
if the pack was not trailing):
```
deduced conflicting types for parameter 'Types' (<int *, double *> vs. <int, int>)
```
GCC says: 
```
error: no matching function for call to ‘pack_not_at_end(std::tuple<int*, double*>&, int, int, int)’
   70 |     pack_not_at_end(t2, 0, 0, 9); // expected-error {{no match}}
````

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Co-authored-by: Erich Keane <ekeane at nvidia.com>


  Commit: bc5c151348a1efb392b25153dfa73ddd7ee06d3f
      https://github.com/llvm/llvm-project/commit/bc5c151348a1efb392b25153dfa73ddd7ee06d3f
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp

  Log Message:
  -----------
  Disable gdb_pretty_printer_test.sh.cpp for clang 19

As it breaks buildkite CI


  Commit: 608d602842393fc4c0b1463181a827cfc91f5bf1
      https://github.com/llvm/llvm-project/commit/608d602842393fc4c0b1463181a827cfc91f5bf1
  Author: Kristof Beyls <kristof.beyls at llvm.org>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/docs/CodeOfConduct.rst
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [DevPolicy] Add guidance on bans  (#69701)


  Commit: 3855757f98935208d7d0481af01a474139de9519
      https://github.com/llvm/llvm-project/commit/3855757f98935208d7d0481af01a474139de9519
  Author: Chia <sun1011jacobi at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.ll

  Log Message:
  -----------
  [RISCV][ISel] Remove redundant vmerge for the vwadd. (#78403)

This patch is aiming at resolving the below missed-optimization case. 

### Code
```
define <8 x i64> @vwadd_mask_v8i32(<8 x i32> %x, <8 x i64> %y) {
    %mask = icmp slt <8 x i32> %x, <i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42>
    %a = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> zeroinitializer
    %sa = sext <8 x i32> %a to <8 x i64>
    %ret = add <8 x i64> %sa, %y
    ret <8 x i64> %ret
}
```

### Before this patch
[Compiler Explorer](https://godbolt.org/z/cd1bKTrx6)
```
vwadd_mask_v8i32:
        li      a0, 42
        vsetivli        zero, 8, e32, m2, ta, ma
        vmslt.vx        v0, v8, a0
        vmv.v.i v10, 0
        vmerge.vvm      v16, v10, v8, v0
        vwadd.wv        v8, v12, v16
        ret
```

### After this patch
```
vwadd_mask_v8i32:
        li a0, 42
        vsetivli zero, 8, e32, m2, ta, ma
        vmslt.vx v0, v8, a0
        vsetvli zero, zero, e32, m2, tu, mu
        vwadd.wv v12, v12, v8, v0.t
        vmv4r.v v8, v12
        ret
```
This pattern could be found in a reduction with a widening destination

Specifically, we first do a fold like `(vwadd.wv y, (vmerge cond, x, 0))
-> (vwadd.wv y, x, y, cond)`, then do pattern matching on it.


  Commit: f882eb49860cea4d5cfb76a7bbbfa45d04a4ac00
      https://github.com/llvm/llvm-project/commit/f882eb49860cea4d5cfb76a7bbbfa45d04a4ac00
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    A flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    A flang/test/Lower/OpenMP/map-component-ref.f90

  Log Message:
  -----------
  [Flang][OpenMP] Skip component symbols when creating extended values (#79657)

The `map` clause in OpenMP allows structure components to be specified
(unlike other clauses). Structure components do get their own symbols,
but these are not meant to be instantiated.

When a component reference is passed as an argument to the omp.target
op, it gets a corresponding parameter in the target op's entry block.
The original symbols are then bound to the same kind of an extended
value as before, but the value is now based on the parameters.

To handle structure components more gracefully, put their symbols on the
list of mapped objects, but skip them when creating extended values.

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


  Commit: 3e29e520779a863fbc30fd86cf1cb6d2ed398101
      https://github.com/llvm/llvm-project/commit/3e29e520779a863fbc30fd86cf1cb6d2ed398101
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [RISCV] Fix -Wunused-variable in RISCVISelLowering.cpp (NFC)

llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:13754:12:
error: unused variable 'Opc' [-Werror,-Wunused-variable]
  unsigned Opc = N->getOpcode();
           ^
1 error generated.


  Commit: ec402a2e532db7ec38e6aef0ed1b1c04c6769d9b
      https://github.com/llvm/llvm-project/commit/ec402a2e532db7ec38e6aef0ed1b1c04c6769d9b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Implement cloning of VPlans. (#73158)

This patch implements cloning for VPlans and recipes. Cloning is used in
the epilogue vectorization path, to clone the VPlan for the main vector
loop. This means we won't re-use a VPlan when executing the VPlan for
the epilogue vector loop, which in turn will enable us to perform
optimizations based on UF & VF.


  Commit: 143b510a8fefb0d203c9ac7e036aa9967dd8a2ef
      https://github.com/llvm/llvm-project/commit/143b510a8fefb0d203c9ac7e036aa9967dd8a2ef
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp

  Log Message:
  -----------
  [Clang] Fix asan error after ad1a65fca

Annotating tokens can invalid the stack of Peaked tokens.


  Commit: 57a20d2d09bbd3cc501fc6d8b4746be2040c99b7
      https://github.com/llvm/llvm-project/commit/57a20d2d09bbd3cc501fc6d8b4746be2040c99b7
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [LLDB] Default implementation for pack indexing types. (#79695)

We do not handle pack indexing types (added by yet #72644) but we add them to some switch
statement to ensure CI builds do not fail.


  Commit: 863b2c84c0fbcfb02d969fa36af4932d410a827b
      https://github.com/llvm/llvm-project/commit/863b2c84c0fbcfb02d969fa36af4932d410a827b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [DAGCombiner] Use SmallDenseMap (NFC) (#79681)

The use of SmallDenseMap saves 0.48% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target.  During the experiment, the maximum size of
WorklistMap was 24 or less 74% of the time.  (Note that DenseMap has
the maximum occupancy rate of 3/4.)


  Commit: 718aac9f7a19227b5c5ec85819a3a5ae24ce32e1
      https://github.com/llvm/llvm-project/commit/718aac9f7a19227b5c5ec85819a3a5ae24ce32e1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Frontend/TextDiagnostic.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Lex/Preprocessor.cpp
    A clang/test/Frontend/diagnostic-pipe.c

  Log Message:
  -----------
  [clang][Diagnostics] Highlight code snippets (#66514)

Add some primitive syntax highlighting to our code snippet output.

This adds "checkpoints" to the Preprocessor, which we can use to start lexing from. When printing a code snippet, we lex from the nearest checkpoint and highlight the tokens based on their token type.


  Commit: 34dd8ec8aec17965313b17308faaa6272c235c53
      https://github.com/llvm/llvm-project/commit/34dd8ec8aec17965313b17308faaa6272c235c53
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/CodeGen/SystemZ/unaligned-symbols.c
    M llvm/lib/Target/SystemZ/SystemZFeatures.td

  Log Message:
  -----------
  [clang, SystemZ] Support -munaligned-symbols (#73511)

When this option is passed to clang, external (and/or weak) symbols
are not assumed to have the minimum ABI alignment normally required.
Symbols defined locally that are not weak are however still given the
minimum alignment.

This is implemented by passing a new parameter to getMinGlobalAlign()
named HasNonWeakDef that is used to return the right alignment value.

This is needed when external symbols created from a linker script may
not get the ABI minimum alignment and must therefore be treated as
unaligned by the compiler.


  Commit: 54149217b5a1212fcf1864cb16208c112c189b39
      https://github.com/llvm/llvm-project/commit/54149217b5a1212fcf1864cb16208c112c189b39
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [MC] Use StringRef::consume_back (NFC)


  Commit: f1cee6b0baac943bdc3f329feddd1bf0731a5a0e
      https://github.com/llvm/llvm-project/commit/f1cee6b0baac943bdc3f329feddd1bf0731a5a0e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [Transforms] Use a range-based for loop (NFC)


  Commit: 03cba44029cc78b9ef86c4e2aac0453ebab473ae
      https://github.com/llvm/llvm-project/commit/03cba44029cc78b9ef86c4e2aac0453ebab473ae
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp

  Log Message:
  -----------
  [BOLT] Use SmallString::operator std::string (NFC)


  Commit: 19146b97127157bda97ad87b94f3c4c9bf7e81d4
      https://github.com/llvm/llvm-project/commit/19146b97127157bda97ad87b94f3c4c9bf7e81d4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [Analysis] Simplify a StringRef comparison (NFC)


  Commit: e976053a63c251e9b65733ed3574e5c3de62084c
      https://github.com/llvm/llvm-project/commit/e976053a63c251e9b65733ed3574e5c3de62084c
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/SystemZ/unaligned-symbols.c

  Log Message:
  -----------
  [clang, SystemZ] Fix test case for buildbot.

It seems the automatic Value naming starts on %1 instead of %0 sometimes.


  Commit: 517063e0f3d3387babc500b112aaa90b5c42da38
      https://github.com/llvm/llvm-project/commit/517063e0f3d3387babc500b112aaa90b5c42da38
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  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] change PREFER_GENERIC to EXPLICIT_SIMD_OPT (#79486)

fixes #79474.


  Commit: 7c03d5d41daad230406890499cf4fa14973ee5eb
      https://github.com/llvm/llvm-project/commit/7c03d5d41daad230406890499cf4fa14973ee5eb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [VPlan] Use unique_ptr to clean up duplicated plan.


  Commit: 53fea6fd6f228eb1dbd282b8d076af545dcd8228
      https://github.com/llvm/llvm-project/commit/53fea6fd6f228eb1dbd282b8d076af545dcd8228
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/llvm-tests.yml

  Log Message:
  -----------
  workflows: Merge LLVM tests together into a single job (#78877)

This is possible now that the free GitHub runners for Windows and Linux
have more disk space:

https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/

I also had to switch from macOS-11 to macOS-13 in order to prevent the
job from timing out. macOS-13 runners have 4 vCPUs and the macOS-11
runners only have 3.


  Commit: 927919ac34a2085a7a25814fea492ac462b0d4ac
      https://github.com/llvm/llvm-project/commit/927919ac34a2085a7a25814fea492ac462b0d4ac
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.h

  Log Message:
  -----------
  [llvm-cov] Simplify branch/MCDC subviews. NFC

Remove unneeded empty check and reundant copies. NFC


  Commit: 7c3ee7cbe6419ea5e37ce2723cc1a1688380581f
      https://github.com/llvm/llvm-project/commit/7c3ee7cbe6419ea5e37ce2723cc1a1688380581f
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Support/X86FoldTablesUtils.h
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [X86][tablgen] Fix the broadcast tables (#79675)


  Commit: 6754b5428e7ddb278f03b23e8306f3d5936373e1
      https://github.com/llvm/llvm-project/commit/6754b5428e7ddb278f03b23e8306f3d5936373e1
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  [X86][NFC] AnalyzeBranchImpl -> analyzeBranchImpl and remove duplicated comments in X86InstrInfo.h


  Commit: 7089c012ec08450b1d8050b6b1d85a00505aa51a
      https://github.com/llvm/llvm-project/commit/7089c012ec08450b1d8050b6b1d85a00505aa51a
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp

  Log Message:
  -----------
  [X86][NFC] Replace if-else with switch-case in X86InstrInfo::foldMemoryOperandImpl


  Commit: 5a5ce012e4de627c52efa1638993fd23c5e74afa
      https://github.com/llvm/llvm-project/commit/5a5ce012e4de627c52efa1638993fd23c5e74afa
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/cmake/caches/BOLT.cmake
    M clang/utils/perf-training/CMakeLists.txt
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/bolt.lit.site.cfg.in
    M clang/utils/perf-training/perf-helper.py

  Log Message:
  -----------
  Reland [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)

This reverts commit 6953b367027e4234607a6718a0a1d57eb52ef57e.

Couldn't reproduce cmake issues from any of the affected buildbots:
https://lab.llvm.org/buildbot/#/builders/139/builds/57628
https://lab.llvm.org/buildbot/#/builders/163/builds/50270
https://lab.llvm.org/buildbot/#/builders/223/builds/34823
https://lab.llvm.org/buildbot/#/builders/225/builds/29950
https://lab.llvm.org/buildbot/#/builders/245/builds/19468

A common trait is that these builders don't clean build directory.
Push again and monitor these builders.


  Commit: c41bb1120f6628f94119229ad2e7b93062a3e443
      https://github.com/llvm/llvm-project/commit/c41bb1120f6628f94119229ad2e7b93062a3e443
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir

  Log Message:
  -----------
  Revert "[mlir][complex] Prevent underflow in complex.abs" (#79722)

Reverts llvm/llvm-project#76316

Buildbot test is broken.


  Commit: faf555f93f3628b7b2b64162c02dd1474540532e
      https://github.com/llvm/llvm-project/commit/faf555f93f3628b7b2b64162c02dd1474540532e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  Revert "[DAGCombiner] Use SmallDenseMap (NFC) (#79681)"

This reverts commit 863b2c84c0fbcfb02d969fa36af4932d410a827b.

A compile-time regression has been reported:

https://github.com/llvm/llvm-project/pull/79681#issuecomment-1913325915


  Commit: 179ade6a6d78533179205640dd161bf179daa9ee
      https://github.com/llvm/llvm-project/commit/179ade6a6d78533179205640dd161bf179daa9ee
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [clang-format] Fix an issue reported by static analyzer

Fixes #79685.


  Commit: c70d3874e95ba24d7f1f9e69102db8916d9c41f1
      https://github.com/llvm/llvm-project/commit/c70d3874e95ba24d7f1f9e69102db8916d9c41f1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/include/llvm/ADT/ArrayRef.h

  Log Message:
  -----------
  [ADT] Remove makeArrayRef and makeMutableArrayRef (#79719)

These have been deprecated since:

  commit 36117cc46388d677359f1180bd536f80d0c5fe97
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   Tue Jan 10 11:49:15 2023 +0100

  commit c4b39cd09c4eeef2b3e3d32cb674f92c17eeb517
  Author: Joe Loser <joeloser at fastmail.com>
  Date:   Mon Jan 16 14:52:16 2023 -0700


  Commit: 5f4c89edd0ade97ab3e2d6df5375974f4b975d58
      https://github.com/llvm/llvm-project/commit/5f4c89edd0ade97ab3e2d6df5375974f4b975d58
  Author: Rageking8 <106309953+Rageking8 at users.noreply.github.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang/test/Analysis/additive-op-on-sym-int-expr.c
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.h
    M llvm/test/MC/AArch64/neon-diagnostics.s
    M llvm/test/MC/AArch64/neon-scalar-shift-imm.s
    M llvm/test/MC/Disassembler/AArch64/neon-instructions.txt
    M mlir/docs/Dialects/Linalg/OpDSL.md
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py

  Log Message:
  -----------
  Fix unsigned typos (#76670)


  Commit: 8f8cab6b7849944e5d1a9ddb773d0be851da6503
      https://github.com/llvm/llvm-project/commit/8f8cab6b7849944e5d1a9ddb773d0be851da6503
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [llvm] Use Instruction::hasMetadata (NFC)


  Commit: d6ad67df6bdd1e49f4f57ae8dfa1b05daf081c6e
      https://github.com/llvm/llvm-project/commit/d6ad67df6bdd1e49f4f57ae8dfa1b05daf081c6e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp

  Log Message:
  -----------
  [clang-tidy] Use StringRef::consume_back (NFC)


  Commit: 687136e7cd2ba897dc1f3688af6db58549ab95f2
      https://github.com/llvm/llvm-project/commit/687136e7cd2ba897dc1f3688af6db58549ab95f2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [Transforms] Use a range-based for loop (NFC)


  Commit: 7d7f358cee659564358904584a871facfd5f765b
      https://github.com/llvm/llvm-project/commit/7d7f358cee659564358904584a871facfd5f765b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

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

  Log Message:
  -----------
  [llvm-profdata] Simplify a string equality comparison (NFC)


  Commit: 5abbb7b5d038c62d3dc37ac8a2d7d57deebac0c7
      https://github.com/llvm/llvm-project/commit/5abbb7b5d038c62d3dc37ac8a2d7d57deebac0c7
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  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

  Log Message:
  -----------
  [X86][test] Update CHECK prefixes in CodeGen/X86/vector-interleaved-load-*.ll to suppress warnings

Suppress warnings like

WARNING: Prefix AVX had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX1 had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX2 had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX2-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512 had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512F had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512F-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512-FAST had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512DQ-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll


  Commit: 23b233c8adad5b81e185e50d04356fab64c2f870
      https://github.com/llvm/llvm-project/commit/23b233c8adad5b81e185e50d04356fab64c2f870
  Author: Andrew Schenk <154034018+schenka0 at users.noreply.github.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [clangd] Fix isSpelledInSource crash on invalid FileID (#76668)

This fixes the crash reported in #76667 and adds an initial unit test
for isSpelledInSource().

Note that in that issue there was still some underlying corrupted AST,
but this at least makes isSpelledInSource() robust to it.

---------

Co-authored-by: Younan Zhang <zyn7109 at gmail.com>


  Commit: d14c8f06ea1dceba1ec6c0823e55e3a142a48f46
      https://github.com/llvm/llvm-project/commit/d14c8f06ea1dceba1ec6c0823e55e3a142a48f46
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] getFauxShuffleMask - don't allow undefs in constant for AND/ANDNP shuffle masks

Early out from getTargetConstantBitsFromNode call instead of just returning if an undef was found.


  Commit: 1b37e8087e1e1ecf5aadd8da536ee17dc21832e2
      https://github.com/llvm/llvm-project/commit/1b37e8087e1e1ecf5aadd8da536ee17dc21832e2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [VPlan] use getVPValueOrAddLiveIn in VPlan::duplicate.

Instead of creating live-ins manually, use getOrAddLiveIn which
automatically takes care of adding them to VPLiveInsToFree. Also use it
to create the VPValue for the trip-count. This fixes a leak:
https://lab.llvm.org/buildbot/#/builders/168/builds/18308/steps/10/logs/stdio


  Commit: b13d5df84c2f3888e6775ce207b21e17bbf5cd1d
      https://github.com/llvm/llvm-project/commit/b13d5df84c2f3888e6775ce207b21e17bbf5cd1d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [DAG] ComputeKnownBits - use KnownBits::usub_sat instead of a custom variant

KnownBits::usub_sat is already exhaustively tested in the unit tests


  Commit: 70e22537549c65d69ae97a311d821c6459b32289
      https://github.com/llvm/llvm-project/commit/70e22537549c65d69ae97a311d821c6459b32289
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unnecessary braces


  Commit: a2f4c80ea8792f6d4c27e4cf9967400ac65d9ec6
      https://github.com/llvm/llvm-project/commit/a2f4c80ea8792f6d4c27e4cf9967400ac65d9ec6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] getTargetConstantBitsFromNode - add explicit support for whole/partial undef elements to all constant folding uses.

A NFC step before I start restricting the use of undef elements in getTargetConstantBitsFromNode


  Commit: 74e5418ae6630d298982f8014c184b01bebcf455
      https://github.com/llvm/llvm-project/commit/74e5418ae6630d298982f8014c184b01bebcf455
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Fix typo in assertion message. NFC.

We are NOT expecting undefs in AND/ANDNP faux shuffle masks


  Commit: 354548621fdbaead4832361d26922b91488e401a
      https://github.com/llvm/llvm-project/commit/354548621fdbaead4832361d26922b91488e401a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Make some variables in the opcode emitter const


  Commit: 916bd7d3bb42627f52e2f8ed2f87e08db4960a72
      https://github.com/llvm/llvm-project/commit/916bd7d3bb42627f52e2f8ed2f87e08db4960a72
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove Root record from opcode emitter

It's only used once and only for its name, so replace that with
a string literal.


  Commit: f297d0bc6d5c9ca8db704b65fd0946ef2e9610ff
      https://github.com/llvm/llvm-project/commit/f297d0bc6d5c9ca8db704b65fd0946ef2e9610ff
  Author: David Green <david.green at arm.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
    M llvm/test/CodeGen/AArch64/fcmp.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] More FCmp legalization. (#78734)

This fills out the fcmp handling to be more like the other instructions,
adding better support for fp16 and some larger vectors.

Select of f16 values is still not handled optimally in places as the
select is only legal for s32 values, not s16. This would be correct for
integer but not necessarily for fp. It is as if we need to do
legalization -> regbankselect -> extra legaliation -> selection.


  Commit: 720ade25044536aed7372554e1818eac9536dc3a
      https://github.com/llvm/llvm-project/commit/720ade25044536aed7372554e1818eac9536dc3a
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCArchitectures.cmake

  Log Message:
  -----------
  [libc][CMake] fix CMake configure issues on openSUSE (#79751)


  Commit: 60dbb2cec1bbf65aacf6752a59b0666a23aaa3ae
      https://github.com/llvm/llvm-project/commit/60dbb2cec1bbf65aacf6752a59b0666a23aaa3ae
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    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][test] Update CHECK prefixes in CodeGen/X86/vector-interleaved-store-*.ll to suppress warnings

Suppress warnings like

WARNING: Prefix AVX had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX1 had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX2 had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX2-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512 had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512F had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512F-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512-FAST had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512DQ-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll


  Commit: 6d7c8a6e062a237f1a23e7753c6737f5796e5188
      https://github.com/llvm/llvm-project/commit/6d7c8a6e062a237f1a23e7753c6737f5796e5188
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll

  Log Message:
  -----------
  [X86][test] Update failed tests in 60dbb2cec1bbf65aacf6752a59b0666a23aaa3ae after rebase


  Commit: 915c3d9e5a2d1314afe64cd6116a3b6c9809ec90
      https://github.com/llvm/llvm-project/commit/915c3d9e5a2d1314afe64cd6116a3b6c9809ec90
  Author: David Green <david.green at arm.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    M llvm/test/CodeGen/AArch64/large-offset-ldr-merge.mir

  Log Message:
  -----------
  Revert "[AArch64] merge index address with large offset into base address"

This reverts commit 32878c2065c8005b3ea30c79e16dfd7eed55d645 due to #79756 and #76202.


  Commit: 72fd10adcbf8194a08141e38a95e11f4f1a8d7c2
      https://github.com/llvm/llvm-project/commit/72fd10adcbf8194a08141e38a95e11f4f1a8d7c2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] getTargetConstantBitsFromNode - don't support partial undefs by default.

Noticed by inspection - as undef bits are seen as zero, we could be matching in places where we require a zero but end up referencing an undef that could then get changed in a later fold.

Creating a test case has proven difficult as multi-use limits usually saves us, but really we shouldn't be allowing partial undefs for anything but constant folding.


  Commit: d1427fb6d0e1dbe3b7dbf46c26e43ce96b9b56d5
      https://github.com/llvm/llvm-project/commit/d1427fb6d0e1dbe3b7dbf46c26e43ce96b9b56d5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp

  Log Message:
  -----------
  [Edit] Use StringRef::consume_back (NFC)


  Commit: 26648daeb2ea1e9443d214e3923583efba346603
      https://github.com/llvm/llvm-project/commit/26648daeb2ea1e9443d214e3923583efba346603
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp

  Log Message:
  -----------
  [ExtractAPI] Use StringRef::starts_with (NFC)


  Commit: 3bf21ba597d00253c6ef55bb0b499711dd778d84
      https://github.com/llvm/llvm-project/commit/3bf21ba597d00253c6ef55bb0b499711dd778d84
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use MachineBasicBlock::instrs (NFC)


  Commit: 2c552d319a5f0378c48390524de436265b05b943
      https://github.com/llvm/llvm-project/commit/2c552d319a5f0378c48390524de436265b05b943
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize G_ABS for Larger/Smaller Vectors (#79117)

Legalize G_ABS for larger/smaller width vectors with legal element sizes

Fallsback for the smaller width vector tests because it is unable to
legalize for G_ANYEXT smaller width vectors


  Commit: a7cfff8dc6b38e54c6c5adee3b4b781f1090ee25
      https://github.com/llvm/llvm-project/commit/a7cfff8dc6b38e54c6c5adee3b4b781f1090ee25
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-rev.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Lower Shuffle Vector to REV (#79591)

Add lowering for i16 and i32 vectors for Shuffle Vector instructions
with REV mask


  Commit: 2d0d65b3babecbd339b01fdf7da29b8dfd69f889
      https://github.com/llvm/llvm-project/commit/2d0d65b3babecbd339b01fdf7da29b8dfd69f889
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [VPlan] Create edge masks all cases up front needed.(NFC)

Similarly to how block masks are created up front and later only
retrieved also make sure masks are created in cases where edge masks are
needed, i.e. blend recipes.

Creating block-in masks for all blocks in the loop also ensures edge
masks for all relevant edges have been created. Later, the new
getEdgeMask can be used to look up cached edge masks.

This makes sure edge masks are available in all cases for
https://github.com/llvm/llvm-project/pull/76090.


  Commit: c34aa784f8867517315d8ef32a8038ee9dbb7165
      https://github.com/llvm/llvm-project/commit/c34aa784f8867517315d8ef32a8038ee9dbb7165
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/SemaTemplate/PR77189.cpp

  Log Message:
  -----------
  [Clang][Sema] fix deducing auto& from const int in template parameters is impossible in partial specializations (#79733)

Fix [issue](https://github.com/llvm/llvm-project/issues/77189)
AutoType is possible cv qualified.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 70c3e30e01bd123e87824e36b6e38a39451ac28d
      https://github.com/llvm/llvm-project/commit/70c3e30e01bd123e87824e36b6e38a39451ac28d
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Remove unused methods of tuimm5 (#79680)

Since we only use tuimm5 in patterns, it doesn't need those methods for
MC layer. And there is not `getUImmOpValue` defination now, leave those
methods is confusing.


  Commit: a3f379e4e9db9d88265e6dfc464fc3a5be3ae315
      https://github.com/llvm/llvm-project/commit/a3f379e4e9db9d88265e6dfc464fc3a5be3ae315
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp

  Log Message:
  -----------
  [Frontend] Use StringRef::consume_back (NFC)


  Commit: fc1573118333845e3ce0dc659b9e7cc3394d3c82
      https://github.com/llvm/llvm-project/commit/fc1573118333845e3ce0dc659b9e7cc3394d3c82
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [Transforms] Use a range-based for loop (NFC)


  Commit: 1f5934a901d52786470c7e26c214b2b9773efd87
      https://github.com/llvm/llvm-project/commit/1f5934a901d52786470c7e26c214b2b9773efd87
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp

  Log Message:
  -----------
  [PowerPC] Directly call Instruction::getMetadata (NFC)


  Commit: ae46855f53b6fe39a8d17797a49b2911c08fb973
      https://github.com/llvm/llvm-project/commit/ae46855f53b6fe39a8d17797a49b2911c08fb973
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp

  Log Message:
  -----------
  [Target] Use getConstantOperand (NFC)


  Commit: 07dfa61ace272fc5fc7f486cf42a3d603c8c21f5
      https://github.com/llvm/llvm-project/commit/07dfa61ace272fc5fc7f486cf42a3d603c8c21f5
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp

  Log Message:
  -----------
  [LoongArch] Fix a typo in getVariantKindName (NFC) (#79567)

Looks like a slip of the pen.


  Commit: 0fbaf03f703db2cb29d1bde23708b80db049164f
      https://github.com/llvm/llvm-project/commit/0fbaf03f703db2cb29d1bde23708b80db049164f
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/lib/Target/SPIRV/SPIRVMetadata.cpp
    A llvm/lib/Target/SPIRV/SPIRVMetadata.h
    A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-i8-default-element-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-no-bitcast.ll
    A llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-i8-ptr-as-value-operand.ll
    A llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-ptr-as-value-operand.ll

  Log Message:
  -----------
  [SPIR-V] Cast ptr kernel args to i8* when used as Store's value operand (#78603)

Handle a special case when StoreInst's value operand is a kernel
argument of a pointer type. Since these arguments could have either a
basic element type (e.g. float*) or OpenCL builtin type (sampler_t),
bitcast the StoreInst's value operand to default pointer element type
(i8).

This pull request addresses the issue
https://github.com/llvm/llvm-project/issues/72864


  Commit: a0b6747804e46665ecfd00295b60432bfe1775b6
      https://github.com/llvm/llvm-project/commit/a0b6747804e46665ecfd00295b60432bfe1775b6
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/Modules/concept.cppm
    M clang/test/Modules/no-eager-load.cppm
    M clang/test/Modules/polluted-operator.cppm
    M clang/test/Modules/pr76638.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't perform ODR checks in GMF

Close https://github.com/llvm/llvm-project/issues/79240.

See the linked issue for details. Given the frequency of issue reporting
about false positive ODR checks (I received private issue reports too),
I'd like to backport this to 18.x too.


  Commit: 86b3f8518f21532297e0aad0c6aea95c66389fc9
      https://github.com/llvm/llvm-project/commit/86b3f8518f21532297e0aad0c6aea95c66389fc9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Used Twine concatenation instead of format strings RISCVISAInfo.cpp. NFC

We were converting several StringRefs to std::strings then to
char * so we could pass as %s to a format string. Use the Twine
signature of createStringError instead.


  Commit: c09dc2d9855dbf81d95052ade22b2ca78b1d8b99
      https://github.com/llvm/llvm-project/commit/c09dc2d9855dbf81d95052ade22b2ca78b1d8b99
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-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
    M flang/test/Lower/OpenACC/acc-update.f90
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp

  Log Message:
  -----------
  [mlir][openacc][flang] Support wait devnum and clean async/wait IR (#79525)

- Support wait(devnum: ) with device_type support on all operations that
require it
- devnum value is stored as the first value of waitOperands in its
device_type sub-segment. The hasWaitDevnum attribute inform which
sub-segment has a wait(devnum) value.
- Make async/wait information homogenous on compute ops, data and update
op.
- Unify operands/attributes names across operations and use the same
custom parser/printer


  Commit: 4eeeeb305b6bb1c08e04482848f425b07029c82c
      https://github.com/llvm/llvm-project/commit/4eeeeb305b6bb1c08e04482848f425b07029c82c
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

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

  Log Message:
  -----------
  [flang][openacc] Remove waitDevnum unused variable


  Commit: 4118082f651a05cca258c684ab1199578b57afac
      https://github.com/llvm/llvm-project/commit/4118082f651a05cca258c684ab1199578b57afac
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/lib/AST/ODRHash.cpp
    A clang/test/Modules/cxx20-modules-enum-odr.cppm

  Log Message:
  -----------
  [C++20] [Modules] Remove previous workaround for odr hashing enums

Previosly we land
https://github.com/llvm/llvm-project/commit/085eae6b863881fb9fda323e5b672b04a00ed19e
to workaround the false positive ODR violations in
https://github.com/llvm/llvm-project/issues/76638.

However, we decided to not perform ODR checks for decls from GMF in
https://github.com/llvm/llvm-project/issues/79240 and we land the
corresponding change. So we should be able to remove the workaround now.

The original tests get remained.


  Commit: 4a39d08908942b2d415db405844cbe4af73e75d4
      https://github.com/llvm/llvm-project/commit/4a39d08908942b2d415db405844cbe4af73e75d4
  Author: Mark Johnston <markjdb at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/src/filesystem/operations.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp

  Log Message:
  -----------
  [libc++] Fix filesystem::remove_all() on FreeBSD (#79540)

remove_all_impl() opens the target path with O_NOFOLLOW, which fails if
the target is a symbolic link. On FreeBSD, rather than returning ELOOP,
openat() returns EMLINK. This is unlikely to change for compatibility
reasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214633 .

Thus, check for EMLINK as well.


  Commit: 66347e516e22f9159b86024071fb92f364ac4418
      https://github.com/llvm/llvm-project/commit/66347e516e22f9159b86024071fb92f364ac4418
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  [mlir][vector] Drop inner unit dims for transfer ops on dynamic shapes. (#79752)


  Commit: e3a38a75ddc6ff00301ec19a0e2488d00f2cc297
      https://github.com/llvm/llvm-project/commit/e3a38a75ddc6ff00301ec19a0e2488d00f2cc297
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/include/mlir/IR/Dialect.h

  Log Message:
  -----------
  [mlir] Revert to old fold logic in IR::Dialect::add{Types, Attributes}() (#79582)

Fold expressions on Clang are limited to 256 elements. This causes
compilation errors in cases when the amount of elements added exceeds
this limit. Side-step the issue by restoring the original trick that
would use the std::initializer_list. For the record, in our downstream
Clang 16 gives:

mlir/include/mlir/IR/Dialect.h:269:23: fatal error: instantiating fold
expression with 688 arguments exceeded expression nesting limit of 256
    (addType<Args>(), ...);

Partially reverts 26d811b3ecd2fa1ca3d9b41e17fb42b8c7ad03d6.

Co-authored-by: Nikita Kudriavtsev <nikita.kudriavtsev at intel.com>


  Commit: 9f80ecb308c989523cc32d4256f7ab61c5b788d7
      https://github.com/llvm/llvm-project/commit/9f80ecb308c989523cc32d4256f7ab61c5b788d7
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Improve import of variable template specializations. (#78284)

Code of `VisitVarTemplateSpecializationDecl` was rewritten based on code
of `VisitVarDecl`. Additional changes (in structural equivalence) were
made to make tests pass.


  Commit: ce8032394fa4ff55c36d857e85241c1bd0cacc60
      https://github.com/llvm/llvm-project/commit/ce8032394fa4ff55c36d857e85241c1bd0cacc60
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M flang/test/Lower/OpenMP/FIR/if-clause.f90
    M flang/test/Lower/OpenMP/FIR/loop-combined.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/loop-combined.f90

  Log Message:
  -----------
  [Flang][OpenMP] Use simdloop operation only for omp simd pragma (#79559)

OpenMP standard differentiates between omp simd (2.9.3.1) and omp do/for
simd (2.9.3.2 for OpenMP 5.0 standard) pragmas. The first one describes
the loop which needs to be vectorized. The second pragma describes the
loop which needs to be workshared between existing threads. Each thread
can use SIMD instructions to execute its chunk of the loop.

That's why we need to model
```
!$omp simd
  do-loop
```
as `omp.simdloop` operation and add compiler hints for vectorization.

The worksharing loop:
!$omp do simd
  do-loop
should be represented as worksharing loop (`omp.wsloop`).

Currently Flang denotes both types of OpenMP pragmas by `omp.simdloop`
operation. In consequence we cannot differentiate between:
```
!$omp parallel simd
   do-loop
```
and
```
!$omp parallel do simd
   do-loop
 ```
The second loop should be workshared between multiple threads. The first one describes the loop which needs to be redundantly executed by multiple threads. Current Flang implementation does not perform worksharing for `!$omp do simd` pragma and generates valid code only for the first case.


  Commit: 743946e8ef0d164cbaa3409d11b218e299ccd35e
      https://github.com/llvm/llvm-project/commit/743946e8ef0d164cbaa3409d11b218e299ccd35e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [VPlan] Replace VPRecipeOrVPValue with VP2VP recipe simplification. (#76090)

Move simplification of VPBlendRecipes from early VPlan construction to
VPlan-to-VPlan based recipe simplification. This simplifies initial
construction.

Note that some in-loop reduction tests are failing at the moment, due to
the reduction predicate being created after the reduction recipe. I will
provide a patch for that soon.

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


  Commit: 34d80f559a3ebaa354f7820022c5e050a47a9870
      https://github.com/llvm/llvm-project/commit/34d80f559a3ebaa354f7820022c5e050a47a9870
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Target/MemoryHistory.h
    M lldb/source/API/SBBreakpointOptionCommon.h

  Log Message:
  -----------
  [lldb][NFC] Fix license comment lines that are too long

These get wrapped by clang-format currently.


  Commit: 89c9fee420e1ed099aaa4aab48f3b58e233a3ea9
      https://github.com/llvm/llvm-project/commit/89c9fee420e1ed099aaa4aab48f3b58e233a3ea9
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/include/lldb/API/SBBreakpointName.h
    M lldb/include/lldb/Breakpoint/BreakpointName.h
    M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
    M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp

  Log Message:
  -----------
  [lldb][NFC] Fix more license headers

Extra characters and one with an incorrect file name.


  Commit: 378f7ad3b7080fb17829e53452692fd5809f4790
      https://github.com/llvm/llvm-project/commit/378f7ad3b7080fb17829e53452692fd5809f4790
  Author: David Green <david.green at arm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/maxloc-elemental.fir

  Log Message:
  -----------
  [Flang] Maxloc elemental intrinsic lowering. (#79469)

This is an extension to #74828 to handle maxloc too, to keep the minloc
and maxloc symmetric.


  Commit: ba5d92eb9c18a9037dd06a74f90ceba3f4e3ace9
      https://github.com/llvm/llvm-project/commit/ba5d92eb9c18a9037dd06a74f90ceba3f4e3ace9
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/docs/CodeReview.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/MyFirstTypoFix.rst

  Log Message:
  -----------
  [llvm][Docs] Update MyFirstTypoFix doc (#79149)

I've not tried to change the purpose or style of the doc, just edited
for clarity and removed any Phabricator related language in favour of
GitHub terms.

Where possible, I've swapped direct links to LLVM's website with RST
links to the local documents. Which should be a bit more resilient.

Also it's less confusing if you're editing multiple pages locally, you
don't accidentally end up on the live site.


  Commit: c9535d7b61a37d6fa58e51222a9ccecc54431193
      https://github.com/llvm/llvm-project/commit/c9535d7b61a37d6fa58e51222a9ccecc54431193
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp

  Log Message:
  -----------
  [libc++][test] Silence MSVC warnings (#79791)

* `libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp`
emits a bunch of warnings, all caused by what appears to be intentional
code:
+ Silence MSVC warning C4245: conversion from `'int'` to `'wchar_t'`,
signed/unsigned mismatch
    - Caused by: `test<U>(0, -1);`
+ Silence MSVC warning C4305: 'argument': truncation from `'int'` to
`'bool'`
    - Caused by: `test<U>(0, -1);`
  + Silence MSVC warning C4310: cast truncates constant value
    - Caused by: `test<U>(T(-129), U(-129));`
+ Silence MSVC warning C4805: `'=='`: unsafe mix of type `'char'` and
type `'bool'` in operation
    - Caused by: `bool expect_match = val == to_find;`
*
`libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp`
+ Silence MSVC warning C4244: 'argument': conversion from `'double'` to
`'const int'`, possible loss of data
- Caused by `[](int const x, double const y) { return x + y; }`
deliberately being given `double`s to truncate.
*
`libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp`
  + Silence MSVC warnings about C++20 deprecated `volatile`.
    - Caused by: `runtime_test<      volatile T>();`


  Commit: ef83894810db8ec72489f1b45bf943938f6b0af4
      https://github.com/llvm/llvm-project/commit/ef83894810db8ec72489f1b45bf943938f6b0af4
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fix zero-length arrays and copy-pasted lambdas in `ranges.contains.pass.cpp` (#79792)

* Fix MSVC error C2466: cannot allocate an array of constant size 0
  + MSVC rejects this non-Standard extension. Previous fixes: #74183
* Fix MSVC warning C4805: `'=='`: unsafe mix of type `'int'` and type
`'const bool'` in operation
+ AFAICT, these lambdas were copy-pasted, and didn't intend to take and
return `int` here. This part of the test is using `vector<bool>` for
random-access but non-contiguous iterators, and it's checking how many
times the projection is invoked, but the projection doesn't need to do
anything squirrely, it should otherwise be an identity.
* Fix typos: "continuous" => "contiguous".


  Commit: 2e2b6b53f5f63179b52168ee156df7c76b90bc71
      https://github.com/llvm/llvm-project/commit/2e2b6b53f5f63179b52168ee156df7c76b90bc71
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-libc-routines.c

  Log Message:
  -----------
  [AArch64][compiler-rt] Avoid use of libc header in sme-libc-routines (#79454)

The use of `#include <stdlib.h>` introduces a libc dependency. In many
build environments such a file can be found under e.g. /usr/include, but
this does not necessarily correspond to the libc in use, which may not
be available until after the builtins have been built.

So far as I understand, it's not valid to have a dependency on libc from
builtins; there are a handful of such includes in builtins, but they are
protected by ifdefs.

Instead, use <stddef.h>, which provides `size_t` and is provided by the
compiler's resource headers and so should always be available.


  Commit: 14a15103cc9dbdb3e95c04627e0b96b5e3aa4944
      https://github.com/llvm/llvm-project/commit/14a15103cc9dbdb3e95c04627e0b96b5e3aa4944
  Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/lib/Evaluate/intrinsics.cpp
    A flang/test/Semantics/execute_command_line.f90

  Log Message:
  -----------
  Apply kind code check on exitstat and cmdstat  (#78286)

When testing on gcc, both exitstat and cmdstat must be a kind=4 integer,
e.g. DefaultInt. This patch changes the input arg requirement from
`AnyInt` to `TypePattern{IntType, KindCode::greaterOrEqualToKind, n}`.

The standard stated in 16.9.73
- EXITSTAT (optional) shall be a scalar of type integer with a decimal
exponent range of at least nine.
- CMDSTAT (optional) shall be a scalar of type integer with a decimal
exponent range of at least four.
 
```fortran
program bug
  implicit none
  integer(kind = 2) :: exitstatvar
  integer(kind = 4) :: cmdstatvar 
  character(len=256) :: msg
  character(len=:), allocatable :: command
  command='echo hello'
  call execute_command_line(command, exitstat=exitstatvar, cmdstat=cmdstatvar)
end program
```
When testing the above program with exitstatvar kind<4, an error would
occur:
```
$ ../build-release/bin/flang-new test.f90 
error: Semantic errors in test.f90
./test.f90:8:47: error: Actual argument for 'exitstat=' has bad type or kind 'INTEGER(2)'
    call execute_command_line(command, exitstat=exitstatvar)
```

When testing the above program with exitstatvar kind<2, an error would
occur:
```
$ ../build-release/bin/flang-new test.f90 
error: Semantic errors in test.f90
./test.f90:8:47: error: Actual argument for 'cmdstat=' has bad type or kind 'INTEGER(1)'
    call execute_command_line(command, cmdstat=cmdstatvar)
```

Test file for this semantics has been added to `flang/test/Semantic`
Fixes: https://github.com/llvm/llvm-project/issues/77990


  Commit: 5f4ee5a2dfa97fe32ee62d1d67aa1413d5a059e6
      https://github.com/llvm/llvm-project/commit/5f4ee5a2dfa97fe32ee62d1d67aa1413d5a059e6
  Author: Shanzhi <chenshanzhi at huawei.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    A clang/test/AST/ast-crash-doc-function-template.cpp

  Log Message:
  -----------
  [Clang][AST] Fix a crash on attaching doc comments (#78716)

This crash is basically caused by calling
`ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
`RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
files. A reduced reproducer is provided in this patch.

After the source locations for instantiations of funtion template are
corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
variable `CommitsInThisFile` in the function
`ASTContext::attachCommentsToJustParsedDecls` would refer to the source
file rather than the header file for implicit function template
instantiation. Therefore, in the first loop in
`ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
adjusted for relevant scenarios like the second loop.

Fixes #67979 
Fixes #68524
Fixes #70550


  Commit: 888501bc631c4f6d373b4081ff6c504a1ce4a682
      https://github.com/llvm/llvm-project/commit/888501bc631c4f6d373b4081ff6c504a1ce4a682
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBEvent.h
    M lldb/include/lldb/API/SBStream.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/ThreadPlanPython.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Target/ThreadPlanPython.cpp
    M lldb/test/API/functionalities/step_scripted/Steps.py
    M lldb/test/API/functionalities/thread_plan/wrap_step_over.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (#70392)

This patch makes ScriptedThreadPlan conforming to the ScriptedInterface
& ScriptedPythonInterface facilities by introducing 2
ScriptedThreadPlanInterface & ScriptedThreadPlanPythonInterface classes.

This allows us to get rid of every ScriptedThreadPlan-specific SWIG
method and re-use the same affordances as other scripting offordances,
like Scripted{Process,Thread,Platform} & OperatingSystem.

To do so, this adds new transformer methods for `ThreadPlan`, `Stream` &
`Event`, to allow the bijection between C++ objects and their python
counterparts.

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


  Commit: febb4c42b192ed7c88c17f91cb903a59acf20baf
      https://github.com/llvm/llvm-project/commit/febb4c42b192ed7c88c17f91cb903a59acf20baf
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/test/API/functionalities/step_scripted/TestStepScripted.py

  Log Message:
  -----------
  [lldb/Test] Temporarily XFAIL TestStepScripted.py

This patch XFAILs TestStepScripted.py temporarily following 888501bc631c,
until I fix it.

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


  Commit: ec8c8b6487d53b2c3222f1a2f8968e754b070912
      https://github.com/llvm/llvm-project/commit/ec8c8b6487d53b2c3222f1a2f8968e754b070912
  Author: David Green <david.green at arm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp

  Log Message:
  -----------
  [Flang] Remove constexpr from isMax variable. NFC

The MSCV build doesn't allow the constexpr isMax variable to be used in lambda
without a capture. The -Weverything build does not allow isMax to be used in a
lambda capture as it is a constexpr. I've removed the constexpr as it shouldn't
be necessary.


  Commit: 2dd254566d0242be2d78f1656cee12a84e7aea00
      https://github.com/llvm/llvm-project/commit/2dd254566d0242be2d78f1656cee12a84e7aea00
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Lower/Intrinsics/cosd.f90
    A flang/test/Lower/Intrinsics/sind.f90

  Log Message:
  -----------
  [flang] Add support for COSD/SIND (#79546)

Added support for COSD and SIND. This is quick fix. ATAND, TAND, COSD
and SIND needs to be revisited to make it a runtime call. This patch has
code changes and test cases.


  Commit: 3a4a7dcd623b9cbd6371c3246a31e985f1f7f232
      https://github.com/llvm/llvm-project/commit/3a4a7dcd623b9cbd6371c3246a31e985f1f7f232
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/mul-i1024.ll
    M llvm/test/CodeGen/X86/mul-i256.ll
    M llvm/test/CodeGen/X86/mul-i512.ll
    M llvm/test/CodeGen/X86/mul64.ll

  Log Message:
  -----------
  [X86] Replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.


  Commit: bc879a90193151ef39f3915f6687423c18875486
      https://github.com/llvm/llvm-project/commit/bc879a90193151ef39f3915f6687423c18875486
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/mul-i256.ll

  Log Message:
  -----------
  [X86] mul-i256.ll - simplify function attributes and remove cfi noise


  Commit: 754a8add57098ef71e4a51a9caa0cc175e94377d
      https://github.com/llvm/llvm-project/commit/754a8add57098ef71e4a51a9caa0cc175e94377d
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir

  Log Message:
  -----------
  [mlir][llvm] Add experimental.vector.interleave2 intrinsic (#79270)


  Commit: 6d242914d784ed848d0f87bf6df9b6b2f2b27566
      https://github.com/llvm/llvm-project/commit/6d242914d784ed848d0f87bf6df9b6b2f2b27566
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/SystemZ/unaligned-symbols.c
    A clang/test/Driver/s390x-unaligned-symbols.c

  Log Message:
  -----------
  [Clang, SystemZ] Split test into Driver and CodeGen parts (NFC) (#79808)

The test added in #73511 currently fails in
CLANG_DEFAULT_PIE_ON_LINUX=OFF configuration, because it uses the clang
driver in a codegen test.

Split the test into two, a driver test that checks that the appropriate
target feature is passed, and a codegen test that uses cc1.


  Commit: 4a3d187075b2e3795b3e00e6ebb7a2a42143f3bb
      https://github.com/llvm/llvm-project/commit/4a3d187075b2e3795b3e00e6ebb7a2a42143f3bb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc][NFC] Simplify AMDGPU constant frequency checks (#79653)

Summary:
The AMDGPU fixed frequency clock is fixed to a chip dependent frequency.
More modern chips have started to fix this at known values of 25 MHz or
100 MHz, so this function forwards those values. This was done using the
individual architectures. This patch simply uses the more concise
`__GFXn__` macro which indicates the major revision


  Commit: a372460538595d4c5a769c4c248fe7b1b4d69882
      https://github.com/llvm/llvm-project/commit/a372460538595d4c5a769c4c248fe7b1b4d69882
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
    M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h

  Log Message:
  -----------
  [Sanitizer][NFC] Fix up comment in atomic_store of sanitizer_atomic_clang_*.h


  Commit: d93f850c6f11aa315c83a34ec59210e1755528f8
      https://github.com/llvm/llvm-project/commit/d93f850c6f11aa315c83a34ec59210e1755528f8
  Author: Jason Eckhardt <jason.eckhardt at solana.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCDecoderOps.h
    A llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Extend OPC_ExtractField/OPC_CheckField start value widths. (#79723)

Both OPC_ExtractField and OPC_CheckField are currently defined to take
an unsigned 8-bit start value. On some architectures with long
instruction words, this value can silently overflow, resulting in a bad
decoder table.

This patch changes each to take a ULE128B-encoded start value instead.
Additionally, a range assertion is added for the 8-bit length to
prominently notify a user in case that field ever overflows.

This problem isn't currently exposed upstream since all in-tree targets
use small instruction words (i.e., bitwidth <= 64 bits). It does show up
in at least one downstream target with instructions > 64 bits long.

Co-authored-by: Jason Eckhardt <jeckhardt at nvidia.com>


  Commit: 8a074c84ff01f8581b4a769c4af3abab9731fe5b
      https://github.com/llvm/llvm-project/commit/8a074c84ff01f8581b4a769c4af3abab9731fe5b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fixup-bw-copy.ll

  Log Message:
  -----------
  [X86] fixup-bw-copy.ll - replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.


  Commit: ccb2810ee33588ad0707e51bb31af8fec5e39f76
      https://github.com/llvm/llvm-project/commit/ccb2810ee33588ad0707e51bb31af8fec5e39f76
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [X86] anyext.ll - replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.


  Commit: 06f5b956a0ba3bb1cad7d94707398a97750d8b37
      https://github.com/llvm/llvm-project/commit/06f5b956a0ba3bb1cad7d94707398a97750d8b37
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/pmovsx-inreg.ll

  Log Message:
  -----------
  [X86] pmovsx-inreg.ll - replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.


  Commit: eb56bc2b105c792bafd36ef35c0e6eda9f0b822e
      https://github.com/llvm/llvm-project/commit/eb56bc2b105c792bafd36ef35c0e6eda9f0b822e
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp

  Log Message:
  -----------
  [libc] Remove specific nan payload in math functions (#79165)


  Commit: 5e3fc9c37f01c75fad306db71b5235bdc300194b
      https://github.com/llvm/llvm-project/commit/5e3fc9c37f01c75fad306db71b5235bdc300194b
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M .github/workflows/llvm-tests.yml

  Log Message:
  -----------
  [workflows] Fix argument passing in abi-dump jobs (#79658)

This was broken by 859e6aa1008b80d9b10657bac37822a32ee14a23, which added
quotes around the EXTRA_ARGS variable.


  Commit: c9a6e993f7b349405b6c8f9244cd9cf0f56a6a81
      https://github.com/llvm/llvm-project/commit/c9a6e993f7b349405b6c8f9244cd9cf0f56a6a81
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
    M clang/test/Preprocessor/predefined-arch-macros.c

  Log Message:
  -----------
  [AMDGPU] Do not emit arch dependent macros with unspecified cpu (#79660)

Summary:
Currently, the AMDGPU toolchain accepts not passing `-mcpu` as a means
to create a sort of "generic" IR. The resulting IR will not contain any
target dependent attributes and can then be inserted into another
program via `-mlink-builtin-bitcode` to inherit its attributes.

However, there are a handful of macros that can leak incorrect
information when compiling for an unspecified architecture. Currently,
things like the wavefront size will default to 64, which is actually
variable. We should not expose these macros unless it is known.


  Commit: 8b429fc3fe2d5a9c55f953b4d0eecdb1f9f6fe06
      https://github.com/llvm/llvm-project/commit/8b429fc3fe2d5a9c55f953b4d0eecdb1f9f6fe06
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [AMDGPU] Update SITargetLowering::getAddrModeArguments (#78740)

Handle every intrinsic for which getTgtMemIntrinsic returns with
Info.ptrVal set to one of the intrinsic's operands. A bunch of these
cases were missing.


  Commit: cfb702676cc181877482a282fe7e07109a24dc9d
      https://github.com/llvm/llvm-project/commit/cfb702676cc181877482a282fe7e07109a24dc9d
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/lib/Target/X86/X86InstrFoldTables.h

  Log Message:
  -----------
  [X86][NFC] Rename lookupBroadcastFoldTable to lookupBroadcastFoldTableBySize

Address RKSimon's comments in #79761


  Commit: ce72f78f37199d693a65b6c7c1d637fafbb13727
      https://github.com/llvm/llvm-project/commit/ce72f78f37199d693a65b6c7c1d637fafbb13727
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll

  Log Message:
  -----------
  [AMDGPU] Fix mul combine for MUL24 (#79110)

MUL24 can now return a i64 for i32 operands, but the combine was never
updated to handle this case. Extend the operand when rewriting the ADD
to handle it.

Fixes SWDEV-436654


  Commit: df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0
      https://github.com/llvm/llvm-project/commit/df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/test/Fir/boxproc-2.fir

  Log Message:
  -----------
  [flang] Fix invalid iterator erasure in boxed-procedure pass (#79830)

The code in BoxedProcedureRewrite was erasing the mappings <old type,
new type> once "new type" was fully translated. This was done in an
invalid way because the map was an llvm::SmallMapVector that do not have
stable iterators, and new items were added to the map between the
creation of the iterator and its erasure.

It is anyway not needed and expensive to erase the types (see
llvm::MapVector note), the cache can be used for the whole pass, which
is very beneficial in the context of an apps using "big derived types"
(dozens of components/parents).


  Commit: d833b9d677c9dd0a35a211e2fdfada21ea9a464b
      https://github.com/llvm/llvm-project/commit/d833b9d677c9dd0a35a211e2fdfada21ea9a464b
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicond.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/cmov-branch-opt.ll
    M llvm/test/CodeGen/RISCV/condbinops.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    M llvm/test/CodeGen/RISCV/select-binop-identity.ll
    M llvm/test/CodeGen/RISCV/select.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/MC/RISCV/rv32zicond-invalid.s
    M llvm/test/MC/RISCV/rv32zicond-valid.s
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Graduate Zicond to non-experimental (#79811)

The Zicond extension was ratified in the last few months, with no
changes that affect the LLVM implementation. Although there's surely
more tuning that could be done about when to select Zicond or not, there
are no known correctness issues. Therefore, we should mark support as
non-experimental.


  Commit: d133ada9460aad6d60393fb1260082e62d640500
      https://github.com/llvm/llvm-project/commit/d133ada9460aad6d60393fb1260082e62d640500
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp

  Log Message:
  -----------
  [X86][CodeGen] Add missing BroadcastTable1 in X86MemUnfoldTable


  Commit: ee08b992514bd1556c38f42409d92728af3451f7
      https://github.com/llvm/llvm-project/commit/ee08b992514bd1556c38f42409d92728af3451f7
  Author: Jimmy Z <51149050+jimmy-zx at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    A clang/bindings/python/tests/cindex/test_rewrite.py
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [libclang/python] Expose Rewriter to the python binding (#77269)

Exposes `CXRewriter` API to the python binding as `class Rewriter`.


  Commit: 70f5b220509cafb3dc4e876e4feecb3dcca78dec
      https://github.com/llvm/llvm-project/commit/70f5b220509cafb3dc4e876e4feecb3dcca78dec
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [TableGen][AsmMatcher] Fix the range check on 'MatchClassKind'

- When selecting the minimal type for 'MatchClassKind' during the
  emission of 'MatchEntry' and 'OperandMatchEntry', two pre-defined
  kinds 'InvalidMatchClass' and 'OptionalMatchClass' are not taken into
  account.


  Commit: 169553688ca40d9a495f19e8ba2af1137e13cff8
      https://github.com/llvm/llvm-project/commit/169553688ca40d9a495f19e8ba2af1137e13cff8
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Support/X86FoldTablesUtils.h
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp

  Log Message:
  -----------
  [X86][NFC] Remove TB_FOLDED_BCAST and format code in X86InstrFoldTables.cpp


  Commit: 7c8ef76500b40c3b7cb65b839b61345b713aeb5a
      https://github.com/llvm/llvm-project/commit/7c8ef76500b40c3b7cb65b839b61345b713aeb5a
  Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Lower/Intrinsics/system-optional.f90
    A flang/test/Lower/Intrinsics/system.f90
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] add SYSTEM runtime and lowering intrinsics support (#74309)

Calls std::system() function and pass the command,
cmd on Windows or shell on Linux.
Command parameter is required, exitstatus is optional.
call system(command)
call system(command, exitstatus)

It calls `execute_command_line` runtime function with `wait` set to true.
---------

Co-authored-by: Yi Wu <yiwu02 at wdev-yiwu02.arm.com>


  Commit: ae8005ffb6cd18900de8ed5a86f60a4a16975471
      https://github.com/llvm/llvm-project/commit/ae8005ffb6cd18900de8ed5a86f60a4a16975471
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] Add mcpu alias for Microsoft Azure Cobalt 100. (#79614)

With a690e86 we added -mcpu/mtune=native support to handle the Microsoft
Azure Cobalt 100 CPU as a Neoverse N2. This patch adds a CPU alias in
TargetParser to maintain compatibility with GCC.


  Commit: 430c1fd50d774dc30a9628bcf60ce243f74ff376
      https://github.com/llvm/llvm-project/commit/430c1fd50d774dc30a9628bcf60ce243f74ff376
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Parallelism.cpp

  Log Message:
  -----------
  [libomptarget][NFC] Outline parallel SPMD function (#78642)

This patch outlines the SPMD code path into a separate function that can
be called directly.


  Commit: 9520773c46777adbc1d489f831d6c93b8287ca0e
      https://github.com/llvm/llvm-project/commit/9520773c46777adbc1d489f831d6c93b8287ca0e
  Author: David Green <david.green at arm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll

  Log Message:
  -----------
  [AArch64] Don't generate neon integer complex numbers with +sve2. NFC (#79829)

The condition for allowing integer complex number support could also
allow neon fixed length complex numbers if +sve2 was specified. This
tightens the condition to only allow integer complex number support for
scalable vectors.

We could generalize this in the future to generate SVE intrinsics for
fixed-length vectors, but for the moment this opts for the simpler fix.


  Commit: cbe5985ff7cd21924ed88b6a46fd5c04acc7fca8
      https://github.com/llvm/llvm-project/commit/cbe5985ff7cd21924ed88b6a46fd5c04acc7fca8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/shift-amount-mod.ll
    M llvm/test/CodeGen/X86/shift-and.ll
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [X86] Replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.


  Commit: f28430d577276bf58d96945a6919399baa6c2527
      https://github.com/llvm/llvm-project/commit/f28430d577276bf58d96945a6919399baa6c2527
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Support/X86FoldTablesUtils.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp

  Log Message:
  -----------
  [X86][CodeGen] Add entries for TB_BCAST_W in getBroadcastOpcode and fix typo


  Commit: 72d4fc1b4d5cfc4f7d50cc5cf1b315543c088f4d
      https://github.com/llvm/llvm-project/commit/72d4fc1b4d5cfc4f7d50cc5cf1b315543c088f4d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
    M clang/test/Preprocessor/predefined-arch-macros.c

  Log Message:
  -----------
  Revert "[AMDGPU] Do not emit arch dependent macros with unspecified cpu (#79660)"

This reverts commit c9a6e993f7b349405b6c8f9244cd9cf0f56a6a81.

This breaks HIP code that incorrectly depended on GPU-specific macros to
be set. The code is totally wrong as using `__WAVEFRTONSIZE__` on the
host is absolutely meaningless, but it seems this entire corner of the
toolchain is fundmentally broken. Reverting for now to avoid breakages.


  Commit: 3e47e75febc8fefa19afe1e8ef2b15a106d2f791
      https://github.com/llvm/llvm-project/commit/3e47e75febc8fefa19afe1e8ef2b15a106d2f791
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/test/Transforms/loop-versioning.fir

  Log Message:
  -----------
  [flang] Use DataLayout for computing type size in LoopVersioning. (#79778)

The existing type size computation in LoopVersioning does not work
for REAL*10, because the compute element size is 10 bytes,
which violates the power-of-two assertion.
We'd better use the DataLayout for computing the storage size
of each element of an array of the given type.


  Commit: db6bf92123fbc82dd6e3da4f88e440415352692d
      https://github.com/llvm/llvm-project/commit/db6bf92123fbc82dd6e3da4f88e440415352692d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    A llvm/include/llvm/Support/DXILABI.h
    R llvm/include/llvm/Support/DXILOperationCommon.h
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Rename DXILOperationCommon.h to DXILABI.h. NFC

This is a good place to put all of the ABI-sensitive DXIL values that
we'll need in both reading and writing contexts.

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


  Commit: 181eab27d244b9a9eb32d6716f9c38f7f3723356
      https://github.com/llvm/llvm-project/commit/181eab27d244b9a9eb32d6716f9c38f7f3723356
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Lower/Bridge.h
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/test/Evaluate/rewrite07.f90
    M flang/unittests/Evaluate/expression.cpp
    M flang/unittests/Evaluate/folding.cpp
    M flang/unittests/Evaluate/intrinsics.cpp

  Log Message:
  -----------
  [flang] Set KIND in compiler generated COUNT for SIZE(PACK) (#79801)

Compiler was rewriting SIZE(PACK(x, MASK)) to COUNT(MASK). It was
wrapping the COUNT call without a KIND argument (leading to INTEGER(4)
result in the characteristics) in an Expr<ExtentType> (implying
INTEGER(8) result), this lead to inconsistencies that later hit verifier
errors in lowering.

Set the KIND argument to the KIND of ExtentType to ensure the built
expression is consistent.

This requires giving access to some safe place where the "kind" name can
be saved and turned into a CharBlock (count has a DIM argument that
require using the KIND keyword here). For the FoldingContext that belong
to SemanticsContext, this is the same string set as the one used by
SemanticsContext for similar purposes.


  Commit: 8c0a61125e52b137e45131773ec08bab3e2593e4
      https://github.com/llvm/llvm-project/commit/8c0a61125e52b137e45131773ec08bab3e2593e4
  Author: Will Hawkins <hawkinsw at obs.cr>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.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/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/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.default.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/types.h

  Log Message:
  -----------
  [libcxx][NFC] Rename iterator/sentinel type template parameter names (#76201)

According to internally agreed upon best practices, type template
parameter names representing iterator types should be named `Iter`. For
type template parameters representing sentinel types, they should be
named `Sent`.

Signed-off-by: Will Hawkins <hawkinsw at obs.cr>


  Commit: ad7131864f5a1a23f8c8d054a5e31c9979edd497
      https://github.com/llvm/llvm-project/commit/ad7131864f5a1a23f8c8d054a5e31c9979edd497
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
    M llvm/include/llvm/Support/DXILABI.h
    M llvm/lib/Target/DirectX/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILResource.h

  Log Message:
  -----------
  [DirectX] Move DXIL ResourceKind and ElementType to DXILABI.h. NFC

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


  Commit: 2aef33230d3402878a837f9aaa37e37d0763d1ac
      https://github.com/llvm/llvm-project/commit/2aef33230d3402878a837f9aaa37e37d0763d1ac
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fast-isel-store.ll

  Log Message:
  -----------
  [X86] fast-isel-store.ll - cleanup check prefixes

32/64-bit triples and check prefixes were inverted, and missing unwind attribute to strip cfi noise


  Commit: 3ab5dbb1995982ab7d106e39a719daaea8bdfeee
      https://github.com/llvm/llvm-project/commit/3ab5dbb1995982ab7d106e39a719daaea8bdfeee
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/sext-i1.ll

  Log Message:
  -----------
  [X86] sext-i1.ll - replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.


  Commit: 0a15ead01b6be095a87a405e63e9525ed123ac58
      https://github.com/llvm/llvm-project/commit/0a15ead01b6be095a87a405e63e9525ed123ac58
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    A llvm/test/Transforms/BDCE/binops-multiuse.ll

  Log Message:
  -----------
  [BDCE] Introduce test for PR79688 (NFC)


  Commit: 20737825c9122b6e0a8912731cfa7e0558fe025d
      https://github.com/llvm/llvm-project/commit/20737825c9122b6e0a8912731cfa7e0558fe025d
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/BDCE.cpp
    M llvm/test/Transforms/BDCE/binops-multiuse.ll
    M llvm/test/Transforms/BDCE/dead-uses.ll

  Log Message:
  -----------
  [BDCE] Handle multi-use binary ops upon demanded bits

Simplify multi-use `and`/`or`/`xor` when these last
do not affect the demanded bits being considered.

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

Proofs: https://alive2.llvm.org/ce/z/EjuWHa.


  Commit: 7b0396faabce0cec470779ae5e3a851bedb2ac12
      https://github.com/llvm/llvm-project/commit/7b0396faabce0cec470779ae5e3a851bedb2ac12
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash when type used in return statement contains errors (#79788)

In Sema in `BuildReturnStmt(...)` when we try to determine is the type
is move eligible or copy elidable we don't currently check of the init
of the `VarDecl` contain errors or not. This can lead to a crash since
we may send a type that is not complete into `getTypeInfo(...)` which
does not allow this.

This fixes: https://github.com/llvm/llvm-project/issues/63244
https://github.com/llvm/llvm-project/issues/79745


  Commit: d5e8a273fddcf4abbfc59d16f08e735f7cefff93
      https://github.com/llvm/llvm-project/commit/d5e8a273fddcf4abbfc59d16f08e735f7cefff93
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/GettingStarted.rst

  Log Message:
  -----------
  [docs] Remove second "getting sources" section in GettingStarted.rst (#79663)

The very beginning already talks about how to git clone the repo. The
section about checking out specific versions doesn't really belong in
GettingStarted and seems unnecessary.


  Commit: 155f24b11e21a187ae8b5cd09665e90406f61e33
      https://github.com/llvm/llvm-project/commit/155f24b11e21a187ae8b5cd09665e90406f61e33
  Author: Nilanjana Basu <n_basu at apple.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll

  Log Message:
  -----------
  [Tests][LV][AArch64] Pre-commit tests for changing loop interleaving count computation for loops that need to run scalar iterations (#79640)

This patch contains a set of pre-commit tests for changing the loop interleaving count computation in a subsequent patch in order to address loops that need to execute at least a single scalar iteration in the epilogue.


  Commit: 649ecf88ed8814fcd95ca7fa34e9aeaf5728e823
      https://github.com/llvm/llvm-project/commit/649ecf88ed8814fcd95ca7fa34e9aeaf5728e823
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/include/module.modulemap

  Log Message:
  -----------
  Add missing textual header to module map


  Commit: c07d3343dc263fce3296f92203944f29b8ecc25a
      https://github.com/llvm/llvm-project/commit/c07d3343dc263fce3296f92203944f29b8ecc25a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for PR79743 with incorrect node demotion, NFC.


  Commit: 61384850c5950b8c5ee0abd75982f5cad8f98536
      https://github.com/llvm/llvm-project/commit/61384850c5950b8c5ee0abd75982f5cad8f98536
  Author: Jason Molenda <jason at molenda.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBEvent.h
    M lldb/include/lldb/API/SBStream.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    R lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/ThreadPlanPython.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Target/ThreadPlanPython.cpp
    M lldb/test/API/functionalities/step_scripted/Steps.py
    M lldb/test/API/functionalities/thread_plan/wrap_step_over.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  Revert "[lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (#70392)"

Temporarily revert to unblock the CI bots, this is breaking the -DLLVM_ENABLE_MODULES=On
modules style build.  I've notified Ismail.

This reverts commit 888501bc631c4f6d373b4081ff6c504a1ce4a682.


  Commit: eb98b5003cacfc01102557744655f6c2fc02b0cb
      https://github.com/llvm/llvm-project/commit/eb98b5003cacfc01102557744655f6c2fc02b0cb
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/abs.ll

  Log Message:
  -----------
  [ConstraintElim] Add tests for llvm.abs >= 0 (#79068)

Add tests for llvm.abs >= 0.
This is a preparation for
https://github.com/llvm/llvm-project/pull/79070 .


  Commit: 8d89dd4a5872503d6d5b070bdb48d20973156e07
      https://github.com/llvm/llvm-project/commit/8d89dd4a5872503d6d5b070bdb48d20973156e07
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll

  Log Message:
  -----------
  [SLP]Fix PR79743: Check that all users are demoted before trying to
demote the tree entry.

Need to check if all user nodes are marked for demotion before demoting
the node. Otherwise, some data info might be lost after vectorization.


  Commit: 27e67cdb31bed4c346af925686c031d57aef9846
      https://github.com/llvm/llvm-project/commit/27e67cdb31bed4c346af925686c031d57aef9846
  Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__config
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/format
    A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    A libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/support/test_basic_format_arg.h
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  Reland: [libc++][format] P2637R3: Member visit (std::basic_format_arg) #76449 (#79032)

Deleted the offending test case.


`libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp`
lines: 134-135:   
>   test<Context, bool, long>(true, 192812079084L);
     test<Context, bool, long>(false, 192812079084L);
     
 Relands: https://github.com/llvm/llvm-project/pull/76449
Reverted in:
https://github.com/llvm/llvm-project/commit/02f95b77515fe18ed1076b94cbb850ea0cf3c77e

---------

Co-authored-by: Zingam <zingam at outlook.com>


  Commit: 5dce6353b5e42248c7271f7694613831a6d427de
      https://github.com/llvm/llvm-project/commit/5dce6353b5e42248c7271f7694613831a6d427de
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Target/PathMappingList.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/Process.h

  Log Message:
  -----------
  Add missing includes


  Commit: 547c395b279a93357082ac06cf3e8fe37ebfc3fe
      https://github.com/llvm/llvm-project/commit/547c395b279a93357082ac06cf3e8fe37ebfc3fe
  Author: Jason Molenda <jason at molenda.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lldb/test/API/functionalities/step_scripted/TestStepScripted.py

  Log Message:
  -----------
  Revert "[lldb/Test] Temporarily XFAIL TestStepScripted.py"

Also revert this patch until Ismail can re-land.

This reverts commit febb4c42b192ed7c88c17f91cb903a59acf20baf.


  Commit: 295059409f75e13bf000d536cb8d287e35153c83
      https://github.com/llvm/llvm-project/commit/295059409f75e13bf000d536cb8d287e35153c83
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [PatternMatch] Use dyn_cast in CastInst_match instead of checking opcode. NFC (#79878)

Using dyn_cast allows us to use CastInst::getOperand instead of
Instruction::getOperand. This is more efficient since
CastInst::getOperand doesn't need to check how the operands are stored.
Instruction::getOperand has to consider HungOffUses.


  Commit: c576ab6bc55316061fef5a275f30c124e2572182
      https://github.com/llvm/llvm-project/commit/c576ab6bc55316061fef5a275f30c124e2572182
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Avoid including libc++ private header in std/ test (#79856)

Fixes #79783


  Commit: eac8d713a6682417d06f5ee7f90a8ce54a281df8
      https://github.com/llvm/llvm-project/commit/eac8d713a6682417d06f5ee7f90a8ce54a281df8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [libc++][ci] Update upload-artifact at v3 and hashpin the version (#79854)

The upload-artifact at v3 action is using Node 16, which is reaching EOL.
As a result, we are getting warnings prompting us to move our jobs over
to the latest version of upload-artifact.


  Commit: d9f1791a0a1c513349df7a19ce054a90e6b504c5
      https://github.com/llvm/llvm-project/commit/d9f1791a0a1c513349df7a19ce054a90e6b504c5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst

  Log Message:
  -----------
  [libc++] Move release note to the right section


  Commit: 0039a2ff4fe98ce54654e5f4da90aeee718e1d41
      https://github.com/llvm/llvm-project/commit/0039a2ff4fe98ce54654e5f4da90aeee718e1d41
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir

  Log Message:
  -----------
  [mlir][gpu] Add support for lowering math.erf to __nv_erf (#79848)


  Commit: faf675ce34ee1e2c6105e9a816f220412fd2f8d5
      https://github.com/llvm/llvm-project/commit/faf675ce34ee1e2c6105e9a816f220412fd2f8d5
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Analysis.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/lib/Clustering.cpp
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/Mips/Target.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.h
    M llvm/tools/llvm-exegesis/lib/ProgressMeter.h
    M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [llvm-exegesis] Remove llvm prefix where unnecessary (#79802)

This patch removes the llvm:: prefix within llvm-exegesis where it is
not necessary. This is most occurrences of the prefix within exegesis as
exegesis is within the llvm namespace. This patch makes things more
consistent as the vast majority of the code did not use the llvm::
prefix for anything.


  Commit: 3d0a689eb72aef639347edbec4608e631d5208a1
      https://github.com/llvm/llvm-project/commit/3d0a689eb72aef639347edbec4608e631d5208a1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  [llvm-cov] Simplify and optimize MC/DC computation (#79727)

Update code from https://reviews.llvm.org/D138847

`buildTestVector` is a standard DFS (walking a reduced ordered binary
decision diagram). Avoid shouldCopyOffTestVectorFor{True,False}Path
complexity and redundant `Map[ID]` lookups.

`findIndependencePairs` unnecessarily uses four nested loops (n<=6) to
find independence pairs. Instead, enumerate the two execution vectors
and find the number of mismatches. This algorithm can be optimized using
the marking function technique described in _Efficient Test Coverage
Measurement for MC/DC,  2013_, but this may be overkill.


  Commit: d492faa7aa995aedac41e1f86aaf42dc5b43db54
      https://github.com/llvm/llvm-project/commit/d492faa7aa995aedac41e1f86aaf42dc5b43db54
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTX.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/activemask.ll

  Log Message:
  -----------
  [NVPTX] Add 'activemask' builtin and intrinsic support (#79768)

Summary:
This patch adds support for getting the 'activemask' instruction's value
without needing to use inline assembly. See the relevant PTX reference
for details.


https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-activemask


  Commit: 5f12cc912ac90a2511f2a53c45dc9250945da18c
      https://github.com/llvm/llvm-project/commit/5f12cc912ac90a2511f2a53c45dc9250945da18c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/nanosleep.ll

  Log Message:
  -----------
  [NVPTX] Add builtin support for 'nanosleep' PTX instrunction (#79888)

Summary:
This patch adds a builtin for the `nanosleep` PTX function. It takes
either an immediate or a register and sleeps for [0, 2t] nanoseconds
given t. More information at the documentation:

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-nanosleep


  Commit: ea8014046c7f7c81f92d24832b873d356b2b6712
      https://github.com/llvm/llvm-project/commit/ea8014046c7f7c81f92d24832b873d356b2b6712
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/intrinsics.ll

  Log Message:
  -----------
  [NVPTX] Add builtin for 'exit' handling (#79777)

Summary:
The PTX ISA has always supported the 'exit' instruction to terminate
individual threads. This patch adds a builtin to handle it. See the PTX
documentation for further details.

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#control-flow-instructions-exit


  Commit: e633807a1fccbed91dbfe1fdc2c78adcaf21d99c
      https://github.com/llvm/llvm-project/commit/e633807a1fccbed91dbfe1fdc2c78adcaf21d99c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/intrinsics.ll

  Log Message:
  -----------
  [NVPTX] Add builtin support for 'globaltimer' (#79765)

Summary:
This patch adds support for `globaltimer` to match `clock` and
`clock64`. See the PTX ISA reference for details. This patch does not
implement the `hi` or `lo` variants for brevity as they can be obtained
from this with the cost of an additional register.

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#special-registers-globaltimer-globaltimer-lo-globaltimer-hi


  Commit: 9a1ca245c8bc60b1ca12cd906fb31130801d977e
      https://github.com/llvm/llvm-project/commit/9a1ca245c8bc60b1ca12cd906fb31130801d977e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/warn-backrefs.s

  Log Message:
  -----------
  [ELF] --warn-backrefs: --defsym does not make a backward reference

The interaction between --warn-backrefs was not tested, but if
--defsym-created reference causes archive member extraction, it seems
reasonable to suppress the diagnostic, which was the behavior before #78944.


  Commit: c492eb6b28a1605e943b9c41071597fd1eda032c
      https://github.com/llvm/llvm-project/commit/c492eb6b28a1605e943b9c41071597fd1eda032c
  Author: Nilanjana Basu <n_basu at apple.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll

  Log Message:
  -----------
  [LV] Update interleaving count computation when scalar epilogue loop needs to run at least once (#79651)

Update loop interleaving count computation to address loops that require at least one scalar iteration in the epilogue loop. For this case, the available trip count for interleaving the loop is one less.


  Commit: 74bebee08e52ae4758bba4fc8bbb781fcaee1e54
      https://github.com/llvm/llvm-project/commit/74bebee08e52ae4758bba4fc8bbb781fcaee1e54
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Semantics/runtime-type-info.cpp
    A flang/test/Semantics/typeinfo08.f90

  Log Message:
  -----------
  [flang] Fix compiler crash in semantics (#79609)

The runtime type information table generator couldn't handle a null
pointer returned correctly for a original (not instantiated) derived
type with kind parameters.

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


  Commit: 8dbedf49d7c6e8e6e3212b8be633780e5c4f0ee3
      https://github.com/llvm/llvm-project/commit/8dbedf49d7c6e8e6e3212b8be633780e5c4f0ee3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [sanitizer] Allow *___lcxx_override symbolse in symbolizer (#79904)

We don't intercept them, and they are not called and used only as
markers anyway.

These symbols introduced with #69498.


  Commit: e6fdbd17769d626c66e087b0fd9bbda0ea69194d
      https://github.com/llvm/llvm-project/commit/e6fdbd17769d626c66e087b0fd9bbda0ea69194d
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Add special-case faster path to real MOD/MODULO (#79625)

When a real-valued reference to the MOD/MODULO intrinsic functions has
operands that are exact integers, use the fast exact integer algorithm
rather than calling std::fmod.


  Commit: c82f3caf5683a443692162d9fbebc31019af7ce8
      https://github.com/llvm/llvm-project/commit/c82f3caf5683a443692162d9fbebc31019af7ce8
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [scudo] Add StackDepot lock to enable/disable. (#79670)

Scudo grabs all allocator locks in a pthread_atfork before the fork, and releases them after. This allows malloc to be used in a fork child of a multithreaded process, which is expressly forbidden by the standard, but very widely used. For example, Android's init uses std::string after fork when spawning services in android::init::EnterNamespaces and other places.

Any lock that is necessary to serve an allocator call must be handled this way. Otherwise there is a possibility that the lock is held during the call to fork, which results in it being held forever in the child process, and the next operation that needs it deadlocks.


  Commit: d6e07e084511cac56c6e468a444ecbf2de3489b9
      https://github.com/llvm/llvm-project/commit/d6e07e084511cac56c6e468a444ecbf2de3489b9
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/code-model-elf.ll

  Log Message:
  -----------
  [X86] Treat __ehdr_start as large (#79884)

The __ehdr_start symbol is added by the linker and points to the ELF
file headers, which can be very far away from text. Treat it as a large
symbol under the medium/large code models. Performance to access
__ehdr_start is almost certainly not important.

There are a couple of other symbols that the linker adds [1], but this
is the most relevant one that may be far away from text.

[1]
https://github.com/llvm/llvm-project/blob/547c395b279a93357082ac06cf3e8fe37ebfc3fe/lld/ELF/Writer.cpp#L226


  Commit: d83c97714756e828c9c7091aa8294e022c93a454
      https://github.com/llvm/llvm-project/commit/d83c97714756e828c9c7091aa8294e022c93a454
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h
    A flang/test/Semantics/generic08.f90

  Log Message:
  -----------
  [flang] Prevent bad expression rewrite 0*ARR -> 0 (#79853)

Don't rewrite 0*X to 0 if X is not scalar. Up until now this hasn't
shown up as a bug because a scalar 0 works in nearly all expressions
where an array would be expected. But not in all cases -- this bad
rewrite can cause generic procedure resolution to fail when it causes an
actual argument to have an unsupported rank.


  Commit: 37180ed7435d28282ff4ccc9fbcbed04124ef8c0
      https://github.com/llvm/llvm-project/commit/37180ed7435d28282ff4ccc9fbcbed04124ef8c0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/test/Semantics/generic05.F90
    M flang/test/Semantics/generic07.f90
    M flang/test/Semantics/resolve17.f90
    M flang/test/Semantics/resolve53.f90
    M flang/test/Semantics/resolve54.f90
    M flang/test/Semantics/resolve63.f90
    M flang/test/Semantics/resolve65.f90
    M flang/test/Semantics/resolve96.f90

  Log Message:
  -----------
  [flang] Turn "error" cases into warning for "indistinguishable" specific procedures (#79621)

When a generic procedure interface, either declared or the result of
    merging two use-associated generics, has two specific procedures
    that are not distinguishable according to the rules in F'2023
    subclause 15.4.3.4.5, emit a portability warning rather than a
    hard error message.  The rules in that subclause are not adequate
    to detect pairs of specific procedures that admit an ambiguous
    reference, as demonstrated by a case that arose in pFUnit.  Further,
    these distinguishability checks, even if sufficient to the task
    of detecting pairs of specifics capable of ambiguous references,
    should only apply to pairs where *every* reference would have to
    be ambiguous -- and this can and is validated at every reference
    anyway.  Last, only XLF enforces these incomplete and needless
    distinguishability rules -- every other compiler seems to just
    check that each procedure reference resolves to exactly one
    specific procedure.
    
    If the standard were to complete lose subclause 15.4.3.4.5 and
    its related note (C.11.6) -- which admits that the rules are
    incomplete! -- and simply require that each generic procedure
    reference resolve unambiguously to exactly one specific, nobody
    would miss them.  This patch changes this compiler to give them
    lip service when requested, but they are now otherwise ignored.


  Commit: 0aff71c17831c4f3c7147e792b5761107c011dd5
      https://github.com/llvm/llvm-project/commit/0aff71c17831c4f3c7147e792b5761107c011dd5
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/ast-dump-for-range-lifetime.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2718R0 "Lifetime extension in range-based for loops" (#76361)

Implement P2718R0 "Lifetime extension in range-based for loops"
(https://wg21.link/P2718R0)

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

---------

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


  Commit: c322e92841fae1d756c4126a3e4c5e1b3366f042
      https://github.com/llvm/llvm-project/commit/c322e92841fae1d756c4126a3e4c5e1b3366f042
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/resolve122.f90

  Log Message:
  -----------
  [flang] Silence bogus USE statement error (#79896)

When there are multiple USE statement for a particular module using
renaming, it is necessary to collect a set of all of the original
renaming targets before processing any of USE statements that don't have
ONLY: clauses.

Currently, if there is a name in the module that can't be added to the
current scope -- due to a conflict with an internal or module
subprogram, or with a previously use-associated name -- the compiler
will emit a bogus error message even if that conflicting name appear on
a later USE statement of the same module as the target of a renaming.

The new regression test case added with this patch provides a motivating
example.


  Commit: 3c8a5800f5fdfd5c32eae04194fc31b9f5f86494
      https://github.com/llvm/llvm-project/commit/3c8a5800f5fdfd5c32eae04194fc31b9f5f86494
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-declare.f90

  Log Message:
  -----------
  [flang][openacc] Place post allocate/deallocate attribute correctly (#79883)

The `acc.declate_action` attribute was sometime misplaced as reported in
#79770.
This patch updates the lowering code to place the
postAllocate/postDeallocate actions at the correct place.


  Commit: 7855703194232a94d321dceea27b45cee0c91f73
      https://github.com/llvm/llvm-project/commit/7855703194232a94d321dceea27b45cee0c91f73
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
    R llvm/test/CodeGen/RISCV/vp-splice-fixed-vectors.ll
    R llvm/test/CodeGen/RISCV/vp-splice-mask-fixed-vectors.ll
    R llvm/test/CodeGen/RISCV/vp-splice-mask-vectors.ll
    R llvm/test/CodeGen/RISCV/vp-splice.ll

  Log Message:
  -----------
  [RISCV] Move vp.splice tests into rvv directory. NFC


  Commit: 0461448313800b47189cc9024a0f2a9f75b44470
      https://github.com/llvm/llvm-project/commit/0461448313800b47189cc9024a0f2a9f75b44470
  Author: Jivan Hakobyan <jivanhakobyan9 at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
    A llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
    A llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll

  Log Message:
  -----------
  [RISCV][ISel] Add ISel support for experimental Zimop extension (#77089)

This implements ISel support for mopr[0-31] and moprr[0-7] instructions
for 32 and 64 bits

---------

Co-authored-by: ln8-8 <lyut.nersisyan at gmail.com>


  Commit: 0a2b5b03c4084ac1fefd0e62db2ba49f5ac24ab9
      https://github.com/llvm/llvm-project/commit/0a2b5b03c4084ac1fefd0e62db2ba49f5ac24ab9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def

  Log Message:
  -----------
  [NVPTX][Fix] Ensure the return value of 'activemask' is unsigned

Summary:
The previous patch missed the `U` prefix, which caused the mask to be
considered signed. This meant that conversions would incorrectly treat a
full mask as a negative number and break things.


  Commit: 51379a982efc64eb319ba6f4c1af4dce31af499a
      https://github.com/llvm/llvm-project/commit/51379a982efc64eb319ba6f4c1af4dce31af499a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [CUDA] Change '__activemask' to use '__nvvm_activemask()' (#79892)

Summary:
We recently added builitin support for this function.


  Commit: 7bc5eaa02f6d74410f3131b7d2ab21ee8209430f
      https://github.com/llvm/llvm-project/commit/7bc5eaa02f6d74410f3131b7d2ab21ee8209430f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/stdbit-macros.h
    A libc/include/stdbit.h.def
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    A libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_leading_zeros_uc.cpp
    A libc/src/stdbit/stdc_leading_zeros_uc.h
    A libc/src/stdbit/stdc_leading_zeros_ui.cpp
    A libc/src/stdbit/stdc_leading_zeros_ui.h
    A libc/src/stdbit/stdc_leading_zeros_ul.cpp
    A libc/src/stdbit/stdc_leading_zeros_ul.h
    A libc/src/stdbit/stdc_leading_zeros_ull.cpp
    A libc/src/stdbit/stdc_leading_zeros_ull.h
    A libc/src/stdbit/stdc_leading_zeros_us.cpp
    A libc/src/stdbit/stdc_leading_zeros_us.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/stdbit_test.cpp
    M libc/test/src/CMakeLists.txt
    A libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp

  Log Message:
  -----------
  [libc] implement stdc_leading_zeros_u* for stdbit.h (#79669)


- stdbit.stdc_leading_zeros_uc
- stdbit.stdc_leading_zeros_us
- stdbit.stdc_leading_zeros_ui
- stdbit.stdc_leading_zeros_ul
- stdbit.stdc_leading_zeros_ull

Test via:
$ ninja libc-stdbit-tests libc_include_tests


  Commit: ff77058141e8026357ca514ad0d45c6c50921290
      https://github.com/llvm/llvm-project/commit/ff77058141e8026357ca514ad0d45c6c50921290
  Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  Disable incorrect peephole optimizations


  Commit: d29bb704cb646f9a69546e3517f12b022528d2d2
      https://github.com/llvm/llvm-project/commit/d29bb704cb646f9a69546e3517f12b022528d2d2
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/time/gpu/nanosleep.cpp

  Log Message:
  -----------
  [libc][NFC] Remove inline assembly for PTX instructions (#79913)

Summary:
Recent patches have implemented builitin versions of these functions.
This patch simply removes uses of inline assembly to hopefully improve
optimizations in this area.


  Commit: 577738a12d3cfd3210dceb4eb0b26fb2b2a961ee
      https://github.com/llvm/llvm-project/commit/577738a12d3cfd3210dceb4eb0b26fb2b2a961ee
  Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  Revert "Disable incorrect peephole optimizations" (#79916)

This reverts commit ff77058141e8026357ca514ad0d45c6c50921290.


  Commit: 5a7a8f73c71b9aaf6d2f7cb548807046f19c4498
      https://github.com/llvm/llvm-project/commit/5a7a8f73c71b9aaf6d2f7cb548807046f19c4498
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/include/stdbit.h.def
    M libc/test/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] fix type generic stdc_leading_zeros for GCC (#79917)

GCC does not support _Generic in C++ mode. Use inline function definitions with
function overloading in __cplusplus mode.


  Commit: 6b330470df7db34ee1b894e0e2edf8270d5c51da
      https://github.com/llvm/llvm-project/commit/6b330470df7db34ee1b894e0e2edf8270d5c51da
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    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

  Log Message:
  -----------
  [libc] add more arch entrypoints for stdc_leading_zeros (#79923)


Otherwise the include test fails on these targets.


  Commit: aa1968c2ebdd05aa3ba876062acd966a3e251ebe
      https://github.com/llvm/llvm-project/commit/aa1968c2ebdd05aa3ba876062acd966a3e251ebe
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Add metadata pre-emit finalization interface (#79925)

Some metadata needs to be updated/finalized before the binary context is
emitted into the binary. Add the interface and use it for Linux ORC
update invocation.


  Commit: 3d1157000db56a340e1dae90b587bd144ffeaa6c
      https://github.com/llvm/llvm-project/commit/3d1157000db56a340e1dae90b587bd144ffeaa6c
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/generic05.F90
    M flang/test/Semantics/generic07.f90
    M flang/test/Semantics/resolve17.f90
    M flang/test/Semantics/resolve53.f90
    M flang/test/Semantics/resolve54.f90
    M flang/test/Semantics/resolve65.f90
    M flang/test/Semantics/resolve96.f90

  Log Message:
  -----------
  [flang] Restore error status for many indistinguishable specifics (#79927)

A recent patch to allow pFUnit to compile softened the diagnostic about
indistinguishable specific procedures to a portability warning. It turns
out that this was overkill -- for specific procedures containing no
optional or unlimited polymorphic dummy data arguments, a diagnosis of
"indistinguishable" can still be a hard error.

So adjust the analysis to be tri-state: two procedures are either
definitely distinguishable, definitely indistinguishable without
optionals or unlimited polymorphics, or indeterminate. Emit errors as
before for the definitely indistinguishable cases; continue to emit
portability warnings for the indeterminate cases.

When this patch is merged, all but one of the dozen or so tests that I
disabled in llvm-test-suite can be re-enabled.


  Commit: 59c9a48d5e19716e5df8d0f794e489891fd2c835
      https://github.com/llvm/llvm-project/commit/59c9a48d5e19716e5df8d0f794e489891fd2c835
  Author: kusmour <kusmour at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    A llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Fix assert failure on FileEntry.Dir empty (#79926)

Summary:
FileEntry.Dir can be empty if debug info only contains relative path.
This caused an assertion failure when gsym segmentation is trying to
copy a file entry with empty dir. As the fitst entry of StringTable is
always empty (and is preserved), `StringOffsetMap` doesn't have key 0.
Hence, `find(0)` returns `End` and `operator->()` fails the assertion

Test Plan:
./bin/llvm-lit -sv llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml


  Commit: a694104022cff5e8b38321f99fd0bc34d8847f5d
      https://github.com/llvm/llvm-project/commit/a694104022cff5e8b38321f99fd0bc34d8847f5d
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir

  Log Message:
  -----------
  [mlir][Vector] Add patterns for efficient i4 -> i8 conversion emulation (#79494)

This PR adds new patterns to improve the generated vector code for the emulation of any conversion that have to go through an i4 -> i8 type extension (only signed extensions are supported for now). This will impact any i4 -> i8/i16/i32/i64 signed extensions as well as sitofp i4 -> f8/f16/f32/f64.

The asm code generated for the supported cases is significantly better after this PR for both x86 and aarch64.


  Commit: 0fc791cd2c4e249a9304ac0f36e35a2a3edbd66d
      https://github.com/llvm/llvm-project/commit/0fc791cd2c4e249a9304ac0f36e35a2a3edbd66d
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    A bolt/test/X86/linux-orc.s
    R bolt/test/X86/orc_unwind.s

  Log Message:
  -----------
  [BOLT] Fix comparison function for Linux ORC entries (#79921)

Fix ORC entry comparison function to cover a case with multiple
terminator entries matching at the same IP.


  Commit: 8ca90b29eed7836e122382a603bc0a06ca82ebc8
      https://github.com/llvm/llvm-project/commit/8ca90b29eed7836e122382a603bc0a06ca82ebc8
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir] Remove unused variable 'byteBitwidth' in VectorEmulateNarrowType.cpp (NFC)

llvm-project/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:763:12:
error: unused variable 'byteBitwidth' [-Werror,-Wunused-variable]
  unsigned byteBitwidth = 8;
           ^
1 error generated.


  Commit: 45188c64db68af92596acdb2d9022527f6aa4502
      https://github.com/llvm/llvm-project/commit/45188c64db68af92596acdb2d9022527f6aa4502
  Author: Liao Chunyu <chunyu at iscas.ac.cn>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll

  Log Message:
  -----------
  [DAGCombiner] Use generalized pattern matcher in foldBoolSelectToLogic (#79101)

support vp.select
    
 TODO: Possibly other functions could be supported, eg: SimplifySelect()


  Commit: 4460fa8814d4c86e1d22f830078d7bad69bc0ecc
      https://github.com/llvm/llvm-project/commit/4460fa8814d4c86e1d22f830078d7bad69bc0ecc
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/include/llvm/TextAPI/InterfaceFile.h
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/include/llvm/TextAPI/Symbol.h
    M llvm/include/llvm/TextAPI/SymbolSet.h
    M llvm/lib/TextAPI/RecordVisitor.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/Symbol.cpp
    M llvm/lib/TextAPI/SymbolSet.cpp
    A llvm/test/tools/llvm-readtapi/stubify-ehtypes.test
    M llvm/unittests/TextAPI/RecordTests.cpp
    M llvm/unittests/TextAPI/TextStubV5Tests.cpp

  Log Message:
  -----------
  [TextAPI] Introduce granularity for handling ObjC Interface symbols (#79928)

ObjCInterfaceRecords roughly align to the objc-classes key in tbd-files.
They condensely represent up to 3 symbols. The problem here is that when
represented this way, we lose granularity when these symbols could have
different linkages or outright don't exist. This can happen frequently
in interoptable code generated by the swift compiler. This adds fields
and utility functions to express unique properties for these symbols. If
the record does represent the same properties across all of its symbols,
it will be treated the same in the TBD. Otherwise it will be printed in
global's section.

Reviewed seperately before by Juergen Ributzka


  Commit: 3bf9e63e705f580917e89259e71469a81679bab5
      https://github.com/llvm/llvm-project/commit/3bf9e63e705f580917e89259e71469a81679bab5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/tools/lli/lli.cpp

  Log Message:
  -----------
  [lli] Use StringRef::consume_front (NFC)


  Commit: a112df28edc449e3e47101ffa7d4b6f0bc040c63
      https://github.com/llvm/llvm-project/commit/a112df28edc449e3e47101ffa7d4b6f0bc040c63
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M clang/tools/diagtool/TreeView.cpp

  Log Message:
  -----------
  [diagtool] Use StringRef::consume_front (NFC)


  Commit: 695b868989d08e8352e0cf063f44d237792481df
      https://github.com/llvm/llvm-project/commit/695b868989d08e8352e0cf063f44d237792481df
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use a range-based for loop (NFC)


  Commit: 053c0ad49985ce3fe117df72617dd5a77d9e389f
      https://github.com/llvm/llvm-project/commit/053c0ad49985ce3fe117df72617dd5a77d9e389f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp

  Log Message:
  -----------
  [Mips] Use a range-based for loop (NFC)


  Commit: 8582d41789ef8524e72e9c5d5eab305455c8d6bc
      https://github.com/llvm/llvm-project/commit/8582d41789ef8524e72e9c5d5eab305455c8d6bc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [Target] Use SDValue::getConstantOperandVal (NFC)


  Commit: 65f486c45d56290655b77711a87f7e4b341b8b6c
      https://github.com/llvm/llvm-project/commit/65f486c45d56290655b77711a87f7e4b341b8b6c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  AMDGPU: Simplify else if to just else in AMDGPUInstCombineIntrinsic

Fixes #79738


  Commit: 9bbde62b521cbe7761f3649fd7b7384a53efc88f
      https://github.com/llvm/llvm-project/commit/9bbde62b521cbe7761f3649fd7b7384a53efc88f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Simplify else if to else in AMDGPUMCCodeEmitter

Fixes #79737


  Commit: 659ce8f66597ba19845e407d06156ff33c8c7fb1
      https://github.com/llvm/llvm-project/commit/659ce8f66597ba19845e407d06156ff33c8c7fb1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  AMDGPU: Simplify else if to else in GCNHazardRecognizer

Fixes #79736


  Commit: 7f6d4455231d458a6925ca5c957bb2814c196ea2
      https://github.com/llvm/llvm-project/commit/7f6d4455231d458a6925ca5c957bb2814c196ea2
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp

  Log Message:
  -----------
  [mlir][spirv] Clean up map-memref-storage-class pass (#79937)

Clean up the code before making more substantial changes. NFC modulo
extra error checking and physical storage buffer storage class handling.

* Add switch case for physical storage buffer
* Handle type conversion failures
* Inline methods to reduce scrolling
* Other minor cleanups


  Commit: 198652a0ff2553c4ba906be10c22af57d20d0bd3
      https://github.com/llvm/llvm-project/commit/198652a0ff2553c4ba906be10c22af57d20d0bd3
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/code-model-elf.ll

  Log Message:
  -----------
  [X86] Treat __start_*/__stop_* symbols as large (#79909)

Followup to #79884.

The linker adds __start_foo/__stop_foo symbols pointing to the
beginning/end of the foo section. These can be far away from text, so
treat them as large symbols under the medium/large code models.
Performance to access these is almost certainly not important.


  Commit: 70eb0e37a86747f9266e4c8380baa89746f5e23b
      https://github.com/llvm/llvm-project/commit/70eb0e37a86747f9266e4c8380baa89746f5e23b
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [mlir][tensor] Fix `tensor.pad` to remove newly static values (#79938)

The canonicalization incrementally converts foldable dynamic hi/lo
padding to static hi/lo values. During this canonicalization the
static-fied valued should be removed from the dynamic values.


  Commit: dc4483659fc51890fdc732acc66a4dcda6e68047
      https://github.com/llvm/llvm-project/commit/dc4483659fc51890fdc732acc66a4dcda6e68047
  Author: Po-yao Chang <poyaoc97 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/modules/std/atomic.inc
    M libcxx/modules/std/iosfwd.inc
    M libcxx/modules/std/string.inc
    M libcxx/modules/std/string_view.inc

  Log Message:
  -----------
  [libc++][modules] Support using the module std with -fno-char8_t. (#79155)

Exclude some using-declarations in the module purview when compiling
with `-fno-char8_t`.


  Commit: a12390e6202eaf1e5d7810109756e10079b9144b
      https://github.com/llvm/llvm-project/commit/a12390e6202eaf1e5d7810109756e10079b9144b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

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

  Log Message:
  -----------
  [RISCV] Don't use pointer operand in MemoryLocation for RISC-V strided and indexed load/store intrinsics. (#79890)

It seems that even though we set the size to unknown, there is still an
assumption in alias analysis somewhere that we will only access bytes
*after* the pointer. Since a strided/indexed load/store can have
negative indices, this is not accurate.

This was found in our downstream when the scheduler reordered a strided
load with negative stride above a scalar store that aliased with it.


  Commit: 5910e34a2f9a531e0fb6bb4ec1d2888f4a0c0897
      https://github.com/llvm/llvm-project/commit/5910e34a2f9a531e0fb6bb4ec1d2888f4a0c0897
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
    M llvm/test/CodeGen/X86/apx/adc.ll
    M llvm/test/CodeGen/X86/apx/add.ll
    M llvm/test/CodeGen/X86/apx/and.ll
    M llvm/test/CodeGen/X86/apx/or.ll
    M llvm/test/CodeGen/X86/apx/rol.ll
    M llvm/test/CodeGen/X86/apx/sar.ll
    M llvm/test/CodeGen/X86/apx/sbb.ll
    M llvm/test/CodeGen/X86/apx/shift-eflags.ll
    M llvm/test/CodeGen/X86/apx/shr.ll
    M llvm/test/CodeGen/X86/apx/sub.ll
    M llvm/test/CodeGen/X86/apx/xor.ll
    A llvm/test/MC/X86/apx/adc-reloc.s
    A llvm/test/MC/X86/apx/add-reloc.s
    A llvm/test/MC/X86/apx/and-reloc.s
    A llvm/test/MC/X86/apx/imul-reloc.s
    A llvm/test/MC/X86/apx/or-reloc.s
    A llvm/test/MC/X86/apx/rcl-encopt.s
    A llvm/test/MC/X86/apx/rcr-encopt.s
    A llvm/test/MC/X86/apx/rol-encopt.s
    A llvm/test/MC/X86/apx/ror-encopt.s
    A llvm/test/MC/X86/apx/sar-encopt.s
    A llvm/test/MC/X86/apx/sbb-reloc.s
    A llvm/test/MC/X86/apx/shl-encopt.s
    A llvm/test/MC/X86/apx/shr-encopt.s
    A llvm/test/MC/X86/apx/sub-reloc.s
    A llvm/test/MC/X86/apx/xor-reloc.s

  Log Message:
  -----------
  [X86][MC] Support  encoding optimization & assembler relaxation about immediate operands for APX instructions (#78545)

Encoding optimization:
```
mi/mi32 -> mi8
ri/ri32 -> ri8
```
if the immediate operand is 8-bit wide.

Assembler relaxation:
```
mi8 -> mi/mi32
ri8 -> ri/ri32
```
If the immediate operand is a symbol expression and it's value is
unknown.


  Commit: d09082f6fd517759e5c0874a2e73bddd550de299
      https://github.com/llvm/llvm-project/commit/d09082f6fd517759e5c0874a2e73bddd550de299
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Relax march string order constraint (#78120)

Follow
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14 by
dropping the order requirement of `-march`.

1. single-letter extension can be arbitrary order
    - march=rv32iamdf 
2. single-letter extension and multi-letter extension can be mixed
    - march=rv32i_zihintntl_m_a_f_d_svinval
3. multi-letter extension need seperate the following extension by
underscore, otherwise it will be intreprete as one extension.
    - march=rv32i_zbam -> i,zbam
    - march=rv32i_zba_m -> i,zba,m


  Commit: 67f0a6917c07df6a21580adb567b1a8964818d92
      https://github.com/llvm/llvm-project/commit/67f0a6917c07df6a21580adb567b1a8964818d92
  Author: ampandey-1995 <137622562+ampandey-1995 at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll

  Log Message:
  -----------
  [ASan][AMDGPU] Fix Assertion Failure. (#79795)

Assertion failure `(i >= FTy->getNumParams() || FTy->getParamType(i) ==
Args[i]->getType()) && "Calling a function with a bad signature!"'. The
'llvm.memcpy' intercepted by ASan instrumentation pass is implemented by
it's own __asan_memcpy implementation. The second argument of
llvm.memcpy accepts ptr to addrspace(4), __asan_memcpy also has to
follow ptr to addrspace(4) convention.

---------

Co-authored-by: Amit Pandey <amit.pandey at amd.com>


  Commit: cb46c6181770dabad59cc738ad1d26ad78b5f885
      https://github.com/llvm/llvm-project/commit/cb46c6181770dabad59cc738ad1d26ad78b5f885
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    A lld/test/MachO/arm64-objc-stubs-dead.s

  Log Message:
  -----------
  [lld-macho] dead-strip objc stubs (#79726)

This supports dead-strip for objc stubs.


  Commit: 2800448f88cbc83f688f7848d6ebce247962bd19
      https://github.com/llvm/llvm-project/commit/2800448f88cbc83f688f7848d6ebce247962bd19
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll

  Log Message:
  -----------
  [RISCV] Refine cost on Min/Max reduction (#79402)

This patch is split off from #77342, and follows #79103

- Correct for CodeSize cost that 1 instruction is not included. 3 is
from {VMV.S, ReductionOp, VMV.X}
- Add SplitCost which chains a series of VMAX/VMIN/... which scales with
LMUL.
- Use MVT to estimate VL.


  Commit: 1a219e989f07eef06fbc9f75ad0c07ebdc652334
      https://github.com/llvm/llvm-project/commit/1a219e989f07eef06fbc9f75ad0c07ebdc652334
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/apx/compress-evex.mir
    M llvm/utils/TableGen/X86ManualCompressEVEXTables.def

  Log Message:
  -----------
  [X86] Support EVEX compression from MOVBErr to BSWAP (#79775)

APX promoted MOVBE instructions were supported in #77431. The reg2reg
variants of MOVBE are newly introduced by APX and can be optimized to
BSWAP instruction when the 2 register operands are same.

This patch adds manual entries for MOVBErr instructions when we do ndd
to non-ndd compression #77731.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4


  Commit: 597f56f309815bcda9f38dd6040d7c7e0e520547
      https://github.com/llvm/llvm-project/commit/597f56f309815bcda9f38dd6040d7c7e0e520547
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/include/clang/AST/ComparisonCategories.h
    M clang/lib/AST/ComparisonCategories.cpp

  Log Message:
  -----------
  [clang][AST][NFC] Take const CXXRecordDecl* in ComparisonCategories

The class member is already const.


  Commit: 547113fd1f52e2a3d08e3b71ddcd47505ca4a21a
      https://github.com/llvm/llvm-project/commit/547113fd1f52e2a3d08e3b71ddcd47505ca4a21a
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/IR/enum-attr-roundtrip.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][ODS] Add `ConstantEnumCase` (#78992)

Specifying an enum case of an enum attr currently requires the use of
either `NativeCodeCall` or a `ConstantAttr` specifying the full C++ name
of the enum case. The disadvantages of both are less readable code due
to including C++ expressions and very few checks of any kind, creating
C++ code that does not compile instead.

This PR adds `ConstantEnumCase`, a kind of `ConstantAttr` which
automatically derives the correct value representation from a given enum
and the string representation of an enum case. It supports both
`EnumAttrInfo`s (enums wrapping `IntegerAttr`) and `EnumAttr` (proper
dialect attributes). It even supports bit-enums, allowing one to list
multiple enum cases and have them be combined. If an enum case is not
found, an assertion is triggered with a proper error message.

Besides the tests, it was also used to simplify DRR patterns in the
arith dialect.


  Commit: fd3edd452339b507345ccad991f45110e08cd815
      https://github.com/llvm/llvm-project/commit/fd3edd452339b507345ccad991f45110e08cd815
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp

  Log Message:
  -----------
  [libc] Add test to check all properties for all FPBit types. (#79851)

This test is platform agnostic, it runs all tests on all architectures.


  Commit: 7a51aeadb933301a38bf2e81e25618bcf173fa8e
      https://github.com/llvm/llvm-project/commit/7a51aeadb933301a38bf2e81e25618bcf173fa8e
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp

  Log Message:
  -----------
  [X86] Silence -Wlogical-op-parentheses in X86CompressEVEX.cpp (NFC)

llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15:
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
    if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST))
        ~~~~~~^~~~~~~~~~~~~ ~~
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15:
note: place parentheses around the '&&' expression to silence this warning
    if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST))
              ^
        (                  )
1 error generated.


  Commit: 3df262f89d22e37d12775137cd0f014b4848a4e1
      https://github.com/llvm/llvm-project/commit/3df262f89d22e37d12775137cd0f014b4848a4e1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/docs/GitHub.rst
    M llvm/docs/MyFirstTypoFix.rst

  Log Message:
  -----------
  [llvm][Docs] Expand MyFirstTypoFix's post-commit section (#79827)

And link to it from the GitHub guide. Since it fits in the flow of the
former document better, but is of interest to those using the GitHub
specific guide.

This includes some content I wrote for an automated PR comment but I
think is useful to have in a single place to link to instead.

I have removed some details:
* About the waterfall view because it doesn't seem that useful to new
contributors and is likely to just seem like constant chaos given how
many builds are going on.
* The orange bubbles in the console view. I also remember this being the
case but whether it was changed, or the web UI is just not loading
properly, I now see red builds that were red before that commit. So
again, it seems like detail that's not needed for a new contributor.


  Commit: 58779495d3613386398fc70faeb098674d7757b5
      https://github.com/llvm/llvm-project/commit/58779495d3613386398fc70faeb098674d7757b5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/Expr.cpp

  Log Message:
  -----------
  [clang][AST][NFC] Make FieldDecl in SubobjectAdjustment const


  Commit: 4c2422e56ef17ca113be160cf85672c4736bc11e
      https://github.com/llvm/llvm-project/commit/4c2422e56ef17ca113be160cf85672c4736bc11e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/test/Analysis/StackSafetyAnalysis/local.ll

  Log Message:
  -----------
  [StackSafetyAnalysis] Add test with non-pointer use (NFC)


  Commit: e9e1a72c22181993edf5bd0b660538081c2cdfb5
      https://github.com/llvm/llvm-project/commit/e9e1a72c22181993edf5bd0b660538081c2cdfb5
  Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/test/SemaTemplate/deduction.cpp

  Log Message:
  -----------
  [Sema] Restructure and extend the testing of template pack deduction (#79881)

Add tests for empty pack deduction from function arguments.


  Commit: f214933bc538c719403804069941de301487c39b
      https://github.com/llvm/llvm-project/commit/f214933bc538c719403804069941de301487c39b
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/attr-target-version.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h

  Log Message:
  -----------
  [FMV] Change feature priorities according to ACLE. (#79316)

This patch follows the latest ACLE specification as shown in PR
https://github.com/ARM-software/acle/pull/279. It adjusts the
priorities for FEAT_DOTPROD, FEAT_SM4, FEAT_FP16FML, FEAT_RDM.


  Commit: 2fb3c9b90394013d4a3222619cd1d6173c104741
      https://github.com/llvm/llvm-project/commit/2fb3c9b90394013d4a3222619cd1d6173c104741
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Analysis/StackSafetyAnalysis.cpp
    A llvm/test/Analysis/StackSafetyAnalysis/extend-ptr.ll

  Log Message:
  -----------
  [StackSafetyAnalysis] Don't call getTruncateOrZeroExtend for pointers of different sizes (#79804)

Otherwise SCEV asserts `Can't extend pointer!`

Fixes SWDEV-442670


  Commit: c61686e8abc2aee6e2e0ad09c6d1ade534e497b3
      https://github.com/llvm/llvm-project/commit/c61686e8abc2aee6e2e0ad09c6d1ade534e497b3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp

  Log Message:
  -----------
  [clang][NFC] Use no-param version of skipRValueSubobjectAdjustments

when possible.


  Commit: 5a00cb1abfedbcc0fb60a9b11b4a9876160e3a92
      https://github.com/llvm/llvm-project/commit/5a00cb1abfedbcc0fb60a9b11b4a9876160e3a92
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  Revert "[RISCV] Relax march string order constraint" (#79976)

Reverts llvm/llvm-project#78120

Buildbot is broken:

llvm/lib/Support/RISCVISAInfo.cpp:910:18: error: call to deleted
constructor of 'llvm::Error'
          return E;
                 ^


  Commit: e5054fb5c660cb81d1f96498e39662914a92a167
      https://github.com/llvm/llvm-project/commit/e5054fb5c660cb81d1f96498e39662914a92a167
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  [X86][test] Update CodeGen/X86/popcnt.ll after #78545


  Commit: f7ef73ea889a43b893f6277a2ecc227fd2bf803a
      https://github.com/llvm/llvm-project/commit/f7ef73ea889a43b893f6277a2ecc227fd2bf803a
  Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
    M mlir/test/Dialect/Arith/ops.mlir

  Log Message:
  -----------
  [mlir] [arith] add shl overflow flag in Arith and lower to SPIR-V and LLVMIR (#79828)

There is no `SHL` used in canonicalization in `arith`

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


  Commit: 0e17684cf5ce3b99e8f732f53c3534990ad91fd5
      https://github.com/llvm/llvm-project/commit/0e17684cf5ce3b99e8f732f53c3534990ad91fd5
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [AMDGPU] Speed up SIRegisterInfo::getReservedRegs (#79844)

reserveRegisterTuples is slow because it uses MCRegAliasIterator and
hence ends up reserving the same aliased registers many times. This
patch changes getReservedRegs not to use it for reserving SGPRs, VGPRs
and AGPRs. Instead it iterates through base register classes, which
should come closer to reserving each register once only.

Overall this speeds up the time to run check-llvm-codegen-amdgpu in my
Release build from 18.4 seconds to 16.9 seconds (all timings +/- 0.2).


  Commit: 04d20b17050203e07394b4f9ee61b5affe2d5347
      https://github.com/llvm/llvm-project/commit/04d20b17050203e07394b4f9ee61b5affe2d5347
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [concepts] Set up an instantiation scope for constraint expression comparison (#79698)

This is a follow-up for the comparison of constraints on out-of-line
function template definitions. We require the instantiation of a
ParmVarDecl while transforming the expression if that Decl gets
referenced by a DeclRefExpr. However, we're not actually performing the
class or function template instantiation at the time of such comparison.
Therefore, let's map these parameters to themselves so that they get
preserved after the substitution.

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


  Commit: 70ae1098ba1a695478a2d62a9fe7c35b43c90ffa
      https://github.com/llvm/llvm-project/commit/70ae1098ba1a695478a2d62a9fe7c35b43c90ffa
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] X86ISelLowering.cpp - add clang-format on/off tags around 'compressed' switch code. NFC.

Stop clang-format trying to expand manually compressed lookup switch() code - if it still fits into 80col, then keep it to a single line instead of expanding across multiple lines each.


  Commit: 0c623b58e39cba7e67a0049dbcac87fdcc0103e1
      https://github.com/llvm/llvm-project/commit/0c623b58e39cba7e67a0049dbcac87fdcc0103e1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp

  Log Message:
  -----------
  [X86] X86CompressEVEX.cpp - ensure we tie the operands on MOVBErr instructions

Minor correction for #79775 - noticed in EXPENSIVE_CHECKS builds


  Commit: ef67f63fa5f950f4056b5783e92e137342805d74
      https://github.com/llvm/llvm-project/commit/ef67f63fa5f950f4056b5783e92e137342805d74
  Author: Andrey Ali Khan Bolshakov <32954549+bolshakov-a at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/test/Analysis/templates.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp

  Log Message:
  -----------
  Fix analyzer crash on 'StructuralValue' (#79764)

`OpaqueValueExpr` doesn't necessarily contain a source expression.
Particularly, after #78041, it is used to carry the type and the value
kind of a non-type template argument of floating-point type or referring
to a subobject (those are so called `StructuralValue` arguments).

This fixes #79575.


  Commit: 2acf302c1bd562a648cc5bcd0bac04433696f5f4
      https://github.com/llvm/llvm-project/commit/2acf302c1bd562a648cc5bcd0bac04433696f5f4
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp

  Log Message:
  -----------
  [X86][NFC] X86CompressEVEX.cpp - Simplify code after 0c623b58e39cba7e67a0049dbcac87fdcc0103e1


  Commit: 683bc94e1637bd9bacc978f5dc3c79cfc8ff94b9
      https://github.com/llvm/llvm-project/commit/683bc94e1637bd9bacc978f5dc3c79cfc8ff94b9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__config
    M libcxx/include/__format/format_functions.h

  Log Message:
  -----------
  [libc++] Officially remove _VSTD and _LIBCPP_INLINE_VISIBILITY (#79885)

Those were deprecated and basically not used anymore after we renamed
them in batch. This patch removes the macros entirely.


  Commit: fdac7d0b6f74f919d319b31a0680c77f66732586
      https://github.com/llvm/llvm-project/commit/fdac7d0b6f74f919d319b31a0680c77f66732586
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h

  Log Message:
  -----------
  [OpenMPIRBuilder] NFC: Improve description of IsTargetDevice and IsGPU (#79322)

This patch tries to better explain the differences between the
`IsTargetDevice` and `IsGPU` flags of the `OpenMPIRBuilderConfig`.


  Commit: 02a275cca166546e32153997e4c800763ba7fc85
      https://github.com/llvm/llvm-project/commit/02a275cca166546e32153997e4c800763ba7fc85
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp

  Log Message:
  -----------
  [X86][CodeGen] Add entries for TB_BCAST_SH in getBroadcastOpcode


  Commit: 6251b6bd8d219fe2d99d125095622566721fe6f4
      https://github.com/llvm/llvm-project/commit/6251b6bd8d219fe2d99d125095622566721fe6f4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  [AArch64] Add tests with sext of vec3 loads.

Another round of additional tests for
https://github.com/llvm/llvm-project/pull/7863
with different sext/zext and use variants.


  Commit: a0d266d705d6c145e8daa08a08f70e9498ec3d0b
      https://github.com/llvm/llvm-project/commit/a0d266d705d6c145e8daa08a08f70e9498ec3d0b
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/class.access/p4.cpp
    A clang/test/CXX/dcl.dcl/dcl.enum/p1.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p1.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/module/module.interface/p2-2.cpp
    M clang/test/SemaCXX/enum-scoped.cpp
    M clang/test/SemaCXX/nested-name-spec.cpp
    M clang/test/SemaTemplate/elaborated-type-specifier.cpp
    M clang/test/SemaTemplate/qualified-id.cpp

  Log Message:
  -----------
  [Clang][Sema] Allow elaborated-type-specifiers that declare member class template explict specializations (#78720)

According to [[dcl.type.elab]
p2](http://eel.is/c++draft/dcl.type.elab#2):
> If an
[elaborated-type-specifier](http://eel.is/c++draft/dcl.type.elab#nt:elaborated-type-specifier)
is the sole constituent of a declaration, the declaration is ill-formed
unless it is an explicit specialization, an explicit instantiation or it
has one of the following forms [...]

Consider the following:
```cpp
template<typename T>
struct A 
{
    template<typename U>
    struct B;
};

template<>
template<typename U>
struct A<int>::B; // #1
```
The _elaborated-type-specifier_ at `#1` declares an explicit
specialization (which is itself a template). We currently (incorrectly)
reject this, and this PR fixes that.

I moved the point at which _elaborated-type-specifiers_ with
_nested-name-specifiers_ are diagnosed from `ParsedFreeStandingDeclSpec`
to `ActOnTag` for two reasons: `ActOnTag` isn't called for explicit
instantiations and partial/explicit specializations, and because it's
where we determine if a member specialization is being declared.

With respect to diagnostics, I am currently issuing the diagnostic
without marking the declaration as invalid or returning early, which
results in more diagnostics that I think is necessary. I would like
feedback regarding what the "correct" behavior should be here.


  Commit: f89d707e5f5e531fb854f70e02d9eaa32aaf19bd
      https://github.com/llvm/llvm-project/commit/f89d707e5f5e531fb854f70e02d9eaa32aaf19bd
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__utility/pair.h
    M libcxx/include/string
    M libcxx/include/tuple
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++] Accept __VA_ARGS__ in conditional _NOEXCEPT_ macro (#79877)

This prevents having to use double parentheses in common cases.


  Commit: 7162fd750ee5f786f3b9b7a7b26b72ee36ce772e
      https://github.com/llvm/llvm-project/commit/7162fd750ee5f786f3b9b7a7b26b72ee36ce772e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/__thread/id.h
    M libcxx/include/__thread/jthread.h
    A libcxx/include/__thread/support.h
    A libcxx/include/__thread/support/c11.h
    A libcxx/include/__thread/support/external.h
    A libcxx/include/__thread/support/pthread.h
    A libcxx/include/__thread/support/windows.h
    M libcxx/include/__thread/this_thread.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__thread/timed_backoff_policy.h
    R libcxx/include/__threading_support
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap.in
    M libcxx/include/mutex
    M libcxx/include/semaphore
    M libcxx/include/thread
    M libcxx/src/call_once.cpp
    M libcxx/src/condition_variable_destructor.cpp
    M libcxx/src/mutex_destructor.cpp
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/utils/generate_iwyu_mapping.py
    M libcxx/utils/libcxx/test/modules.py
    M libcxxabi/src/cxa_exception_storage.cpp
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_thread_atexit.cpp
    M libcxxabi/src/fallback_malloc.cpp
    M libcxxabi/test/test_fallback_malloc.pass.cpp

  Log Message:
  -----------
  [libc++] Split the monolithic __threading_support header (#79654)

The <__threading_support> header is a huge beast and it's really
difficult to navigate. I find myself struggling to find what I want
every time I have to open it, and I've been considering splitting it up
for years for that reason.

This patch aims not to contain any functional change. The various
implementations of the threading base are simply moved to separate
headers and then the individual headers are simplified in mechanical
ways. For example, we used to have redundant declarations of all the
functions at the top of `__threading_support`, and those are removed
since they are not needed anymore. The various #ifdefs are also
simplified and removed when they become unnecessary.

Finally, this patch adds documentation for the API we expect from any
threading implementation.


  Commit: e37a6008831b38477516362892dd3c0d97087eff
      https://github.com/llvm/llvm-project/commit/e37a6008831b38477516362892dd3c0d97087eff
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Remove dead code implementing some tuple SFINAE checks (#79871)

Some of the checks in sfinae_helpers.h were not used anymore since we
refactored the std::tuple implementation and were now dead code. This
patch removes the code.


  Commit: 4017f04e310454ccced4c404a23f7698eec735ca
      https://github.com/llvm/llvm-project/commit/4017f04e310454ccced4c404a23f7698eec735ca
  Author: Tacet <4922191+AdvenamTacet at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  Remove unnecessary _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS (#79574)

This macro is unnecessary with `basic_string& operator=(value_type
__c)`.


  Commit: c3668779c13596e223c26fbd49670d18cd638c40
      https://github.com/llvm/llvm-project/commit/c3668779c13596e223c26fbd49670d18cd638c40
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__string/char_traits.h
    R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.deprecated.verify.cpp
    R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.pass.cpp

  Log Message:
  -----------
  [libc++] Remove deprecated char_traits base template (#72694)

This patch has quite a bit of history. First, it must be noted that the
Standard only specifies specializations of char_traits for char,
char8_t, char16_t, char32_t and wchar_t. However, before this patch, we
would provide a base template that accepted anything, and as a result
code like `std::basic_string<long long>` would compile but nobody knows
what it really does. It basically compiles by accident.

We marked the base template as deprecated in LLVM 15 or 16 and were
planning on removing it in LLVM 17, which we did in e30a148b098d.
However, it turned out that the deprecation warning had never been
visible in user code since Clang did not surface that warning from
system headers. As a result, this caught people by surprise and we
decided to reintroduce the base template in LLVM 17 in cce062d226ba.

Since then, #70353 changed Clang so that such deprecation warnings would
be visible from user code. Hence, this patch closes the loop and removes
the deprecated specializations.


  Commit: 837bff11cb7d31f40805c73d4f539960a77eda33
      https://github.com/llvm/llvm-project/commit/837bff11cb7d31f40805c73d4f539960a77eda33
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    M flang/test/Driver/save-mlir-temps.f90
    A flang/test/Fir/target-rewrite-target-cpu.fir
    A flang/test/Fir/target-rewrite-target-features.fir
    A flang/test/Lower/target-features-amdgcn.f90
    A flang/test/Lower/target-features-x86_64.f90
    M flang/tools/bbc/bbc.cpp
    M flang/tools/tco/tco.cpp
    M flang/unittests/Optimizer/FIRContextTest.cpp

  Log Message:
  -----------
  [Flang][Lower] Attach target_cpu and target_features attributes to MLIR functions (#78289)

This patch forwards the target CPU and features information from the
Flang frontend to MLIR func.func operation attributes, which are later
used to populate the target_cpu and target_features llvm.func
attributes.

This is achieved in two stages:

1. Introduce the `fir.target_cpu` and `fir.target_features` module
attributes with information from the target machine immediately after
the initial creation of the MLIR module in the lowering bridge.

2. Update the target rewrite flang pass to get this information from the
module and pass it along to all func.func MLIR operations, respectively
as attributes named `target_cpu` and `target_features`. These attributes
will be automatically picked up during Func to LLVM dialect lowering and
used to initialize the corresponding llvm.func named attributes.

The target rewrite and FIR to LLVM lowering passes are updated with the
ability to override these module attributes, and the `CodeGenSpecifics`
optimizer class is augmented to make this information available to
target-specific MLIR transformations.

This completes a full flow by which target CPU and features make it all
the way from compiler options to LLVM IR function attributes.


  Commit: 7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
      https://github.com/llvm/llvm-project/commit/7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py

  Log Message:
  -----------
  [lldb][test][NFC] Refactor xfails in TestRequireHWBreakpoints.py

This file used a strange, multi-level setup where we skipped on
a function we used for xfailing. Let's not do that, just skip
the one test we care about.

Also added a comment to explain how this file works. The tests
*want* calls to fail when we ask for only hardware breaks
but have none to use.

If you don't know that, it all seems backwards.


  Commit: ace383df52c0d2cf5f0afa4508f831a027fccbb4
      https://github.com/llvm/llvm-project/commit/ace383df52c0d2cf5f0afa4508f831a027fccbb4
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    M libc/src/__support/FPUtil/FPBits.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/str_to_float.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp

  Log Message:
  -----------
  [libc][NFC] Rename `FPBits` nan functions (#79998)

- [libc][NFC] Rename FPBits nan functions
- rename build_signaling_nan in signaling_nan
- rename build_quiet_nan to quiet_nan


  Commit: 8774d2936dd1cf0ee8d74ff600359d465179d009
      https://github.com/llvm/llvm-project/commit/8774d2936dd1cf0ee8d74ff600359d465179d009
  Author: ita-sc <109672931+ita-sc at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb][RISCV] Fix connection error to gdb server for RISC-V (#79990)

This patch fix connection for LLDB for remote gdb server running on
RISC-V.

You can test connection with OpenOCD or qemu-riscv64.


  Commit: 748c29590829cdc0b9572e51d212b3a1d313c318
      https://github.com/llvm/llvm-project/commit/748c29590829cdc0b9572e51d212b3a1d313c318
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    A mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Add fast-math related function attribute support (#79812)

Adds unsafe-fp-math, no-infs-fp-math, no-nans-fp-math,
approx-func-fp-math, and no-signed-zeros-fp-math function attributes.

This allows code generators using the LLVMIR dialect to match the
codegen of Clang.


  Commit: d1e162e5d94e8c0b1c46bc0c9c45f96eacdd75c8
      https://github.com/llvm/llvm-project/commit/d1e162e5d94e8c0b1c46bc0c9c45f96eacdd75c8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  [AArch64] Add custom lowering for load <3 x i8>. (#78632)

Add custom combine to lower load <3 x i8> as the more efficient sequence
below:
   ldrb wX, [x0, #2]
   ldrh wY, [x0]
   orr wX, wY, wX, lsl #16
   fmov s0, wX

At the moment, there are almost no cases in which such vector operations
will be generated automatically. The motivating case is non-power-of-2
SLP vectorization: https://github.com/llvm/llvm-project/pull/77790


  Commit: 77e5136ce4221a9f02e905e6079f01d497cfe79e
      https://github.com/llvm/llvm-project/commit/77e5136ce4221a9f02e905e6079f01d497cfe79e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  [CodeGen] Use RegUnits in RegisterClassInfo::getLastCalleeSavedAlias (#79996)

Change the implementation of getLastCalleeSavedAlias to use RegUnits
instead of register aliases. This is much faster on targets like AMDGPU
which define a very large number of overlapping register tuples.

No functional change intended. If PhysReg overlaps multiple CSRs then
getLastCalleeSavedAlias(PhysReg) could conceivably return a different
arbitrary one, but currently it is only used for some debug printing
anyway.

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


  Commit: 6aed6cc40ec0006bb43f1ec4b2ec87702392ad6e
      https://github.com/llvm/llvm-project/commit/6aed6cc40ec0006bb43f1ec4b2ec87702392ad6e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    M openmp/libomptarget/DeviceRTL/src/Misc.cpp
    M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
    M openmp/libomptarget/DeviceRTL/src/Utils.cpp

  Log Message:
  -----------
  [Libomptarget] Remove remaining inline assembly from the device RTL (#79922)

Summary:
Recent patches have added some missing intrinsic functions NVPTX. This
patch gets rid of all the remaining uses of inline assembly. The one
change that wasn't directly replaced with a built-in was the `pack` and
`unpack` implementations. However, using the generic C implementation is
equivalent to the output SASS when run through PTXAS.


  Commit: 976374d9828582f1ca4a4bb4da96fb67c20949f8
      https://github.com/llvm/llvm-project/commit/976374d9828582f1ca4a4bb4da96fb67c20949f8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Use MutableArrayRef instead of SmallVectorImpl&, NFC.


  Commit: 0f9ab7b861268618988c5271e2227b9ab4c1827b
      https://github.com/llvm/llvm-project/commit/0f9ab7b861268618988c5271e2227b9ab4c1827b
  Author: David Benjamin <davidben at google.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/include/deque
    M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
    A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Add hardening assertions to std::deque (#79397)

This aligns std::deque with std::vector w.r.t. hardening checks. There's
probably more that can be done with iterators, but start with this.

This caught a bug with one of libc++'s tests. One of the erase calls in
asan_caterpillar.pass.cpp was a no-op because the iterators were in the
other order. (deque::erase happened to cleanly do nothing when the
distance is negative.)

Fixes #63809


  Commit: 24a903c4057e06579e475277377713dc49fef232
      https://github.com/llvm/llvm-project/commit/24a903c4057e06579e475277377713dc49fef232
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/range_reduction_fma.h
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/smoke/atanhf_test.cpp
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp

  Log Message:
  -----------
  [libc][NFC] Move functions from `FPBits` to `FPRep`, make `bits` member private (#79974)


  Commit: 21d75ee2164015e0023b6ec0067eac731c56448b
      https://github.com/llvm/llvm-project/commit/21d75ee2164015e0023b6ec0067eac731c56448b
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/docs/Contributing.rst

  Log Message:
  -----------
  [libc++][docs] Add `_LIBCPP_PUSH_MACROS` and `_LIBCPP_POP_MACROS` (#79963)

I got tripped twice after: 7b4622514d232ce5f7110dd8b20d90e81127c467
Let's at least mention these in the `Contributing.rst` doc.


  Commit: b52fe2df9178022f146fe1776b9a9fd7f4b29bb4
      https://github.com/llvm/llvm-project/commit/b52fe2df9178022f146fe1776b9a9fd7f4b29bb4
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    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-clauses.c

  Log Message:
  -----------
  [OpenACC] Implement 'gang' clause parsing.

The 'gang' clause takes a 'gang-arg-list', which is one of three 'tag'
values, followed by either an 'int-expr' or a 'size-expr', both of which
we already have parsing functions for.

The optional tag values are only slightly complicated, as one is a
keyword (static), so mild modifications needed to be made for that.


  Commit: a9ffdc171aea346754fd63e9b5986853f2d819e7
      https://github.com/llvm/llvm-project/commit/a9ffdc171aea346754fd63e9b5986853f2d819e7
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M lld/Common/DriverDispatcher.cpp
    M lld/MinGW/Driver.cpp
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [lld] [MinGW] Support targeting ARM64EC (#78911)

'arm64ecpe' was chosen arbitrarily as gcc MinGW doesn't provide EC
support.


  Commit: c0f29e83dbcc6789e74918ac6d8d46b8833f45aa
      https://github.com/llvm/llvm-project/commit/c0f29e83dbcc6789e74918ac6d8d46b8833f45aa
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/docs/Dialects/Mesh.md
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td

  Log Message:
  -----------
  [mlir][mesh] Make most collectives pure (#79643)

There are assumptions of matching/consistent paths of execution under SPMD that allow to have pure collective communication operations.


  Commit: 4d3b502704809c9605b9568c6feb2a2f0ca51907
      https://github.com/llvm/llvm-project/commit/4d3b502704809c9605b9568c6feb2a2f0ca51907
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_copy.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_move.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/copy.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/deduct.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/default.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.verify.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.verify.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/deallocate.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/destroy.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/inner_allocator.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/max_size.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/outer_allocator.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/select_on_container_copy_construction.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/inner_allocator_type.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/is_always_equal.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_copy_assignment.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_move_assignment.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_swap.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/copy_assign.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/eq.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/move_assign.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/types.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Format the scoped_allocator_adaptor tests


  Commit: a3e35a4ea6fa8f1d765674c57ad280d1cbeceb4b
      https://github.com/llvm/llvm-project/commit/a3e35a4ea6fa8f1d765674c57ad280d1cbeceb4b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    A libcxx/test/std/utilities/allocator.adaptor/types.compile.pass.cpp
    R libcxx/test/std/utilities/allocator.adaptor/types.pass.cpp

  Log Message:
  -----------
  [libc++] Move scoped allocator adaptor test to .compile.pass.cpp


  Commit: 0d965080b48c5661d7cc5d043be19a6a72165001
      https://github.com/llvm/llvm-project/commit/0d965080b48c5661d7cc5d043be19a6a72165001
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn] port 7162fd750ee5


  Commit: 3a085e98ac1277834d99f4f4ce0d5c95fccb9092
      https://github.com/llvm/llvm-project/commit/3a085e98ac1277834d99f4f4ce0d5c95fccb9092
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn] use write_cmake_config() for __assertion_handler


  Commit: 0129ff17a9885d76d3700fee56500848c28e3fc1
      https://github.com/llvm/llvm-project/commit/0129ff17a9885d76d3700fee56500848c28e3fc1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libc/test/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix running 'stdbit.h' tests if file is never generated

Summary:
This test was added to test the generated header. Unfortunately this
doesn't work if the header is never generated. Add a check to make sure
the user has included it in the list of headers.


  Commit: 00582636009d51c5781b9cae8fde858ab3758306
      https://github.com/llvm/llvm-project/commit/00582636009d51c5781b9cae8fde858ab3758306
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-01-31 (Wed, 31 Jan 2024)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Support of TableGen tokens with unary operator like form, bang operators and numeric literals. (#78996)

Adds the support for tokens that have forms like unary operators.
- bang operators:  `!name`
- cond operator: `!cond`
- numeric literals: `+1`, `-1`
cond operator are one of bang operators but is distinguished because it has very specific syntax.


  Commit: fc7c79b60ca0846f1cc916b6b04eedd1fc21537e
      https://github.com/llvm/llvm-project/commit/fc7c79b60ca0846f1cc916b6b04eedd1fc21537e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] hasBZHI - simplify to a basic check as there's no need for a switch statement. NFCI.


  Commit: fa10121415adfea57954eddcec92a13c7ebab0ac
      https://github.com/llvm/llvm-project/commit/fa10121415adfea57954eddcec92a13c7ebab0ac
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    A mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/CMakeLists.txt
    A mlir/test/Dialect/MLProgram/one-shot-bufferize.mlir

  Log Message:
  -----------
  [mlir][MLProgram] Add MLProgram to MemRef bufferization pass (#75103)

There is currently no lowering out of `ml_program` in the LLVM
repository. This change adds a lowering to `memref` so that it can be
lowered all the way to LLVM. This lowering was taken from the [reference
backend in
torch-mlir](https://github.com/llvm/torch-mlir/commit/f41695360019bde71d52ca7548944d5488779e12
).

I had tried implementing the `BufferizableOpInterface` for `ml_program`
instead of adding a new pass but that did not work because
`OneShotBufferize` does not visit module-level ops like
`ml_program.global`.


  Commit: fdf73e949565686804fbd2ab1b3a3bf440a250ca
      https://github.com/llvm/llvm-project/commit/fdf73e949565686804fbd2ab1b3a3bf440a250ca
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir

  Log Message:
  -----------
  [mlir][memref] Remove incorrect `memref.transpose` fold (#79809)

This folded casts into `memref.transpose` without updating the result
type of the transpose op, which resulted in IR that failed to verify for
statically sized memrefs.

i.e.

```mlir
%cast = memref.cast %0 : memref<?x4xf32> to memref<?x?xf32>
%transpose = memref.transpose %cast : memref<?x?xf32> to memref<?x?xf32>
```

would fold to:

```mlir
// Fails verification:
%transpose = memref.transpose %cast : memref<?x4xf32> to memref<?x?xf32>
```


  Commit: 8a5bdd899f3cb57024d92b96c16e805ca9924ac7
      https://github.com/llvm/llvm-project/commit/8a5bdd899f3cb57024d92b96c16e805ca9924ac7
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  [llvm-jitlink] Fix detectStubKind() for big endian systems (#79970)

This function is used in `jitlink-check` lines in LIT tests. In #78371 I
missed to swap initial instruction bytes for systems that store the
constants as big-endian.


  Commit: b23e518ce0df5b0835aba245cda50379bd896374
      https://github.com/llvm/llvm-project/commit/b23e518ce0df5b0835aba245cda50379bd896374
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  Fix TOSA FP16->INT16 CAST lowering (#79299)

Currently cast from FP to int is implemented by clamping on the min and
max
integer values in the floating-point domain and then converting to
integer. However, the max int values are often non representable in the
floating-point input type due to lack of mantissa bits.

This patch instead use a select acting on a compare against max int + 1
which is representable in floating-point. It also has a special lowering
for cases where the integer range is wider than the floating-point range
to clamp the infinite values.


  Commit: 2960656eb909b5361ce2c3f641ee341769076ab7
      https://github.com/llvm/llvm-project/commit/2960656eb909b5361ce2c3f641ee341769076ab7
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-31 (Wed, 31 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  [X86][NFC] Extract code for commute in foldMemoryOperandImpl into functions

To share code for folding broadcast in #79761


  Commit: c5edef6279ecc1469029184637343854243cc5e6
      https://github.com/llvm/llvm-project/commit/c5edef6279ecc1469029184637343854243cc5e6
  Author: Matthias Springer <springerm at google.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/Transforms/CMakeLists.txt
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp

  Log Message:
  -----------
  [mlir] Fix build after #75103

After #75103, `MLPrgramTransforms` depends on `BufferizationDialect`.
Also fix an unrelated compile error in `GreedyPatternRewriteDriver.cpp`.
(This was not failing on CI. I may be running an old compiler locally.)


  Commit: 223025a6142d14b772e9dc73e5faf507a08098da
      https://github.com/llvm/llvm-project/commit/223025a6142d14b772e9dc73e5faf507a08098da
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M libc/docs/index.rst
    A libc/docs/stdbit.rst

  Log Message:
  -----------
  [libc][docs] add page for stdbit.h (#79908)

To build libc docs:
- Configure with `-DLLVM_ENABLE_SPHINX=ON -DLIBC_INCLUDE_DOCS=ON`
- Build with `ninja docs-libc-html`


  Commit: cdb320b407fc375f91e4b8be6f0ce8bf6bc77ba1
      https://github.com/llvm/llvm-project/commit/cdb320b407fc375f91e4b8be6f0ce8bf6bc77ba1
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/HLFIR/procedure-pointer.f90
    M flang/test/Lower/Intrinsics/associated-proc-pointers.f90

  Log Message:
  -----------
  [Flang]: Lowering reference to functions that return a procedure pointer (#78194)

This PR adds lowering the reference to a function that returns a
procedure pointer. It also fixed intrinsic ASSOCIATED to take such
argument.

---------

Co-authored-by: jeanPerier <jperier at nvidia.com>


  Commit: fe0d16ff60fa2ef7fdbda3574493534979cce742
      https://github.com/llvm/llvm-project/commit/fe0d16ff60fa2ef7fdbda3574493534979cce742
  Author: Joel Wee <joelwee at google.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] Fix after #75103


  Commit: b9d623105d51f5fc2d120c862b4e2bbff310f728
      https://github.com/llvm/llvm-project/commit/b9d623105d51f5fc2d120c862b4e2bbff310f728
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/unnamed-global.ll

  Log Message:
  -----------
  generate a name of an unnamed global variable for Instruction Selection (#78293)

The goal of this PR is to fix the issue of global unnamed variables
causing SPIR-V Backend code generation to crash:
https://github.com/llvm/llvm-project/issues/78278

The reason for the crash is that GlobalValue's getGlobalIdentifier()
would fail for unnamed global variable when trying to access the first
character of the name (see lib/IR/Globals.cpp:150). This leads to assert
in Debug and undefined behaviour in Release builds.

The proposed fix generates a name of an unnamed global variable as
__unnamed_<unsigned number>, in a style of similar existing LLVM
implementation (see lib/IR/Mangler.cpp:131). A new class member variable
is added into `SPIRVInstructionSelector` class to keep track of the
number we give to anonymous global values to generate the same name
every time when this is needed.

The patch adds a new LIT test with the smallest implementation of
reproducer ll code.


  Commit: 39483797b8981528eafaf6dad557ccfb2312e1ef
      https://github.com/llvm/llvm-project/commit/39483797b8981528eafaf6dad557ccfb2312e1ef
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/token/token-type-preallocated-setup-arg.ll
    A llvm/test/CodeGen/SPIRV/token/token-type-requires-extension.ll

  Log Message:
  -----------
  prevent undefined behaviour of SPIR-V Backend non-asserts builds when dealing with token type (#78437)

The goal of this PR is to fix the issue when use of token type in LLVM
intrinsic causes undefined behavior of SPIR-V Backend code generator
when assertions are disabled:
https://github.com/llvm/llvm-project/issues/78434

Among possible fix options, discussed in the
https://github.com/llvm/llvm-project/issues/78434 issue description, the
option to generate a meaningful error before execution arrives at the
`llvm_unreachable` call looks like a better solution for now, because
SPIR-V doesn't support token type anyway without additional extensions.

The PR is to generate a user-friendly error message and exit without
generating a stack dump when such a usage of token type was detected
that would lead to undefined behavior of SPIR-V Backend code generator.


  Commit: 9e02e8f1a76693f001c7f52ffddd92c492a2254e
      https://github.com/llvm/llvm-project/commit/9e02e8f1a76693f001c7f52ffddd92c492a2254e
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
    A llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll

  Log Message:
  -----------
  fix producing multiple identical opaque pointer types (#79060)

This PR fixes https://github.com/llvm/llvm-project/issues/79057 and
improves code generation for opaque pointers by replacing the culprit
SPIRVGlobalRegistry::getOpTypePointer() call with a more appropriate
SPIRVGlobalRegistry::getOrCreateSPIRVPointerType() call. The latter
function works together with the `DuplicatesTracker`
(`SPIRVGeneralDuplicatesTracker DT;` from `class SPIRVGlobalRegistry`)
to trace existence of previous definitions of opaque pointers. This
allows to produce just one `OpTypePointer` command for all identical
opaque pointers definitions and to return the very same type record for
subsequent `SPIRVGlobalRegistry::createSPIRVType()` invocations.

This PR alone improves code generation by producing a single needed
definition per all opaque pointers to i8 of the same address space
instead of multiple identical definitions produced before the patch.
>From the root cause analysis of
https://github.com/llvm/llvm-project/issues/79057 we see also that this
PR resolves the problem of inconsistency between keeping multiple
instruction for identical opaque pointer types and just a single record
for all such instructions in the `DuplicatesTracker`, and so it also
resolves the issue with crashes on creation of a struct with opaque
pointer fields due to the fact that now such struct fields refer to the
same operand `<id>` having a required record in the data structure used
for dependencies analysis (see
https://github.com/llvm/llvm-project/issues/79057).


  Commit: 036a20cc5104153f47762211d89544ab38d3ab5a
      https://github.com/llvm/llvm-project/commit/036a20cc5104153f47762211d89544ab38d3ab5a
  Author: Wanyi <kusmour at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Remove '--num-threads' in test (#79934)

Number of threads will automatically be set to a good value


  Commit: d17b005e46e240b2c95801a14e2c6fc5baa5b3f7
      https://github.com/llvm/llvm-project/commit/d17b005e46e240b2c95801a14e2c6fc5baa5b3f7
  Author: fabrizio-indirli <fabrizio.indirli at arm.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
    M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir

  Log Message:
  -----------
  [mlir][scf] Relax requirements for loops fusion (#79187)

Enable the fusion of parallel loops also when the 1st loop contains
multiple write accesses to the same buffer, if the accesses are always
on the same indices.
Fix LIT test cases whose loops were not being fused.

Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>


  Commit: b40d5b1b08564d23d5e0769892ebbc32447b2987
      https://github.com/llvm/llvm-project/commit/b40d5b1b08564d23d5e0769892ebbc32447b2987
  Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Docs] Add release note about Clang-defined target OS macros (#79879)


  Commit: 8369f619f589f756533435480c4a65bdfbaf1451
      https://github.com/llvm/llvm-project/commit/8369f619f589f756533435480c4a65bdfbaf1451
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

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

  Log Message:
  -----------
  [IR] Add more efficient getOperand methods to some of the Operator subclasses. (#79943)

ConstantExpr does not use HungOffUses. If we know that the Instruction
the Operator subclass can represent also does not use HungOffUses, we
can be more efficient than falling back to User::getOperand.


  Commit: 80ee6083ae932841435638d455b8a6094530c2e2
      https://github.com/llvm/llvm-project/commit/80ee6083ae932841435638d455b8a6094530c2e2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Support/RISCVAttributes.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/unittests/Support/RISCVAttributeParserTest.cpp

  Log Message:
  -----------
  [RISCV] Remove StackAlign attribute enum. NFC (#79946)

The alignment is directly encoded in the attribute. There doesn't seem
to be a good reason to give the possible alignments a name.


  Commit: d8e1b451e21b62905a76715a78ebc26df25f4e41
      https://github.com/llvm/llvm-project/commit/d8e1b451e21b62905a76715a78ebc26df25f4e41
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add experimental_get_vector_length to isKnownNonZero. (#79950)

If the input is non-zero, this intrinsic should also return a non-zero
value.


  Commit: 69cb99f9cb2e8757ad2c09b87fc96d5bff73c490
      https://github.com/llvm/llvm-project/commit/69cb99f9cb2e8757ad2c09b87fc96d5bff73c490
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

  Log Message:
  -----------
  [DebugNames] Use hashes to quickly filter false positives (#79755)

The current implementation of DebugNames is _only_ using hashes to
compute the bucket number. Once inside the bucket, it reverts back to
string comparisons, even though not all hashes inside a bucket are
identical.

This commit changes the behavior so that we check the hash before
comparing strings. Such check is so important that it speeds up a simple
benchmark by 20%. In other words, the following expression evaluation
time goes from 1100ms to 850ms.

```
bin/lldb \
		--batch \
		-o "b CodeGenFunction::GenerateCode" \
		-o run \
		-o "expr Fn" \
		-- \
		clang++ -c -g test.cpp -o /dev/null &> output
```

(Note, these numbers are considering the usage of IDX_parent)


  Commit: 9f3854a01f878831c229db0eb5078fa9d56e60ff
      https://github.com/llvm/llvm-project/commit/9f3854a01f878831c229db0eb5078fa9d56e60ff
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    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/syscall_numbers.h.inc
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_epoll_data.h
    A libc/include/llvm-libc-types/struct_epoll_event.h
    A libc/include/sys/epoll.h.def
    M libc/spec/gnu_ext.td
    M libc/spec/linux.td
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/epoll/CMakeLists.txt
    A libc/src/sys/epoll/epoll_pwait.h
    A libc/src/sys/epoll/epoll_pwait2.h
    A libc/src/sys/epoll/epoll_wait.h
    A libc/src/sys/epoll/linux/CMakeLists.txt
    A libc/src/sys/epoll/linux/epoll_pwait.cpp
    A libc/src/sys/epoll/linux/epoll_pwait2.cpp
    A libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/epoll/CMakeLists.txt
    A libc/test/src/sys/epoll/linux/CMakeLists.txt
    A libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
    A libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
    A libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel

  Log Message:
  -----------
  [reland][libc] add epoll_wait functions (#79635)

The epoll_wait functions are syscall wrappers that were requested by
upstream users. This patch adds them, as well as their header and types.

The tests are currently incomplete since they require epoll_create to
properly test epoll_wait. That will be added in a followup patch since
this one is already very large.


  Commit: 30155fc0ef4fbdce2d79434aaae8d58b2fabb20a
      https://github.com/llvm/llvm-project/commit/30155fc0ef4fbdce2d79434aaae8d58b2fabb20a
  Author: Tianlan Zhou <bobby825 at 126.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/AST/ast-dump-static-operators.cpp
    M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
    M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
    A clang/test/SemaCXX/cxx2b-static-operator.cpp

  Log Message:
  -----------
  [clang] static operators should evaluate object argument (#68485)

### Description

clang don't evaluate the object argument of `static operator()` and
`static operator[]` currently, for example:

```cpp
#include <iostream>

struct Foo {
    static int operator()(int x, int y) {
        std::cout << "Foo::operator()" << std::endl;
        return x + y;
    }
    static int operator[](int x, int y) {
        std::cout << "Foo::operator[]" << std::endl;
        return x + y;
    }
};
Foo getFoo() {
    std::cout << "getFoo()" << std::endl;
    return {};
}
int main() {
    std::cout << getFoo()(1, 2) << std::endl;
    std::cout << getFoo()[1, 2] << std::endl;
}
```

`getFoo()` is expected to be called, but clang don't call it currently
(17.0.2). This PR fixes this issue.

Fixes #67976.

### Walkthrough

- **clang/lib/Sema/SemaOverload.cpp**
- **`Sema::CreateOverloadedArraySubscriptExpr` &
`Sema::BuildCallToObjectOfClassType`**
Previously clang generate `CallExpr` for static operators, ignoring the
object argument. In this PR `CXXOperatorCallExpr` is generated for
static operators instead, with the object argument as the first
argument.
  - **`TryObjectArgumentInitialization`**
`const` / `volatile` objects are allowed for static methods, so that we
can call static operators on them.
- **clang/lib/CodeGen/CGExpr.cpp**
  - **`CodeGenFunction::EmitCall`**
CodeGen changes for `CXXOperatorCallExpr` with static operators: emit
and ignore the object argument first, then emit the operator call.
- **clang/lib/AST/ExprConstant.cpp**
  - **`‎ExprEvaluatorBase::handleCallExpr‎`**
Evaluation of static operators in constexpr also need some small changes
to work, so that the arguments won't be out of position.
- **clang/lib/Sema/SemaChecking.cpp**
  - **`Sema::CheckFunctionCall`**
Code for argument checking also need to be modify, or it will fail the
test `clang/test/SemaCXX/overloaded-operator-decl.cpp`.

### Tests

- **Added:**
    - **clang/test/AST/ast-dump-static-operators.cpp**
      Verify the AST generated for static operators.
    - **clang/test/SemaCXX/cxx2b-static-operator.cpp**
Static operators should be able to be called on const / volatile
objects.
- **Modified:**
    - **clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp**
    - **clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp**
      Matching the new CodeGen.

### Documentation

- **clang/docs/ReleaseNotes.rst**
  Update release notes.

---------

Co-authored-by: Shafik Yaghmour <shafik at users.noreply.github.com>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 7ff2dc3b49eee49edf9a2c2c7051d643c38e21b1
      https://github.com/llvm/llvm-project/commit/7ff2dc3b49eee49edf9a2c2c7051d643c38e21b1
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [profgen] Use a 64bit integer for &'ing the loadable address (#79930)

For the linux kernel, the loadable segments start at 0xffff... and thus
the 32 bit integer here was truncating all the meaningful bits. Grow it
to 64 bits.


  Commit: dcc37e7970cf7012af78c5ebf5d4788cefb968a2
      https://github.com/llvm/llvm-project/commit/dcc37e7970cf7012af78c5ebf5d4788cefb968a2
  Author: Pil Eghoff <70582385+pileghoff at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/C/C2x/n3042.c
    M clang/test/Sema/warn-int-in-bool-context.c

  Log Message:
  -----------
  [Sema] Fix c23 not checking CheckBoolLikeConversion (#79588)

Fixes issue #79435 

Checks for implicit conversion into boolean was previously triggered by
`CheckBoolLikeConversion` for C.
When `bool` as a keyword was introduced in C23,
`CheckBoolLikeConversion` would no longer trigger when using `-std=c23`,
but since logical operators and conditional statements still operate on
scalar values, the checks for implicit conversion into bool were never
triggered.

This fix changes `CheckBoolLikeConversion` to not return early for C23,
even though it has support for bools.


  Commit: 7dc7fc08430b824ca16d3b22542ba73bc4d17881
      https://github.com/llvm/llvm-project/commit/7dc7fc08430b824ca16d3b22542ba73bc4d17881
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  Recommit "[RISCV] Relax march string order constraint (#78120)"

With std::move added to fix build bot failure.

Original commit message:

Follow
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14 by
dropping the order requirement of `-march`.

1. single-letter extension can be arbitrary order
    - march=rv32iamdf
2. single-letter extension and multi-letter extension can be mixed
    - march=rv32i_zihintntl_m_a_f_d_svinval
3. multi-letter extension need seperate the following extension by
underscore, otherwise it will be intreprete as one extension.
    - march=rv32i_zbam -> i,zbam
    - march=rv32i_zba_m -> i,zba,m


  Commit: 2e165009b7d1f97337cb4b0f31f6d484d8cf96d9
      https://github.com/llvm/llvm-project/commit/2e165009b7d1f97337cb4b0f31f6d484d8cf96d9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Use Twine concatentation for error messages in RISCVISAInfo. (#79956)

This avoids converting StringRef to std::string to const char*.


  Commit: 5f6640e268b5e6ead22983ba9e2074e3bbf0612b
      https://github.com/llvm/llvm-project/commit/5f6640e268b5e6ead22983ba9e2074e3bbf0612b
  Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M openmp/libomptarget/src/OpenMP/API.cpp

  Log Message:
  -----------
  [OpenMP52][LIBOMPTARGET] Do not throw error in omp_get_mapped_ptr for the host (#80038)

OpenMP spec 5.2 specifies return value to be the host ptr
in case of device_num being same as omp_get_initial_device().


  Commit: 285bc69846e76af805cd106ea3ea538a12f5c9b6
      https://github.com/llvm/llvm-project/commit/285bc69846e76af805cd106ea3ea538a12f5c9b6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll

  Log Message:
  -----------
  [SLP]Fix PR80027: Fix costs processing for minbitwidth types.

Need to switch the types, the destination is first in getCastInstrCost
function.


  Commit: 3477bcf4b94395e2c0ed77a139e54240cfe4f27d
      https://github.com/llvm/llvm-project/commit/3477bcf4b94395e2c0ed77a139e54240cfe4f27d
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
    A mlir/test/Dialect/NVGPU/canonicalization.mlir

  Log Message:
  -----------
  [mlir][nvgpu] Mark TMA descriptor as MemWriteAt in `tma.async.store` (#79427)


  Commit: 201eb2b5775cf193c97c60a5eb790003a1e6bedb
      https://github.com/llvm/llvm-project/commit/201eb2b5775cf193c97c60a5eb790003a1e6bedb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaOverload.cpp
    R clang/test/AST/ast-dump-static-operators.cpp
    M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
    M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
    R clang/test/SemaCXX/cxx2b-static-operator.cpp

  Log Message:
  -----------
  Revert "[clang] static operators should evaluate object argument (#68485)"

This reverts commit 30155fc0ef4fbdce2d79434aaae8d58b2fabb20a.

It seems to have broken some tests in clangd:
http://45.33.8.238/linux/129484/step_9.txt


  Commit: 342b64bf7faa64744971115e66d46f3a051da1bf
      https://github.com/llvm/llvm-project/commit/342b64bf7faa64744971115e66d46f3a051da1bf
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/llvm-tests.yml
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    A bolt/test/X86/linux-orc.s
    R bolt/test/X86/orc_unwind.s
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/PathConfig.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang/CMakeLists.txt
    M clang/bindings/python/clang/cindex.py
    A clang/bindings/python/tests/cindex/test_rewrite.py
    M clang/cmake/caches/BOLT.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ComparisonCategories.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/Frontend/TextDiagnostic.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.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/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ComparisonCategories.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/CalledOnceCheck.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
    M clang/lib/Headers/__clang_cuda_intrinsics.h
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.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/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-crash-doc-function-template.cpp
    A clang/test/AST/ast-dump-for-range-lifetime.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/additive-op-on-sym-int-expr.c
    M clang/test/Analysis/errno-stdlibraryfunctions.c
    M clang/test/Analysis/std-c-library-functions-POSIX.c
    M clang/test/Analysis/templates.cpp
    M clang/test/C/C2x/n3042.c
    M clang/test/CXX/class.access/p4.cpp
    A clang/test/CXX/dcl.dcl/dcl.enum/p1.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p1.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/module/module.interface/p2-2.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    A clang/test/CodeGen/SystemZ/unaligned-symbols.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/riscv-arch.c
    A clang/test/Driver/s390x-unaligned-symbols.c
    A clang/test/Frontend/diagnostic-pipe.c
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Misc/target-invalid-cpu-note.c
    M clang/test/Modules/concept.cppm
    A clang/test/Modules/cxx20-modules-enum-odr.cppm
    M clang/test/Modules/no-eager-load.cppm
    M clang/test/Modules/polluted-operator.cppm
    M clang/test/Modules/pr76638.cppm
    A clang/test/PCH/pack_indexing.cpp
    M clang/test/Parser/cxx0x-ambig.cpp
    M clang/test/Parser/cxx0x-decl.cpp
    A clang/test/Parser/cxx2c-pack-indexing.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/warn-int-in-bool-context.c
    A clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
    A clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/enum-scoped.cpp
    M clang/test/SemaCXX/nested-name-spec.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
    M clang/test/SemaObjC/warn-called-once.m
    A clang/test/SemaTemplate/PR77189.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/deduction.cpp
    M clang/test/SemaTemplate/elaborated-type-specifier.cpp
    M clang/test/SemaTemplate/qualified-id.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/tools/diagtool/TreeView.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/perf-training/CMakeLists.txt
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/bolt.lit.site.cfg.in
    M clang/utils/perf-training/perf-helper.py
    M clang/www/cxx_status.html
    M compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
    M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
    M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/stack_depot.h
    M flang/docs/Extensions.md
    M flang/docs/Intrinsics.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/runtime/numeric.cpp
    M flang/test/Driver/save-mlir-temps.f90
    A flang/test/Evaluate/rewrite07.f90
    M flang/test/Fir/boxproc-2.fir
    A flang/test/Fir/target-rewrite-target-cpu.fir
    A flang/test/Fir/target-rewrite-target-features.fir
    A flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/Lower/HLFIR/procedure-pointer.f90
    M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
    A flang/test/Lower/Intrinsics/cosd.f90
    A flang/test/Lower/Intrinsics/sind.f90
    A flang/test/Lower/Intrinsics/system-optional.f90
    A flang/test/Lower/Intrinsics/system.f90
    M flang/test/Lower/OpenACC/acc-data.f90
    M flang/test/Lower/OpenACC/acc-declare.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
    M flang/test/Lower/OpenACC/acc-update.f90
    M flang/test/Lower/OpenMP/FIR/if-clause.f90
    M flang/test/Lower/OpenMP/FIR/loop-combined.f90
    A flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
    A flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/loop-combined.f90
    A flang/test/Lower/OpenMP/map-component-ref.f90
    A flang/test/Lower/target-features-amdgcn.f90
    A flang/test/Lower/target-features-x86_64.f90
    A flang/test/Semantics/execute_command_line.f90
    A flang/test/Semantics/generic08.f90
    A flang/test/Semantics/resolve122.f90
    M flang/test/Semantics/resolve17.f90
    M flang/test/Semantics/resolve53.f90
    M flang/test/Semantics/resolve54.f90
    M flang/test/Semantics/resolve63.f90
    M flang/test/Semantics/resolve65.f90
    A flang/test/Semantics/typeinfo08.f90
    M flang/test/Transforms/loop-versioning.fir
    M flang/tools/bbc/bbc.cpp
    M flang/tools/tco/tco.cpp
    M flang/unittests/Evaluate/expression.cpp
    M flang/unittests/Evaluate/folding.cpp
    M flang/unittests/Evaluate/intrinsics.cpp
    M flang/unittests/Optimizer/FIRContextTest.cpp
    M flang/unittests/Runtime/CommandTest.cpp
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    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/syscall_numbers.h.inc
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/index.rst
    A libc/docs/stdbit.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sys-mman-macros.h
    A libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/include/llvm-libc-macros/sys-mman-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_epoll_data.h
    A libc/include/llvm-libc-types/struct_epoll_event.h
    A libc/include/stdbit.h.def
    A libc/include/sys/epoll.h.def
    M libc/spec/gnu_ext.td
    M libc/spec/linux.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    M libc/src/__support/FPUtil/FPBits.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/GPU/nvptx/utils.h
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction_fma.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/tanf.cpp
    A libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_leading_zeros_uc.cpp
    A libc/src/stdbit/stdc_leading_zeros_uc.h
    A libc/src/stdbit/stdc_leading_zeros_ui.cpp
    A libc/src/stdbit/stdc_leading_zeros_ui.h
    A libc/src/stdbit/stdc_leading_zeros_ul.cpp
    A libc/src/stdbit/stdc_leading_zeros_ul.h
    A libc/src/stdbit/stdc_leading_zeros_ull.cpp
    A libc/src/stdbit/stdc_leading_zeros_ull.h
    A libc/src/stdbit/stdc_leading_zeros_us.cpp
    A libc/src/stdbit/stdc_leading_zeros_us.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/epoll/CMakeLists.txt
    A libc/src/sys/epoll/epoll_pwait.h
    A libc/src/sys/epoll/epoll_pwait2.h
    A libc/src/sys/epoll/epoll_wait.h
    A libc/src/sys/epoll/linux/CMakeLists.txt
    A libc/src/sys/epoll/linux/epoll_pwait.cpp
    A libc/src/sys/epoll/linux/epoll_pwait2.cpp
    A libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/FuchsiaTest.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/stdbit_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/atanhf_test.cpp
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    A libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
    A libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/epoll/CMakeLists.txt
    A libc/test/src/sys/epoll/linux/CMakeLists.txt
    A libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
    A libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
    A libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__config
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/error_category.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/__thread/id.h
    M libcxx/include/__thread/jthread.h
    M libcxx/include/__thread/poll_with_backoff.h
    A libcxx/include/__thread/support.h
    A libcxx/include/__thread/support/c11.h
    A libcxx/include/__thread/support/external.h
    A libcxx/include/__thread/support/pthread.h
    A libcxx/include/__thread/support/windows.h
    M libcxx/include/__thread/this_thread.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__thread/timed_backoff_policy.h
    R libcxx/include/__threading_support
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/deque
    M libcxx/include/format
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap.in
    M libcxx/include/mutex
    M libcxx/include/semaphore
    M libcxx/include/string
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/vector
    M libcxx/modules/std/atomic.inc
    M libcxx/modules/std/iosfwd.inc
    M libcxx/modules/std/string.inc
    M libcxx/modules/std/string_view.inc
    M libcxx/src/call_once.cpp
    M libcxx/src/condition_variable_destructor.cpp
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/mutex_destructor.cpp
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
    A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
    M libcxx/test/libcxx/fuzzing/random.pass.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.deprecated.verify.cpp
    R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.pass.cpp
    M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.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/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/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.default.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/types.h
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_copy.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_move.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/copy.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/deduct.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/default.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.verify.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.verify.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/deallocate.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/destroy.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/inner_allocator.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/max_size.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/outer_allocator.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/select_on_container_copy_construction.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/inner_allocator_type.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/is_always_equal.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_copy_assignment.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_move_assignment.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_swap.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/copy_assign.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/eq.pass.cpp
    M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/move_assign.pass.cpp
    A libcxx/test/std/utilities/allocator.adaptor/types.compile.pass.cpp
    R libcxx/test/std/utilities/allocator.adaptor/types.pass.cpp
    A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    A libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/support/test_basic_format_arg.h
    M libcxx/test/support/test_macros.h
    A libcxx/trigger
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/generate_iwyu_mapping.py
    M libcxx/utils/libcxx/test/modules.py
    M libcxxabi/src/cxa_exception_storage.cpp
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_thread_atexit.cpp
    M libcxxabi/src/fallback_malloc.cpp
    M libcxxabi/test/test_fallback_malloc.pass.cpp
    M lld/Common/DriverDispatcher.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/MinGW/Driver.cpp
    M lld/test/ELF/warn-backrefs.s
    A lld/test/MachO/arm64-objc-stubs-dead.s
    M lld/test/MinGW/driver.test
    M lldb/include/lldb/API/SBBreakpointName.h
    M lldb/include/lldb/Breakpoint/BreakpointID.h
    M lldb/include/lldb/Breakpoint/BreakpointIDList.h
    M lldb/include/lldb/Breakpoint/BreakpointName.h
    M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
    M lldb/include/lldb/Target/MemoryHistory.h
    M lldb/include/lldb/Target/PathMappingList.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/include/lldb/Utility/Event.h
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/SBBreakpointOptionCommon.h
    M lldb/source/API/SBEvent.cpp
    M lldb/source/Breakpoint/BreakpointIDList.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/Broadcaster.cpp
    M lldb/source/Utility/Event.cpp
    M lldb/test/API/CMakeLists.txt
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp
    M lldb/unittests/Utility/ConstStringTest.cpp
    M llvm/docs/CodeOfConduct.rst
    M llvm/docs/CodeReview.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/MyFirstTypoFix.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/CodeGen/RegisterClassInfo.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/include/llvm/IR/Operator.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/MC/MCDecoderOps.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    A llvm/include/llvm/Support/DXILABI.h
    R llvm/include/llvm/Support/DXILOperationCommon.h
    M llvm/include/llvm/Support/RISCVAttributes.h
    M llvm/include/llvm/Support/X86FoldTablesUtils.h
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TextAPI/InterfaceFile.h
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/include/llvm/TextAPI/Symbol.h
    M llvm/include/llvm/TextAPI/SymbolSet.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Analysis/StackSafetyAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Object/TapiFile.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILResource.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
    M llvm/lib/Target/NVPTX/NVPTX.td
    M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicond.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/lib/Target/SPIRV/SPIRVMetadata.cpp
    A llvm/lib/Target/SPIRV/SPIRVMetadata.h
    M llvm/lib/Target/SystemZ/SystemZFeatures.td
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.h
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/lib/Target/X86/X86InstrFoldTables.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/TextAPI/RecordVisitor.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/Symbol.cpp
    M llvm/lib/TextAPI/SymbolSet.cpp
    M llvm/lib/TextAPI/TextStub.cpp
    M llvm/lib/TextAPI/TextStubV5.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/BDCE.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    M llvm/lib/Transforms/Utils/PredicateInfo.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    A llvm/test/Analysis/StackSafetyAnalysis/extend-ptr.ll
    M llvm/test/Analysis/StackSafetyAnalysis/local.ll
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
    A llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/large-offset-ldr-merge.mir
    M llvm/test/CodeGen/AArch64/pr79100.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    A llvm/test/CodeGen/NVPTX/activemask.ll
    M llvm/test/CodeGen/NVPTX/intrinsics.ll
    A llvm/test/CodeGen/NVPTX/nanosleep.ll
    M llvm/test/CodeGen/NVPTX/symbol-naming.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/cmov-branch-opt.ll
    M llvm/test/CodeGen/RISCV/condbinops.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    A llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
    A llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/select-binop-identity.ll
    M llvm/test/CodeGen/RISCV/select.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
    R llvm/test/CodeGen/RISCV/vp-splice-fixed-vectors.ll
    R llvm/test/CodeGen/RISCV/vp-splice-mask-fixed-vectors.ll
    R llvm/test/CodeGen/RISCV/vp-splice-mask-vectors.ll
    R llvm/test/CodeGen/RISCV/vp-splice.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
    A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-i8-default-element-type.ll
    A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-no-bitcast.ll
    A llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-i8-ptr-as-value-operand.ll
    A llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-ptr-as-value-operand.ll
    A llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    A llvm/test/CodeGen/SPIRV/token/token-type-preallocated-setup-arg.ll
    A llvm/test/CodeGen/SPIRV/token/token-type-requires-extension.ll
    A llvm/test/CodeGen/SPIRV/unnamed-global.ll
    M llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
    M llvm/test/CodeGen/X86/anyext.ll
    M llvm/test/CodeGen/X86/apx/adc.ll
    M llvm/test/CodeGen/X86/apx/add.ll
    M llvm/test/CodeGen/X86/apx/and.ll
    M llvm/test/CodeGen/X86/apx/compress-evex.mir
    M llvm/test/CodeGen/X86/apx/or.ll
    M llvm/test/CodeGen/X86/apx/rol.ll
    M llvm/test/CodeGen/X86/apx/sar.ll
    M llvm/test/CodeGen/X86/apx/sbb.ll
    M llvm/test/CodeGen/X86/apx/shift-eflags.ll
    M llvm/test/CodeGen/X86/apx/shr.ll
    M llvm/test/CodeGen/X86/apx/sub.ll
    M llvm/test/CodeGen/X86/apx/xor.ll
    M llvm/test/CodeGen/X86/code-model-elf.ll
    M llvm/test/CodeGen/X86/domain-reassignment.mir
    M llvm/test/CodeGen/X86/fast-isel-store.ll
    M llvm/test/CodeGen/X86/fixup-bw-copy.ll
    M llvm/test/CodeGen/X86/mul-i1024.ll
    M llvm/test/CodeGen/X86/mul-i256.ll
    M llvm/test/CodeGen/X86/mul-i512.ll
    M llvm/test/CodeGen/X86/mul64.ll
    A llvm/test/CodeGen/X86/note-cet-property-inlineasm.ll
    M llvm/test/CodeGen/X86/pmovsx-inreg.ll
    M llvm/test/CodeGen/X86/popcnt.ll
    M llvm/test/CodeGen/X86/sext-i1.ll
    M llvm/test/CodeGen/X86/shift-amount-mod.ll
    M llvm/test/CodeGen/X86/shift-and.ll
    M llvm/test/CodeGen/X86/shift-combine.ll
    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
    A llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
    M llvm/test/MC/AArch64/neon-diagnostics.s
    M llvm/test/MC/AArch64/neon-scalar-shift-imm.s
    M llvm/test/MC/Disassembler/AArch64/neon-instructions.txt
    M llvm/test/MC/RISCV/rv32zicond-invalid.s
    M llvm/test/MC/RISCV/rv32zicond-valid.s
    A llvm/test/MC/X86/apx/adc-reloc.s
    A llvm/test/MC/X86/apx/add-reloc.s
    A llvm/test/MC/X86/apx/and-reloc.s
    A llvm/test/MC/X86/apx/imul-reloc.s
    A llvm/test/MC/X86/apx/or-reloc.s
    A llvm/test/MC/X86/apx/rcl-encopt.s
    A llvm/test/MC/X86/apx/rcr-encopt.s
    A llvm/test/MC/X86/apx/rol-encopt.s
    A llvm/test/MC/X86/apx/ror-encopt.s
    A llvm/test/MC/X86/apx/sar-encopt.s
    A llvm/test/MC/X86/apx/sbb-reloc.s
    A llvm/test/MC/X86/apx/shl-encopt.s
    A llvm/test/MC/X86/apx/shr-encopt.s
    A llvm/test/MC/X86/apx/sub-reloc.s
    A llvm/test/MC/X86/apx/xor-reloc.s
    A llvm/test/TableGen/trydecode-emission4.td
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    A llvm/test/Transforms/BDCE/binops-multiuse.ll
    M llvm/test/Transforms/BDCE/dead-uses.ll
    M llvm/test/Transforms/ConstraintElimination/abs.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
    A llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
    A llvm/test/tools/llvm-readtapi/stubify-ehtypes.test
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.h
    M llvm/tools/llvm-exegesis/lib/Analysis.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/lib/Clustering.cpp
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/Mips/Target.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.h
    M llvm/tools/llvm-exegesis/lib/ProgressMeter.h
    M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-readtapi/DiffEngine.cpp
    M llvm/tools/llvm-readtapi/DiffEngine.h
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/Support/RISCVAttributeParserTest.cpp
    M llvm/unittests/Support/RISCVISAInfoTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/TextAPI/RecordTests.cpp
    M llvm/unittests/TextAPI/TextStubHelpers.h
    M llvm/unittests/TextAPI/TextStubV1Tests.cpp
    M llvm/unittests/TextAPI/TextStubV2Tests.cpp
    M llvm/unittests/TextAPI/TextStubV3Tests.cpp
    M llvm/unittests/TextAPI/TextStubV4Tests.cpp
    M llvm/unittests/TextAPI/TextStubV5Tests.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/tools/llvm-exegesis/ClusteringTest.cpp
    M llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
    M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/mlgo-utils/mlgo/__init__.py
    A llvm/utils/mlgo-utils/mlgo/corpus/__init__.py
    M llvm/utils/mlgo-utils/tests/lit.local.cfg
    A llvm/utils/mlgo-utils/tests/pytype.test
    M mlir/docs/Dialects/Linalg/OpDSL.md
    M mlir/docs/Dialects/Mesh.md
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    A mlir/include/mlir/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/IR/Dialect.h
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    A mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Arith/ops.mlir
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    A mlir/test/Dialect/MLProgram/one-shot-bufferize.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    A mlir/test/Dialect/NVGPU/canonicalization.mlir
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    M mlir/test/IR/enum-attr-roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    A mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
    M openmp/libomptarget/DeviceRTL/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    M openmp/libomptarget/DeviceRTL/src/Misc.cpp
    M openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
    M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
    M openmp/libomptarget/DeviceRTL/src/Utils.cpp
    M openmp/libomptarget/src/OpenMP/API.cpp
    M runtimes/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/c69b071836e2...342b64bf7faa


More information about the All-commits mailing list