[all-commits] [llvm/llvm-project] e99755: [libc++][test] Adjust expected hexfloat format (#9...

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue Sep 24 20:58:10 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/riscv-restore-dw_eh_pe_uleb128-call-site-encoding-for-gcc_except_table
  Home:   https://github.com/llvm/llvm-project
  Commit: e99755d41c8d5ee8594fa161ac05fbef02d902aa
      https://github.com/llvm/llvm-project/commit/e99755d41c8d5ee8594fa161ac05fbef02d902aa
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp

  Log Message:
  -----------
  [libc++][test] Adjust expected hexfloat format (#95011)

The test expects a hex float format of `0x0p+0`, but AIX prints
`0x0.0p+0`. This change adjusts the test to accept both.


  Commit: 49c5cebb2966d5e8f0784370d818023a1054e189
      https://github.com/llvm/llvm-project/commit/49c5cebb2966d5e8f0784370d818023a1054e189
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-512.ll

  Log Message:
  -----------
  [X86] Improve support for vXi8 arithmetic shifts, logical left shifts

Use SWAR techniques for arithmetic shifts: we use the same technique as
logical right shift but with an additional step of sign extending the
result.

Also, use the logical shift left technique even on AVX512 as vpmovzxbw
and vpmovwb are actually quite expensive.


  Commit: f14fd32602a3e898b151ea0302d1d0f8cb2f5afc
      https://github.com/llvm/llvm-project/commit/f14fd32602a3e898b151ea0302d1d0f8cb2f5afc
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M .github/workflows/commit-access-review.py
    M llvm/utils/git/requirements.txt
    M llvm/utils/git/requirements.txt.in

  Log Message:
  -----------
  workflows/commit-access-review: Use get_collaborators() function (#108313)

This gets us the full list of users with commit access to
llvm/llvm-project rather than the list of people in the llvm-committers
team. This will ensure we are able everyone to track everyone with
commit access in case they receive access some other way.


  Commit: 0a7a1ef2205c45859b4179cef993e97e9f5b4d0d
      https://github.com/llvm/llvm-project/commit/0a7a1ef2205c45859b4179cef993e97e9f5b4d0d
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
    A clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl

  Log Message:
  -----------
  [HLSL] Add `[[hlsl::contained_type()]]` attribute (#108456)

Introducing a new HLSL resource type attribute `[[contained_type(T)]]`
which describes the "contained type" of a buffer or resource type.
Specifically, the attribute will be used on the resource handle in
templated buffer types like so:

template <typename T> struct RWBuffer {
  __hlsl_resource_t [[hlsl::contained_type(T)]] [[hlsl::resource_class(UAV)]] h;
};

Fixes #104855


  Commit: d95597dc06c510ad7fbf00a43583c54d38f79aa7
      https://github.com/llvm/llvm-project/commit/d95597dc06c510ad7fbf00a43583c54d38f79aa7
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++][string] Remove potential non-trailing 0-length array (#108867)

It is a violation of the standard to use 0 length arrays, especially
when not at the end of a structure (not a FAM GNU extension). Compiler
generally accept it, but it's probably better to have a conforming
implementation.

This is a re-application of #105865 which was reverted in 72cfc74
because it broke the data formatters. A LLDB patch has since been landed
that should make this a non-issue.

Co-authored-by: serge-sans-paille <sguelton at mozilla.com>


  Commit: ddd1a0204872b859485eff941569f0f0af5dda42
      https://github.com/llvm/llvm-project/commit/ddd1a0204872b859485eff941569f0f0af5dda42
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  Revert "[scudo] Update secondary cache time-based release logic (#107507)"

This reverts commit e5271fef8fd8931370f04702ba2f9e8b2ab0e523.

Reason: buildbot breakage: https://lab.llvm.org/buildbot/#/builders/139/builds/3806


  Commit: 34a4eefcbd8d394616cdb16dcadc70b934a577ce
      https://github.com/llvm/llvm-project/commit/34a4eefcbd8d394616cdb16dcadc70b934a577ce
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-do-forall.h
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/call11.f90

  Log Message:
  -----------
  [flang] Warn about impure calls in concurrent headers (#108436)

Emit a warning when an impure function is referenced from a DO
CONCURRENT or FORALL concurrent-header that is not nested within another
such construct. (That nested case is already an error.)


  Commit: eebe9a3fca39e0d0e464993f41e63aa41c308da7
      https://github.com/llvm/llvm-project/commit/eebe9a3fca39e0d0e464993f41e63aa41c308da7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp

  Log Message:
  -----------
  [flang][CUDA] Fix crash in name resolution for CUDA function (#108616)

When a function result type appears on a FUNCTION statement after some
CUDA attributes, there wasn't always valid program source location
information attached to the function result variable information stack.
Ensure that some relevant source information is always available.


  Commit: 50d15e688f4a88662f28d5d712f2ba2533466974
      https://github.com/llvm/llvm-project/commit/50d15e688f4a88662f28d5d712f2ba2533466974
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M flang/lib/Evaluate/real.cpp
    M flang/runtime/numeric-templates.h
    M flang/test/Evaluate/fold-spacing.f90

  Log Message:
  -----------
  [flang] Subnormal arguments to and results from SPACING (#108861)

The standards aren't clear about how IEEE-754 subnormal values interact
with the intrinsic function SPACING. Four compilers interpret the
standard such that SPACING(x) will return a value never less than
TINY(x); one compiler returns TINY(x) for ABS(x) <= TINY(x) but can
return SPACING(x) < TINY(x) for some ABS(x) > TINY(x); one other
compiler works similarly, but also oddly returns SPACING(x) < TINY(x)
for ABS(x) >= TINY(x)/2.

Follow the most common precedent.


  Commit: 9a1d0744ed851ee927f32f6b06777d93e9e32561
      https://github.com/llvm/llvm-project/commit/9a1d0744ed851ee927f32f6b06777d93e9e32561
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/dfsan/dfsan_thread.cpp
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/lib/lsan/lsan_posix.cpp
    M compiler-rt/lib/memprof/memprof_thread.cpp
    M compiler-rt/lib/msan/msan_thread.cpp
    M compiler-rt/lib/nsan/nsan_thread.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c

  Log Message:
  -----------
  Revert "[sanitizer] Fix partially initialized static TLS range" (#108881)

Reverts llvm/llvm-project#108685

Breaks Darwin and Windows
https://lab.llvm.org/buildbot/#/builders/107/builds/2930
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/11684/


  Commit: 3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e
      https://github.com/llvm/llvm-project/commit/3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    A lldb/test/API/tools/lldb-dap/memory/Makefile
    A lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
    A lldb/test/API/tools/lldb-dap/memory/main.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Support inspecting memory (#104317)

Add support for the `readMemory` request which allows VS-Code to
inspect memory. Also, add `memoryReference` to variables and `evaluate`
responses, such that the binary view can be opened from the variables
view and from the "watch" pane.


  Commit: f13b7d0b020d0d409322ed7544c16b224324083d
      https://github.com/llvm/llvm-project/commit/f13b7d0b020d0d409322ed7544c16b224324083d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/dfsan/dfsan_thread.cpp
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/lib/lsan/lsan_posix.cpp
    M compiler-rt/lib/memprof/memprof_thread.cpp
    M compiler-rt/lib/msan/msan_thread.cpp
    M compiler-rt/lib/nsan/nsan_thread.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c

  Log Message:
  -----------
  Reland "[sanitizer] Fix partially initialized static TLS range" (#108883)

Reland llvm/llvm-project#108685

Arguments order was wrong on Windows and Darwin.


  Commit: 7e56a092781b094307155457f129df7deda411ae
      https://github.com/llvm/llvm-project/commit/7e56a092781b094307155457f129df7deda411ae
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll

  Log Message:
  -----------
  [RISCV] Add a testcase for an unprofitable machine-sink issue

This corresponds to an upcoming change which will fully explain
why this is a machine-sink issue.


  Commit: ad06e9562a3d2b532240390275c2b35f58004c04
      https://github.com/llvm/llvm-project/commit/ad06e9562a3d2b532240390275c2b35f58004c04
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  Reapply "[NFC][sanitizer] Switch to `gnu_get_libc_version` (#108724)" (#108885)

In #108724 `#ifdef` was used instead of `#if`.

This reverts commit 68e4518598d63efa02230f400e50263baccbb8e4.


  Commit: 6ca5c397a99aca2b9faa9b2d96238c5bda33010e
      https://github.com/llvm/llvm-project/commit/6ca5c397a99aca2b9faa9b2d96238c5bda33010e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/arm64ec-import.test

  Log Message:
  -----------
  [LLD][COFF] Redirect __imp_ Symbols to __imp_aux_ on ARM64EC for x64 object files (#108608)

On ARM64EC, __imp_ symbols reference the auxiliary IAT, while __imp_aux_
symbols reference the regular IAT. However, x86_64 code expects both to
reference the regular IAT. This change adjusts the symbols accordingly,
matching the behavior observed in the MSVC linker.


  Commit: 0975e2ac58b6d62429d51df54911fb4d03dcda05
      https://github.com/llvm/llvm-project/commit/0975e2ac58b6d62429d51df54911fb4d03dcda05
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Target/CoreFileMemoryRanges.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h

  Log Message:
  -----------
  [LLDB][Minidump] Add a progress bar to minidump (#108309)

Added a progress tracker to Minidump file builders memory saving


  Commit: dbc590073d2cc2a0bd3260b9a3156a966935c6a1
      https://github.com/llvm/llvm-project/commit/dbc590073d2cc2a0bd3260b9a3156a966935c6a1
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/test/MC/WebAssembly/eh-assembly-legacy.s
    M llvm/test/MC/WebAssembly/func-end-errors.s
    M llvm/test/MC/WebAssembly/funcref-from-table.s
    M llvm/test/MC/WebAssembly/type-checker-br.s

  Log Message:
  -----------
  [WebAssembly] Fix .functype directives in tests (#108748)

For defined functions, it appears `.functype` directive should be after
the function label. Otherwise binary generation does not seem to work
correctly. Also this fixes a case that the `.functype` directive's name
is incorrect.


  Commit: 488640389faedee8c65566275441779faa620fd2
      https://github.com/llvm/llvm-project/commit/488640389faedee8c65566275441779faa620fd2
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/LangStandards.def
    M clang/lib/Basic/LangStandards.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
    M clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
    M clang/test/SemaHLSL/group_shared.hlsl
    M clang/test/SemaHLSL/prohibit_reference.hlsl

  Log Message:
  -----------
  [HLSL] Align language modes on 202x as default (#108662)

As captured in issue #108044, HLSL 202x is the target language mode for
conformance for Clang. Earlier language modes will be a best effort and
prioritized after 2020x. To make this easier and reduce our testing
complexity we want to make 202x the default language mode now, and align
all earlier modes to match 202x (except where we explicitly deviate).

This change has the following concrete changes:
* All older language modes gain `CPlusPlus11` as a base
* The default language mode for HLSL sources is changed to 202x
* A few test cases are updated to resolve differences in generated
diagnostics.

Second to last change for  #108044


  Commit: bffb26f1531ecfe209b84f77b170ddb0df991351
      https://github.com/llvm/llvm-project/commit/bffb26f1531ecfe209b84f77b170ddb0df991351
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Add LinkerDriver::ctx. NFC


  Commit: a366323c8db13616d6eaa603c0ab3895acaea669
      https://github.com/llvm/llvm-project/commit/a366323c8db13616d6eaa603c0ab3895acaea669
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Restore s32 support for G_ABS on RV64.

This reverts commit 5e6a1987a5d4574d3c3811f878ddbbbf7c35fa01.

I was was plannig to remove s32 as a legal type on RV64, but
I'm rethinking that.


  Commit: f022111e640f10f5f5e879c1dd585ddd0a40acf3
      https://github.com/llvm/llvm-project/commit/f022111e640f10f5f5e879c1dd585ddd0a40acf3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Restore s32 support on RV64 for DIV, and REM.

This reverts commit 2599d695128381e6932b43f0e95649c533308d6d.

I was was plannig to remove s32 as a legal type on RV64, but
I'm rethinking that.


  Commit: d9045420ae8c1b986232a44b9e3073793eec7f8a
      https://github.com/llvm/llvm-project/commit/d9045420ae8c1b986232a44b9e3073793eec7f8a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Add Config &Ctx::arg. NFC

And migrate LinkerDriver member functions to use `ctx.arg.x` instead of
`config->x`.


  Commit: 0cc2cd781594aec741f7262df7a48d73a7d09a18
      https://github.com/llvm/llvm-project/commit/0cc2cd781594aec741f7262df7a48d73a7d09a18
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    A lldb/test/API/tools/lldb-dap/locations/Makefile
    A lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
    A lldb/test/API/tools/lldb-dap/locations/main.c
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Provide `declarationLocation` for variables (#102928)

This commit implements support for the "declaration location" recently
added by microsoft/debug-adapter-protocol#494 to the debug adapter
protocol.

For the `declarationLocationReference` we need a variable ID similar to
the `variablesReference`. I decided to simply reuse the
`variablesReference` here and renamed `Variables::expandable_variables`
and friends accordingly. Given that almost all variables have a
declaration location, we now assign those variable ids to all variables.

While `declarationLocationReference` effectively supersedes
`$__lldb_extensions.declaration`, I did not remove this extension, yet,
since I assume that there are some closed-source extensions which rely
on it.

I tested this against VS-Code Insiders. However, VS-Code Insiders
currently only supports `valueLoctionReference` and not
`declarationLocationReference`, yet. Locally, I hence published the
declaration locations as value locations, and VS Code Insiders navigated
to the expected places. Looking forward to proper VS Code support for
`declarationLocationReference`.


  Commit: 48498ec7a4ded9f1bf813051abdc54c3e5b66fa7
      https://github.com/llvm/llvm-project/commit/48498ec7a4ded9f1bf813051abdc54c3e5b66fa7
  Author: ziqingluo-90 <ziqing_luo at apple.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fix a bug in "Re-land [-Wunsafe-buffer-usage] Warning Libc functions (#101583)"

StringLiteral::getString() is not applicable to strings of wide
characters.  Added handling for that.

(rdar://117182250)


  Commit: f99bb02d7d28bb127af86483d9c2710088f76756
      https://github.com/llvm/llvm-project/commit/f99bb02d7d28bb127af86483d9c2710088f76756
  Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    R llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll

  Log Message:
  -----------
  [SPIR-V] Emit DebugTypeBasic for NonSemantic DI (#106980)

The commit introduces support for fundamental DI instruction. Metadata
handlers required for this instruction is stored inside debug records
(https://llvm.org/docs/SourceLevelDebugging.html) parts of the module
which rises the necessity of it's traversal.


  Commit: c96ee0ffaf5ee7afa1f4b0be0662852f57b47244
      https://github.com/llvm/llvm-project/commit/c96ee0ffaf5ee7afa1f4b0be0662852f57b47244
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/test/utils/update-verify-tests/lit.local.cfg

  Log Message:
  -----------
  fix update-verify-tests test suite for AIX (#108871)

The diff command on AIX doesn't support the --strip-trailing-cr flag.
The internal python implementation does, so execute the tests in the
update-verify-tests test suite using the internal shell for
compatibility.


  Commit: 7b3d4e38ddd15b294bd32d34e7f5e194840a4dbd
      https://github.com/llvm/llvm-project/commit/7b3d4e38ddd15b294bd32d34e7f5e194840a4dbd
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_linux.cpp

  Log Message:
  -----------
  [NFC][ASan] Replace calls to Report() and Die() with ReportIncompatibleRT() in AsanCheckIncompatibleRT() (#107991)


  Commit: a20794b574803677e6407bdccef136d2e1622535
      https://github.com/llvm/llvm-project/commit/a20794b574803677e6407bdccef136d2e1622535
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [Sanitizer] Call Die() instead of Abort() when failed to reserve shadow memory range (#107833)

I grep the code and find that `Abort()` is only called in `Die()` when
the flag `abort_on_error` is set.
Thus, if reserving shadow memory range fails, `Die()` rather than
`Abort()` should be called. In this case, the flag `abort_on_error` will
be respected and the die callbacks will be called.


  Commit: fab60a6bae38fea7afe9d2dcadd44fb3e5c7bc25
      https://github.com/llvm/llvm-project/commit/fab60a6bae38fea7afe9d2dcadd44fb3e5c7bc25
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Simplify ThreadDescriptorSizeFallback using early return (#108908)


  Commit: 8982f9854f1fc6c3ade8c01f992fc49bf41f89b9
      https://github.com/llvm/llvm-project/commit/8982f9854f1fc6c3ade8c01f992fc49bf41f89b9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Remove `else if` from ThreadDescriptorSizeFallback (#108909)


  Commit: 5df1b79372a89648cdb4ab798f1c74985e00ac6e
      https://github.com/llvm/llvm-project/commit/5df1b79372a89648cdb4ab798f1c74985e00ac6e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl

  Log Message:
  -----------
  [HLSL] Add `[[hlsl::raw_buffer]]` attribute (#107954)

This PR introduces new HLSL resource type attribute
`[[hlsl::raw_buffer]]`. Presence of this attribute on a resource handle
means that the resource does not require typed element access. The
attribute will be used on resource handles that represent buffers like
`StructuredBuffer` or `ByteAddressBuffer` and in DXIL it will be
translated to target extension type `dx.RawBuffer`.

Fixes #107907


  Commit: 97ae505753c5ade30229d223733775766ae51e47
      https://github.com/llvm/llvm-project/commit/97ae505753c5ade30229d223733775766ae51e47
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/test/MC/Disassembler/WebAssembly/wasm.txt

  Log Message:
  -----------
  [WebAssembly] Support disassembler for try_table (#108800)

This adds support for disassembler for the new `try_table` instruction.
This adds tests for `throw` and `throw_ref` as well.

Currently tag expressions are not supported for `throw` or `try_table`
instruction when instructions are parsed from the disassembler. Not sure
whether there is a way to support it. (This is not a new thing for the
new EH proposal; it has not been supported for the legacy EH as well.)


  Commit: 64aaf0559d9333dc00c04bb581739ddc5da358b2
      https://github.com/llvm/llvm-project/commit/64aaf0559d9333dc00c04bb581739ddc5da358b2
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/clang_f_opts.c

  Log Message:
  -----------
  [Clang] [Driver] Ensure `-fms-volatile` is set for x86 for `*-windows-msvc` triple on non cl driver modes (#107509)

Similar reasoning as this PR:
https://github.com/llvm/llvm-project/pull/107177

`-fms-volatile` should be set by default for x86 targets as long as the
triple is `*-windows-msvc`.
The driver mode shouldn't dictate the triple when targeting msvc
compatibility.


  Commit: 884221eddb9d395830704fac79fd04008e02e368
      https://github.com/llvm/llvm-project/commit/884221eddb9d395830704fac79fd04008e02e368
  Author: JOE1994 <joseph942010 at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M mlir/lib/Debug/Observers/ActionProfiler.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    M mlir/lib/Query/Matcher/RegistryManager.cpp
    M mlir/lib/Query/QueryParser.cpp

  Log Message:
  -----------
  [mlir] Tidy uses of llvm::raw_stream_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: 95a0b4f729310d95d89f01f4d92ab7d2bf09941c
      https://github.com/llvm/llvm-project/commit/95a0b4f729310d95d89f01f4d92ab7d2bf09941c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp

  Log Message:
  -----------
  Revert "[clang][ExprConst] Allow comparisons with string literals (#106733)"

This reverts commit 5d1d2f08c4a92580e7f6b3b6b77b2b6f6184e126.

See the discussion in https://github.com/llvm/llvm-project/pull/106733
and https://github.com/llvm/llvm-project/issues/58754


  Commit: 2f7ffbaad3e7bd14b7a82d4887ef1640272ba1be
      https://github.com/llvm/llvm-project/commit/2f7ffbaad3e7bd14b7a82d4887ef1640272ba1be
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp

  Log Message:
  -----------
  [Support] Fix bugs in formatv automatic index assignment (#108384)

Fix bugs found when actually trying to use formatv() automatic index
assignment in IntrinsicEmitter.cpp:
- Assign automatic index only for `ReplacementType::Format`.
- Make the check for all replacement indices being either automatic orexplicit more accurate.
  The existing check fails for formatv("{}{0}{}", 0, 1) (added as a unit test). Explicitly track if we
  have seen any explicit and any automatic index instead.


  Commit: 884ff9e3f9741ac282b6cf8087b8d3f62b8e138a
      https://github.com/llvm/llvm-project/commit/884ff9e3f9741ac282b6cf8087b8d3f62b8e138a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll

  Log Message:
  -----------
  [LegalizeVectorOps] Make the AArch64 hack in ExpandFNEG more specific.

Only scalarize single element vectors when vector FSUB is not
supported and scalar FNEG is supported.


  Commit: 6af2f225a0f820d331f251af69c2dad0c845964e
      https://github.com/llvm/llvm-project/commit/6af2f225a0f820d331f251af69c2dad0c845964e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll

  Log Message:
  -----------
  [RISCV] Restrict combineOp_VLToVWOp_VL w/ bf16 to vfwmadd_vl with zvfbfwma (#108798)

We currently make sure to check that if folding an op to an f16 widening
op that we have zvfh. We need to do the same for bf16 vectors, but with
the further restriction that we can only combine vfmadd_vl to vfwmadd_vl
(to get vfwmaccbf16.v{v,f}).

The added test case currently crashes because we try to fold an add to a
bf16 widening add, which doesn't exist in zvfbfmin or zvfbfwma

This moves the checks into the extension support checks to keep it one
place.


  Commit: 41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
      https://github.com/llvm/llvm-project/commit/41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll

  Log Message:
  -----------
  [RISCV] Account for zvfhmin and zvfbfmin promotion in register usage (#108370)

A half with only zvfhmin or bfloat will end up getting promoted to a f32
for most instructions.

Unless the loop consists only of memory ops and permutation instructions
which don't need promoted (is this common?), we'll end up using double
the LMUL than what's currently being returned by getRegUsageForType.

Since this is used by the loop vectorizer, it seems better to be
conservative and assume that any usage of a zvfhmin half/bfloat will end
up being widened to a f32


  Commit: 30d7dcc1db476b828d3b0a7b5c9bcfbe5bd5f216
      https://github.com/llvm/llvm-project/commit/30d7dcc1db476b828d3b0a7b5c9bcfbe5bd5f216
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll

  Log Message:
  -----------
  [RISCV] Add asserts requirement to loop vectorizer tests

Hopefully this fixes a buildbot failure on fuchsia where opt doesn't
have -debug-only


  Commit: 827dd1ef2f104a98b9912694e5938d6d12808200
      https://github.com/llvm/llvm-project/commit/827dd1ef2f104a98b9912694e5938d6d12808200
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M bolt/test/lit.local.cfg

  Log Message:
  -----------
  [Bolt] Explicitly request PIE in tests (#108818)

When clang is built with `-DCLANG_DEFAULT_PIE_ON_LINUX=OFF`, a number of
bolt tests fail:

    BOLT :: AArch64/build_id.c
    BOLT :: AArch64/plt-call.test
BOLT :: X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    BOLT :: X86/dwarf5-locexpr-referrence.test
    BOLT :: X86/internal-call-instrument.s
    BOLT :: X86/linux-static-keys.s
    BOLT :: X86/plt-call.test

Avoid this by explicitly adding `-fPIE` and `-pie` to the default flags
in tests, so we don't depend on the clang-side default.


  Commit: 539f9161a28e1c90743586a2d7664160ce3815c8
      https://github.com/llvm/llvm-project/commit/539f9161a28e1c90743586a2d7664160ce3815c8
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/Instrumentation/sanitizers-naked.ll

  Log Message:
  -----------
  [Instrumentation] Precommit tests for PR108552 (NFC)


  Commit: 8d8bedef0d0a6a65927d5684ff332453fb6507ee
      https://github.com/llvm/llvm-project/commit/8d8bedef0d0a6a65927d5684ff332453fb6507ee
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp

  Log Message:
  -----------
  [Bufferization] Avoid repeated hash lookups (NFC) (#108925)


  Commit: 65a5b18aa04087ffba11760bd4654aaae211aa38
      https://github.com/llvm/llvm-project/commit/65a5b18aa04087ffba11760bd4654aaae211aa38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp

  Log Message:
  -----------
  [Shape] Avoid repeated hash lookups (NFC) (#108926)


  Commit: 9825d1ffcdee409864dc499394b1c2d2247822f0
      https://github.com/llvm/llvm-project/commit/9825d1ffcdee409864dc499394b1c2d2247822f0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/PDL/IR/PDL.cpp

  Log Message:
  -----------
  [PDL] Avoid repeated hash lookups (NFC) (#108927)


  Commit: 71a39eca1e1b8eb9fb3da8ff7c86f88a73b1ec47
      https://github.com/llvm/llvm-project/commit/71a39eca1e1b8eb9fb3da8ff7c86f88a73b1ec47
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp

  Log Message:
  -----------
  [MLProgram] Avoid repeated hash lookups (NFC) (#108928)


  Commit: 942e872d5b1a06bcb2388593dc14234f02961618
      https://github.com/llvm/llvm-project/commit/942e872d5b1a06bcb2388593dc14234f02961618
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/test/Instrumentation/sanitizers-naked.ll

  Log Message:
  -----------
  [Instrumentation] Do not request sanitizers for naked functions

Sanitizers instrumentation may be incompatible with naked functions,
which lack of standard prologue/epilogue.


  Commit: acfa294b5e2b10dfe9b9fc075259d849a3897493
      https://github.com/llvm/llvm-project/commit/acfa294b5e2b10dfe9b9fc075259d849a3897493
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-cannonicalize-fcmp.mir
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll

  Log Message:
  -----------
  [GlobalIsel] Canonicalize G_FCMP (#108891)

As a side-effect, we start constant folding fcmps.


  Commit: c970e96eaedf76f349fcb95309a85fec29844c0e
      https://github.com/llvm/llvm-project/commit/c970e96eaedf76f349fcb95309a85fec29844c0e
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  [libc][bazel] Enable software prefetching for memset (#108860)

This will affect only Bazel configuration for now.


  Commit: c91f2a259f378a9a4817c675b9a01557fcf7cae8
      https://github.com/llvm/llvm-project/commit/c91f2a259f378a9a4817c675b9a01557fcf7cae8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrVecCompiler.td
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
    M llvm/test/CodeGen/X86/domain-reassignment.mir
    M llvm/test/CodeGen/X86/masked_compressstore_isel.ll
    M llvm/test/CodeGen/X86/masked_expandload_isel.ll

  Log Message:
  -----------
  [X86] Consistently use 'k' for predicate mask registers in instruction names (#108780)

We use 'k' for move instructions and to indicate masked variants of evex instructions, but otherwise we're very inconsistent when we use 'k' vs 'r'.


  Commit: c48a1ebec150e09ccb1fa13b26d284b8324d365d
      https://github.com/llvm/llvm-project/commit/c48a1ebec150e09ccb1fa13b26d284b8324d365d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll

  Log Message:
  -----------
  [LV] Remove force-vector-width/force-vector-interleave from X86 test.

Update target-specific test to not force VF/UF, but instead use the
cost-model. There are similar tests arleady outside X86 and those force
VF & UF.

With this change, the target specific test checks the cost model.
Changes in picked VF/UF are limited to test_pr62954_scalar_epilogue_required,
and should preserve the original spirit of the test.


  Commit: f25b09199ab8026bf50364cfc8d49a860fb9a760
      https://github.com/llvm/llvm-project/commit/f25b09199ab8026bf50364cfc8d49a860fb9a760
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
    R llvm/test/Analysis/ValueTracking/shift-recurrence-knownbits.ll

  Log Message:
  -----------
  ValueTracking/test: increase recurrence coverage (#108836)

The shift-recurrence-knownbits.ll test file only covers shift
instructions while testing recurrence patterns with knownbits. Add tests
for add, sub, mul, and, and or as well, and rename the file
recurrence-knownbits.ll.


  Commit: 79d380f2ca288b3d2f9aafb1149f4239e8a8308e
      https://github.com/llvm/llvm-project/commit/79d380f2ca288b3d2f9aafb1149f4239e8a8308e
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/aarch64-sve2-faminmax.ll

  Log Message:
  -----------
  [AArch64][SVE2] Add codegen patterns for SVE2 FAMINMAX (#107284)

Tablegen patterns were previously added to lower the following sequences
from generic IR to NEON FAMIN/FAMAX instructions

- `fminimum((abs(a), abs(b)) -> famin(a, b)`
- `fmaximum((abs(a)), abs(b)) -> famax(a, b)`
- https://github.com/llvm/llvm-project/pull/103027
- `fminnum[nnan](abs(a), abs(b)) -> famin(a, b)`
- `fmaxnum[nnan](abs(a), abs(b)) -> famax(a, b)`
- https://github.com/llvm/llvm-project/pull/104766 

The same idea has been applied for the scalable vector variants of
[FAMIN](https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions/FAMIN--Floating-point-absolute-minimum--predicated--)/[FAMAX](https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions/FAMAX--Floating-point-absolute-maximum--predicated--).
('nnan' documenatation:
https://llvm.org/docs/LangRef.html#fast-math-flags).

- Changes to LLVM
	- lib/target/AArch64/AArch64SVEInstrInfo.td
- Add 'AArch64fminnm_p_nnan' and 'AArch64fmaxnm_p_nnan' patfrags
(patterns predicated on the 'nnan' flag).
		- Add 'AArch64famax_p' and 'AArch64famin_p'
	- test/CodeGen/AArch64/aarch64-sve2-faminmax.ll
- Add tests to verify the new patterns, including both positive and
negative tests for 'nnan' predicated behavior.


  Commit: 3c5c61a4149181381f775383bc06e48457b76d7b
      https://github.com/llvm/llvm-project/commit/3c5c61a4149181381f775383bc06e48457b76d7b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll

  Log Message:
  -----------
  [LV] Add first order rec test where hoisting can improve over sinking.


  Commit: 4de7026ce36564ef2f86ddcd7f183d837ad0901d
      https://github.com/llvm/llvm-project/commit/4de7026ce36564ef2f86ddcd7f183d837ad0901d
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Split linux time targets to avoid dependency cycles

clock_gettime is much heavier than the others as it depends on vdso.


  Commit: 3e32e455913f0fe56f53f2f5711ea0130473d99a
      https://github.com/llvm/llvm-project/commit/3e32e455913f0fe56f53f2f5711ea0130473d99a
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll

  Log Message:
  -----------
  [NVPTX] Verify ptx in the right version


  Commit: 6357781e3f9fbc5a14a794b8769b451c863c65c7
      https://github.com/llvm/llvm-project/commit/6357781e3f9fbc5a14a794b8769b451c863c65c7
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp

  Log Message:
  -----------
  [clang-tidy] fix nullptr dereference in bugprone-forwarding-reference (#106856)

Previously, when checking if a `TemplateSpecializationType` is either
`enable_if` or `enable_if_t`, the AST matcher would call
`getTemplateName`, `getASTemplateDecl` and `getTemplatedDecl` in
succession to check the `NamedDecl` returned from `getTemplatedDecl` is
an `std::enable_if[_t]`. In the linked issue, the pointer returned by 
`getTemplatedDecl` is a `nullptr` that is unconditionally accessed, 
resulting in a crash. Instead, the checking is done on the
`TemplateDecl`
returned by `getASTemplateDecl`.

Fixes #106333


  Commit: 50320ec967a2c6546e53998225dddb76c4016dc5
      https://github.com/llvm/llvm-project/commit/50320ec967a2c6546e53998225dddb76c4016dc5
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp

  Log Message:
  -----------
  [NFC][clang-tidy] reword diagnostic note in definitions-in-headers (#106862)

`make as inline` made little sense here, so I changed the `make` to
`mark`
and added `the definition` as well.


  Commit: 605a9adb4340b347f480a95a6eef3c9045e8416f
      https://github.com/llvm/llvm-project/commit/605a9adb4340b347f480a95a6eef3c9045e8416f
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp

  Log Message:
  -----------
  [clang-tidy] fix false positive in modernize-min-max-use-initializer-list (#107649)

Previously, whenever a replacement was generated by the analysis, a
diagnostic was generated. This became an issue when a call to
`std::min` or `std::max` consisted only of an initializer list with at
least one argument to the list requiring a type cast.
In this case, a single replacement that added a `static_cast` was
created,
that resulted in a diagnostic being issued but with no nested call
to `std::min` or `std::max`.

Instead, explicitly track if a nested call was detected and only emit a
diagnostic if this is the case.

Fixes #107594


  Commit: caaac84ab2ef3f56e5204c9fae5cddf7b6e9a1c0
      https://github.com/llvm/llvm-project/commit/caaac84ab2ef3f56e5204c9fae5cddf7b6e9a1c0
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp

  Log Message:
  -----------
  [clang-tidy] only diagnose definitions in readability-enum-initial-value (#107652)

With the `isDefinition` matcher, the analysis and diagnostics will be
constrained to definitions only. Previously forward declarations were
diagnosed as well.

Fixes #107590


  Commit: 24ccdc5f291048b70e424bb4a63cadce6d891f11
      https://github.com/llvm/llvm-project/commit/24ccdc5f291048b70e424bb4a63cadce6d891f11
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [llvm][llvm-as] Fix file input extension description (#108295)

Input file extension description should mention that it should be `.ll`
not `.llvm`


  Commit: 50d55dc175fb4766ca15d5095412c92284df196c
      https://github.com/llvm/llvm-project/commit/50d55dc175fb4766ca15d5095412c92284df196c
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [llvm][llvm-cat] Fix typo in the Input file name option (#108294)

Current usage printed by llvm-cat

`USAGE: llvm-cat [options] <input  files>`

Should be changed to 

`USAGE: llvm-cat [options] <input files>`


  Commit: 88a9bcaf7074d21aa818cfa3952300dc9547be77
      https://github.com/llvm/llvm-project/commit/88a9bcaf7074d21aa818cfa3952300dc9547be77
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update `cxx_dr_status.html`


  Commit: 1e64864c6fdcbd9cb78b69b1a3a3f3da84ec2e7a
      https://github.com/llvm/llvm-project/commit/1e64864c6fdcbd9cb78b69b1a3a3f3da84ec2e7a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/StackArrays.cpp

  Log Message:
  -----------
  [flang][StackArrays] run in parallel on different functions (#108842)

Since #108562, StackArrays no longer has to create function declarations
at the module level to use stacksave/stackrestore LLVM intrinsics. This
will allow it to run in parallel on multiple functions at the same time.


  Commit: 270ee6549c9368b2ff86ef9794a7fd5e5496ef00
      https://github.com/llvm/llvm-project/commit/270ee6549c9368b2ff86ef9794a7fd5e5496ef00
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [Analysis][NFC] Clean-up in ScalarEvolution when copying predicates (#108851)

There are a few places in ScalarEvolution.cpp where we copy predicates
from one list to another and they have a similar pattern:

  for (const auto *P : ENT.Predicates)
    Predicates->push_back(P);

We can avoid the loop by writing them like this:

  Predicates->append(ENT.Predicates.begin(), ENT.Predicates.end());

which may end up being more efficient since we only have to try
reserving more space once.


  Commit: b39a100ff4ec16f1f9cafcc48ea7fed920726650
      https://github.com/llvm/llvm-project/commit/b39a100ff4ec16f1f9cafcc48ea7fed920726650
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/memory/main.cpp

  Log Message:
  -----------
  [lldb][lldb-dap] Remove unused includes in memory test

Added in 3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e


  Commit: 64cfce95d38d6884d501fd1ece959e7809a94025
      https://github.com/llvm/llvm-project/commit/64cfce95d38d6884d501fd1ece959e7809a94025
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/docs/Dialects/OpenMPDialect/_index.md

  Log Message:
  -----------
  [MLIR][OpenMP][Docs] Document operand structures (NFC) (#108824)

This patch updates the OpenMP dialect top-level documentation to
describe the operand structures, when they can be used and how they are
automatically generated.


  Commit: 83220e9c2b370a985620fe90fa9acc9a473ba3fb
      https://github.com/llvm/llvm-project/commit/83220e9c2b370a985620fe90fa9acc9a473ba3fb
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lld/test/BUILD.gn

  Log Message:
  -----------
  [gn build] Add llvm-cgdata dependency to check-lld

This ports f4763b3d2.


  Commit: 731a68383f0e0a38e727b839f92a225c5e809b45
      https://github.com/llvm/llvm-project/commit/731a68383f0e0a38e727b839f92a225c5e809b45
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refine operand iterators in the SIInsertWaitcnts. NFCI. (#108884)


  Commit: bc8a5d104c69cee9cb9a870785da1eac62b58e32
      https://github.com/llvm/llvm-project/commit/bc8a5d104c69cee9cb9a870785da1eac62b58e32
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    A llvm/test/Transforms/SimplifyCFG/patchpoint-invalid-sink.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  [Patchpoint] Add immarg attributes to patchpoint arguments (#97276)


  Commit: 1fc288bf481726393c73133eef9aa73c0f78312e
      https://github.com/llvm/llvm-project/commit/1fc288bf481726393c73133eef9aa73c0f78312e
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Transforms/debug-assumed-size-array.fir

  Log Message:
  -----------
  [flang][debug] Handle lower bound in assumed size arrays. (#108523)

Fixes #108411


  Commit: 1603f99a37c5b179a21dbb8000c39a471a950927
      https://github.com/llvm/llvm-project/commit/1603f99a37c5b179a21dbb8000c39a471a950927
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  [libc++] Explicitly convert to masks in SIMD code (#107983)

This makes it clearer when we use masks and avoids MSan complaining.


  Commit: b1d7694c128fd200a23f4494530aa3ae50fa76ce
      https://github.com/llvm/llvm-project/commit/b1d7694c128fd200a23f4494530aa3ae50fa76ce
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/init-aarch64.c

  Log Message:
  -----------
  [AArch64] Add missing ACLE predefined macros and update __ARM_ACLE. (#108857)

Adds __ARM_ACLE_VERSION and __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL
as defined here https://github.com/ARM-software/acle/pull/301 and
here https://github.com/ARM-software/acle/pull/302.

Also bumps __ARM_ACLE to 202420.


  Commit: b6f72fc1e202c749333bd5b8ecb879d661af16b6
      https://github.com/llvm/llvm-project/commit/b6f72fc1e202c749333bd5b8ecb879d661af16b6
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/test/Transforms/debug-fn-info.fir

  Log Message:
  -----------
  [flang][debug] Generate correct subroutine type. (#108605)

We pass a list of types when creating a subroutine type. The first one
is supposed to be return type and the rest are the argument types. A
subroutine does not have a return type so an argument type could be
confused as a return type. To fix this, if there is no return type, we
generate a null type as a place holder.

Fixes #108564.


  Commit: 20c5432d0fb4ac852482141d89287e3fcc2d1278
      https://github.com/llvm/llvm-project/commit/20c5432d0fb4ac852482141d89287e3fcc2d1278
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [flang][Semantics][OpenMP] Don't privatise associate names (#108856)

The associate name preserves the association with the selector
established in the associate statement. Therefore it is incorrect to
change the data-sharing attribute of the name.

Closes #58041


  Commit: 72901fe19eb1e55d0ee1c380ab7a9f57d2f187c5
      https://github.com/llvm/llvm-project/commit/72901fe19eb1e55d0ee1c380ab7a9f57d2f187c5
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/addsub-24bit-imm.mir
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/arm64-ld-from-st.ll
    M llvm/test/CodeGen/AArch64/arm64_32.ll
    M llvm/test/CodeGen/AArch64/bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/fast-isel-int-ext3.ll
    M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
    M llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll

  Log Message:
  -----------
  [AArch64] Fold UBFMXri to UBFMWri when it's an LSR or LSL alias (#106968)

Using the LSR or LSL aliases of UBFM can be faster on some CPUs, so it
is worth changing 64 bit UBFM instructions, that are equivalent to 32
bit LSR/LSL operations, to 32 bit variants.

This change folds the following patterns:
* If `Imms == 31` and `Immr <= Imms`:
   `UBFMXri %0, Immr, Imms`  ->  `UBFMWri %0.sub_32, Immr, Imms`
* If `Immr == Imms + 33`:
   `UBFMXri %0, Immr, Imms`  ->  `UBFMWri %0.sub_32, Immr - 32, Imms`


  Commit: 8411214c56eb3f9fb77fe3a9f156d4e6ef6cec06
      https://github.com/llvm/llvm-project/commit/8411214c56eb3f9fb77fe3a9f156d4e6ef6cec06
  Author: David Green <david.green at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/vecreduce-bitext.ll

  Log Message:
  -----------
  [AArch64] Tests for vecreduce.or(sext(x)), with or/and/xor and sext/zext. NFC


  Commit: 742e04de96d4094e7070beb9afab10279c8b179e
      https://github.com/llvm/llvm-project/commit/742e04de96d4094e7070beb9afab10279c8b179e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - handle *_EXTEND nodes


  Commit: b222ec18653c0324a330b8ef5b783fad1f9d7637
      https://github.com/llvm/llvm-project/commit/b222ec18653c0324a330b8ef5b783fad1f9d7637
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll

  Log Message:
  -----------
  [X86] vector-reduce-add-mask.ll - regenerate vpmulhuw asm comments. NFC


  Commit: ce73407015f38e681159165a4c6267b2379acea7
      https://github.com/llvm/llvm-project/commit/ce73407015f38e681159165a4c6267b2379acea7
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  Fix MachineInstr::uses() doc. NFC. (#108950)

Uses was documented as register uses, which is not true.


  Commit: b1339abb713063363e7804124b8fb3d84143a003
      https://github.com/llvm/llvm-project/commit/b1339abb713063363e7804124b8fb3d84143a003
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/assume-align.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding align assumes into load metadata.


  Commit: de1f5b96adcea52bf7c9670c46123fe1197050d2
      https://github.com/llvm/llvm-project/commit/de1f5b96adcea52bf7c9670c46123fe1197050d2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll

  Log Message:
  -----------
  [SLP]Vectorize gathered loads

Final gather/buildvector nodes may have scalar loads, which are not
vectorized (since they are part of the gather nodes) but may form full
vector loads, being combined. This patch walks over all gather nodes,
"gathering" and sorting gathered scalar loads and then tries to build
vector loads, which later are reshuffled between the gather nodes.
It allows later to add support for segmented loads (kind of AOS to SOA
load kind for RISC-V RVV) and may help with the removal of the alternat
e opcodes support.
Currently, alternate nodes may depend on each other because of the
consecutive loads between their operands. Because of that we cannot
simply remove alternate vectorization. But this approach may help to
remove most of the stuff for it, since we'll be able to vectorize loads
in between lanes.

Metric: size..text, AVX512

Program                                                                                                                                                size..text
                                                                                 test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test   238381.00   250669.00  5.2%
                                                                  test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test    25753.00    26329.00  2.2%
                                                                  test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-psadbw.test     3028.00     3092.00  2.1%
                                                                                     test-suite :: MultiSource/Benchmarks/Rodinia/hotspot/hotspot.test     4243.00     4275.00  0.8%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   649765.00   653877.00  0.6%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   649765.00   653877.00  0.6%
                                                                                       test-suite :: SingleSource/Benchmarks/BenchmarkGame/n-body.test     4199.00     4222.00  0.5%
                                                             test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test    12933.00    12997.00  0.5%
                                                                                                 test-suite :: SingleSource/Benchmarks/Misc/flops.test     8282.00     8314.00  0.4%
                                                            test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-unpack_msasm.test    10065.00    10097.00  0.3%
                                                                                         test-suite :: SingleSource/Benchmarks/Misc-C++/Large/ray.test     5160.00     5176.00  0.3%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12472220.00 12509612.00  0.3%
                                                                                      test-suite :: MultiSource/Benchmarks/Prolangs-C++/city/city.test     6908.00     6924.00  0.2%
                                                                         test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   202830.00   203278.00  0.2%
                                                                                       test-suite :: SingleSource/Benchmarks/CoyoteBench/fftbench.test     9133.00     9149.00  0.2%
                                                                                           test-suite :: MultiSource/Benchmarks/Olden/power/power.test     6792.00     6803.00  0.2%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1395585.00  1397473.00  0.1%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1395585.00  1397473.00  0.1%
                                                                        test-suite :: External/SPEC/CINT2017speed/631.deepsjeng_s/631.deepsjeng_s.test    97662.00    97758.00  0.1%
                                                                                        test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test   595179.00   595739.00  0.1%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test    70603.00    70667.00  0.1%
                                                                            test-suite :: MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail.test    19877.00    19893.00  0.1%
                                                                           test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT.test    90231.00    90279.00  0.1%
                                                                                         test-suite :: External/SPEC/CINT2006/473.astar/473.astar.test    33738.00    33754.00  0.0%
                                                                                     test-suite :: External/SPEC/CFP2017speed/619.lbm_s/619.lbm_s.test    13262.00    13268.00  0.0%
                                                                                        test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  1139964.00  1140460.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test   849507.00   849875.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1158379.00  1158859.00  0.0%
                                                                                   test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test    38724.00    38740.00  0.0%
                                                                                              test-suite :: External/SPEC/CFP2006/470.lbm/470.lbm.test    15180.00    15186.00  0.0%
                                                                                      test-suite :: External/SPEC/CFP2017rate/519.lbm_r/519.lbm_r.test    15484.00    15490.00  0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/456.hmmer/456.hmmer.test   167391.00   167455.00  0.0%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.test   137448.00   137496.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2030254.00  2030766.00  0.0%
                                                                              test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test   302870.00   302934.00  0.0%
                                                                                    test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test   303126.00   303190.00  0.0%
                                                                                            test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test   241107.00   241155.00  0.0%
                                                                                      test-suite :: External/SPEC/CFP2006/482.sphinx3/482.sphinx3.test   162974.00   163006.00  0.0%
                                                                                                 test-suite :: MultiSource/Applications/siod/siod.test   167168.00   167200.00  0.0%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1048796.00  1048988.00  0.0%
                                                                               test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test   201623.00   201655.00  0.0%
                                                                                           test-suite :: MultiSource/Applications/sqlite3/sqlite3.test   501734.00   501798.00  0.0%
test-suite :: MultiSource/Applications/ClamAV/clamscan.test   580888.00   580952.00  0.0%
                                                                                           test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test   168319.00   168335.00  0.0%
                                                                        test-suite :: MicroBenchmarks/ImageProcessing/Interpolation/Interpolation.test   226022.00   226038.00  0.0%
                                                        test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.test   118011.00   118015.00  0.0%
                                                                                     test-suite :: External/SPEC/CINT2006/471.omnetpp/471.omnetpp.test   550589.00   550605.00  0.0%
                                                                                             test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test  3072477.00  3072541.00  0.0%
                                                                                 test-suite :: External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test  2385563.00  2385579.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   389171.00   389155.00 -0.0%
                                                                                                   test-suite :: MultiSource/Applications/lua/lua.test   234764.00   234748.00 -0.0%
                                                                                        test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test   227694.00   227678.00 -0.0%
                                                                    test-suite :: MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.test   119819.00   119807.00 -0.0%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.test   117995.00   117983.00 -0.0%
                                                            test-suite :: MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.test   123610.00   123594.00 -0.0%
                                                                                       test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test    81414.00    81398.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   782040.00   781880.00 -0.0%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test  9597420.00  9595292.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test  9597420.00  9595292.00 -0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   911832.00   911608.00 -0.0%
                                                                                             test-suite :: MultiSource/Applications/oggenc/oggenc.test   192507.00   192459.00 -0.0%
                                                            test-suite :: MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.test   122843.00   122811.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test   122292.00   122260.00 -0.0%
                                                                                    test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test   777363.00   777155.00 -0.0%
                                                                            test-suite :: MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.test   123265.00   123205.00 -0.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   315534.00   315358.00 -0.1%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.test   128163.00   128083.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test     6562.00     6555.00 -0.1%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test    23428.00    23396.00 -0.1%
                                                                             test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    22749.00    22717.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39549.00    39485.00 -0.2%
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39546.00    39482.00 -0.2%
                                                                                    test-suite :: MultiSource/Benchmarks/Prolangs-C/bison/mybison.test    57214.00    57118.00 -0.2%
                                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   413668.00   412804.00 -0.2%
                                                                                       test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  1044047.00  1041487.00 -0.2%
                                                                                            test-suite :: MultiSource/Benchmarks/McCat/18-imp/imp.test    12414.00    12382.00 -0.3%
                                                                                      test-suite :: MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo.test    31161.00    30969.00 -0.6%
                                                                               test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test   224726.00   223254.00 -0.7%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    93512.00    92824.00 -0.7%
                                                                        test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   281151.00   278463.00 -1.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test     2820.00     2788.00 -1.1%
                                                                                            test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   156819.00   154739.00 -1.3%
                                                                 test-suite :: MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish.test    11560.00    11160.00 -3.5%
                                                                                          test-suite :: MultiSource/Benchmarks/McCat/08-main/main.test     6734.00     6382.00 -5.2%
                                                                                                                                                       results     results0    diff

ASCI_Purple/SMG2000 - extra vector code
VPlanNativePath/outer-loop-vect - extra vectorization, better vector
code
AVX512BWVL/Vector-AVX512BWVL-psadbw - better vector code
Rodinia/hotspot - small variations
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - extra vector code, better vectorization
BenchmarkGame/n-body - better vector code.
AVX512BWVL/Vector-AVX512BWVL-unpack_msasm - small variations
Misc/flops - extra vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - small variations
Misc-C++/Large - better vector code
CFP2017rate/526.blender_r - extra vector code
Prolangs-C++/city - extra vector code
MiBench/consumer-lame - extra vector code
CoyoteBench/fftbench - extra vector code
Olden/power - better vector code
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - extra vector code
CINT2017rate/531.deepsjeng_r - extra vector code
CFP2006/447.dealII - small variations
DOE-ProxyApps-C/miniAMR - small variations
Prolangs-C/unix-smail - small variations
DOE-ProxyApps-C++/PENNANT - small variations
CINT2006/473.astar - small variations
CFP2006/453.povray - small variations
JM/lencod - extra vector code
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/CoMD - small variations
CFP2006/470.lbm - extra vector code
CFP2017speed/619.lbm_s
CFP2017rate/519.lbm_r - extra vector code
CINT2006/456.hmmer - extra code vectorized
TSVC/ControlFlow-dbl - extra vector code
CFP2017rate/510.parest_r - better vector code
LCALS/SubsetALambdaLoops - extra code vectorized
LCALS/SubsetARawLoops - extra code vectorized
CFP2006/444.namd - extra code vectorized
CFP2006/482.sphinx3 - better vector code
Applications/siod - better vector code
Benchmarks/7zip - better vector code
DOE-ProxyApps-C++/CLAMR - extra code vectorized
Applications/sqlite3 - extra code vectorized
Applications/ClamAV - smaller vector code
MallocBench/gs - small variations
MicroBenchmarks/ImageProcessing - small variations
TSVC/StatementReordering-flt - extra code vectorized
CINT2006/471.omnetpp - small variations
CINT2006/403.gcc - extra code vectorized
CINT2006/483.xalancbmk - extra code vectorized
JM/ldecod - small variations
Applications/lua - extra code vectorized
mafft/pairlocalalign - small variations
TSVC/NodeSplitting-flt - extra code vectorized
TSVC/Recurrences-flt - extra code vectorized
TSVC/InductionVariable-flt - extra code vectorized
FreeBench/pifft - small variations
CINT2006/464.h264ref - extra code vectorized
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - some extra code vectorized, extra code inlined
CINT2006/445.gobmk - small variations
Applications/oggenc - small variations
TSVC/LoopRestructuring-flt - extra code vectorized
TSVC/CrossingThresholds-flt - extra code vectorized
CFP2017rate/508.namd_r - small variations
TSVC/ControlFlow-flt - extra code vectorized
mediabench/g721 - small variations
Prolangs-C/compiler - small variations
FreeBench/fourinarow - better vector code
MiBench/telecomm-gsm - small variation in vector code
mediabench/gsm - same
Prolangs-C/bison - small variations
Adobe-C++/loop_unroll - extra code vectorized
Benchmarks/tramp3d-v4 - extra code gets inlined, small changes in vetor
code
McCat/18-imp - variations in vector code
Prolangs-C/gnugo - variations in vector code
MallocBench/espresso - extra code vectorized
DOE-ProxyApps-C++/miniFE - small variations in vector code
Prolangs-C/TimberWolfMC - extra code vectorized, small changes in
previously vectorized code.
Olden/tsp - small changes in vector code
CFP2006/433.milc - extra code gets inlined, vectorized 2 x stores to 4 x stores
MiBench/security-blowfish - extra code vectorized
McCat/08-main - better vector code.

Metric: size..text, RISCV, sifive-p670

Program                                                                                                                                                size..text
                                                                                                                                                       results    results0   diff
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test   63580.00   64020.00  0.7%
                                                                   test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test   21388.00   21406.00  0.1%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  296992.00  297088.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  968112.00  968208.00  0.0%
                                                        test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.test   45160.00   45164.00  0.0%
                                                                         test-suite :: External/SPEC/CINT2017rate/523.xalancbmk_r/523.xalancbmk_r.test 2635902.00 2635854.00 -0.0%
                                                                        test-suite :: External/SPEC/CINT2017speed/623.xalancbmk_s/623.xalancbmk_s.test 2635902.00 2635854.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7568730.00 7568578.00 -0.0%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7568730.00 7568578.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test   49764.00   49762.00 -0.0%
                                                                                           test-suite :: MultiSource/Applications/sqlite3/sqlite3.test  449132.00  449108.00 -0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test  695932.00  695892.00 -0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  508820.00  508788.00 -0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  508820.00  508788.00 -0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9594152.00 9593336.00 -0.0%
                                                                                 test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test  166522.00  166490.00 -0.0%
                                                                                    test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test  722252.00  722092.00 -0.0%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test   27554.00   27546.00 -0.0%
                                                                  test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test   10900.00   10896.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.test   46754.00   46732.00 -0.0%
                                                                                       test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  631570.00  631226.00 -0.1%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  850698.00  850218.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   24816.00   24800.00 -0.1%
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   24814.00   24798.00 -0.1%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1599946.00 1598394.00 -0.1%
                                                                                                   test-suite :: MultiSource/Applications/hbd/hbd.test   27236.00   27204.00 -0.1%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  293848.00  293480.00 -0.1%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test   20160.00   20048.00 -0.6%
                                                                               test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test  182088.00  181040.00 -0.6%
                                                                           test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    4788.00    4748.00 -0.8%

DOE-ProxyApps-C++/miniFE - extra vector code
MiBench/automotive-susan - small variations
Benchmarks/Bullet - extra vector code
CFP2017rate/511.povray_r - slightly better vector code
TSVC/StatementReordering-dbl - small variations
CINT2017rate/523.xalancbmk_r
CINT2017speed/623.xalancbmk_s - extra vector code
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - extra vector code
TSVC/CrossingThresholds-flt - small variations
Applications/sqlite3 - extra vector code
JM/lencod - extra vector code, small variations
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - small variations
CFP2017rate/526.blender_r - extra vector code, small variations
DOE-ProxyApps-C/miniGMG - small variations
Vectorizer/VPlanNativePath/outer-loop-vect - small variations
TSVC/CrossingThresholds-dbl - small variations
Benchmarks/tramp3d-v4 - small variations
Benchmarks/7zip - extra vector code
MiBench/telecomm-gsm - small variations
mediabench/gsm/toast - small variations
CFP2017rate/510.parest_r - extra vector code
Applications/hbd - extra vector code
JM/ldecod - better vector code
Prolangs-C/compiler - extra vector code
MallocBench/espresso - extra vector code
mediabench/g721/g721encode - extra vectorization

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: b3a2208c566c475f7d1b6d40c67aec100ae29103
      https://github.com/llvm/llvm-project/commit/b3a2208c566c475f7d1b6d40c67aec100ae29103
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [mlir] Apply ClangTidy fixes.

- Prefer to check empty() instead of size() == 0.
- Remove unused using declarations.


  Commit: 1e23a6142a827cda89fa4d8335afebd89701991d
      https://github.com/llvm/llvm-project/commit/1e23a6142a827cda89fa4d8335afebd89701991d
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/test/Driver/ps4-linker.c
    M clang/test/Driver/ps4-ps5-header-search.c
    M clang/test/Driver/ps4-sdk-root.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/ps5-sdk-root.c

  Log Message:
  -----------
  [PS4,PS5][Driver] Detangle --sysroot and -isysroot (#107410)

The following discrepancies concerning `-isysroot` and `--sysroot`
motivated this change:

- The SDK directory can be specified via `-isysroot`, but `--sysroot`
has no influence over this. Yet, we check for the presence of either
switch to determine whether we ought to warn about a missing SDK
*headers*.

- The presence of `-isysroot` is ignored when deciding whether to warn
about missing SDK *libraries*, depsite it being the only switch capable
of specifying a non-default SDK location.

- The `--sysroot`s passed to the PlayStation linkers by the driver are
unrelated to the SDK directory resolved in the PS4PS5Base constructor.

Following this change, we attempt to derive an SDK root from a platform-
specific environment variable. Failing that, we derive it from the location of
the driver. This then becomes the default root directory for both header and
library search. `--sysroot` overrides both search roots. `-isysroot` overrides
only the header search root. If both are specified, `--sysroot` specifies the
library search root and `-isysroot` specifies the header search root.

For each search root that was not overridden, a warning is emitted if expected
header/library search paths are missing inside that root.

The test updates to ps{4,5}-sdk-root.c were of the scale of a rewrite so
I also took the opportunity to clarify the purpose of each part,
eliminate some redundancy and add some missing coverage.

SIE tracker: TOOLCHAIN-16704


  Commit: 17a3bdb529552a7891f43c9c28d987a5a1b63050
      https://github.com/llvm/llvm-project/commit/17a3bdb529552a7891f43c9c28d987a5a1b63050
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/docs/RISCVUsage.rst

  Log Message:
  -----------
  [RISCV][docs] Fix List Formatting


  Commit: b84c42944a89afb63d74f54096d50c3913491005
      https://github.com/llvm/llvm-project/commit/b84c42944a89afb63d74f54096d50c3913491005
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][LoopVectorize] Rename variable in replaceVPBBWithIRVPBB (#108543)

I've renamed the variable in replaceVPBBWithIRVPBB from IRMiddleVPBB ->
IRVPBB, since the function is used for more than just replacing the
middle VP block.


  Commit: d0438d2d087e78571a671c98cbb42308e4dcfcec
      https://github.com/llvm/llvm-project/commit/d0438d2d087e78571a671c98cbb42308e4dcfcec
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/include/__locale_dir/locale_base_api/ibm.h
    M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
    M libcxx/src/atomic.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/support/ibm/mbsnrtowcs.cpp
    M libcxx/src/support/ibm/wcsnrtombs.cpp
    M libcxx/src/support/ibm/xlocale_zos.cpp
    M libcxx/src/support/win32/support.cpp
    M libcxx/src/support/win32/thread_win32.cpp

  Log Message:
  -----------
  [libc++][NFC] Replace uses of NULL by nullptr (#108847)

Closes #108741


  Commit: 07e0b8a7717aecc1133a08bfe013b58fb4c596f5
      https://github.com/llvm/llvm-project/commit/07e0b8a7717aecc1133a08bfe013b58fb4c596f5
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [ast-matcher] Fixed a crash when traverse lambda expr with invalid captures (#108689)

Fixes: #106444


  Commit: a17a2451dbb0f31d31bec4c1194b893f914b1bc0
      https://github.com/llvm/llvm-project/commit/a17a2451dbb0f31d31bec4c1194b893f914b1bc0
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lld/COFF/DLL.cpp
    M lld/COFF/DLL.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/Writer.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/arm64ec-import.test

  Log Message:
  -----------
  [LLD][COFF] Add Support for auxiliary IAT copy (#108610)

In addition to the auxiliary IAT, ARM64EC modules also contain a copy of
it. At runtime, the auxiliary IAT is filled with the addresses of actual
ARM64EC functions when possible. If patching is detected, the OS may use
the IAT copy to revert the auxiliary IAT, ensuring that the call checker
is used for calls to imported functions.


  Commit: ab38ec9ac312460e4f71c8ad3f50b9b5723469f6
      https://github.com/llvm/llvm-project/commit/ab38ec9ac312460e4f71c8ad3f50b9b5723469f6
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py

  Log Message:
  -----------
  [lldb][lldb-dap] Disable read memory test on Windows

This isn't strictly a Windows issue but for now it's the only bot
that was hit by this failure.

It can happen on Linux too but I expect we'll fix it and remove the
skip soon anyway.

Test was added in #104317.


  Commit: 5fdf07dda697a7752aad64ba93d4c38de21f8d3b
      https://github.com/llvm/llvm-project/commit/5fdf07dda697a7752aad64ba93d4c38de21f8d3b
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change ARMTargetDefEmitter to use const RecordKeeper (#108916)

Change ARMTargetDefEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 8e2dbab24276a8521d241463b4161c78bc4d39d2
      https://github.com/llvm/llvm-project/commit/8e2dbab24276a8521d241463b4161c78bc4d39d2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Program.cpp
    A clang/test/AST/ByteCode/extern.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix defining extern variables (#108940)

At the point of defintion of the variable, a function might already
refert to the variable by its index. Replace the index with the new one.


  Commit: 34e16b6b9c8628e562e237aaa9a3bc2625980ca1
      https://github.com/llvm/llvm-project/commit/34e16b6b9c8628e562e237aaa9a3bc2625980ca1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [IndVars] Fix strict weak ordering violation (#108947)

The sort used the block name as a tie-breaker, which will not work for
unnamed blocks and can result in a strict weak ordering violation.

Fix this by checking that all exiting blocks dominate the latch first,
which means that we have a total dominance order. This makes the code
structure here align with what optimizeLoopExits() does.

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


  Commit: cb98fd977a25d3d778244da4012fd34acf7fab45
      https://github.com/llvm/llvm-project/commit/cb98fd977a25d3d778244da4012fd34acf7fab45
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  Fix use of an uninitialized variable; NFC intended

This was causing debug builds with Visual Studio to fail a number of
HLSL tests.


  Commit: 49a754a43d5592e08ef177db794126ddc676d6b5
      https://github.com/llvm/llvm-project/commit/49a754a43d5592e08ef177db794126ddc676d6b5
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [Clang] Mark Clang 19 language changes as being released [NFC] (#108978)


  Commit: ee2add06836afdda6c86792441e6afdf6993f770
      https://github.com/llvm/llvm-project/commit/ee2add06836afdda6c86792441e6afdf6993f770
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/MachineVerifier/test_g_extract_subvector.mir
    M llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp

  Log Message:
  -----------
  [GISEL] Fix bugs and clarify spec of G_EXTRACT_SUBVECTOR (#108848)

The implementation was missing the fact that `G_EXTRACT_SUBVECTOR`
destination and source vector can be different types.

Also fix a bug in the MIR builder for `G_EXTRACT_SUBVECTOR` to generate
the correct opcode.

Clarify the G_EXTRACT_SUBVECTOR specification.


  Commit: d2125e1db6bc5c3c2db9e358a8b69e498455ee9d
      https://github.com/llvm/llvm-project/commit/d2125e1db6bc5c3c2db9e358a8b69e498455ee9d
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/half-convert-strict.ll

  Log Message:
  -----------
  [RISCV] Support STRICT_UINT_TO_FP and STRICT_SINT_TO_FP (#102503)

This patch adds support for the missing STRICT_UINT_TO_FP and
STRICT_SINT_TO_FP for riscv and adds a test case for rv32 which was
previously crashing.

The code is in line with how other strict_* nodes are handled
(e.g., getting op(1) instead of op(0) when it's a strict node, as op(0)
in a strict node is the entry token).


  Commit: 2242cd2b6a60d5c0f233a091fc5d642af1cb0d90
      https://github.com/llvm/llvm-project/commit/2242cd2b6a60d5c0f233a091fc5d642af1cb0d90
  Author: David Green <david.green at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/vecreduce-bitext.ll

  Log Message:
  -----------
  [DAG] Fold vecreduce.or(sext(x)) to sext(vecreduce.or(x)) (#108959)

The same is true for and / xor reductions, where the sext / zext can be
sank down through the bitwise operation.
https://alive2.llvm.org/ce/z/TvzCd5


  Commit: f4172f6659ef14cbc235e3d690957de068cd55d4
      https://github.com/llvm/llvm-project/commit/f4172f6659ef14cbc235e3d690957de068cd55d4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/AMDGPUTypes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp

  Log Message:
  -----------
  [Clang][AMDGPU] Simplify builtin type definitions. NFC. (#108968)

Remove the MangledName field since these types just use the normal Name
for mangling purposes.


  Commit: 267ad430fc54d6d548cd7d25c7e59c3b6b650097
      https://github.com/llvm/llvm-project/commit/267ad430fc54d6d548cd7d25c7e59c3b6b650097
  Author: Zoltán Porkoláb <zporky at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    R clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics-c11.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp

  Log Message:
  -----------
  [clang-tidy] Extend `bugprone-sizeof-expression` with matching `P +- sizeof(T)` and `P +- N */ sizeof(T)` cases, add `cert-arr39-c` alias (#106061)

Improved `bugprone-sizeof-expression` check to find suspicious pointer
arithmetic calculations where the pointer is offset by an `alignof()`,
`offsetof()`, or `sizeof()` expression.

Pointer arithmetic expressions implicitly scale the offset added to or
subtracted from the address by the size of the pointee type. Using an
offset expression that is already scaled by the size of the underlying
type effectively results in a squared offset, which is likely an invalid
pointer that points beyond the end of the intended array.

```c
void printEveryEvenIndexElement(int *Array, size_t N) {
  int *P = Array;
  while (P <= Array + N * sizeof(int)) { // Suspicious pointer arithmetics using sizeof()!
    printf("%d ", *P);

    P += 2 * sizeof(int); // Suspicious pointer arithmetics using sizeof()!
  }
}
```

---------

Co-authored-by: Whisperity <whisperity at gmail.com>


  Commit: b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9
      https://github.com/llvm/llvm-project/commit/b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/compress-opt-select.ll

  Log Message:
  -----------
  [RISCV] Fix boundary error in compress-opt-select.ll

Per the comment, this test is intending to test the first constant which
can't be encoded via a c.addi.  However, -32 *can* be encoded as in a
c.addi, and all that's preventing it from doing so is the register
allocators choice to use a difference destination register on the
add than it's source.  (Which compressed doesn't support.)

The current LLC codegen for this test looks like:

	addi	a1, a0, -32
	li	a0, -99
	bnez	a1, .LBB0_2
	li	a0, 42
.LBB0_2:
	ret

After https://github.com/llvm/llvm-project/pull/108889, we sink the LI, and
the register allocator picks the same source and dest register for the addi
resulting in the c.addi form being emitted.  So, to avoid a confusing diff
let's fix the test to check what was originally intended.


  Commit: 848cec11f54f1433d19c847fe0296147549ef44a
      https://github.com/llvm/llvm-project/commit/848cec11f54f1433d19c847fe0296147549ef44a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll

  Log Message:
  -----------
  Revert "[SLP]Vectorize gathered loads"

This reverts commit de1f5b96adcea52bf7c9670c46123fe1197050d2.

This has a very large compile-time impact in some cases, in
particular lencod. See:
http://llvm-compile-time-tracker.com/compare.php?from=b1339abb713063363e7804124b8fb3d84143a003&to=de1f5b96adcea52bf7c9670c46123fe1197050d2&stat=instructions:u


  Commit: 53bc35a80a844601c10c8bb75832cbee3ba841ac
      https://github.com/llvm/llvm-project/commit/53bc35a80a844601c10c8bb75832cbee3ba841ac
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
    M polly/lib/Analysis/ScopInfo.cpp
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/Exchange/JSONExporter.cpp

  Log Message:
  -----------
  [polly] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: 6f5dd6563017a11cf1486654d2350ef97054abef
      https://github.com/llvm/llvm-project/commit/6f5dd6563017a11cf1486654d2350ef97054abef
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/docs/Contributing.rst

  Log Message:
  -----------
  [libc++][docs] Fix inline code style - use double backticks (#108974)

This is an apparrent omission. Single backick (Markdown style) was used
instead of double backtick for inline code style.


  Commit: adeae925dcd7db0d49256f687c66a662d6604128
      https://github.com/llvm/llvm-project/commit/adeae925dcd7db0d49256f687c66a662d6604128
  Author: David Benjamin <davidben at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/include/__assert

  Log Message:
  -----------
  [libc++] Make _LIBCPP_ASSUME usable when it is appropriate (#91801)

libc++ turned off _LIBCPP_ASSUME because turning every debug assert into
__builtin_assume tripped [1]. However, this means we can't use _LIBCPP_ASSUME
when there is a clear optimization intent. See [2] for discussion of a place 
where _LIBCPP_ASSUME would be valuable.

This patch fixes this by not undefining the definition of _LIBCPP_ASSUME and
making sure that we don't attempt to `_LIBCPP_ASSSUME` every assertion in
the library.

[1]: https://discourse.llvm.org/t/llvm-assume-blocks-optimization/71609
[2]: https://github.com/llvm/llvm-project/pull/78929#issuecomment-1936582711


  Commit: c3d78a7af8e74c588501a2555b4a4ed7bdc55ef5
      https://github.com/llvm/llvm-project/commit/c3d78a7af8e74c588501a2555b4a4ed7bdc55ef5
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libc/benchmarks/MemorySizeDistributions.cpp
    M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp

  Log Message:
  -----------
  [libc][benchmarks] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: c532e6db274d4edeb65e9436d44e33f0ccc1cb83
      https://github.com/llvm/llvm-project/commit/c532e6db274d4edeb65e9436d44e33f0ccc1cb83
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/compress-opt-select.ll

  Log Message:
  -----------
  [RISCV] Restructure compress-opt-select.ll

Two major changes:
- Remove use of sed preprocessing - this was being used to create two
  versions of each test, and the result is much more readable if we
  just duplicate the tests.
- Use a regex for matching the condition.  An upcoming change causes
  us to reverse the branch direction (which doesn't matter to the
  purpose of these tests at all), so using the regex makes the test
  more stable.


  Commit: 8663a75fa2f31299ab8d1d90288d9df92aadee88
      https://github.com/llvm/llvm-project/commit/8663a75fa2f31299ab8d1d90288d9df92aadee88
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Add link to RDNA 3.5 docs (#108977)


  Commit: 78f7aae89570bca93d0f1ef85752f20b16394462
      https://github.com/llvm/llvm-project/commit/78f7aae89570bca93d0f1ef85752f20b16394462
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [VirtRegMap] Remove unused MAX_STACK_SLOT. NFC (#108781)

I think this has been unuesd since
92255f27f1c1884585cbcb3fcbd72bd4b0b533f7 in 2011.


  Commit: f36580fcb535b46deaf659702958b7f203259ecf
      https://github.com/llvm/llvm-project/commit/f36580fcb535b46deaf659702958b7f203259ecf
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [LegalizeVectorOps] Remove calls to DAG.UnrollVectorsOps from some expansion handlers. NFC (#108930)

Instead, return SDValue() to tell the caller to do the unrolling. This
is consistent with how some other handler work. Especially the handlers
that live in TLI.

ExpandBITREVERSE was rewritten to not take the Results vector an
argument.


  Commit: 0f97b4824a8cf040bd3ce7b644dee9d60065ac61
      https://github.com/llvm/llvm-project/commit/0f97b4824a8cf040bd3ce7b644dee9d60065ac61
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/CodeGen/DirectX/frac.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    M llvm/test/CodeGen/DirectX/rsqrt.ll

  Log Message:
  -----------
  [Scalarizer][DirectX] Add support for scalarization of Target  intrinsics (#108776)

Since we are using the Scalarizer pass in the backend we needed a way to
allow this pass to operate on Target intrinsics.
We achieved this by adding `TargetTransformInfo ` to the Scalarizer
pass. This allowed us to call a function available to the DirectX
backend to know if an intrinsic is a target intrinsic that should be
scalarized.


  Commit: 2e7c7d20d55be51f907d87a2298660d73a1cc190
      https://github.com/llvm/llvm-project/commit/2e7c7d20d55be51f907d87a2298660d73a1cc190
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll

  Log Message:
  -----------
  [RISCV][TTI] Adjust cost for extract/insert element when VLEN is known (#108595)

If we know an exact VLEN, then the index is effectively modulo the
number of elements in a single vector register. Our lowering performs
this subvector optimization.

A bit of context. This change may look a bit strange on it's own given
we are currently *not* scaling insert/extract cost by LMUL. This costing
decision needs to change, but is very intertwined with SLP
profitability, and is thus a bit hard to adjust. I'm hoping that
https://github.com/llvm/llvm-project/pull/108419 will let me start to
untangle this. This change is basically a case of finding a subset I can
tackle before other dependencies are in place which does no real harm in
the meantime.


  Commit: 55808d84671153c37747b54c1fde05ad2c22770e
      https://github.com/llvm/llvm-project/commit/55808d84671153c37747b54c1fde05ad2c22770e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp

  Log Message:
  -----------
  [AVR] Use MCRegister in AsmParser. NFC


  Commit: 594579b7af82dab786bb75786451ca582543a697
      https://github.com/llvm/llvm-project/commit/594579b7af82dab786bb75786451ca582543a697
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/compress-opt-select.ll

  Log Message:
  -----------
  [RISCV] Autogenerate compress-opt-select.ll

I realized after spending way too much time looking at this, that
we can avoid objdump entirely here by having the assembly simply
not print the aliases.  Once we do that, we can simply autogen
this test, and updates become trivial and understandable.


  Commit: 09fc1781807b46e2c6a92e744e70a1ffb530c3ad
      https://github.com/llvm/llvm-project/commit/09fc1781807b46e2c6a92e744e70a1ffb530c3ad
  Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
    A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-ALU.s
    A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-FPALU_D.s
    A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-FPALU_S.s
    A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-LSU.s

  Log Message:
  -----------
  [RISCV] Add scheduling model for Syntacore SCR7 (#108814)

Syntacore SCR7 is rv64imafdcv_zba_zbb_zbc_zbs_zkn.
Scheduling model for RVV will be added later.
Overview: https://syntacore.com/products/scr7

---------

Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Anton Afanasyev <anton.afanasyev at syntacore.com>
Co-authored-by: Elena Lepilkina <elena.lepilkina at syntacore.com>


  Commit: 433bc6b741198aba34dd305eed143e0637c307e6
      https://github.com/llvm/llvm-project/commit/433bc6b741198aba34dd305eed143e0637c307e6
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][TableGen] Adopt formatv() automatic index in IntrinsicEmitter (#108954)

Adopt the use of formatv() automatic index assignment feature in
IntrinsicEmitter.


  Commit: 100b34bbc1a421133f197d1e05c1cb769414368c
      https://github.com/llvm/llvm-project/commit/100b34bbc1a421133f197d1e05c1cb769414368c
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change VarLenCodeEmitterGen to use const RecordKeeper (#108960)

Change VarLenCodeEmitterGen to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: da46244e49b1e4b90e51635cff2134d1664841df
      https://github.com/llvm/llvm-project/commit/da46244e49b1e4b90e51635cff2134d1664841df
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll

  Log Message:
  -----------
  Revert "[LegalizeVectorOps] Make the AArch64 hack in ExpandFNEG more specific."

This reverts commit 884ff9e3f9741ac282b6cf8087b8d3f62b8e138a.

Regression was reported in Halide for arm32.


  Commit: e5bc842a9c56c1d83543f0232a888db6210efd85
      https://github.com/llvm/llvm-project/commit/e5bc842a9c56c1d83543f0232a888db6210efd85
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Remove #elif to simplify ThreadDescriptorSizeFallback (#108911)


  Commit: 3d87e21ac86432b089120703a35ad4b16285e808
      https://github.com/llvm/llvm-project/commit/3d87e21ac86432b089120703a35ad4b16285e808
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Consolidate version checking branches of ThreadDescriptorSizeFallback (#108912)


  Commit: 0050503b7a278a50b406a47378f6161bf55059ec
      https://github.com/llvm/llvm-project/commit/0050503b7a278a50b406a47378f6161bf55059ec
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Allow right-shift of negative values (#108987)

We used to incorrectly diagnose this as a "left shift of negative
value".


  Commit: a0d00c94c251ba7aff9d58a42a8e41c4ed432b8b
      https://github.com/llvm/llvm-project/commit/a0d00c94c251ba7aff9d58a42a8e41c4ed432b8b
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll

  Log Message:
  -----------
  [SimplifyCFG] Swap range metadata to attribute for calls. (#108984)

Among the last usages of range metadata for call before being able to
deprecate and only have the range attribute for calls.


  Commit: 2bda9e1c29ccb9a09eabd41ac4ff1e925acf2206
      https://github.com/llvm/llvm-project/commit/2bda9e1c29ccb9a09eabd41ac4ff1e925acf2206
  Author: Mainak Sil <mainaksil0 at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst

  Log Message:
  -----------
  [docs][clang-tidy] Correct StrictMode example in modernize-use-std-print (#108805)

Fix #101397.


  Commit: 6b3b63cd3736ebe0ed93324ef54ea1c5a2c06438
      https://github.com/llvm/llvm-project/commit/6b3b63cd3736ebe0ed93324ef54ea1c5a2c06438
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Avoid synchronizing status files for "In Progress" issues

This doesn't provide much value and it creates a lot of churn in the
CSV files.


  Commit: ac1194538607c2c1f3413d895286d4323f43a25c
      https://github.com/llvm/llvm-project/commit/ac1194538607c2c1f3413d895286d4323f43a25c
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [mlir][GPU] block_id has the grid size as its range


  Commit: e1971a8f018823615da619780620e8bfcced58dd
      https://github.com/llvm/llvm-project/commit/e1971a8f018823615da619780620e8bfcced58dd
  Author: Wanyi <kusmour at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp

  Log Message:
  -----------
  [lldb][intel-pt] Fix build error on conversion from llvm::Error to Status::FromError (#108719)

Summary: This introduced from upstream
[#107163](https://github.com/llvm/llvm-project/pull/107163)

Test Plan: I can build

Closes: #107580


  Commit: b9e13045abc6e4a179cc46e20e876ecc98fcc7cd
      https://github.com/llvm/llvm-project/commit/b9e13045abc6e4a179cc46e20e876ecc98fcc7cd
  Author: Зишан Мирза <zmirza at tutanota.de>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libc/docs/date_and_time.rst

  Log Message:
  -----------
  [libc] add `ctime` and `ctime_r` to `date_and_time` documentation (#108665)

closes #108664


  Commit: 12b88f835dc47ba2b4f29e6caf710cb8da876367
      https://github.com/llvm/llvm-project/commit/12b88f835dc47ba2b4f29e6caf710cb8da876367
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [libc++][NFC] Mark P1424R1 as partially implemented (#107751)

`hh_mm_ss` and related functions from https://wg21.link/P1466R3 were
partially implemented in LLVM 10 (fde236b1f719b3a).


  Commit: ae8d0200b052234c38a89b93dcac447e95f99554
      https://github.com/llvm/llvm-project/commit/ae8d0200b052234c38a89b93dcac447e95f99554
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll

  Log Message:
  -----------
  [SimplifyCFG] Add test for sinking div/rem with const remainder; NFC


  Commit: 419c53477eae62c716ca8f4e18109342f0398d95
      https://github.com/llvm/llvm-project/commit/419c53477eae62c716ca8f4e18109342f0398d95
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll

  Log Message:
  -----------
  [SimplifyCFG] Mark div/rem as not-cheap to sink if we are replacing const denominator

Close #109007


  Commit: c23d6df60d62f971d957e730f6fe55ea89541f6b
      https://github.com/llvm/llvm-project/commit/c23d6df60d62f971d957e730f6fe55ea89541f6b
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp

  Log Message:
  -----------
  [AArch64] Don't define reserved macros

It's not allowed. It also prevents Clang from compiling itself on
Aarch64.

lib/Basic/Targets/AArch64.cpp:404:9: warning: '__ARM_ACLE_VERSION' macro redefined [-Wmacro-redefined]
  404 | #define __ARM_ACLE_VERSION(Y, Q, P) (100 * (Y) + 10 * (Q) + (P))


  Commit: a729e706de3fc6ebee49ede3c50afb47f2e29191
      https://github.com/llvm/llvm-project/commit/a729e706de3fc6ebee49ede3c50afb47f2e29191
  Author: Greg Roth <grroth at microsoft.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    A clang/test/CodeGenHLSL/inline-constructors.hlsl
    A clang/test/CodeGenHLSL/inline-functions.hlsl

  Log Message:
  -----------
  [HLSL] set alwaysinline on HLSL functions (#106588)

HLSL inlines all its functions by default. This uses the alwaysinline
attribute to make the alwaysinliner pass inline any function not
explicitly marked noinline by the user or autogeneration. The
alwayslinline marking takes place in `SetLLVMFunctionAttributesForDefinitions`
where all other inlining interactions are determined.

The outermost entry function is marked noinline because there's no
reason to inline it. Any user calls to an entry function will instead call
the internal mangled version of the entry function.

Adds tests for function and constructor inlining and augments some
existing tests to verify correct inlining of implicitly created
functions as well.

Incidentally restore RUN line that I believe was mistakenly removed as
part of #88918

Fixes #89282


  Commit: 64972834c193632cbc47e54c0f0c721636b077e6
      https://github.com/llvm/llvm-project/commit/64972834c193632cbc47e54c0f0c721636b077e6
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    A llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerLowering.cpp
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVCombine.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/gisel-commandline-option.ll

  Log Message:
  -----------
  [RISCV][GISEL] Introduce the RISCVPostLegalizerLowering pass (#108991)

This is mostly a copy of the AArch64PostLegalizerLoweringPass, except it
removes all of the AArch64 combines.

This pass allows us to lower instructions after the generic
post-legalization combiner has had a chance to run.

We will be adding combines to this pass in future patches.


  Commit: d5dd7d230ecaf8242f4429a5e3653e16bf55bcd6
      https://github.com/llvm/llvm-project/commit/d5dd7d230ecaf8242f4429a5e3653e16bf55bcd6
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/scope.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Semantics/type.cpp
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Frontend/CompilerInstanceTest.cpp

  Log Message:
  -----------
  [flang] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: b9bf831e8db38efcd930397516cbc4ca2c53d098
      https://github.com/llvm/llvm-project/commit/b9bf831e8db38efcd930397516cbc4ca2c53d098
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement GlobalVariable (#108642)

This patch implements sandboxir::GlobalVariable mirroring
llvm::GlobalVariable.


  Commit: 090850f15dba926e2436089ff679b7015bb59e11
      https://github.com/llvm/llvm-project/commit/090850f15dba926e2436089ff679b7015bb59e11
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/AArch64/extract_float.ll

  Log Message:
  -----------
  [AArch64][CostModel] Add NFC tests for extractelement cost (#108941)

A successive patch aims to reduce the extractelement cost where the only
user(s) is fmul instruction.


  Commit: 51a29b5f16efab7f46106b6ce14cbfa50d991040
      https://github.com/llvm/llvm-project/commit/51a29b5f16efab7f46106b6ce14cbfa50d991040
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/test/CodeGen/Thumb2/pr52817.ll
    M llvm/test/CodeGen/X86/fsafdo_test1.ll
    M llvm/test/CodeGen/X86/fsafdo_test4.ll
    M llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
    M llvm/test/DebugInfo/MIR/X86/empty-inline.mir
    M llvm/test/DebugInfo/X86/discriminator.ll
    M llvm/test/DebugInfo/X86/empty-line-info.ll
    R llvm/test/DebugInfo/X86/is_stmt-at-block-start.ll

  Log Message:
  -----------
  Revert2 "[DebugInfo][DWARF] Set is_stmt on first non-line-0 instruction in BB (#105524)"

Reverted due to large .debug_line size regressions for some
configurations; work currently in place to improve the output of this
behaviour in PR #108251.

This patch also modifies two tests that were created or modified after
the original commit landed and are affected by the revert:

  llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
  llvm/test/DebugInfo/X86/empty-line-info.ll

This reverts commit 5fef40c2c477e92187bd4e5c18091eca6b8465cc.


  Commit: d3532d1b670546dd36e535982d23dfef903cfda0
      https://github.com/llvm/llvm-project/commit/d3532d1b670546dd36e535982d23dfef903cfda0
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Port 64972834c193632cbc47e54c0f0c721636b077e6


  Commit: 6153582c9c62335ac911bed2b884b13626b99301
      https://github.com/llvm/llvm-project/commit/6153582c9c62335ac911bed2b884b13626b99301
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll

  Log Message:
  -----------
  [X86] combineX86ShuffleChainWithExtract - peek through insert_subvector(undef,vec,0) widening patterns when tracking subvector sources

Helps replace a number of X86ISD::VPERMV3 nodes that are shuffling subvectors from the same source with X86ISD::VPERMV equivalents.


  Commit: f4fe26ddfde0d5bb1c512e89a9cdd442a7518ee1
      https://github.com/llvm/llvm-project/commit/f4fe26ddfde0d5bb1c512e89a9cdd442a7518ee1
  Author: Greg Roth <grroth at microsoft.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl

  Log Message:
  -----------
  [HLSL] update StructuredBuffer subscript test for alwaysinline (#109023)

The Alwaysinline change made the mangled form of entry points get
removed. The StructuredBuffer-subscript.hlsl test was introduced in the
meantime depending on that version of the entry point. This revises it
in the same way as RWBuffer-subscript

Follow up to #89282


  Commit: 2c69a09bee94acca859a1adf5b04d01dc13f7295
      https://github.com/llvm/llvm-project/commit/2c69a09bee94acca859a1adf5b04d01dc13f7295
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Move ThreadDescriptorSize into GLIBC/FREEBSD block (#108913)


  Commit: 39a4b3274de3283e5c5d12053678b7ecf947a2dc
      https://github.com/llvm/llvm-project/commit/39a4b3274de3283e5c5d12053678b7ecf947a2dc
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/complex-arithmetic.c

  Log Message:
  -----------
  [NFC] Move warning from CodeGen to Sema. (#107397)

This is a warning that wasn't associated with the source location. Moved
it to Sema and changed the warning message to a more verbose one.


  Commit: 0bbebf6f3a6445d0c46ad88449ca91c554da7e0a
      https://github.com/llvm/llvm-project/commit/0bbebf6f3a6445d0c46ad88449ca91c554da7e0a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    A flang/test/Fir/CUDA/cuda-data-transfer.fir

  Log Message:
  -----------
  [flang][cuda] Convert cuf.data_transfer with descriptors (#108890)

Convert cuf.data_transfer operations involving descriptors to the newly
introduced entry points (#108244).


  Commit: 71a91c1194229382e4bc79bc52aeec44efa0c33e
      https://github.com/llvm/llvm-project/commit/71a91c1194229382e4bc79bc52aeec44efa0c33e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c

  Log Message:
  -----------
  [tsan] Use DlSymAllocator (#108920)

`DlSymAllocator` allows early allocations, when
tsan is not yet initialized, e.g. from `dlsym`.

All other sanitizers with interceptors already use
`DlSymAllocator`.

Existing `in_symbolizer()` tsan logic is very similar.
However, we need to keep both as `DlSymAllocator`
does not support large allocations, needed for Symolizer.


  Commit: 6b78ea8b75188265c34f2f949935bac5cf8bd7be
      https://github.com/llvm/llvm-project/commit/6b78ea8b75188265c34f2f949935bac5cf8bd7be
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
    M llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s

  Log Message:
  -----------
  [X86] Complete AMD znver4 AVX512 zeroing idioms (#108740)

This patch completes scheduling information for the AVX512 zeroing
idioms according to the znver4 software optimization guide.


  Commit: 1ebe16bf43e990135bee8d439176c472e7514866
      https://github.com/llvm/llvm-project/commit/1ebe16bf43e990135bee8d439176c472e7514866
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/vl-opt-no-prop.ll
    A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
    A llvm/test/CodeGen/RISCV/rvv/vl-opt.ll

  Log Message:
  -----------
  [RISCV] Add VL optimization related tests

These tests are good candidate for VL optimization. This is a pre-commit for
PR #108640, but can could probably also be improved by the peephole VL
optimizations.


  Commit: c4a42f61151c585b80122108d961ebfd0e29544c
      https://github.com/llvm/llvm-project/commit/c4a42f61151c585b80122108d961ebfd0e29544c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/test_data.json
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Fix the declarative generation of FTMs (#108843)

We were incorrectly computing whether a FTM has been implemented.
Instead of checking whether any version of the FTM is implemented for
the current Standard, we need to make sure that the correct version of
the FTM has been implemented.

As a drive-by fix, also correctly close the file that we load JSON from,
which was forgotten.


  Commit: defb8fb2c67f1f5052f236f2eefeae028c0b3f15
      https://github.com/llvm/llvm-project/commit/defb8fb2c67f1f5052f236f2eefeae028c0b3f15
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/test/MC/WebAssembly/basic-assembly-errors.s
    A llvm/test/MC/WebAssembly/eh-assembly.s

  Log Message:
  -----------
  [WebAssembly] Support assembly parsing for new EH (#108668)

This adds assembly parsing support for the new EH (exnref) proposal.

`try_table` parsing is a little tricky because catch clause lists use
`()` and the multivalue block return types also use `()`. This handles
all combinations below:
- No return type (void) + no catch list
- No return type (void) + catch list
- Single return type + no catch list
- Single return type + catch list
- Multivalue return type + no catch list
- Multivalue return type + catch list

This does not include AsmTypeCheck support yet. That's the reason why
this adds a new test file and use `--no-type-check` in the command line.
After the type checker is added as a follow-up, I plan to merge
https://github.com/llvm/llvm-project/blob/main/llvm/test/MC/WebAssembly/eh-assembly-legacy.s
with this file. (Turning on `-mattr=+exception-handling` adds support
for all legacy and new EH instructions in the assembly.
`-wasm-enable-exnref` in `llc` only controls which instructions to
generate and it doesn't affect `llvm-mc` and assembly parsing.)


  Commit: 318d2f5e5d4d8245ab419193266b956194116989
      https://github.com/llvm/llvm-project/commit/318d2f5e5d4d8245ab419193266b956194116989
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Boilerplate (#108862)

This patch adds a very basic implementation of the Dependency Graph to
be used by the vectorizer.


  Commit: fd26f8444ab5cc1cce6e2990b8a7952915d7767a
      https://github.com/llvm/llvm-project/commit/fd26f8444ab5cc1cce6e2990b8a7952915d7767a
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
    M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp

  Log Message:
  -----------
  [mlir][gpu] Rename two misspelled pattern population functions (#109015)


  Commit: 09284e7eb20db88a9a5d60a591360ee35b256b7f
      https://github.com/llvm/llvm-project/commit/09284e7eb20db88a9a5d60a591360ee35b256b7f
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Reject `this void` explicit object parameters (CWG2915) (#108817)

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

Previously, `struct A { void f(this void); };` was accepted with `A::f`
being a member function with no non-object arguments, but it was still a
little wonky because it was still considered an explicit object member
function. Now, this is rejected immediately.

This applies to any language mode with explicit object parameters as
this is a DR (C++23 and C++26)


  Commit: 1cce1b46ddd04b89390fb7e781c928b7431bec14
      https://github.com/llvm/llvm-project/commit/1cce1b46ddd04b89390fb7e781c928b7431bec14
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn

  Log Message:
  -----------
  [gn] port 318d2f5e5d4d8 (SandboxVectorizerTests)


  Commit: 98cf6560ab6df885b6e21463f6a0a1fa5cea1eea
      https://github.com/llvm/llvm-project/commit/98cf6560ab6df885b6e21463f6a0a1fa5cea1eea
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 64972834c193


  Commit: 1c0958bd95076665e379783969bb81c730e88023
      https://github.com/llvm/llvm-project/commit/1c0958bd95076665e379783969bb81c730e88023
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    A flang/test/Driver/nostdlib.f90

  Log Message:
  -----------
  [flang][Driver] Support -nostdlib and -nodefaultlibs (#108868)

This partially addresses some requests in #89888


  Commit: 5bb1ce8ea69e223eb28d34dd3531b6ca98c17054
      https://github.com/llvm/llvm-project/commit/5bb1ce8ea69e223eb28d34dd3531b6ca98c17054
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Make `GetLibcVersion` `void` (#108915)

It can't fail if guarded with SANITIZER_GLIBC.


  Commit: c8fcfe1980999688f22a4ee53ec7c65c8c055752
      https://github.com/llvm/llvm-project/commit/c8fcfe1980999688f22a4ee53ec7c65c8c055752
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR][NFC] Fix unittest build warning in release


  Commit: 815b0046b8998e3b9e7a964608c725eec8e85d8a
      https://github.com/llvm/llvm-project/commit/815b0046b8998e3b9e7a964608c725eec8e85d8a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [clang][OpenMP] Slightly refactor EndOpenMPDSABlock for readability, NFC (#109003)

Change the loop
```
  if (isOpenMPExecutableDirective)
    for (Clause)
      if (Clause is kind1)
        multi
        line
        do
        something1;
      else if (Clause is kind2)
        ...
      ...
```
to
```
  auto do1 = ...do something1...;
  auto do2 = ...do something2...;
  ...

  if (isOpenMPExecutableDirective)
    for (Clause)
      if (Clause is kind1)
        do1();
      else if (Clause is kind2)
        do2();
      ...
    ...
```


  Commit: 9a312d47f39bcfcadc16021f1db88b04997dbdc6
      https://github.com/llvm/llvm-project/commit/9a312d47f39bcfcadc16021f1db88b04997dbdc6
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement GlobalAlias (#109019)

This patch implements sandboxir::GlobalAlias, mirroring
llvm::GlobalAlias.


  Commit: 783d323da3c79d884afaed9b1653697fcac58fe3
      https://github.com/llvm/llvm-project/commit/783d323da3c79d884afaed9b1653697fcac58fe3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [VirtRegMap] Replace a single value enum with a static constexpr member variable. NFC (#109010)

Change the constant to INT_MAX instead of our own large number. Any
value larger than a valid frame index should work.

I'm a bit puzzled why it was using a shift of 30. A long time ago when
it was first created, the value was INT_MAX. Then it was changed in
e2b77d57c0c13 to (~0 >> 1) which I guess was trying to be INT_MAX
without using the constant. But ~0 is an `int` so that produced -1.

I'm not sure what the 'l' suffix was for. Unless that was an attempt to
avoid undefined behavior had the shift been 31 instead of 30. But 'long'
is 32 bits on some targets so that wouldn't have worked for all
platforms.

Using INT_MAX is straightforward and avoids any mysteries.


  Commit: e08c2178ef7806819b9a6334ca5d80f2baad56bc
      https://github.com/llvm/llvm-project/commit/e08c2178ef7806819b9a6334ca5d80f2baad56bc
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_g_insert_subvector.mir

  Log Message:
  -----------
  [MachineVerifier] Fix bug in MachineVerifier for G_INSERT_SUBVECTOR (#109048)


  Commit: 4a63f4d301c0e044073e1b1f8f110015ec1778a1
      https://github.com/llvm/llvm-project/commit/4a63f4d301c0e044073e1b1f8f110015ec1778a1
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    R clang/test/CodeGenHLSL/inline-constructors.hlsl
    R clang/test/CodeGenHLSL/inline-functions.hlsl

  Log Message:
  -----------
  Revert "[HLSL] set alwaysinline on HLSL functions (#106588)"

This reverts commit a729e706de3fc6ebee49ede3c50afb47f2e29191.

Reason:bBuildbot failure (https://lab.llvm.org/buildbot/#/builders/25/builds/2541):
    'Clang :: CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl' failed


  Commit: a1d64626ba16f5128530ac771c6e641b1155184f
      https://github.com/llvm/llvm-project/commit/a1d64626ba16f5128530ac771c6e641b1155184f
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/test/IR/print-attr-type-aliases.mlir

  Log Message:
  -----------
  [MLIR][IR] Fix InProgressAliasInfo init for non-alias (#109013)

When visiting an attr/type that is NoAlias, the created
`InProgressAliasInfo` was not getting its `canBeDeferred` and `isType`
fields set. Not setting `canBeDeferred` when it should be true breaks
the assumption that all nested elements are also false. This will cause
problems when at a later point the attr/type needs to be converted by
`markAliasNonDeferrable`, as recursion will stop when a
`canBeDeferred=false` attr/type is reached, leaving its nested elements
not flipped. This causes nested elements to be printed later in the
textual IR and cannot be parsed back in.


  Commit: 9e709dcb709f0d68eae655f3d5771751abc208a9
      https://github.com/llvm/llvm-project/commit/9e709dcb709f0d68eae655f3d5771751abc208a9
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [NFC][Glob] Escape backslash to fix doxygen rendering (#109055)

The docs for Glob wasn't rendered correctly, I believe because the `\`
was not properly escaped. I haven't built these docs locally, so I'll
follow up to see if this is fixed after it lands.

https://llvm.org/doxygen/classllvm_1_1GlobPattern.html


  Commit: 0ea40bf02138c02e7680ce6fa8169502f2a8bd42
      https://github.com/llvm/llvm-project/commit/0ea40bf02138c02e7680ce6fa8169502f2a8bd42
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  Revert "[libc++] Explicitly convert to masks in SIMD code (#107983)"

This reverts commit 1603f99a37c5b179a21dbb8000c39a471a950927.

Reason: buildbot breakage e.g., https://lab.llvm.org/buildbot/#/builders/55/builds/2061
  llvm-libc++-shared.cfg.in :: std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
  llvm-libc++-shared.cfg.in :: std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
  llvm-libc++-shared.cfg.in :: std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp
  ...

(Buildbot re-run passed with the previous revision, 1fc288bf481726393c73133eef9aa73c0f78312e)


  Commit: 905de9b0fe06d960e7f60175e6c96b955f334a66
      https://github.com/llvm/llvm-project/commit/905de9b0fe06d960e7f60175e6c96b955f334a66
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl

  Log Message:
  -----------
  [HLSL] Add testing  for space parameter on global constants (#106782)

The space parameter in the register binding annotation may not be used
for global constants. There was previously no diagnostic emitted when
this case occurred. This PR adds a diagnostic when this case occurs, and
tests these cases.
A new file was made to specifically test the space parameter, so some
cases in `\clang\test\SemaHLSL\resource_binding_attr_error.hlsl` were
moved over to this new file.
Fixes #104521


  Commit: 38333f4161037d2587157e36b5cb994d1b2c36e5
      https://github.com/llvm/llvm-project/commit/38333f4161037d2587157e36b5cb994d1b2c36e5
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/test/MC/WebAssembly/annotations.s

  Log Message:
  -----------
  [WebAssembly] Support annotation for try_table (#109029)

This adds support for annotations (`down to labelN`) for `try_table`.


  Commit: 08bba6503b918c97d9d1a0cde97f4b3c64d5f2c3
      https://github.com/llvm/llvm-project/commit/08bba6503b918c97d9d1a0cde97f4b3c64d5f2c3
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
    M llvm/test/CodeGen/WebAssembly/exception.ll
    M llvm/test/MC/WebAssembly/eh-assembly.s

  Log Message:
  -----------
  [WebAssembly] Support binary generation for new EH (#109027)

This adds support for binary generation for the new EH proposal.

So far the only case that we emitted variable immediate operands in
binary has been `br_table`'s destinations. (Other `variable_ops` uses in
TableGen files are register operands, such as the operands of `call`, so
they don't get emitted in binary as a part of the same instruction.)

With this PR, variable immediate operands can include `try_table`'s
operands:
- The number of of catch clauses
- catch clauses sub-opcodes
  - `catch`: 0x00
  - `catch_ref`: 0x01
  - `catch_all`: 0x02
  - `catch_all_ref`: 0x03
- catch clauses' destinations

With `try_table`, we now have variable expr operands for `try_table`'s
catch clauses' tags. We treat their fixups in the same way we do for
tags in other instructions such as in `throw`.

Diff without whitespace will be easier to view.


  Commit: 04575dce434de38e0b28a2b71dd44e29caaee685
      https://github.com/llvm/llvm-project/commit/04575dce434de38e0b28a2b71dd44e29caaee685
  Author: Alex Rice <alexrice999 at hotmail.co.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/test/tblgen-to-irdl/CMathDialect.td
    M mlir/test/tblgen-to-irdl/TestDialect.td
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir] [tblgen-to-irdl] Add types to tblgen-to-irdl script (#108558)

Adds dialect types to the tblgen-to-irdl script and also allows
operations to refer to types by symbol, when possible, and updates tests
to do this.

The name of the type is exported with an exclamation mark to avoid name
clashes.


  Commit: 9c9a627190b67a435a9735ee1aead20cbb708f2b
      https://github.com/llvm/llvm-project/commit/9c9a627190b67a435a9735ee1aead20cbb708f2b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h

  Log Message:
  -----------
  [ThinLTO] Add lookup to ImportListsTy (#109036)

This is primarily to unblock Rust, which could potentially use
ImportListsTy::operator[] on a module that's not in ListsImpl and
cause concurrency problems.

This patch fixes a regression in the sense that it restores
ImportListsTy::lookup, which was available when ImportListsTy was just
a plain DenseMap.


  Commit: b84663854859903c7b457b084d255a77405bd7a2
      https://github.com/llvm/llvm-project/commit/b84663854859903c7b457b084d255a77405bd7a2
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [SanbdoxIR] Implement BBIterator::getNodeParent() (#109039)

This patch implements sandboxir::BasicBlock::iterator::getNodeParent()
which returns the parent basic block of an iterator.


  Commit: 790f2eb16a279f4cb4b57397fcafd5cadb49d6b7
      https://github.com/llvm/llvm-project/commit/790f2eb16a279f4cb4b57397fcafd5cadb49d6b7
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/bitcast.ll

  Log Message:
  -----------
  [InstCombine] Avoid simplifying bitcast of undef to a zeroinitializer vector (#108872)

In some cases, if an undef value is the product of another instcombine
simplification, a bitcast of undef is simplified to a zeroinitializer
vector instead of undef.


  Commit: 3aecf41c2b384ab65a327db91632ff0c148df721
      https://github.com/llvm/llvm-project/commit/3aecf41c2b384ab65a327db91632ff0c148df721
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp

  Log Message:
  -----------
  [SandboxVec] Add barebones Region class. (#108899)

A region identifies a set of vector instructions generated by
vectorization passes. The vectorizer can then run a series of
RegionPasses on the region, evaluate the cost, and commit/reject the
transforms on a region-by-region basis, instead of an entire basic
block.

This is heavily based ov @vporpo's prototype. In particular, the doc
comment for the Region class is all his. The rest of this commit is
mostly boilerplate around a SetVector: getters, iterators, and some
debug helpers.


  Commit: aa2e6b87341de18a88688c1ac345754d4553bb3d
      https://github.com/llvm/llvm-project/commit/aa2e6b87341de18a88688c1ac345754d4553bb3d
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    R llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    R llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    R llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp

  Log Message:
  -----------
  Revert "[SandboxVec] Add barebones Region class." (#109058)

Reverts llvm/llvm-project#108899

It broke the llvm-clang-x86_64-win-fast buildbot.


  Commit: da03d17698f205fe8ebc54c32994c8ce2c51a81e
      https://github.com/llvm/llvm-project/commit/da03d17698f205fe8ebc54c32994c8ce2c51a81e
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl

  Log Message:
  -----------
  Revert "[HLSL] update StructuredBuffer subscript test for alwaysinline (#109023)"

This reverts commit f4fe26ddfde0d5bb1c512e89a9cdd442a7518ee1.

Reason: 4a63f4d301c0e044073e1b1f8f110015ec1778a1 reverted "[HLSL] set alwaysinline on HLSL functions (#106588)" due to a buildbot failure; this test (which builds upon the reverted patch) also needs to be reverted.


  Commit: 4a0bf8377e1038d6cf9454c7c6740bd759729938
      https://github.com/llvm/llvm-project/commit/4a0bf8377e1038d6cf9454c7c6740bd759729938
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl

  Log Message:
  -----------
  Reapply "[HLSL] update StructuredBuffer subscript test for alwaysinline (#109023)"

This reverts commit da03d17698f205fe8ebc54c32994c8ce2c51a81e.

I mistakenly reverted this fix-forward.


  Commit: b89bb7775d155fc787ab3170f3fa38449069ecb3
      https://github.com/llvm/llvm-project/commit/b89bb7775d155fc787ab3170f3fa38449069ecb3
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    A clang/test/CodeGenHLSL/inline-constructors.hlsl
    A clang/test/CodeGenHLSL/inline-functions.hlsl

  Log Message:
  -----------
  Reapply "[HLSL] set alwaysinline on HLSL functions (#106588)"

This reverts commit 4a63f4d301c0e044073e1b1f8f110015ec1778a1.

It was reverted because of a buildbot breakage, but the fix-forward has
landed (https://github.com/llvm/llvm-project/pull/109023).


  Commit: ca0613e0fcef2a9972f2802318201f8272e74693
      https://github.com/llvm/llvm-project/commit/ca0613e0fcef2a9972f2802318201f8272e74693
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [LegalizeFloatTypes] Handle replacement for strict ops inside SoftPromoteHalfOp_FP_TO_XINT. NFC

Return SDValue() so we can notify the caller we did all replacements.
Restore the getNumValues() == 1 check in the assert in the caller now
that all handles only return nodes with a single result.


  Commit: 785624b28237bb75d4fa3b8e4219a5448b90eaac
      https://github.com/llvm/llvm-project/commit/785624b28237bb75d4fa3b8e4219a5448b90eaac
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp

  Log Message:
  -----------
  [clang-tidy]suggest use `std::span` as replacement of c array in C++20 for modernize-avoid-c-arrays (#108555)

The incompleted C-Array in parameter does not own memory. Instead, It is
equivalent to pointer.
So we should not use `std::array` as recommended modern C++ replacement,
but use `std::vector` and `std::span` in C++20


  Commit: 42c5a301f5990c87cc063f8fa2482893845cf73e
      https://github.com/llvm/llvm-project/commit/42c5a301f5990c87cc063f8fa2482893845cf73e
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxVec] Legality boilerplate (#108650)

This patch adds the basic API for the Legality component of the
vectorizer. It also adds some very basic code in the bottom-up
vectorizer that uses the API.


  Commit: 773353b20a49bfa0dab608d415c1b4734d037fce
      https://github.com/llvm/llvm-project/commit/773353b20a49bfa0dab608d415c1b4734d037fce
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M bolt/test/perf2bolt/lit.local.cfg

  Log Message:
  -----------
  [bolt][tests] Skip tests that use perf when perf counters are unavailable (#107892)

On the GitHub Action runners, perf always fails with the error below ,
so we need to skip the perf tests on platforms like this that have
limited access to the perf counters.

```
Access to performance monitoring and observability operations is limited.
Consider adjusting /proc/sys/kernel/perf_event_paranoid setting to open
access to performance monitoring and observability operations for processes
without CAP_PERFMON, CAP_SYS_PTRACE or CAP_SYS_ADMIN Linux capability.
More information can be found at 'Perf events and tool security' document:
https://www.kernel.org/doc/html/latest/admin-guide/perf-security.html
perf_event_paranoid setting is 4:
  -1: Allow use of (almost) all events by all users
      Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
>= 0: Disallow raw and ftrace function tracepoint access
>= 1: Disallow CPU event access
>= 2: Disallow kernel profiling
To make the adjusted perf_event_paranoid setting permanent preserve it
in /etc/sysctl.conf (e.g. kernel.perf_event_paranoid = <setting>)
```


  Commit: 45a8e3605ebc5d9066daabf9ae27e7f9c00cf93d
      https://github.com/llvm/llvm-project/commit/45a8e3605ebc5d9066daabf9ae27e7f9c00cf93d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 42c5a301f599


  Commit: b2d3c315d510f55ac7ae0ca06f362c709fcacd12
      https://github.com/llvm/llvm-project/commit/b2d3c315d510f55ac7ae0ca06f362c709fcacd12
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    A llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
    M llvm/test/ThinLTO/X86/ctxprof.ll

  Log Message:
  -----------
  [ctx_prof] Fix checks in `PGOCtxprofFlattening` (#108467)

The assertion that all out-edges of a BB can't be 0 is incorrect: they
can be, if that branch is on a cold subgraph.

Added validators and asserts about the expected proprerties of the
propagated counters.


  Commit: 51d913af827567e6a0999609e7e624a422781870
      https://github.com/llvm/llvm-project/commit/51d913af827567e6a0999609e7e624a422781870
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [sanitizer] Remove CHECK from __sanitizer_get_dtls_size

The check is too strict. It works for 2.38 I have,
but not for older glibc which used different
allocation code.

The check was introduced with #108345.


  Commit: da0b9db26fe06cbdd2e3b3292645e0100fc237dc
      https://github.com/llvm/llvm-project/commit/da0b9db26fe06cbdd2e3b3292645e0100fc237dc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. NFC


  Commit: 33533baf631a4c6ea9b04eb1dda0090f80d143c5
      https://github.com/llvm/llvm-project/commit/33533baf631a4c6ea9b04eb1dda0090f80d143c5
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Add support for Objective-C++ property access (#108669)

Treat a function call or property access via a Objective-C++ selector
which returns a Ref/RefPtr as safe.


  Commit: 7046a9fb05f65f4699a2e88abbcb7dad8a21db2d
      https://github.com/llvm/llvm-project/commit/7046a9fb05f65f4699a2e88abbcb7dad8a21db2d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Modules/pr108732.cppm

  Log Message:
  -----------
  [C++20] [Modules] Treat in class defined member functions in language linkage as implicitly inline

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

This looks liek an oversight mostly.


  Commit: 0f77bdd2c9bed6db6c2b9e10e05b5e99fde13d66
      https://github.com/llvm/llvm-project/commit/0f77bdd2c9bed6db6c2b9e10e05b5e99fde13d66
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    A clang/test/CodeGenHLSL/wavesize.hlsl

  Log Message:
  -----------
  [HLSL] generate hlsl.wavesize attribute (#107176)

Generate function attribute hlsl.wavesize from [WaveSize].

For #70118


  Commit: 8280651ad57cb9fb24a404cec2401040c28dec98
      https://github.com/llvm/llvm-project/commit/8280651ad57cb9fb24a404cec2401040c28dec98
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
    M llvm/lib/Demangle/MicrosoftDemangle.cpp
    M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
    A llvm/test/Demangle/ms-placeholder-return-type.test

  Log Message:
  -----------
  [llvm] [Demangle] Fix MSVC demangling for placeholder return types (#106178)

Properly demangle `_T` and `_P` return type manglings for MSVC 1920+.
Also added a unit test for `@` return type that is used when mangling
non-template auto placeholder return type function.

Tested the output against the undname shipped with MSVC 19.40.


  Commit: f8eceb45d0bbca092164efffc92f2e9d66b304a5
      https://github.com/llvm/llvm-project/commit/f8eceb45d0bbca092164efffc92f2e9d66b304a5
  Author: Bimo <rui.xu at intel.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M mlir/include/mlir-c/Pass.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/CAPI/IR/Pass.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
    M mlir/test/python/pass_manager.py

  Log Message:
  -----------
  [MLIR] [Python] align python ir printing with mlir-print-ir-after-all (#107522)

When using the `enable_ir_printing` API from Python, it invokes IR
printing with default args, printing the IR before each pass and
printing IR after pass only if there have been changes. This PR attempts
to align the `enable_ir_printing` API with the documentation


  Commit: 22a2d74c0c6dbde6b3503ec51486d6cf5d0c83f1
      https://github.com/llvm/llvm-project/commit/22a2d74c0c6dbde6b3503ec51486d6cf5d0c83f1
  Author: Ahmed S. Taei <asaadaldien at users.noreply.github.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/vector-loads.ll

  Log Message:
  -----------
  [NVPTX] Emit ld.v4.b16 for loading <4 x bfloat> (#109069)

This PR enables emitting a single load instruction for <4 x bfloat>,
otherwise, 2 ld.b32 loads are generated.


  Commit: ddbe6c412bab3fe7a3ffaf6f42c49849a518b4c6
      https://github.com/llvm/llvm-project/commit/ddbe6c412bab3fe7a3ffaf6f42c49849a518b4c6
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestTextProto.cpp

  Log Message:
  -----------
  [clang-format[NFC] Clean up FormatTestBase and Proto/TextProto tests (#108334)


  Commit: 7153a4bbf6d46e58ce32d59220515c5ab9f35691
      https://github.com/llvm/llvm-project/commit/7153a4bbf6d46e58ce32d59220515c5ab9f35691
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Reimplement InsertNewlineAtEOF (#108513)

Fixes #108333.


  Commit: a8dd8f6302e5fd405de7ed2bbfe195f305279bf8
      https://github.com/llvm/llvm-project/commit/a8dd8f6302e5fd405de7ed2bbfe195f305279bf8
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in SpacesInParens InConditionalStatements (#108797)

Fixes #64416.


  Commit: 4d18ce1dd2640829c3ad9cbb31e6ff92e2e29438
      https://github.com/llvm/llvm-project/commit/4d18ce1dd2640829c3ad9cbb31e6ff92e2e29438
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Handle C-style cast of qualified type (#108929)

Fixes #102874.


  Commit: fd21b7911fbdddc80db2d3971ff10ee70a49b7e3
      https://github.com/llvm/llvm-project/commit/fd21b7911fbdddc80db2d3971ff10ee70a49b7e3
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp

  Log Message:
  -----------
  [webkit.RefCntblBaseVirtualDtor] ThreadSafeRefCounted still generates warnings (#108656)

Improve the fix in 203a2ca8cd6af505e11a38aebceeaf864271042c by allowing
variable references and more ignoring of parentheses.


  Commit: 125635eb68a5582b840e900b91ee2db5e7fd65e6
      https://github.com/llvm/llvm-project/commit/125635eb68a5582b840e900b91ee2db5e7fd65e6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove unused HAVE_SYS_PARAM_H/HAVE_SYS_TYPES_H


  Commit: e1b40dc06373de1bb8535d543a3887646367dd8d
      https://github.com/llvm/llvm-project/commit/e1b40dc06373de1bb8535d543a3887646367dd8d
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  [Clang] Propagate elide safe context through [[clang::coro_await_elidable_argument]] (#108474)


  Commit: 30eb19321349827056facd54afab9b856b9f9d0a
      https://github.com/llvm/llvm-project/commit/30eb19321349827056facd54afab9b856b9f9d0a
  Author: Serban <serbyme-git at yahoo.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package-lock.json
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/extension.ts

  Log Message:
  -----------
  [LLDB][lldb-dap][vscode-lldb] Add Environment configuration for the lldb-dap process (#108948)

Frequently, environment variables such as `LLDB_USE_NATIVE_PDB_READER`
are needed to be able to use lldb-dap in vscode

This PR adds a way to set the environment for the lldb-dap process using
configuration.


  Commit: fe012bd52dd7638cfa9abeae786c28a75cde939b
      https://github.com/llvm/llvm-project/commit/fe012bd52dd7638cfa9abeae786c28a75cde939b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [SelectionDAG] Use Register around RegisterSDNode related functions. NFC

RegisterSDNode itself already stored a Register.


  Commit: 9d3ab1c36e03d5ad23e209938c32973fbee18a57
      https://github.com/llvm/llvm-project/commit/9d3ab1c36e03d5ad23e209938c32973fbee18a57
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [SelectionDAGBuilder] Use Register in more places. NFC"


  Commit: 3d2925b9de0d60694a9f28edd2419f8eed34f1a1
      https://github.com/llvm/llvm-project/commit/3d2925b9de0d60694a9f28edd2419f8eed34f1a1
  Author: Hans <hans at hanshq.net>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [win/asan] AllocateMemoryForTrampoline within 2 GB of the module's base address (#108822)

Since we may copy code (see CopyInstructions) to the trampoline which
could reference data inside the original module, we really want the
trampoline to be within 2 GB of not just the original function, but
within anything that function may have rip-relative accesses to, i.e.
within 2 GB of that function's whole module.

This fixes interception failures like the following scenario:

1. Intercept `CreateProcess` in kernel32.dll, allocating a trampoline
region right after
2. Start intercepting `memcpy` in the main executable, which is loaded
at a lower address than kernel32.dll, but still within 2 GB of the
trampoline region so we keep using it.
3. Try to copy instructions from `memcpy` to the trampoline. Turns out
one instruction references data that is more than 2GB away from the
trampoline, so it can't be relocated.
4. The process exits due to a CHECK failure

(Full story at https://crbug.com/341936875#comment45 and following.)


  Commit: a2994b299986305f17917d61a99fc18185e209f0
      https://github.com/llvm/llvm-project/commit/a2994b299986305f17917d61a99fc18185e209f0
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll

  Log Message:
  -----------
  [LV][NFC] Unify printing for WidenEVLReicpe with other EVL recipes (#108177)


  Commit: e0a16371c6cce47e2b0626225a727b458ebe7666
      https://github.com/llvm/llvm-project/commit/e0a16371c6cce47e2b0626225a727b458ebe7666
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Omit isReg() check for all_uses() in SIInsertWaitcnts. NFC. (#109041)


  Commit: 08f5f6dc8b09c702125e57a5e87ba56203de6263
      https://github.com/llvm/llvm-project/commit/08f5f6dc8b09c702125e57a5e87ba56203de6263
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

  Log Message:
  -----------
  [SPIR-V] Fix incorrect emission of G_SPLAT_VECTOR for fixed vectors (#108534)

This PR replaces MIRBuilder.buildSplatVector() by
MIRBuilder.buildSplatBuildVector(), so that we emit G_BUILD_VECTOR
instead of G_SPLAT_VECTOR: the latter is incorrect for fixed vectors and
is limited to scalable vectors only.


  Commit: 5a8d2dd1f97017253be5d2262b25a9cf9d002546
      https://github.com/llvm/llvm-project/commit/5a8d2dd1f97017253be5d2262b25a9cf9d002546
  Author: Aditi Medhane <Aditi.Medhane at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir

  Log Message:
  -----------
  [AMDGPU] Handle subregisters properly in generic operand legalizer (#108496)

Fix for the issue found during COPY introduction during legalization of
PHI operands for sgpr to vgpr copy when subreg is involved.


  Commit: 94a98cf5dc9317ba8b01c31443ca563808323d11
      https://github.com/llvm/llvm-project/commit/94a98cf5dc9317ba8b01c31443ca563808323d11
  Author: Chengjun <chengjunp at Nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/test/Transforms/InstCombine/phi.ll

  Log Message:
  -----------
  [InstCombine] Remove dead phi web (#108876)

In current visitPHINode function during InstCombine, it can remove dead
phi cycles (all phis have one use, which is another phi). However, it
cannot deal with the case when the phis form a web (all phis have one or
more uses, and all the uses are phi). This change extends the algorithm
so that it can also deal with the dead phi web.


  Commit: 0dd56858fe188419182a57d0e03c8cd0aa693867
      https://github.com/llvm/llvm-project/commit/0dd56858fe188419182a57d0e03c8cd0aa693867
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCast.cpp
    A clang/test/Parser/cxx-bad-cast-diagnose-broken-template.cpp

  Log Message:
  -----------
  [clang][Sema] Fix assertion in `tryDiagnoseOverloadedCast` (#108021)

Fixed an assertion failure in debug mode, and potential crashes in
release mode, when
diagnosing a failed cast caused indirectly by a failed implicit
conversion to the type of the constructor parameter.

For instance

```
template<typename>
struct StringTrait {};

template< int N >
struct StringTrait< const char[ N ] > {
  typedef char CharType;
  static const MissingIntT length = N - 1;
};

class String {
public:
  template <typename T>
  String(T& str, typename StringTrait<T>::CharType = 0);
};


class Exception {
public:
  Exception(String const&);
};

void foo() {
  throw Exception("some error");
}
```

`Exception(String const&)` is a matching constructor for `Exception`
from a `const char*`, via an implicit conversion to `String`. However,
the instantiation of the `String` constructor will fail because of the
missing type `MissingIntT` inside the specialization of `StringTrait`.

When trying to emit a diagnosis, `tryDiagnoseOverloadedCast` expects not
to have a matching constructor, but there is; it just could not be
instantiated.


  Commit: 24748339f517ede038b45202680d281b38809ceb
      https://github.com/llvm/llvm-project/commit/24748339f517ede038b45202680d281b38809ceb
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [Clang][AMDGPU] Handle builtin types more generically. NFC. (#109004)

Tweak encodeTypeForFunctionPointerAuth to handle all AMDGPU builtin
types generically instead of just __amdgpu_buffer_rsrc_t which happens
to be the only one defined so far.


  Commit: c2c425fccfaaf7e7e94dd057905cd6e91858443f
      https://github.com/llvm/llvm-project/commit/c2c425fccfaaf7e7e94dd057905cd6e91858443f
  Author: Franklin <fenglei4518 at hotmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/unittests/TargetParser/Host.cpp

  Log Message:
  -----------
  [AArch64] Add missing tests for Arm cpus (#106749)


  Commit: ef34cba1c38870197e2fe2ecd4c8326fc4b98340
      https://github.com/llvm/llvm-project/commit/ef34cba1c38870197e2fe2ecd4c8326fc4b98340
  Author: Franklin <fenglei4518 at hotmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s

  Log Message:
  -----------
  [AArch64] Fix sched model of Neoverse N2 (#106376)

* fix write order of "Load vector reg, immed post-index"
* fix a typo


  Commit: dd222ff25129f4d67473a9af598a78d0adfcfd29
      https://github.com/llvm/llvm-project/commit/dd222ff25129f4d67473a9af598a78d0adfcfd29
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  [Clang] Avoid transforming lambdas when rebuilding immediate expressions (#108693)

When rebuilding immediate invocations inside
`RemoveNestedImmediateInvocation()`, we employed a `TreeTransform` to
exercise the traversal. The transformation has a side effect that, for
template specialization types, their default template arguments are
substituted separately, and if any lambdas are present, they will be
transformed into distinct types than those used to instantiate the
templates right before the `consteval` handling.

This resulted in `B::func()` getting redundantly instantiated for the
case in question. Since we're also in an immediate evaluation context,
the body of `foo()` would also get instantiated, so we end up with a
spurious friend redefinition error.

Like what we have done in `ComplexRemove`, this patch also avoids the
lambda's transformation in TemplateInstantiator if we know we're
rebuilding immediate calls. In addition, this patch also consolidates
the default argument substitution logic in
`CheckTemplateArgumentList()`.

Fixes #107175


  Commit: 8d7d4c25cbdec49d6363132be004e51c15606452
      https://github.com/llvm/llvm-project/commit/8d7d4c25cbdec49d6363132be004e51c15606452
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/Analysis/CostModel/RISCV/fround.ll
    M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll

  Log Message:
  -----------
  [RISCV] Split fp rounding ops with zvfhmin nxv32f16 (#108765)

This adds zvfhmin test coverage for fceil, ffloor, fnearbyint, frint,
fround and froundeven and splits them at nxv32f16 to avoid crashing,
similarly to what we do for other nodes that we promote.

This also sets ftrunc to promote which was previously missing. We
already promote the VP version of it, vp_froundtozero.
Marking it as promoted affects some of the cost model tests since
they're no longer expanded.


  Commit: d2d947b7e24679e0d1710a4f31dc0c8c9ee7c0b7
      https://github.com/llvm/llvm-project/commit/d2d947b7e24679e0d1710a4f31dc0c8c9ee7c0b7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll

  Log Message:
  -----------
  [AMDGPU] Fold llvm.amdgcn.cvt.pkrtz when either operand is fpext (#108237)

This also generalizes the Undef handling and adds Poison handling.


  Commit: 112aac4e8961b9626bb84f36deeaa5a674f03f5a
      https://github.com/llvm/llvm-project/commit/112aac4e8961b9626bb84f36deeaa5a674f03f5a
  Author: David Green <david.green at arm.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/fmod.ll

  Log Message:
  -----------
  [InstCombine] Fold fmod to frem if we know it does not set errno. (#107912)

fmod will be folded to frem in clang under -fno-math-errno and can be constant
folded in llvm if the operands are known. It can be relatively common to have
fp code that handles special values before doing some calculation:
```
if (isnan(f))
  return handlenan;
if (isinf(f))
  return handleinf;
..
fmod(f, 2.0)
```

This patch enables the folding of fmod to frem in instcombine if the first
parameter is not inf and the second is not zero. Other combinations do not set
errno.

The same transform is performed for fmod with the nnan flag, which implies the
input is known to not be inf/zero.


  Commit: 43c9203d4946b7911d2ba69369717979900d7bc2
      https://github.com/llvm/llvm-project/commit/43c9203d4946b7911d2ba69369717979900d7bc2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [TLI] Support inferring function attributes for sincos[f|l] (#108554)


  Commit: c59ac1a2f67d41b7fb2988bf013d37046d655c2c
      https://github.com/llvm/llvm-project/commit/c59ac1a2f67d41b7fb2988bf013d37046d655c2c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td

  Log Message:
  -----------
  [X86] Cleanup AVX512 VBROADCAST subvector instruction names. (#108888)

This patch makes the `VBROADCAST***X**` subvector broadcast instructions consistent - the `***X**` section represents the original subvector type/size, but we were not correctly using the AVX512 Z/Z256/Z128 suffix to consistently represent the destination width (or we missed it entirely).


  Commit: e32a62c0d31cdfd622461eb4758d34adca509a62
      https://github.com/llvm/llvm-project/commit/e32a62c0d31cdfd622461eb4758d34adca509a62
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [clang][NFC] Add regression tests for GH63782 (#109104)

Patch by Alejandro Alvarez Ayllon!

CPP-5380


  Commit: edac1b2d63b27f83bef99f9d51f1230ea2f3f0fa
      https://github.com/llvm/llvm-project/commit/edac1b2d63b27f83bef99f9d51f1230ea2f3f0fa
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfclass-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

  Log Message:
  -----------
  [RISCV] Promote bf16 ops to f32 with zvfbfmin (#108937)

For f16 with zvfhmin, we promote most ops and VP ops to f32. This does
the same for bf16 with zvfbfmin, so the two fp types should now be in
sync.

There are a few places in the custom lowering where we need to check for
a LMUL 8 f16/bf16 vector that can't be promoted and must be split, this
extracts that out into isPromotedOpNeedingSplit.

In a follow up NFC we can deduplicate the code that sets up the
promotions.


  Commit: 41d5fed09e7d31922e7869c72116a4c3adc11a4a
      https://github.com/llvm/llvm-project/commit/41d5fed09e7d31922e7869c72116a4c3adc11a4a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/OpenMP/bad_module_subroutine.f90

  Log Message:
  -----------
  [flang][Semantics] set scope even for module subroutines outside modules (#109009)

The missing scope information led to a crash in OpenMP semantic checks
run before printing the error that was already discovered in the code.

The following block has to be skipped for this invalid code so that we
don't emit a second spurious error.

Fixes #82913


  Commit: 707169acb5520149cd5f96cc8f381ca51107d356
      https://github.com/llvm/llvm-project/commit/707169acb5520149cd5f96cc8f381ca51107d356
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [clang][NFC] Remove trailing spaces from Sema diag messages (#109098)


  Commit: f5ad9e1ca582216010d07e7b0ca2f3e77f71c859
      https://github.com/llvm/llvm-project/commit/f5ad9e1ca582216010d07e7b0ca2f3e77f71c859
  Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/test/CodeGen/X86/comi-flags.ll
    A llvm/test/MC/Disassembler/X86/avx10.2-com-ef-32.txt
    A llvm/test/MC/Disassembler/X86/avx10.2-com-ef-64.txt
    A llvm/test/MC/X86/avx10.2-com-ef-32-att.s
    A llvm/test/MC/X86/avx10.2-com-ef-32-intel.s
    A llvm/test/MC/X86/avx10.2-com-ef-64-att.s
    A llvm/test/MC/X86/avx10.2-com-ef-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2] Support AVX10.2-COMEF new instructions. (#108063)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965

Chapter 8  AVX10 COMPARE SCALAR FP WITH ENHANCED EFLAGS INSTRUCTIONS

---------

Co-authored-by: mattarde <mattarde at intel.com>


  Commit: 737f56fdf7d8df4f1349085fe7256e27778e4a51
      https://github.com/llvm/llvm-project/commit/737f56fdf7d8df4f1349085fe7256e27778e4a51
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Deduplicate zvfhmin and zvfbfmin operation actions. NFC

After #108937 fp16 w/o zvfh and bf16 are now in sync and should have
the same lowering.


  Commit: 2e3c7dbbcbfa37ae83251bb3da388df772680689
      https://github.com/llvm/llvm-project/commit/2e3c7dbbcbfa37ae83251bb3da388df772680689
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [analyzer] Note last "fclose" call from "ensureStreamOpened" (#109112)

Patch by Arseniy Zaostrovnykh!


  Commit: adf02ae41fe0e345b00a428f4b9f438b96ead11d
      https://github.com/llvm/llvm-project/commit/adf02ae41fe0e345b00a428f4b9f438b96ead11d
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll

  Log Message:
  -----------
  [AMDGPU] Simplify lowerBUILD_VECTOR (#109094)

Simplify `lowerBUILD_VECTOR` by commoning up the way the vectors
are split.
Also reorder the checks to avoid a long condition inside `if`.


  Commit: 4b529f840c7a28245f4462d9fde34f1686e96351
      https://github.com/llvm/llvm-project/commit/4b529f840c7a28245f4462d9fde34f1686e96351
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll

  Log Message:
  -----------
  [X86] Fold extractsubvector(permv3(src0,mask,src1),c) -> extractsubvector(permv3(src0,widensubvector(extractsubvector(mask,c)),src1),0) iff c != 0

For cross-lane shuffles, extract the mask operand (uppper) subvector directly, and make use of the free implicit extraction of the lowest subvector of the result.


  Commit: 872932b7a9539b0f0b62805f339bef62c94fd52d
      https://github.com/llvm/llvm-project/commit/872932b7a9539b0f0b62805f339bef62c94fd52d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-shl-nuw.ll

  Log Message:
  -----------
  [InstCombine] Generalize `icmp (shl nuw C2, Y), C -> icmp Y, C3` (#104696)

The motivation of this patch is to fold more generalized patterns like
`icmp ult (shl nuw 16, X), 64 -> icmp ult X, 2`.

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


  Commit: ffcff2f465ee8a7f0e0c7676c3e5c1ab889e0ce4
      https://github.com/llvm/llvm-project/commit/ffcff2f465ee8a7f0e0c7676c3e5c1ab889e0ce4
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll

  Log Message:
  -----------
  [VPlan][NFC] Fix the value name of VECTOR_GEP (#107544)

This patch passes the string `"vector.gep"` to CreateGEP instead of
CreateMul.


  Commit: 403897484f939cffd9b813eb0b759d7113f5295b
      https://github.com/llvm/llvm-project/commit/403897484f939cffd9b813eb0b759d7113f5295b
  Author: David Green <david.green at arm.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [InstCombine] Return FRem, as opposed to substituteInParent.

This attempts to fix the ASan buildbot, which is detecting that CI is used
after it is removed in substituteInParent. The idea was to make sure it was
removed even if it had side-effects writing errno, but that appears to happen
if we return FRem directly as usual.


  Commit: 5e23b66699d1066ce10b14a74d6137303517b2f3
      https://github.com/llvm/llvm-project/commit/5e23b66699d1066ce10b14a74d6137303517b2f3
  Author: Mike Hommey <mh at glandium.org>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    A lld/test/COFF/import_weak_alias.test

  Log Message:
  -----------
  [LLD][COFF] Handle imported weak aliases consistently (#109105)

symTab being a DenseMap, the order in which a symbol and its
corresponding import symbol are processed is not guaranteed, and when
the latter comes first, it is left undefined.


  Commit: c29dfb334643073607ac94e78a339a87508217d1
      https://github.com/llvm/llvm-project/commit/c29dfb334643073607ac94e78a339a87508217d1
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change CodeGenSchedule to use const Record pointers (#108782)

Change CodeGenSchedule to use const Record pointers.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: cb47b45d782fcca46acb614c720233c6b8706e58
      https://github.com/llvm/llvm-project/commit/cb47b45d782fcca46acb614c720233c6b8706e58
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/CMakeLists.txt
    M compiler-rt/test/rtsan/basic.cpp
    A compiler-rt/test/rtsan/sanity_check_pure_c.c

  Log Message:
  -----------
  [rtsan] Fix RTTI issue, make a better c test (#108720)

Later in a development branch, our c tests were failing, this was due to
the lack of RTTI.

This follows very similar patterns found in the other sanitizers


  Commit: cb5f81dc94269d357c9f07892e80e42e93f66624
      https://github.com/llvm/llvm-project/commit/cb5f81dc94269d357c9f07892e80e42e93f66624
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Use range for loops in AsmMatcherEmitter (#108914)

Use range for loops in AsmMatcherEmitter.
Convert some Record pointers to const.


  Commit: 8fc3ac4cbd5c838dafd1fc9077cfe07eee69ccce
      https://github.com/llvm/llvm-project/commit/8fc3ac4cbd5c838dafd1fc9077cfe07eee69ccce
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change AsmWriterEmitter to const RecordKeeper (#108918)

Change AsmWriterEmitter to const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 6b6e2106f974286715bda1abf95d4ab08ac9946f
      https://github.com/llvm/llvm-project/commit/6b6e2106f974286715bda1abf95d4ab08ac9946f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenMapTable.cpp
    M llvm/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [LLVM][TableGen] Change CodeGenMapTable to use const RecordKeeper (#109034)

Change CodeGenMapTable to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 40c45b6b43180221acb49f387e7d3158adf49e3e
      https://github.com/llvm/llvm-project/commit/40c45b6b43180221acb49f387e7d3158adf49e3e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang-tools-extra/CODE_OWNERS.TXT
    M clang-tools-extra/docs/ReleaseNotes.rst
    R clang-tools-extra/docs/clang-rename.rst
    M clang-tools-extra/docs/index.rst
    M clang-tools-extra/test/CMakeLists.txt
    R clang-tools-extra/test/clang-apply-replacements/ClangRenameClassReplacements.cpp
    M clang/docs/ClangFormattedStatus.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/test/CMakeLists.txt
    R clang/test/clang-rename/ClassAsTemplateArgument.cpp
    R clang/test/clang-rename/ClassFindByName.cpp
    R clang/test/clang-rename/ClassSimpleRenaming.cpp
    R clang/test/clang-rename/ClassTestMulti.cpp
    R clang/test/clang-rename/ClassTestMultiByName.cpp
    R clang/test/clang-rename/ComplexFunctionOverride.cpp
    R clang/test/clang-rename/ComplicatedClassType.cpp
    R clang/test/clang-rename/Ctor.cpp
    R clang/test/clang-rename/CtorInitializer.cpp
    R clang/test/clang-rename/DeclRefExpr.cpp
    R clang/test/clang-rename/ForceMulti.cpp
    R clang/test/clang-rename/ForwardClassDecl.cpp
    R clang/test/clang-rename/FunctionMacro.cpp
    R clang/test/clang-rename/FunctionOverride.cpp
    R clang/test/clang-rename/FunctionTemplate.cpp
    R clang/test/clang-rename/FunctionWithClassFindByName.cpp
    R clang/test/clang-rename/IncludeHeaderWithSymbol.cpp
    R clang/test/clang-rename/Inputs/HeaderWithSymbol.h
    R clang/test/clang-rename/Inputs/OffsetToNewName.yaml
    R clang/test/clang-rename/Inputs/QualifiedNameToNewName.yaml
    R clang/test/clang-rename/InvalidNewName.cpp
    R clang/test/clang-rename/InvalidOffset.cpp
    R clang/test/clang-rename/InvalidQualifiedName.cpp
    R clang/test/clang-rename/MemberExprMacro.cpp
    R clang/test/clang-rename/Namespace.cpp
    R clang/test/clang-rename/NoNewName.cpp
    R clang/test/clang-rename/NonExistFile.cpp
    R clang/test/clang-rename/TemplateClassInstantiation.cpp
    R clang/test/clang-rename/TemplateCtor.cpp
    R clang/test/clang-rename/TemplateTypename.cpp
    R clang/test/clang-rename/TemplatedClassFunction.cpp
    R clang/test/clang-rename/Typedef.cpp
    R clang/test/clang-rename/UserDefinedConversion.cpp
    R clang/test/clang-rename/Variable.cpp
    R clang/test/clang-rename/VariableMacro.cpp
    R clang/test/clang-rename/VariableTemplate.cpp
    R clang/test/clang-rename/YAMLInput.cpp
    M clang/tools/CMakeLists.txt
    R clang/tools/clang-rename/CMakeLists.txt
    R clang/tools/clang-rename/ClangRename.cpp
    R clang/tools/clang-rename/clang-rename.el
    R clang/tools/clang-rename/clang-rename.py
    M clang/unittests/CMakeLists.txt
    R clang/unittests/Rename/CMakeLists.txt
    R clang/unittests/Rename/ClangRenameTest.h
    R clang/unittests/Rename/RenameAliasTest.cpp
    R clang/unittests/Rename/RenameClassTest.cpp
    R clang/unittests/Rename/RenameEnumTest.cpp
    R clang/unittests/Rename/RenameFunctionTest.cpp
    R clang/unittests/Rename/RenameMemberTest.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    R llvm/utils/gn/secondary/clang/tools/clang-rename/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  Remove clang-rename (#108988)

clang-rename has largely been superseded by clangd and this project
hasn't received much attention in many years. Further, our
documentation on it still claims it's in very early stages of
development despite being ~10 years old. One of the primary people
driving the tool has mentioned that they don't believe there is a
reason to continue to support it unless it's still being actively
used (https://reviews.llvm.org/D148439#4303202) and I've found no
evidence to suggest that is the case.

Original RFC:
https://discourse.llvm.org/t/rfc-time-to-deprecate-remove-clang-rename/70707


  Commit: 2bb3621faa886ba6df99c751b49011f55ef4ca1e
      https://github.com/llvm/llvm-project/commit/2bb3621faa886ba6df99c751b49011f55ef4ca1e
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change DecoderEmitter to use const RecordKeeper (#109040)

Change DecoderEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: ef71226fcd0bbfe62f4ef71f72005fa98ea9ca24
      https://github.com/llvm/llvm-project/commit/ef71226fcd0bbfe62f4ef71f72005fa98ea9ca24
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.h

  Log Message:
  -----------
  [LLVM][TableGen] Change WebAsm Emitter to use const RecordKeeper (#109051)

Change WebAssemblyDisassemblerEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 4eee0cfc8a922fc952ce94130505eb0e7aad6935
      https://github.com/llvm/llvm-project/commit/4eee0cfc8a922fc952ce94130505eb0e7aad6935
  Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  [MLIR] Reuse the path to runner_utils libraries (#108579)

Prefer to get the path to libmlir_runner_utils and
libmlir_c_runner_utils via %mlir_runner_utils and %mlir_c_runner_utils.
Fallback to the previous paths only if they aren't defined.

This ensures the test will pass regardless of the build configuration
used downstream.


  Commit: 13b4d1bfeacc441d792557b42759f258dc4316e6
      https://github.com/llvm/llvm-project/commit/13b4d1bfeacc441d792557b42759f258dc4316e6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LICM/hoist-deref-load.ll
    A llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll

  Log Message:
  -----------
  [SimplifyCFG][LICM] Add additional speculation tests

These are related to https://github.com/llvm/llvm-project/issues/108854.


  Commit: 9690b30ba9acc3deb1068deb37f3b507826b27fe
      https://github.com/llvm/llvm-project/commit/9690b30ba9acc3deb1068deb37f3b507826b27fe
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Scalar.h
    M lldb/source/Utility/Scalar.cpp
    A lldb/test/API/lang/cpp/fpnan/Makefile
    A lldb/test/API/lang/cpp/fpnan/TestFPNaN.py
    A lldb/test/API/lang/cpp/fpnan/main.cpp

  Log Message:
  -----------
  [LLDB] Fix operators <= and >= returning a wrong result when comparing to a floating point NaN (#108060)

Implement operators `<=` and `>=` to explicitly check the comparison
results to be `cmpLessThan` or `cmpEqual` instead of negating the result
of `operators<`.

Fixes #85947


  Commit: 76347ee9584bfcdaceb4ee48d39441c29aeb2124
      https://github.com/llvm/llvm-project/commit/76347ee9584bfcdaceb4ee48d39441c29aeb2124
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/test/Transforms/debug-107988.fir

  Log Message:
  -----------
  [flang][debug] Improve handling of dummy character arguments. (#108283)

As described in #107998, we were not handling the case well when length
of the character is not part of the type. This PR handles one of the
case when the length can be calculated by looking at the result of
corresponding `fir.unboxchar`.

The DIStringTypeAttr have a `stringLength` field that can be a variable.
We create an artificial variable that will hold the length and used as
value of `stringLength` field. The variable is then attached with
a `DbgValueOp`.

Fixes #107998.


  Commit: 311e4e3245818d42e2bd148157c960f567f37096
      https://github.com/llvm/llvm-project/commit/311e4e3245818d42e2bd148157c960f567f37096
  Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx10_2copyintrin.h
    M clang/lib/Headers/immintrin.h
    A clang/test/CodeGen/X86/avx512copy-builtins.c
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    A llvm/test/CodeGen/X86/avx512copy-intrinsics.ll
    A llvm/test/MC/Disassembler/X86/avx10.2-copy-32.txt
    A llvm/test/MC/Disassembler/X86/avx10.2-copy-64.txt
    A llvm/test/MC/X86/avx10.2-copy-32-att.s
    A llvm/test/MC/X86/avx10.2-copy-32-intel.s
    A llvm/test/MC/X86/avx10.2-copy-64-att.s
    A llvm/test/MC/X86/avx10.2-copy-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86ManualInstrMapping.def

  Log Message:
  -----------
  [X86][AVX10.2] Support AVX10.2 MOVZXC new Instructions. (#108537)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965

Chapter 14 INTEL® AVX10 ZERO-EXTENDING PARTIAL VECTOR COPY INSTRUCTIONS

---------

Co-authored-by: mattarde <mattarde at intel.com>


  Commit: a4586bd2d4fa7d6c0100893496a9383fd581e2e9
      https://github.com/llvm/llvm-project/commit/a4586bd2d4fa7d6c0100893496a9383fd581e2e9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [Loads] Extract some checks into a lambda (NFC)

This makes it easier to add additional checks.


  Commit: 5ac97d397c2088c3ac0a113506e57ab9b1e69ac8
      https://github.com/llvm/llvm-project/commit/5ac97d397c2088c3ac0a113506e57ab9b1e69ac8
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/Rename/BUILD.gn

  Log Message:
  -----------
  [gn] port 40c45b6b4318 more (rm clang-rename)

40c45b6b4318 already removed most traces of clang-rename from the
GN build (thanks!), but it didn't delete the build file for unit tests.


  Commit: 76eda76f9f36646b8b393f2369359d02e24e20c8
      https://github.com/llvm/llvm-project/commit/76eda76f9f36646b8b393f2369359d02e24e20c8
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/truncxfbf2.c
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
  [X86][BF16] Add libcall for F80 -> BF16 (#109116)

This fixes #108936, but the calling convention doesn't match with GCC. I
doubt we have such a lib function for now, so leave the calling
convention as is.


  Commit: e8e42999a559457292190b9faf7b2a83ec8d1ac5
      https://github.com/llvm/llvm-project/commit/e8e42999a559457292190b9faf7b2a83ec8d1ac5
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn] port 76eda76f9f36


  Commit: 07d7fdd7a58ee34c3e518e2474f2c28d461796d6
      https://github.com/llvm/llvm-project/commit/07d7fdd7a58ee34c3e518e2474f2c28d461796d6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 311e4e324581


  Commit: aa43f3abe0e9a7199a8df3f71364d7084f968825
      https://github.com/llvm/llvm-project/commit/aa43f3abe0e9a7199a8df3f71364d7084f968825
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_context.cpp
    M compiler-rt/lib/rtsan/rtsan_flags.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
    M compiler-rt/test/rtsan/lit.cfg.py

  Log Message:
  -----------
  [compiler-rt][rtsan] Use Die instead of exit, define cf.exitcode (#107635)


  Commit: a10c9f994be143e2ac63918aa495bc2aeb3ffb48
      https://github.com/llvm/llvm-project/commit/a10c9f994be143e2ac63918aa495bc2aeb3ffb48
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    R compiler-rt/lib/builtins/truncxfbf2.c
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
  Revert "[X86][BF16] Add libcall for F80 -> BF16" (#109140)

Reverts llvm/llvm-project#109116


  Commit: ce74d5ff878b901d6582e407fddd808ad1236d20
      https://github.com/llvm/llvm-project/commit/ce74d5ff878b901d6582e407fddd808ad1236d20
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn build] Port a10c9f994be1


  Commit: 0d736e296c2feed7709e002d5972ed60844b6b56
      https://github.com/llvm/llvm-project/commit/0d736e296c2feed7709e002d5972ed60844b6b56
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-18 (Wed, 18 Sep 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/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Add getSCEVExprForVPValue util, use to get trip count SCEV (NFC) (#94464)

Add a new getSCEVExprForVPValue utility which can be used to get a SCEV
expression for a VPValue. The initial implementation only returns SCEVs
for live-in IR values (by constructing a SCEV based on the live-in IR
value) and VPExpandSCEVRecipe. This is enough to serve its first use,
getting a SCEV for a VPlan's trip count, but will be extended in the
future.

It also removes createTripCountSCEV, as the new helper can be used to
retrieve the SCEV from the VPlan.

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


  Commit: ba8c96593c78cda44523abf2abcd7faeef0471af
      https://github.com/llvm/llvm-project/commit/ba8c96593c78cda44523abf2abcd7faeef0471af
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/cmake/caches/NVPTX.cmake

  Log Message:
  -----------
  [Clang] Do not implicitly link C libraries for the GPU targets (#109052)

Summary:
I initially thought that it would be convenient to automatically link
these libraries like they are for standard C/C++ targets. However, this
created issues when trying to use C++ as a GPU target. This patch moves
the logic to now implicitly pass it as part of the offloading toolchain
instead, if found. This means that the user needs to set the target
toolchain for the link job for automatic detection, but can still be
done manually via `-Xoffload-linker -lc`.


  Commit: 11b95deab9a00d53e94a089b5d4bf3c05e5d5370
      https://github.com/llvm/llvm-project/commit/11b95deab9a00d53e94a089b5d4bf3c05e5d5370
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [clang-tidy][NFC] fix typo in clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp


  Commit: a9d9b0a03daf7ca986182477a0866df525cfceff
      https://github.com/llvm/llvm-project/commit/a9d9b0a03daf7ca986182477a0866df525cfceff
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDecl.cpp
    A clang/test/C/C23/n3030.c
    M clang/test/Sema/fixed-enum.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [clang][C23] Claim N3030 Enhancements to Enumerations supported (#107260)

Clang already implemented functionality as an extension.


  Commit: 620738e66260f00f08808b3e676a697fc32db92e
      https://github.com/llvm/llvm-project/commit/620738e66260f00f08808b3e676a697fc32db92e
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py

  Log Message:
  -----------
  [lldb-dap][test] Fix `readMemory` test (#109057)

So far, the test case was also testing the offset -1. This test cases
failed if the string is immediately at the beginning of the memory
region, though, and the offset -1 hence belonged to a different memory
region.

The fix is rather straightforward:
Passing an offset of -1 is not used by any actual clients of lldb-dap,
anyway. As such, this commit simply removes the corresponding test case.


  Commit: 47c3df2a7fcdfb33064d4d5e7d82dde1ea379023
      https://github.com/llvm/llvm-project/commit/47c3df2a7fcdfb33064d4d5e7d82dde1ea379023
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/utils/TableGen/CallingConvEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change CallingConvEmitter to use const RecordKeeper (#108955)

Change CallingConvEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: b334ca6739fb069b7259a89ba246cc600f07c68f
      https://github.com/llvm/llvm-project/commit/b334ca6739fb069b7259a89ba246cc600f07c68f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [NFC] Remove trailing whitespaces in `llvm/docs/LangRef.rst`


  Commit: 67518a44fec0f59b2f926059cf15ec77ec72da13
      https://github.com/llvm/llvm-project/commit/67518a44fec0f59b2f926059cf15ec77ec72da13
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    A clang/test/CodeGenHLSL/builtins/countbits.hlsl
    M clang/test/Sema/builtins-elementwise-math.c
    A clang/test/Sema/countbits-errors.hlsl
    M clang/test/SemaCXX/builtins-elementwise-math.cpp
    A clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/countbits.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll

  Log Message:
  -----------
  [HLSL] Implement elementwise popcount (#108121)

Add new elementwise popcount builtin to support HLSL function
'countbits'.
elementwise popcount only accepts integer types.
Add hlsl intrinsic 'countbits'
Closes #99094


  Commit: 475ceca859233b387c22f13ecef581158ef36346
      https://github.com/llvm/llvm-project/commit/475ceca859233b387c22f13ecef581158ef36346
  Author: Mainak Sil <mainaksil0 at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    A clang/unittests/CodeGen/AllLibrariesFit.cpp
    A clang/unittests/CodeGen/EncodingDecodingTest.cpp
    A clang/unittests/CodeGen/SimulatedOverflowTest.cpp

  Log Message:
  -----------
  [clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def (#108804)

Summary:
This PR fixes the issue where the VecLib bitfield in CodeGenOptions.def
is too small to accommodate the increasing number of vector libraries.
Specifically, the bitfield size was previously set to 3, but with the
introduction of more vector libraries (currently 9), the bitfield needed
to be expanded to avoid potential issues in vectorization.

In this PR, I have increased the size of the VecLib bitfield from 3 to 4
to account for the additional libraries. This ensures that all 9 vector
libraries are correctly encoded and available for use without errors.

Changes Made:
Modified: Increased the VecLib bitfield size from 3 to 4 in
clang/include/clang/Basic/CodeGenOptions.def.

Motivation:
This change is necessary to ensure that all vector libraries are
properly represented and selectable. The current limitation of the
VecLib bitfield size was causing some vectorization opportunities to be
lost when more than 3 bits were needed to represent the library options.

Closes:
Fixes https://github.com/llvm/llvm-project/issues/108704


  Commit: 3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701
      https://github.com/llvm/llvm-project/commit/3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    R clang/unittests/CodeGen/AllLibrariesFit.cpp
    R clang/unittests/CodeGen/EncodingDecodingTest.cpp
    R clang/unittests/CodeGen/SimulatedOverflowTest.cpp

  Log Message:
  -----------
  Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def" (#109161)

Reverts llvm/llvm-project#108804

Bots are failing:
https://lab.llvm.org/buildbot/#/builders/140/builds/6859


  Commit: 6ce14099ffa1194a5ed1f1ae6c35a4e811706fae
      https://github.com/llvm/llvm-project/commit/6ce14099ffa1194a5ed1f1ae6c35a4e811706fae
  Author: Luc Blaeser <112870813+luc-blaeser at users.noreply.github.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A lld/test/wasm/unsupported-pic-relocations.s
    A lld/test/wasm/unsupported-pic-relocations64.s
    M lld/wasm/Relocations.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Report unsupported PIC relocations as errors (#104926)

`WASM_MEMORY_ADDR_REL_` and `WASM_TABLE_INDEX_REL_` relocations against
**undefined symbols** are not supported and, except for
`UnresolvedPolicy::ReportError`, lead to incorrect Wasm code, such as
invalid data address or invalid table index that cannot be patched
during later dynamic Wasm linking with modules declaring those symbols.
This is different to other relocations that support undefined symbols by
declaring correspond Wasm imports.

For more robust behavior, `wasm-ld` should probably report an error for
such unsupported PIC relocations, independent of the `UnresolvedPolicy`.


  Commit: afce1b10144d006b7f171cd532ad663295e79ec4
      https://github.com/llvm/llvm-project/commit/afce1b10144d006b7f171cd532ad663295e79ec4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Remove empty Rename tests for now-deleted clang-rename (#109162)

Removed in #108988, the tool is fine but the glob for tests is now empty
because all the tests were deleted.


  Commit: 4b524088a80757a204424a1f172721ee997519d9
      https://github.com/llvm/llvm-project/commit/4b524088a80757a204424a1f172721ee997519d9
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [NFC] Update function names in MCTargetAsmParser.h (#108643)

Update function names to adhere to LLVM coding standard.


  Commit: 2c85fe96893c9c67a96e5b37f1cd79ded3a03344
      https://github.com/llvm/llvm-project/commit/2c85fe96893c9c67a96e5b37f1cd79ded3a03344
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove miscellaneous unused code. NFC.


  Commit: eda72fac548f317cec997967494763e9a7bafa27
      https://github.com/llvm/llvm-project/commit/eda72fac548f317cec997967494763e9a7bafa27
  Author: Vakhurin Sergei <igelbox at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/PartialDiagnostic.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaBase.cpp
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/PCH/race-condition.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp
    M clang/unittests/Driver/DXCModeTest.cpp
    M flang/lib/Frontend/TextDiagnosticPrinter.cpp

  Log Message:
  -----------
  Fix OOM in FormatDiagnostic (2nd attempt) (#108866)

Resolves: #70930 (and probably latest comments from clangd/clangd#251)
by fixing racing for the shared DiagStorage value which caused messing with args inside the storage and then formatting the following message with getArgSInt(1) == 2:

def err_module_odr_violation_function : Error<
  "%q0 has different definitions in different modules; "
  "%select{definition in module '%2'|defined here}1 "
  "first difference is "

which causes HandleSelectModifier to go beyond the ArgumentLen so the recursive call to FormatDiagnostic was made with DiagStr > DiagEnd that leads to infinite while (DiagStr != DiagEnd).

The Main Idea:
Reuse the existing DiagStorageAllocator logic to make all DiagnosticBuilders having independent states.
Also, encapsulating the rest of state (e.g. ID and Loc) into DiagnosticBuilder.

The last attempt failed -
https://github.com/llvm/llvm-project/pull/108187#issuecomment-2353122096
so was reverted - #108838


  Commit: 2731be7ac505f9ef2e90b77b84ef0fbe411bf9f5
      https://github.com/llvm/llvm-project/commit/2731be7ac505f9ef2e90b77b84ef0fbe411bf9f5
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Support/raw_ostream.h
    M llvm/unittests/Support/raw_ostream_test.cpp
    M llvm/utils/yaml-bench/YAMLBench.cpp

  Log Message:
  -----------
  [Support] Add helper struct `indent` for adding indentation (#108966)

Add helper struct indent() for adding indentation to raw_ostream.


  Commit: 6b3c9e5c20e36d7c8a0dbabd9e71be8522d2dde4
      https://github.com/llvm/llvm-project/commit/6b3c9e5c20e36d7c8a0dbabd9e71be8522d2dde4
  Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [X86] Speed up X86 Domain Reassignment pass by early return (#108108)

Current implementation of X86 Domain Reassignment pass is finding out
the complete closure of a general register, then check if it's possible
to change the domain. It causes compile time issue when compiling large
functions. This patch checks the possibility of change domain in the
process of constructing closure, if it's illegal to change domain, we
can return immedietely.

For one of our large files, it reduced X86 Domain Reassignment pass time
from 200+ seconds to less than 1s.


  Commit: 292ee93a87018bfef519ceff7de676e4792aa8d9
      https://github.com/llvm/llvm-project/commit/292ee93a87018bfef519ceff7de676e4792aa8d9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SwitchLoweringUtils.cpp

  Log Message:
  -----------
  [CodeGen] Use Register in SwitchLoweringUtils. NFC (#109092)

Use an empty Register() instead of -1U.


  Commit: 8e4909aa198d8beaf32ee0abc59a06e2e54dc3bd
      https://github.com/llvm/llvm-project/commit/8e4909aa198d8beaf32ee0abc59a06e2e54dc3bd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll

  Log Message:
  -----------
  [RISCV] Remove unnecessary vand.vi from vXi1 and nvXvi1 VECTOR_REVERSE codegen. (#109071)

Use a setne with 0 instead of a trunc. We know we zero extended the node
so we can get by with a non-zero check only. The truncate lowering
doesn't know that we zero extended so has to mask the lsb.

I don't think DAG combine sees the trunc before we lower it to RISCVISD
nodes so we don't get a chance to use computeKnownBits to remove the
AND.


  Commit: 87da9e2fac04a97fb35f8546c582d4cd4c06ec14
      https://github.com/llvm/llvm-project/commit/87da9e2fac04a97fb35f8546c582d4cd4c06ec14
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change CodeEmitterGen to use const RecordKeeper (#109025)

Change CodeEmitterGen to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 0545e9f5b6e0cb3743ca27ce88c24974e6f29f56
      https://github.com/llvm/llvm-project/commit/0545e9f5b6e0cb3743ca27ce88c24974e6f29f56
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change DFAEmitter to use const Record pointers (#109042)

Change DFAEmitter to use const Record pointers.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 06048aaa73cac62b95fab4cca3ce9d19f596898f
      https://github.com/llvm/llvm-project/commit/06048aaa73cac62b95fab4cca3ce9d19f596898f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [Target] Use 'unsigned' as the underlying type for the tablegened physical register enums. (#109086)

Otherwise, the enum defaults to 'int'. Update a few places that used
'int' for registers that now need to change to avoid a signed/unsigned
compare warning.

I was hoping this would allow us to remove the 'int' comparison
operators in Register.h and MCRegister.h, but compares with literal 0
still need them.


  Commit: 4fbac52841e967033f9f783e9223798232dca4dd
      https://github.com/llvm/llvm-project/commit/4fbac52841e967033f9f783e9223798232dca4dd
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change DXILEmitter to use const RecordKeeper (#109045)

Change DXILEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 74335fb7ae7731a57a163524aeffd93911b50a46
      https://github.com/llvm/llvm-project/commit/74335fb7ae7731a57a163524aeffd93911b50a46
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change X86MnemonicTables to use const RecordKeeper (#109053)

Change X86MnemonicTables to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: ab2b333f0db50c4124f422343db3cc8c9e075787
      https://github.com/llvm/llvm-project/commit/ab2b333f0db50c4124f422343db3cc8c9e075787
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change FastISelEmitter to use const RecordKeeper (#109060)

Change FastISelEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 47d76a9910bad0f3db7bc887c5e769bb0f219107
      https://github.com/llvm/llvm-project/commit/47d76a9910bad0f3db7bc887c5e769bb0f219107
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change InstrDocsEmitter to use const RecordKeeper (#109061)

Change InstrDocsEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: b18190ebfc4bc724eca07fb8432c3a3e899098b3
      https://github.com/llvm/llvm-project/commit/b18190ebfc4bc724eca07fb8432c3a3e899098b3
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change MacroFusionPredicator to use const RecordKeeper (#109064)

Change MacroFusionPredicator to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 5f02558d820fdc9aa8ac7d3d887e72526574e1d9
      https://github.com/llvm/llvm-project/commit/5f02558d820fdc9aa8ac7d3d887e72526574e1d9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M offload/test/lit.cfg

  Log Message:
  -----------
  [OpenMP] Fix not linking C libraries when enabled (#109168)

Summary:
We used to do this automatically, add it back in to do it manually.


  Commit: 1a793a8ca024a5b6e6a659cc4e1a8c4ab45e3cee
      https://github.com/llvm/llvm-project/commit/1a793a8ca024a5b6e6a659cc4e1a8c4ab45e3cee
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change X86InstrMapping to use const RecordKeeper (#109066)

Change X86InstrMappingEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 80aa4dab1e0fc6ede382efd1e7fddb063fecac09
      https://github.com/llvm/llvm-project/commit/80aa4dab1e0fc6ede382efd1e7fddb063fecac09
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change X86FoldTablesEmitter to use const RecordKeeper (#109070)

Change X86FoldTablesEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 2c966709b7bafb08a97c7bfc3d3252a932a8b1f8
      https://github.com/llvm/llvm-project/commit/2c966709b7bafb08a97c7bfc3d3252a932a8b1f8
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change CompressInstEmitter to use const RecordKeeper (#109035)

Change CompressInstEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: e06f32114d0bda2ce5f008f18e838aba529d7a58
      https://github.com/llvm/llvm-project/commit/e06f32114d0bda2ce5f008f18e838aba529d7a58
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp

  Log Message:
  -----------
  [CSKY,M68k,Xtensa] Update function names after #108643


  Commit: 86d2abefcb8b6b2d3f57b3ec8650f11861c226ff
      https://github.com/llvm/llvm-project/commit/86d2abefcb8b6b2d3f57b3ec8650f11861c226ff
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lld/COFF/InputFiles.h
    M lld/COFF/MapFile.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h

  Log Message:
  -----------
  [LLD][COFF] Store __imp_ symbols as Defined in InputFile (#109115)


  Commit: f2128267c26e548bef59209e7a351ff94d343bf3
      https://github.com/llvm/llvm-project/commit/f2128267c26e548bef59209e7a351ff94d343bf3
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [HLSL][NFC] Remove RegisterBindingFlags struct (#108924)

When diagnosing register bindings we just need to make sure there is a
resource that matches the provided register type. We can emit the
diagnostics right away instead of collecting flags in the
RegisterBindingFlags struct. That also enables early exit when scanning
user defined types because we can return as soon as we find a matching
resource for the given register type.


  Commit: 13502c7f2c053b2a060f7b9926328cfda46404de
      https://github.com/llvm/llvm-project/commit/13502c7f2c053b2a060f7b9926328cfda46404de
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    R clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c
    R clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c.expected
    R clang/test/utils/update-verify-tests/Inputs/infer-indentation.c
    R clang/test/utils/update-verify-tests/Inputs/infer-indentation.c.expected
    R clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c
    R clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c.expected
    R clang/test/utils/update-verify-tests/Inputs/multiple-errors.c
    R clang/test/utils/update-verify-tests/Inputs/multiple-errors.c.expected
    R clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c
    R clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c.expected
    R clang/test/utils/update-verify-tests/Inputs/no-checks.c
    R clang/test/utils/update-verify-tests/Inputs/no-checks.c.expected
    R clang/test/utils/update-verify-tests/Inputs/no-diags.c
    R clang/test/utils/update-verify-tests/Inputs/no-diags.c.expected
    R clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c
    R clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c.expected
    R clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c
    R clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c.expected
    R clang/test/utils/update-verify-tests/Inputs/update-same-line.c
    R clang/test/utils/update-verify-tests/Inputs/update-same-line.c.expected
    R clang/test/utils/update-verify-tests/Inputs/update-single-check.c
    R clang/test/utils/update-verify-tests/Inputs/update-single-check.c.expected
    R clang/test/utils/update-verify-tests/duplicate-diag.test
    R clang/test/utils/update-verify-tests/infer-indentation.test
    R clang/test/utils/update-verify-tests/leave-existing-diags.test
    R clang/test/utils/update-verify-tests/lit.local.cfg
    R clang/test/utils/update-verify-tests/multiple-errors.test
    R clang/test/utils/update-verify-tests/multiple-missing-errors-same-line.test
    R clang/test/utils/update-verify-tests/no-checks.test
    R clang/test/utils/update-verify-tests/no-diags.test
    R clang/test/utils/update-verify-tests/no-expected-diags.test
    R clang/test/utils/update-verify-tests/non-default-prefix.test
    R clang/test/utils/update-verify-tests/update-same-line.test
    R clang/test/utils/update-verify-tests/update-single-check.test
    R clang/utils/UpdateVerifyTests/core.py
    R clang/utils/update-verify-tests.py

  Log Message:
  -----------
  Revert update-verify-tests.py (#109171)

This reverts commits c96ee0ffaf5ee7afa1f4b0be0662852f57b47244 and
9ceb9676678ad979a0b767450855d7852ce6a553.

Discussion in github PR #108658.


  Commit: be187a6812fb6e8984886c28a502ec69bdaa4ad4
      https://github.com/llvm/llvm-project/commit/be187a6812fb6e8984886c28a502ec69bdaa4ad4
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A flang/include/flang/Common/float80.h
    A flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/transformational.h
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/dot-product.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/random.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/transformational.cpp
    M flang/unittests/Runtime/Numeric.cpp
    M flang/unittests/Runtime/Transformational.cpp

  Log Message:
  -----------
  [flang][runtime] Use cuda::std::complex in F18 runtime CUDA build. (#109078)

`std::complex` operators do not work for the CUDA device compilation
of F18 runtime. This change makes use of `cuda::std::complex` from
`libcudacxx`.
`cuda::std::complex` does not have specializations for `long double`,
so the change is accompanied with a clean-up for `long double` usage.


  Commit: f5d62d76479f1788be92ee9a588766e1d5c79d8d
      https://github.com/llvm/llvm-project/commit/f5d62d76479f1788be92ee9a588766e1d5c79d8d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for deducing paths unreachable if they cause div/rem UB; NFC


  Commit: 37932643abab699e8bb1def08b7eb4eae7ff1448
      https://github.com/llvm/llvm-project/commit/37932643abab699e8bb1def08b7eb4eae7ff1448
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [SimplifyCFG] Deduce paths unreachable if they cause div/rem UB

Same we way mark a path unreachable if it may cause a nullptr
dereference, div/rem by zero or signed div/rem of INT_MIN by -1 cause
immediate UB.

Closes #109008


  Commit: 36192fdfb91c64e97702ee431d246600862871d2
      https://github.com/llvm/llvm-project/commit/36192fdfb91c64e97702ee431d246600862871d2
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    R flang/include/flang/Common/float80.h
    R flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/transformational.h
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/dot-product.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/random.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/transformational.cpp
    M flang/unittests/Runtime/Numeric.cpp
    M flang/unittests/Runtime/Transformational.cpp

  Log Message:
  -----------
  Revert "[flang][runtime] Use cuda::std::complex in F18 runtime CUDA build." (#109173)

Reverts llvm/llvm-project#109078


  Commit: 84d7f294c485e36947b412cbfa69ad706ce6c9f0
      https://github.com/llvm/llvm-project/commit/84d7f294c485e36947b412cbfa69ad706ce6c9f0
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Parser/parsing.cpp

  Log Message:
  -----------
  [flang] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: 71e434d302802901a59f686f878d105dad646601
      https://github.com/llvm/llvm-project/commit/71e434d302802901a59f686f878d105dad646601
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp

  Log Message:
  -----------
  [SandboxVec] Reapply "Add barebones Region class. (#108899)" (#109059)

A `#ifndef NDEBUG` in the wrong place caused an error in release builds.


  Commit: 51df8a33275408680f869bb206413373b5ca13e1
      https://github.com/llvm/llvm-project/commit/51df8a33275408680f869bb206413373b5ca13e1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 71e434d30280


  Commit: 1be4c9710bd09e2f56908ca6cee54cb80ca1774d
      https://github.com/llvm/llvm-project/commit/1be4c9710bd09e2f56908ca6cee54cb80ca1774d
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp

  Log Message:
  -----------
  [clang-tidy][readability-container-contains] Extend to any class with contains (#107521)

This check will now work out of the box with other containers that have a
`contains` method, such as `folly::F14` or Abseil containers.

It will also work with strings, which are basically just weird containers.
`std::string` and `std::string_view` will have a `contains` method starting with
C++23. `llvm::StringRef` and `folly::StringPiece` are examples of existing 
implementations with a `contains` method.


  Commit: d5d1417659267f7247668f46cd51bd748b368fa3
      https://github.com/llvm/llvm-project/commit/d5d1417659267f7247668f46cd51bd748b368fa3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-ceil-floor.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-libcall.mir

  Log Message:
  -----------
  [RISCV][GISel] Use libcalls for rint, nearbyint, trunc, round, and roundeven intrinsics. (#108779)


  Commit: b0bdc7fcc995fe6cf6ca9a184fc6ed211fc7b608
      https://github.com/llvm/llvm-project/commit/b0bdc7fcc995fe6cf6ca9a184fc6ed211fc7b608
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/type.cpp
    M flang/test/Semantics/get_team.f90
    A flang/test/Semantics/modfile68.f90
    M flang/test/Semantics/modproc01.f90

  Log Message:
  -----------
  [flang] Fix subtle type naming bug in module file output (#108892)

A derived type specification in semantics holds both its source name
(for location purposes) and its ultimate derived type symbol. But for
correct module file generation of a structure constructor using that
derived type spec, the original symbol may be needed so that USE
association can be exposed.

Save both the original symbol and its ultimate symbol in the
DerivedTypeSpec, and collect the right one when traversing expressions
(specifically for handling initialization in module files).

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


  Commit: 5f11d38d019b8447a3f76c978a5beae4639015de
      https://github.com/llvm/llvm-project/commit/5f11d38d019b8447a3f76c978a5beae4639015de
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/runtime/io-api.cpp
    M flang/runtime/io-stmt.cpp

  Log Message:
  -----------
  [flang] Fix code that deletes unit from bad OPEN (#108994)

When an OPEN statement fails, a unit that was created for the OPEN needs
to be removed from the unit map. The code that tried to do this was
incorrect -- it needs to re-acquire the unit via LookUpForClose as a
CLOSE statement does. (The failure to do this completely was leaving a
zombie unit active that could break a later OPEN on the same unit
number.)


  Commit: 1e19e1e1a471f648ff63f02114648211666669ca
      https://github.com/llvm/llvm-project/commit/1e19e1e1a471f648ff63f02114648211666669ca
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/implicit16.f90

  Log Message:
  -----------
  [flang] Catch untyped entities in interfaces with IMPLICIT NONE (#109018)

The order of operations in name resolution wasn't converting named
entities to objects by the time that they were subjected to the implicit
typing rules in the case of interface blocks. This led to entities
remaining untyped without error, leading to a crash in module file
generation.

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


  Commit: a800ffac4115259a76d803512eda31e4de787570
      https://github.com/llvm/llvm-project/commit/a800ffac4115259a76d803512eda31e4de787570
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
    M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp

  Log Message:
  -----------
  [mlir][gpu] Disjoint patterns for lowering clustered subgroup reduce (#109158)

Making the existing populateGpuLowerSubgroupReduceToShufflePatterns()
function also cover the new "clustered" subgroup reductions is proving
to be inconvenient, because certain backends may have more specific
lowerings that only cover the non-clustered type, and this creates pass
ordering constraints. This commit removes coverage of clustered
reductions from this function in favour of a new separate function,
which makes controlling the lowering much more straightforward.


  Commit: 9284e1870d27e44845c8e0d1e9e0a1817dc59474
      https://github.com/llvm/llvm-project/commit/9284e1870d27e44845c8e0d1e9e0a1817dc59474
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change DAGISel code to use const RecordKeeper (#109038)

Change DAGISel code to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 9ddb1cd5648c0cf5b61fb661bdb5e8fa0a056c08
      https://github.com/llvm/llvm-project/commit/9ddb1cd5648c0cf5b61fb661bdb5e8fa0a056c08
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change DFAPacketizerEmitter to use const RecordKeeper (#109044)

Change DFAPacketizerEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: bde51d9b0d473447ea12fb14924f14ea167eec85
      https://github.com/llvm/llvm-project/commit/bde51d9b0d473447ea12fb14924f14ea167eec85
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [libomp][AIX] Ensure only libomp.a is published on AIX (#109016)

For `libomp` on AIX, we build shared object `libomp.so` first and then
archive it into `libomp.a`. Due to a CMake for AIX problem, the install
step also tries to publish `libomp.so`. While we use a script to build
`libomp.a` out-of-tree for Clang and avoided the problem, this chokes
the in-tree build for Flang. The issue will be reported to CMake but
before a fixed CMake is available, this patch ensures only `libomp.a` is
published.


  Commit: 644899addd8fd789c93e9a0f0727d37eb1b29c55
      https://github.com/llvm/llvm-project/commit/644899addd8fd789c93e9a0f0727d37eb1b29c55
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-libcall.mir

  Log Message:
  -----------
  [RISCV][GISel] Port portions of float-intrinsics.ll and double-intrinsics.ll. NFC

Remove the legalizer test for the same intrinsics as it is no longer
interesting with end to end tests.


  Commit: abb317ff9aba8a58449d91f6162597e54d02a57c
      https://github.com/llvm/llvm-project/commit/abb317ff9aba8a58449d91f6162597e54d02a57c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h

  Log Message:
  -----------
  [clang-tidy] Fix performance-unnecessary-value-param (#109145)

This patch essentially reverts #108674 while adding a testcase that
triggers a crash in clang-tidy.

Fixes #108963.


  Commit: e0ad34e56590fa2e6ffdf617e044de7eadee2139
      https://github.com/llvm/llvm-project/commit/e0ad34e56590fa2e6ffdf617e044de7eadee2139
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaTemplate/GH18291.cpp

  Log Message:
  -----------
  [clang] Use canonical type for substitution which might be incomplete (#109065)

When checking deduction consistency, a substitution can be incomplete
such that only sugar parts refer to non-deduced template parameters.

This would not otherwise lead to an inconsistent deduction, so this
patch makes it so we canonicalize the types before substitution in order
to avoid that possibility, for now.

When we are able to produce substitution failure diagnostics for partial
ordering, we might want to improve the TemplateInstantiator so that it
does not fail in that case.

This fixes a regression on top of #100692, which was reported on the PR.
This was never released, so there are no release notes.


  Commit: a7c174502aef45b2d33291129cce10c085fef944
      https://github.com/llvm/llvm-project/commit/a7c174502aef45b2d33291129cce10c085fef944
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp

  Log Message:
  -----------
  [lldb] Only send "posix" error codes through the gdb-remote protocol

The other side has no way of telling which namespace do these codes
belong to, so mashing them all together is not very helpful.

I'm mainly doing this to simplify some code in a pending patch
<https://github.com/llvm/llvm-project/pull/106774/files#r1752628604>,
and I've picked the posix error category semi-randomly. If we wanted to
be serious about assigning meaning to these error codes, we should
create a special error category for "gdb errors".


  Commit: 06939fa2e140a171132275ec0ea1857d20c5dbdd
      https://github.com/llvm/llvm-project/commit/06939fa2e140a171132275ec0ea1857d20c5dbdd
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```


  Commit: b4a8e877ee3002a8cfd613f7950afcbe1d98821c
      https://github.com/llvm/llvm-project/commit/b4a8e877ee3002a8cfd613f7950afcbe1d98821c
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/source/Utility/Status.cpp

  Log Message:
  -----------
  Add noexcept qualifier to placate g++


  Commit: 775de20c3a0a149158cdafce66ef29510a436f1f
      https://github.com/llvm/llvm-project/commit/775de20c3a0a149158cdafce66ef29510a436f1f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Support unaligned-scalar-mem. (#108905)

We need to set the required alignment to 8 with unaligned-scalar-mem. If we don't do this, the legalizer will try to lower the unaligned load/store and the lower code will call allowsMemoryAccess to verify what its supposed to do. allowsMemoryAccess will say the unaligned access is allowed. So the legalizer gives up.


  Commit: 2383bc8216bd7d373bb48337199c09d40922adf2
      https://github.com/llvm/llvm-project/commit/2383bc8216bd7d373bb48337199c09d40922adf2
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp

  Log Message:
  -----------
  [lldb] Update SocketTestUtilities.cpp to use CloneableECError


  Commit: 38752ffd417103621232e6ba6ba70e970e0d6356
      https://github.com/llvm/llvm-project/commit/38752ffd417103621232e6ba6ba70e970e0d6356
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [sanitizer] Adjust size for begin/start mismatch (#109079)

Follow up to 51d913af827567e6a0999609e7e624a422781870.


  Commit: a0bb2e21c10bebcdb6bc6b8bc18f74dcf7c4b8b2
      https://github.com/llvm/llvm-project/commit/a0bb2e21c10bebcdb6bc6b8bc18f74dcf7c4b8b2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/hwasan/hwasan.cpp
    M compiler-rt/lib/lsan/lsan.cpp
    M compiler-rt/lib/memprof/memprof_rtl.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
    M compiler-rt/lib/ubsan/ubsan_init.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Move `InitTlsSize` into `InitializePlatformEarly` (#108921)


  Commit: cf02d8bbb6dfed17081fbdbf44e2071aea1af728
      https://github.com/llvm/llvm-project/commit/cf02d8bbb6dfed17081fbdbf44e2071aea1af728
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/source/Utility/Status.cpp

  Log Message:
  -----------
  [lldb] Store ECError as CloneableECError in Status


  Commit: d1544da533378c1fbb81f08f20270d58d34587ca
      https://github.com/llvm/llvm-project/commit/d1544da533378c1fbb81f08f20270d58d34587ca
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Move InitTlsSize (#108922)

Move after ThreadDescriptorSizeFallback to be able to use it.


  Commit: c86b1b0f44509585390c8df09b41d707e6a14011
      https://github.com/llvm/llvm-project/commit/c86b1b0f44509585390c8df09b41d707e6a14011
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp

  Log Message:
  -----------
  [lldb] Add handling of ECError to unit test to validate a hypothesis on the bots


  Commit: 999313debe8a87760b128e4469f17ec0ce1a4a8f
      https://github.com/llvm/llvm-project/commit/999313debe8a87760b128e4469f17ec0ce1a4a8f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp

  Log Message:
  -----------
  [sanitizer] Switch from lazy `ThreadDescriptorSize` (#108923)

`ThreadDescriptorSize` uses `dlsym` which may use
malloc in unexpected time.

It's relatively easy to init size from the main init.


  Commit: 05a292caa57de13a6d0bc25dee2be25c2a0dcee3
      https://github.com/llvm/llvm-project/commit/05a292caa57de13a6d0bc25dee2be25c2a0dcee3
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp

  Log Message:
  -----------
  Revert "[lldb] Add handling of ECError to unit test to validate a hypothesis on the bots"

This reverts commit c86b1b0f44509585390c8df09b41d707e6a14011.


  Commit: 79a69cb06665859658677b9ade4a1a262490f8c1
      https://github.com/llvm/llvm-project/commit/79a69cb06665859658677b9ade4a1a262490f8c1
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/source/Utility/Status.cpp

  Log Message:
  -----------
  Revert "[lldb] Store ECError as CloneableECError in Status"

This reverts commit cf02d8bbb6dfed17081fbdbf44e2071aea1af728.


  Commit: 8b456b436f996b4c6dfee0abc704b9219d43f7d2
      https://github.com/llvm/llvm-project/commit/8b456b436f996b4c6dfee0abc704b9219d43f7d2
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp

  Log Message:
  -----------
  Revert "[lldb] Update SocketTestUtilities.cpp to use CloneableECError"

This reverts commit 2383bc8216bd7d373bb48337199c09d40922adf2.


  Commit: 27303736512c32bb87b67a4ecf0b17881a8811c6
      https://github.com/llvm/llvm-project/commit/27303736512c32bb87b67a4ecf0b17881a8811c6
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/source/Utility/Status.cpp

  Log Message:
  -----------
  Revert "Add noexcept qualifier to placate g++"

This reverts commit b4a8e877ee3002a8cfd613f7950afcbe1d98821c.


  Commit: cb6d53198e39838ba6f9d2974c4f4317057d1556
      https://github.com/llvm/llvm-project/commit/cb6d53198e39838ba6f9d2974c4f4317057d1556
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)"

This reverts commit 06939fa2e140a171132275ec0ea1857d20c5dbdd.


  Commit: 6dcde731eb13aeaa8296504ad8178d62c8ecd3eb
      https://github.com/llvm/llvm-project/commit/6dcde731eb13aeaa8296504ad8178d62c8ecd3eb
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Only send "posix" error codes through the gdb-remote protocol"

This reverts commit a7c174502aef45b2d33291129cce10c085fef944.


  Commit: 4e659c6ca3cb6fb24e84b8744516478096f23c73
      https://github.com/llvm/llvm-project/commit/4e659c6ca3cb6fb24e84b8744516478096f23c73
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Use InitializePlatformEarly() in test (#109224)

Fix windows test after #108921.


  Commit: 1bda7ba12ebccc663dff224e3bf2e4ad2235c05f
      https://github.com/llvm/llvm-project/commit/1bda7ba12ebccc663dff224e3bf2e4ad2235c05f
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Add Instruction::isStackSaveRestoreIntrinsic() and isMemDepCandidate() (#109212)

These are helper functions to be used by the vectorizer's dependency
graph.


  Commit: 258fc7f582877d3bc2a26e62da4f50e467d8c640
      https://github.com/llvm/llvm-project/commit/258fc7f582877d3bc2a26e62da4f50e467d8c640
  Author: ofAlpaca <frank70199 at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/ASTConsumers.cpp
    M clang/test/AST/ast-dump-concepts.cpp

  Log Message:
  -----------
  [Clang] Fix -ast-dump-decl-types crashes on concepts (#108142)

Resolve #94928

This PR adds `if (TD->getTemplateDecl())` to prevent `InnerD` becoming
`nullptr`, suggested by @firstmoonlight.

I also add `-ast-dump-decl-types` option and declare type `CHECK` to the
testcase `clang/test/AST/ast-dump-concepts.cpp`.

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 8f3fb5d982db63572c11dd602780218ec45df986
      https://github.com/llvm/llvm-project/commit/8f3fb5d982db63572c11dd602780218ec45df986
  Author: Xing Guo <higuoxing+github at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/docs/JITLink.rst

  Log Message:
  -----------
  [Doc] Improve documentation for JITLink. (#109163)

This patch improves the documentation for JITLink by fixing some typos,
correcting indentations and fixing out-dated code examples.


  Commit: 104f3c180644c8872eaad0b3fcf6a6b948d92a71
      https://github.com/llvm/llvm-project/commit/104f3c180644c8872eaad0b3fcf6a6b948d92a71
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A flang/include/flang/Common/float80.h
    A flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/transformational.h
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/dot-product.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/random.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/transformational.cpp
    M flang/unittests/Runtime/Numeric.cpp
    M flang/unittests/Runtime/Transformational.cpp

  Log Message:
  -----------
  Reland "[flang][runtime] Use cuda::std::complex in F18 runtime CUDA build. (#109078)" (#109207)

`std::complex` operators do not work for the CUDA device compilation
of F18 runtime. This change makes use of `cuda::std::complex` from
`libcudacxx`.
`cuda::std::complex` does not have specializations for `long double`,
so the change is accompanied with a clean-up for `long double` usage.

Additional change on top of #109078 is to use `cuda::std::complex`
only for the device compilation, otherwise the host compilation
fails because `libcudacxx` may not support `long double` specialization
at all (depending on the compiler).


  Commit: 9f5139ccee0ca6134edeb61d15dd4ae123f5149d
      https://github.com/llvm/llvm-project/commit/9f5139ccee0ca6134edeb61d15dd4ae123f5149d
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Fix unused variable build error


  Commit: 615bd9ee60ca213d0e93a7ddc5c1bf48418952e9
      https://github.com/llvm/llvm-project/commit/615bd9ee60ca213d0e93a7ddc5c1bf48418952e9
  Author: jimingham <jingham at apple.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/docs/use/python-reference.rst
    M lldb/examples/python/cmdtemplate.py

  Log Message:
  -----------
  Add docs and an example use of the scripted command get_flags API. (#109176)

The API is present, and we even have a test for it, but it isn't
documented so no one probably knows you can set requirements for your
scripted commands. This just adds docs and uses it appropriately in the
`framestats` example command.


  Commit: d21a43579e36af4aa90bf541aa8bab33e7500297
      https://github.com/llvm/llvm-project/commit/d21a43579e36af4aa90bf541aa8bab33e7500297
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll

  Log Message:
  -----------
  [LegalizeVectorOps][RISCV] Don't scalarize FNEG in ExpandFNEG if FSUB is marked Promote.

We have a special check that tries to determine if vector FP
operations are supported for the type to determine whether to
scalarize or not. If FP arithmetic would be promoted, don't unroll.

This improves Zvfhmin codegen on RISC-V.


  Commit: e494e2a29449a5ce7fce16b5dc1d0033b1ba69e8
      https://github.com/llvm/llvm-project/commit/e494e2a29449a5ce7fce16b5dc1d0033b1ba69e8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_g_extract_subvector.mir

  Log Message:
  -----------
  [MachineVerifier] Improve G_EXTRACT_SUBVECTOR checking (#109202)

Check that the destination of G_EXTRACT_SUBVECTOR is smaller than the
source. Improve wording of error messages.


  Commit: 009398b3b37f7d653b4371120944f74cad934992
      https://github.com/llvm/llvm-project/commit/009398b3b37f7d653b4371120944f74cad934992
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_g_insert_subvector.mir

  Log Message:
  -----------
  [MachineVerifier] Improve checks for G_INSERT_SUBVECTOR. (#109209)

-Improve messages.
-Remove redundant checks that are handled in generic code.
-Add check that the subvector is smaller than the vector.
-Add checks that subvector is smaller than the vector.


  Commit: 87dc3e89e72bb8d42d742c6a916f5fdee0bf853b
      https://github.com/llvm/llvm-project/commit/87dc3e89e72bb8d42d742c6a916f5fdee0bf853b
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][LLVMIR] Add more vector predication intrinsic ops (#107663)

This revision adds vector predication smax, smin, umax and umin
intrinsic ops.


  Commit: c9aa9d53b6f92d9780430ab8239ea9117574c95d
      https://github.com/llvm/llvm-project/commit/c9aa9d53b6f92d9780430ab8239ea9117574c95d
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/unittests/Format/FormatTestJS.cpp

  Log Message:
  -----------
  [clang-format] Fix regression in BAS_AlwaysBreak for-await (#108634)

Fixes #108589.


  Commit: cdf447baa50e837961384fab1e4d087da30b6f3d
      https://github.com/llvm/llvm-project/commit/cdf447baa50e837961384fab1e4d087da30b6f3d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    A flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/include/flang/Runtime/CUDA/memory.h
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    M flang/runtime/CUDA/CMakeLists.txt
    A flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    A flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuda] Add function to allocate and deallocate device module variable (#109213)

This patch adds new runtime entry points that perform the simple
allocation/deallocation of module allocatable variable with cuda
attributes.
When the allocation is initiated on the host, the descriptor on the
device is synchronized. Both descriptors point to the same data on the
device.

This is the first PR of a stack.


  Commit: 56015da593b646489c43263625cd2a8ceb7ef906
      https://github.com/llvm/llvm-project/commit/56015da593b646489c43263625cd2a8ceb7ef906
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change RegisterBankEmitter to use const RecordKeeper (#109195)

Change RegisterBankEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 156035ed4dc6910105393be8981ecb3098299c5d
      https://github.com/llvm/llvm-project/commit/156035ed4dc6910105393be8981ecb3098299c5d
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir

  Log Message:
  -----------
  [flang][cuda] Convert module allocation/deallocation to runtime calls

Convert `cuf.allocate` and `cuf.deallocate` to the runtime entry points added
in #109213

Was reviewed in https://github.com/llvm/llvm-project/pull/109214 but the
parent branch was closed for some reason.


  Commit: ce9209f50e33fa0bd81de0a53723adde65290c68
      https://github.com/llvm/llvm-project/commit/ce9209f50e33fa0bd81de0a53723adde65290c68
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    A llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll

  Log Message:
  -----------
  [ctx_prof] Fix `ProfileAnnotator::allTakenPathsExit` (#109183)

Added tests to the validator and fixed issues stemming from the previous skipping over BBs with single successors - which is incorrect. That would be now picked by added tests where the assertions are expected to be triggered.


  Commit: ee5709b3b4bfd6e8e7fed8195e14e78ef10c9d74
      https://github.com/llvm/llvm-project/commit/ee5709b3b4bfd6e8e7fed8195e14e78ef10c9d74
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [nfc][ctx_prof] Don't try finding callsite annotation for un-instrumentable callsites (#109184)

Reinforcing properties ensured at instrumentation time.


  Commit: 12d94850cd183cadf37f1f278e5795e84a95e894
      https://github.com/llvm/llvm-project/commit/12d94850cd183cadf37f1f278e5795e84a95e894
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [ctx_prof] Avoid `llvm::append_range` to fix some build bots

Example: https://lab.llvm.org/buildbot/#/builders/169/builds/3381

The CI allowed the `llvm::append_range` instantiation, but
on the other hand it's quite unnecessary here.


  Commit: 80f6b42a26ec7594e6b016c5dde5d57db6c9dfb1
      https://github.com/llvm/llvm-project/commit/80f6b42a26ec7594e6b016c5dde5d57db6c9dfb1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [MachinePipeliner] Fix incorrect use of getPressureSets. (#109179)

The code was passing a physical register directly to getPressureSets
which expects a register unit.

Fix this by looping over the register units and calling getPressureSets
for each of them.

Found while trying to add a RegisterUnit class to stop storing register
units in `Register`. 0 is a valid register unit but not a valid
Register.


  Commit: 0f06f707ec9c670ed6e8f245d045462fbc14224b
      https://github.com/llvm/llvm-project/commit/0f06f707ec9c670ed6e8f245d045462fbc14224b
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [NFC] Cleanup RegisterInfoEmitter code (#109199)

Change variable name `o` to `OS` to match definition, and 
`ClName` to `ClassName` for better clarity.

Cache RegBank reference in the class and do no pass around
class members to functions.


  Commit: 5e1a54b298d108be9c2face5ca0e6664c2dafc93
      https://github.com/llvm/llvm-project/commit/5e1a54b298d108be9c2face5ca0e6664c2dafc93
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda][NFC] Add more descriptor inquiry tests for data transfer (#108094)

Make sure there is no data transfer generated when a device variable is
used in these intrinsic functions.


  Commit: 4194e8dea52a23949f81a611cbd91148404714cc
      https://github.com/llvm/llvm-project/commit/4194e8dea52a23949f81a611cbd91148404714cc
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Fix grammar in CanCUDASymbolHasSave function name (#109234)


  Commit: 7603e854295baeabeaa2c7ffcf187c9c53def822
      https://github.com/llvm/llvm-project/commit/7603e854295baeabeaa2c7ffcf187c9c53def822
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change PseudoLoweringEmitter to use const RecordKeeper (#109194)

Change PseudoLoweringEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 23123aa4ec9c6d8ce406df36006e6729b6cd044e
      https://github.com/llvm/llvm-project/commit/23123aa4ec9c6d8ce406df36006e6729b6cd044e
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
    M llvm/utils/TableGen/Common/CodeGenInstruction.h
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change InstrInfoEmitter to use const RecordKeeper (#109189)

Change InstrInfoEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
      https://github.com/llvm/llvm-project/commit/7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
  Author: Brendan Shanks <mrpippy at gmail.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
    M lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
    M lldb/tools/debugserver/source/MacOSX/x86_64/MachRegisterStatesX86_64.h

  Log Message:
  -----------
  [lldb] [debugserver] Use "full" x86_64 GPR state when available. (#108663)

macOS 10.15 added a "full" x86_64 GPR thread state flavor, equivalent to
the normal one but with DS, ES, SS, and GSbase added. This flavor can
only be used with processes that install a custom LDT (functionality
that was also added in 10.15 and is used by apps like Wine to execute
32-bit code).

Along with allowing DS, ES, SS, and GSbase to be viewed/modified, using
the full flavor is necessary when debugging a thread executing 32-bit
code.
If thread_set_state() is used with the regular thread state flavor, the
kernel resets CS to the 64-bit code segment (see
[set_thread_state64()](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/i386/pcb.c#L723),
which makes debugging impossible.

There's no way to detect whether the full flavor is available, try to
use it and fall back to the regular one if it's not available.

A downside is that this patch exposes the DS, ES, SS, and GSbase
registers for all x86_64 processes, even though they are not populated
unless the full thread state is available.
I'm not sure if there's a way to tell LLDB that a register is
unavailable. The classic GDB `g` command [allows returning
`x`](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Packets.html#Packets)
to denote unavailable registers, but it seems like the debug server uses
newer commands like `jThreadsInfo` and I'm not sure if those have the
same support.

Fixes #57591
(also filed as Apple FB11464104)

@jasonmolenda


  Commit: e82f0838ae88ad69515ebec234765e3e2607bebf
      https://github.com/llvm/llvm-project/commit/e82f0838ae88ad69515ebec234765e3e2607bebf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M lld/ELF/ICF.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/test/ELF/icf10.s

  Log Message:
  -----------
  [ELF] --icf: don't fold a section without relocation and a section with relocations for SHT_CREL

Similar to commit 686cff17cc310884e48ae963bf7507f96950cc90 for SHT_REL (#57693).
CREL hasn't been tested with ICF before.

And avoid a pitfall that eqClass[0] might interfere with ICF.


  Commit: 90330e993d74b90325d936c9ec923c82623b20db
      https://github.com/llvm/llvm-project/commit/90330e993d74b90325d936c9ec923c82623b20db
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/sext-setcc.ll

  Log Message:
  -----------
  [NVPTX] Set v2i16 SETCC to Expand (#108969)

Note that this refers to the return type of SETCC. This operation is not
legal in PTX but was assumed as such because v2i16 is declared a legal
type. We were already expanding v4i8 SETCC.

The DAGCombiner would in certain circumstances try to fold an extension
of an illegal v2i1 SETCC (because v2i1 is illegal) into a "legal" v2i16
SETCC, which we wouldn't have patterns for.


  Commit: 77af9d10237fef194eb275f33a11daea88e304a4
      https://github.com/llvm/llvm-project/commit/77af9d10237fef194eb275f33a11daea88e304a4
  Author: Him188 <tguan at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/vararg.mir
    A llvm/test/CodeGen/AArch64/vararg.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Implement selectVaStartAAPCS (#106979)

This commit adds the missing support for varargs in the instruction
selection pass for AAPCS. Previously we only implemented this for
Darwin.

The implementation was according to AAPCS and SelectionDAG's
LowerAAPCS_VASTART.

It resolves all VA_START fallbacks in RAJAperf, llvm-test-suite, and
SPEC CPU2017. These benchmarks now compile and pass without fallbacks
due to varargs.

---------

Co-authored-by: Madhur Amilkanthwar <madhura at nvidia.com>


  Commit: 758444ca3e7163a1504eeced3383af861d01d761
      https://github.com/llvm/llvm-project/commit/758444ca3e7163a1504eeced3383af861d01d761
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/bug-sdag-emitcopyfromreg.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
    M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/select-i1.ll
    M llvm/test/CodeGen/AMDGPU/select-vectors.ll
    M llvm/test/CodeGen/AMDGPU/setcc-opt.ll
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll

  Log Message:
  -----------
  [AMDGPU] Promote uniform ops to I32 in DAGISel (#106383)

Promote uniform binops, selects and setcc between 2 and 16 bits to 32
bits in DAGISel

Solves #64591


  Commit: 904f58e6b9418dab53719c7817e9216b95981a49
      https://github.com/llvm/llvm-project/commit/904f58e6b9418dab53719c7817e9216b95981a49
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/codegen.c

  Log Message:
  -----------
  [clang][bytecode] Use field descriptor in IntPointer::atOffset (#109238)

We're otherwise still pointing to the old type, but with the new offset.


  Commit: da1a222337681c1823e9d6215451f392131ad8d1
      https://github.com/llvm/llvm-project/commit/da1a222337681c1823e9d6215451f392131ad8d1
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll

  Log Message:
  -----------
  [AMDGPU] Regenerate load-constant-i1 test

Fix failure caused by #106383


  Commit: 4e3781607cd12eb337298ee6d16ebecde4ce5741
      https://github.com/llvm/llvm-project/commit/4e3781607cd12eb337298ee6d16ebecde4ce5741
  Author: David Green <david.green at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/Thumb2/mve-scmp.ll
    A llvm/test/CodeGen/Thumb2/mve-ucmp.ll

  Log Message:
  -----------
  [ARM][MVE] Add vector tests for ucmp/scmp. NFC


  Commit: dc6876fc9890f556ed1692141643c73b1542ee5b
      https://github.com/llvm/llvm-project/commit/dc6876fc9890f556ed1692141643c73b1542ee5b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [ValueTracking] Use isSafeToSpeculativelyExecuteWithVariableReplaced() in more places (#109149)

This replaces some uses of isSafeToSpeculativelyExecute() with
isSafeToSpeculativelyExecuteWithVariableReplaced(), in cases where we
are guarding against operand changes rather plain speculation.

I believe that this is NFC with the current implementation of the
function (as it only does something different from loads), but this
makes us more defensive against future generalizations.


  Commit: c18be32185ca10e55bdef0f2d43629ccfb7e89eb
      https://github.com/llvm/llvm-project/commit/c18be32185ca10e55bdef0f2d43629ccfb7e89eb
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/fp_trunc.h
    A compiler-rt/lib/builtins/truncxfbf2.c
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
  Reland "[X86][BF16] Add libcall for F80 -> BF16 (#109116)" (#109143)

This reverts commit ababfee78714313a0cad87591b819f0944b90d09.

Add X86 FP80 check.


  Commit: 4ec4ac15ed47ccb52d79e01c038865817d0cedf6
      https://github.com/llvm/llvm-project/commit/4ec4ac15ed47ccb52d79e01c038865817d0cedf6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
    M llvm/test/Transforms/LoopUnroll/X86/runtime-unroll-addrec-cost.ll

  Log Message:
  -----------
  [SCEVExpander] Fix addrec cost model (#106704)

The current isHighCostExpansion cost model for addrecs computes the cost
for some kind of polynomial expansion that does not appear to have any
relation to addrec expansion whatsoever.

A literal expansion of an affine addrec is a phi and add (plus the
expansion of start and step). For a non-affine addrec, we get another
phi+add for each additional addrec nested in the step recurrence.

This partially `fixes` https://github.com/llvm/llvm-project/issues/53205
(the runtime unroll test case in this PR).


  Commit: 4c50112ba1fb6b3847decebd6f1e374c61950be9
      https://github.com/llvm/llvm-project/commit/4c50112ba1fb6b3847decebd6f1e374c61950be9
  Author: David Green <david.green at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/addp-shuffle.ll

  Log Message:
  -----------
  [AArch64] Add patterns for 64bit vector addp

This extends the existing patterns for addp to 64bit outputs with a single
input. Whilst the general pattern is similar to the 128bit patterns
(add(uzp1(extract_lo, extract_hi), uzp2(extract_lo, extract_hi))), at the late
stage other optimzations have happened to turn the first uzp1 into trunc and
the second into extract(uzp2) with undef.

Fixes #109108


  Commit: 7183771834d9035ffbedd8f1ff9233b16722b986
      https://github.com/llvm/llvm-project/commit/7183771834d9035ffbedd8f1ff9233b16722b986
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll

  Log Message:
  -----------
  [InitUndef] Also handle inline asm (#108951)

InitUndef should also handle early-clobber / undef conflicts in inline
asm operands. Do this by iterating over all_defs() instead of defs().

The newly added ARM test was generating an "unpredictable STXP instruction,
status is also a source" error prior to this change.

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


  Commit: edc71e22c004d3b3dfc535f7917ea0b47a282ac8
      https://github.com/llvm/llvm-project/commit/edc71e22c004d3b3dfc535f7917ea0b47a282ac8
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll

  Log Message:
  -----------
  [RISCV][TTI] Add instruction cost for vp.load/store. (#109245)

This patch makes the instruction cost of vp.load/store same as their
non-vp counterpart.


  Commit: 0a3b6af768c95f8d8260aa28adbccabd60f7e9e5
      https://github.com/llvm/llvm-project/commit/0a3b6af768c95f8d8260aa28adbccabd60f7e9e5
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c

  Log Message:
  -----------
  [ASan][test] Skip Linux/odr_c_test.c on SPARC (#109111)

When ASan testing is enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-linux :: TestCases/Linux/odr_c_test.c

```
test `FAIL`s on Linux/sparc64:
```
+ projects/compiler-rt/test/asan/SPARCLinuxConfig/TestCases/Linux/Output/odr_c_test.c.tmp
+ count 0
Expected 0 lines, got 13.

AddressSanitizer:DEADLYSIGNAL
=================================================================
==4165420==ERROR: AddressSanitizer: BUS on unknown address (pc 0x7012d5b4 bp 0xffa3b938 sp 0xffa3b8d0 T0)
==4165420==The signal is caused by a READ memory access.
==4165420==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
```
The test relies on an unaligned access, which cannot work on a
strict-alignment target like SPARC.

Thus this patch skips the test.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: 752e10379c2ffb4f6eebf490f1fab7eb769dfbf6
      https://github.com/llvm/llvm-project/commit/752e10379c2ffb4f6eebf490f1fab7eb769dfbf6
  Author: Kristóf Umann <dkszelethus at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    A clang/test/Analysis/cstring-uninitread-notes.c

  Log Message:
  -----------
  [analyzer] Explicitly register NoStoreFuncVisitor from alpha.unix.cst… (#108373)

…ring.UninitRead

This is a drastic simplification of #106982. If you read that patch,
this is the same thing with all BugReporterVisitors.cpp and
SValBuilder.cpp changes removed! (since all replies came regarding
changed to those files, I felt the new PR was justified)

The patch was inspired by a pretty poor bug report on FFMpeg:

![image](https://github.com/user-attachments/assets/8f4e03d8-45a4-4ea2-a63d-3ab78d097be9)

In this bug report, block is uninitialized, hence the bug report that it
should not have been passed to memcpy. The confusing part is in line 93,
where block was passed as a non-const pointer to seq_unpack_rle_block,
which was obviously meant to initialize block. As developers, we know
that clang likely didn't skip this function and found a path of
execution on which this initialization failed, but NoStoreFuncVisitor
failed to attach the usual "returning without writing to block" message.

I fixed this by instead of tracking the entire array, I tracked the
actual element which was found to be uninitialized (Remember, we
heuristically only check if the first and last-to-access element is
initialized, not the entire array). This is how the bug report looks
now, with 'seq_unpack_rle_block' having notes describing the path of
execution and lack of a value change:

![image](https://github.com/user-attachments/assets/8de5d101-052e-4ecb-9cd9-7c29724333d2)

![image](https://github.com/user-attachments/assets/8bf52a95-62de-44e7-aef8-03a46a3fa08e)

Since NoStoreFuncVisitor was a TU-local class, I moved it back to
BugReporterVisitors.h, and registered it manually in CStringChecker.cpp.
This was done because we don't have a good trackRegionValue() function,
only a trackExpressionValue() function. We have an expression for the
array, but not for its first (or last-to-access) element, so I only had
a MemRegion on hand.


  Commit: 30cdf1e959d2e4dee1c871ff37470dcdb7e8d099
      https://github.com/llvm/llvm-project/commit/30cdf1e959d2e4dee1c871ff37470dcdb7e8d099
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll

  Log Message:
  -----------
  [SimplifyCFG] Pass context instruction to isSafeToSpeculativelyExecute() (#109132)

Pass speculation target and assumption cache to
isSafeToSpeculativelyExecute() calls.

This allows speculating based on dereferenceable/align assumptions, but
the primary motivation here is to avoid regressions from planned changes
to fix https://github.com/llvm/llvm-project/issues/108854.


  Commit: 959448fbd6bc6f74fb3f9655b1387d0e8a272ab8
      https://github.com/llvm/llvm-project/commit/959448fbd6bc6f74fb3f9655b1387d0e8a272ab8
  Author: yonghong-song <yhs at fb.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    M llvm/test/Analysis/LazyCallGraph/remove-dead-function-spurious-ref-edge.ll
    M llvm/test/BugPoint/remove_arguments_test.ll
    M llvm/test/CodeGen/AArch64/arg_promotion.ll
    M llvm/test/CodeGen/AMDGPU/internalize.ll
    M llvm/test/ThinLTO/X86/memprof-aliased-location1.ll
    M llvm/test/ThinLTO/X86/memprof-aliased-location2.ll
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
    M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
    M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
    M llvm/test/ThinLTO/X86/memprof-inlined.ll
    M llvm/test/Transforms/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
    M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
    M llvm/test/Transforms/ArgumentPromotion/X86/attributes.ll
    M llvm/test/Transforms/ArgumentPromotion/X86/min-legal-vector-width.ll
    M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
    M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
    M llvm/test/Transforms/ArgumentPromotion/aggregate-promote-dead-gep.ll
    M llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
    M llvm/test/Transforms/ArgumentPromotion/align.ll
    M llvm/test/Transforms/ArgumentPromotion/allocsize.ll
    M llvm/test/Transforms/ArgumentPromotion/attrs.ll
    M llvm/test/Transforms/ArgumentPromotion/basictest.ll
    M llvm/test/Transforms/ArgumentPromotion/bitcasts.ll
    M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
    M llvm/test/Transforms/ArgumentPromotion/byval-with-padding.ll
    M llvm/test/Transforms/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/ArgumentPromotion/chained.ll
    M llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
    M llvm/test/Transforms/ArgumentPromotion/crash.ll
    M llvm/test/Transforms/ArgumentPromotion/dbg.ll
    M llvm/test/Transforms/ArgumentPromotion/fp80.ll
    M llvm/test/Transforms/ArgumentPromotion/inalloca.ll
    M llvm/test/Transforms/ArgumentPromotion/invalidation.ll
    M llvm/test/Transforms/ArgumentPromotion/load-alignment-value-overflows-addrspace-size.ll
    M llvm/test/Transforms/ArgumentPromotion/max-elements-limit.ll
    M llvm/test/Transforms/ArgumentPromotion/metadata.ll
    M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
    M llvm/test/Transforms/ArgumentPromotion/nonzero-address-spaces.ll
    M llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
    M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/ArgumentPromotion/pr32917.ll
    M llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/ArgumentPromotion/profile.ll
    M llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
    M llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
    M llvm/test/Transforms/ArgumentPromotion/sret.ll
    M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
    M llvm/test/Transforms/ArgumentPromotion/unused-argument.ll
    M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
    M llvm/test/Transforms/DeadArgElim/2007-02-07-FuncRename.ll
    M llvm/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/DeadArgElim/aggregates.ll
    M llvm/test/Transforms/DeadArgElim/call_profile.ll
    M llvm/test/Transforms/DeadArgElim/comdat.ll
    M llvm/test/Transforms/DeadArgElim/dbginfo-update-dbgval-local.ll
    M llvm/test/Transforms/DeadArgElim/dbginfo.ll
    M llvm/test/Transforms/DeadArgElim/deadretval.ll
    M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
    M llvm/test/Transforms/DeadArgElim/func_metadata.ll
    M llvm/test/Transforms/DeadArgElim/funclet.ll
    M llvm/test/Transforms/DeadArgElim/keepalive.ll
    M llvm/test/Transforms/DeadArgElim/nonzero-address-spaces.ll
    M llvm/test/Transforms/DeadArgElim/returned.ll
    M llvm/test/Transforms/DeadArgElim/variadic_safety.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
    M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
    M llvm/test/Transforms/FunctionSpecialization/non-argument-tracked.ll
    M llvm/test/Transforms/FunctionSpecialization/specialization-order.ll
    M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
    M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll
    M llvm/test/Transforms/SCCP/recursion.ll

  Log Message:
  -----------
  [Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgume… (#105742)

…ntElimination

ArgumentPromotion and DeadArgumentElimination passes could change
function signatures but the function name remains the same as before the
transformation. This makes it hard for tracing with bpf programs where
user tends to use function signature in the source. See discussion [1]
for details.

This patch added suffix to functions whose signatures are changed. The
suffix lets users know that function signature has changed and they need
to impact the IR or binary to find modified signature before tracing
those functions.

The suffix for ArgumentPromotion is ".argprom" and the suffixes for
DeadArgumentElimination are ".argelim" and ".retelim". The suffix also
gives user hints about what kind of transformation has been done.

With this patch, I built a recent linux kernel with full LTO enabled. I
got 4 functions with only argpromotion like
```
  set_track_update.argelim.argprom
  pmd_trans_huge_lock.argprom
  ...
```
I got 1058 functions with only deadargelim like
```
  process_bit0.argelim
  pci_io_ecs_init.argelim
  ...
```
I got 3 functions with both argpromotion and deadargelim
```
  set_track_update.argelim.argprom
  zero_pud_populate.argelim.argprom
  zero_pmd_populate.argelim.argprom
```

  [1] https://github.com/llvm/llvm-project/issues/104678


  Commit: 60a8b2b1d0842e257e2add6fb1b27cf45699b641
      https://github.com/llvm/llvm-project/commit/60a8b2b1d0842e257e2add6fb1b27cf45699b641
  Author: Aditi Medhane <Aditi.Medhane at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
    M llvm/test/CodeGen/AMDGPU/wqm.mir
    A llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir

  Log Message:
  -----------
  [AMDGPU] Add MachineVerifier check to detect illegal copies from vector register to SGPR (#105494)

Addition of a check in the MachineVerifier to detect and report illegal
vector registers to SGPR copies in the AMDGPU backend, ensuring correct
code generation.
We can enforce this check only after SIFixSGPRCopies pass.
This is half-fix in the pipeline with the help of isSSA MachineFuction
property, the check is happening for passes after phi-node-elimination.


  Commit: e762d4dac762a3fc27c6e251086b6645d7543bb2
      https://github.com/llvm/llvm-project/commit/e762d4dac762a3fc27c6e251086b6645d7543bb2
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/control-flow.ll
    M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll
    A llvm/test/Transforms/LoopVectorize/simple_early_exit.ll

  Log Message:
  -----------
  [LoopVectorize] Teach LoopVectorizationLegality about more early exits (#107004)

This patch is split off from PR #88385 and concerns only the code
related to the legality of vectorising early exit loops. It is the first
step in adding support for vectorisation of a simple class of loops that
typically involves searching for something, i.e.

  for (int i = 0; i < n; i++) {
    if (p[i] == val)
      return i;
  }
  return n;

or

  for (int i = 0; i < n; i++) {
    if (p1[i] != p2[i])
      return i;
  }
  return n;

In this initial commit LoopVectorizationLegality will only consider
early exit loops legal for vectorising if they follow these criteria:

1. There are no stores in the loop.
2. The loop must have only one early exit like those shown in the above
example. I have referred to such exits as speculative early exits, to
distinguish from existing support for early exits where the
exit-not-taken count is known exactly at compile time.
3. The early exit block dominates the latch block.
4. The latch block must have an exact exit count.
5. There are no loads after the early exit block.
6. The loop must not contain reductions or recurrences. I don't see
anything fundamental blocking vectorisation of such loops, but I just
haven't done the work to support them yet.
7. We must be able to prove at compile-time that loops will not contain
faulting loads.

Tests have been added here:

  Transforms/LoopVectorize/AArch64/simple_early_exit.ll


  Commit: 57777a5066a6b872f7576a81f021d18899595e38
      https://github.com/llvm/llvm-project/commit/57777a5066a6b872f7576a81f021d18899595e38
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [LoopVectorize] Silence unused variable warning


  Commit: bca507387ae1945137214ec7fb80b709927ee6e8
      https://github.com/llvm/llvm-project/commit/bca507387ae1945137214ec7fb80b709927ee6e8
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lldb/source/Target/VerboseTrapFrameRecognizer.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback-user-leaf.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-max-depth.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-nested.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl.cpp
    A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback-user-leaf.test
    A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback.test
    A lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
    A lldb/test/Shell/Recognizer/verbose_trap-in-stl-nested.test
    A lldb/test/Shell/Recognizer/verbose_trap-in-stl.test

  Log Message:
  -----------
  [lldb][FrameRecognizer] Display the first non-std frame on verbose_trap (#108825)

This attempts to improve user-experience when LLDB stops on a
verbose_trap. Currently if a `__builtin_verbose_trap` triggers, we
display the first frame above the call to the verbose_trap. So in the
newly added test case, we would've previously stopped here:
```
(lldb) run
Process 28095 launched: '/Users/michaelbuch/a.out' (arm64)
Process 28095 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Bounds error: out-of-bounds access
    frame #1: 0x0000000100003f5c a.out`std::__1::vector<int>::operator[](this=0x000000016fdfebef size=0, (null)=10) at verbose_trap.cpp:6:9
   3    template <typename T>
   4    struct vector {
   5        void operator[](unsigned) {
-> 6            __builtin_verbose_trap("Bounds error", "out-of-bounds access");
   7        }
   8    };
```

After this patch, we would stop in the first non-`std` frame:
```
(lldb) run
Process 27843 launched: '/Users/michaelbuch/a.out' (arm64)
Process 27843 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Bounds error: out-of-bounds access
    frame #2: 0x0000000100003f44 a.out`g() at verbose_trap.cpp:14:5
   11  
   12   void g() {
   13       std::vector<int> v;
-> 14       v[10];
   15   }
   16  
```

rdar://134490328


  Commit: d4536bf5c9d5fa3afae4e6cbb34f9bd0859ab2ea
      https://github.com/llvm/llvm-project/commit/d4536bf5c9d5fa3afae4e6cbb34f9bd0859ab2ea
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll

  Log Message:
  -----------
  Fix test issue introduced by e762d4dac762a3fc27c6e251086b6645d7543bb2 (#109254)


  Commit: bb5e66e31b2a5dbb2930728ff94281fd805f2d14
      https://github.com/llvm/llvm-project/commit/bb5e66e31b2a5dbb2930728ff94281fd805f2d14
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp

  Log Message:
  -----------
  [include-cleaner] Suppress all clang warnings (#109099)

This patch disables all clang warnings when running include-cleaner, as
users aren't interested in other findings and in-development code might
have them temporarily. This ensures tool can keep working even in
presence of such issues.


  Commit: 3d5e8e4693a51cd3ba336cec0c1a17fe389828a7
      https://github.com/llvm/llvm-project/commit/3d5e8e4693a51cd3ba336cec0c1a17fe389828a7
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-call.ll

  Log Message:
  -----------
  [PAC][CodeGen] Do not emit trivial 'mov xN, xN' on tail call (#109100)

Under some conditions, a trivial `mov xN xN` instruction was emitted on
tail calls. Consider the following code:

```
class Test {
public:
  virtual void f() {}
};

void call_f(Test *t) {
  t->f();
}
```

Correponding assembly:

```
_Z6call_fP4Test:
        ldr     x16, [x0]
        mov     x17, x0
        movk    x17, #6503, lsl #48
        autda   x16, x17
        ldr     x1, [x16]
 =====> mov     x16, x16
        movk    x16, #54167, lsl #48
        braa    x1, x16
```

This patch makes such movs being omitted.

Co-authored-by: Anatoly Trosinenko <atrosinenko at accesssoftek.com>


  Commit: d267daa9eb517b2e040a59121c15dba59223ebba
      https://github.com/llvm/llvm-project/commit/d267daa9eb517b2e040a59121c15dba59223ebba
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/weak.cpp
    M clang/test/SemaCXX/weak-init.cpp

  Log Message:
  -----------
  [clang][bytecode] Diagnose loads from weak variables (#109256)


  Commit: f3250858780b37a188875c87e57133f1192b2e60
      https://github.com/llvm/llvm-project/commit/f3250858780b37a188875c87e57133f1192b2e60
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][vector] Relax strides check for 1-element vector load/stores (#108998)

Single elememst vector load/stores are equivalent to scalar load/stores,
so they don't need memref to be contigious.


  Commit: 256100489de2d01d21ddd9720aad3993a83864c2
      https://github.com/llvm/llvm-project/commit/256100489de2d01d21ddd9720aad3993a83864c2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-19 (Thu, 19 Sep 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/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Rename isDefinedOutside[Vector]Regions -> [Loop] (NFC)

Clarify name of helper, split off from
https://github.com/llvm/llvm-project/pull/95842/files#r1765556732.


  Commit: f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
      https://github.com/llvm/llvm-project/commit/f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Rename TTI member for clarity (NFC)

There is already a comment on the member and documentation in the
InstCombine contributor guide, but also rename it to make add
an additional speed bump.


  Commit: becc02ce93cd14f07f444fff6f7433c1ecf13664
      https://github.com/llvm/llvm-project/commit/becc02ce93cd14f07f444fff6f7433c1ecf13664
  Author: Yonghong Song <yonghong.song at linux.dev>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    M llvm/test/Analysis/LazyCallGraph/remove-dead-function-spurious-ref-edge.ll
    M llvm/test/BugPoint/remove_arguments_test.ll
    M llvm/test/CodeGen/AArch64/arg_promotion.ll
    M llvm/test/CodeGen/AMDGPU/internalize.ll
    M llvm/test/ThinLTO/X86/memprof-aliased-location1.ll
    M llvm/test/ThinLTO/X86/memprof-aliased-location2.ll
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
    M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
    M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
    M llvm/test/ThinLTO/X86/memprof-inlined.ll
    M llvm/test/Transforms/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
    M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
    M llvm/test/Transforms/ArgumentPromotion/X86/attributes.ll
    M llvm/test/Transforms/ArgumentPromotion/X86/min-legal-vector-width.ll
    M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
    M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
    M llvm/test/Transforms/ArgumentPromotion/aggregate-promote-dead-gep.ll
    M llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
    M llvm/test/Transforms/ArgumentPromotion/align.ll
    M llvm/test/Transforms/ArgumentPromotion/allocsize.ll
    M llvm/test/Transforms/ArgumentPromotion/attrs.ll
    M llvm/test/Transforms/ArgumentPromotion/basictest.ll
    M llvm/test/Transforms/ArgumentPromotion/bitcasts.ll
    M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
    M llvm/test/Transforms/ArgumentPromotion/byval-with-padding.ll
    M llvm/test/Transforms/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/ArgumentPromotion/chained.ll
    M llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
    M llvm/test/Transforms/ArgumentPromotion/crash.ll
    M llvm/test/Transforms/ArgumentPromotion/dbg.ll
    M llvm/test/Transforms/ArgumentPromotion/fp80.ll
    M llvm/test/Transforms/ArgumentPromotion/inalloca.ll
    M llvm/test/Transforms/ArgumentPromotion/invalidation.ll
    M llvm/test/Transforms/ArgumentPromotion/load-alignment-value-overflows-addrspace-size.ll
    M llvm/test/Transforms/ArgumentPromotion/max-elements-limit.ll
    M llvm/test/Transforms/ArgumentPromotion/metadata.ll
    M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
    M llvm/test/Transforms/ArgumentPromotion/nonzero-address-spaces.ll
    M llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
    M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/ArgumentPromotion/pr32917.ll
    M llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/ArgumentPromotion/profile.ll
    M llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
    M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
    M llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
    M llvm/test/Transforms/ArgumentPromotion/sret.ll
    M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
    M llvm/test/Transforms/ArgumentPromotion/unused-argument.ll
    M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
    M llvm/test/Transforms/DeadArgElim/2007-02-07-FuncRename.ll
    M llvm/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/DeadArgElim/aggregates.ll
    M llvm/test/Transforms/DeadArgElim/call_profile.ll
    M llvm/test/Transforms/DeadArgElim/comdat.ll
    M llvm/test/Transforms/DeadArgElim/dbginfo-update-dbgval-local.ll
    M llvm/test/Transforms/DeadArgElim/dbginfo.ll
    M llvm/test/Transforms/DeadArgElim/deadretval.ll
    M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
    M llvm/test/Transforms/DeadArgElim/func_metadata.ll
    M llvm/test/Transforms/DeadArgElim/funclet.ll
    M llvm/test/Transforms/DeadArgElim/keepalive.ll
    M llvm/test/Transforms/DeadArgElim/nonzero-address-spaces.ll
    M llvm/test/Transforms/DeadArgElim/returned.ll
    M llvm/test/Transforms/DeadArgElim/variadic_safety.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
    M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
    M llvm/test/Transforms/FunctionSpecialization/non-argument-tracked.ll
    M llvm/test/Transforms/FunctionSpecialization/specialization-order.ll
    M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
    M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll
    M llvm/test/Transforms/SCCP/recursion.ll

  Log Message:
  -----------
  Revert "[Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgume… (#105742)"

This reverts commit 959448fbd6bc6f74fb3f9655b1387d0e8a272ab8.
Reverting because multiple test failures e.g.
  https://lab.llvm.org/buildbot/#/builders/187/builds/1290
  https://lab.llvm.org/buildbot/#/builders/153/builds/9389
and maybe a few others.


  Commit: 04ccbe6e70cf11e846da3fbc800832c6e56b573f
      https://github.com/llvm/llvm-project/commit/04ccbe6e70cf11e846da3fbc800832c6e56b573f
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  Fix typos in interception_win.cpp


  Commit: baf9b7da81025c1e3b0704d7ecf667e06f95642b
      https://github.com/llvm/llvm-project/commit/baf9b7da81025c1e3b0704d7ecf667e06f95642b
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/Headers/vecintrin.h
    A clang/test/CodeGen/SystemZ/builtins-systemz-i128.c

  Log Message:
  -----------
  [SystemZ] Fix codegen for _[u]128 intrinsics

PR #74625 introduced a regression in the code generated for the
following set of intrinsic:
  vec_add_u128, vec_addc_u128, vec_adde_u128, vec_addec_u128
  vec_sub_u128, vec_subc_u128, vec_sube_u128, vec_subec_u128
  vec_sum_u128, vec_msum_u128
  vec_gfmsum_128, vec_gfmsum_accum_128

This is because the new code incorrectly assumed that a cast
from "unsigned __int128" to "vector unsigned char" would simply
be a bitcast re-interpretation; instead, this cast actually
truncates the __int128 to char and splats the result.

Fixed by adding an intermediate cast via a single-element
128-bit integer vector.

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


  Commit: 912e821ab3d415dc8421f53738ebabcc7f1dac2d
      https://github.com/llvm/llvm-project/commit/912e821ab3d415dc8421f53738ebabcc7f1dac2d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lld/COFF/MapFile.cpp
    A lld/test/COFF/export-imp.test

  Log Message:
  -----------
  [LLD][COFF] Process all live import symbols in MapFile's getSymbols() (#109117)

The current logic assumes that the import file is pulled by object
files, and the loop for import files only needs to handle cases where
the `__imp_` symbol is implicitly pulled by an import thunk. This is
fragile, as the symbol may also be pulled through other means, such as
the -export argument in tests. Additionally, this logic is insufficient
for ARM64EC, which exposes multiple symbols through an import file, and
referencing any one of them causes all of them to be defined.
    
With this change, import symbols are added to `syms` more often, but we
ensure that output symbols remain unique later in the process


  Commit: 61ed5387c8dcc473f690b12c891741847d7145dd
      https://github.com/llvm/llvm-project/commit/61ed5387c8dcc473f690b12c891741847d7145dd
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn] port c18be32185ca


  Commit: 0013f94b24d18ee5c4535763b7d64ccdf4d6fa9e
      https://github.com/llvm/llvm-project/commit/0013f94b24d18ee5c4535763b7d64ccdf4d6fa9e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/altivec.h
    M clang/lib/Headers/avx512bitalgintrin.h
    M clang/lib/Headers/avx512vlbitalgintrin.h
    M clang/lib/Headers/avx512vpopcntdqintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Headers/wasm_simd128.h
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
    M clang/test/CodeGen/X86/avx512bitalg-builtins.c
    M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
    M clang/test/CodeGen/builtins-wasm.c

  Log Message:
  -----------
  [clang][powerpc][wasm][systemz][x86] Replace target vector popcount intrinsics with __builtin_elementwise_popcount (#109160)

Now that we have the C/C++ `__builtin_elementwise_popcount` intrinsic (#108121) - remove custom target intrinsics that just immediately map to Intrinsic::ctpop and use the generic intrinsic directly.


  Commit: 486f790d294d1bc3bdaeb4377889c4b03f0b1bca
      https://github.com/llvm/llvm-project/commit/486f790d294d1bc3bdaeb4377889c4b03f0b1bca
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lld/COFF/Chunks.h
    M lld/COFF/InputFiles.cpp
    M lld/COFF/MapFile.cpp
    M lld/test/COFF/arm64ec-import.test

  Log Message:
  -----------
  [LLD][COFF] Process all ARM64EC import symbols in MapFile's getSymbols (#109118)


  Commit: 3e24dd42dded01a431070c3dda486eed2640b0c7
      https://github.com/llvm/llvm-project/commit/3e24dd42dded01a431070c3dda486eed2640b0c7
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
    M llvm/utils/TableGen/Common/DAGISelMatcher.h
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [NFC] Rename variables to conform to LLVM coding standards (#109166)

Rename `indent` to `Indent` and `o` to `OS`.
Rename `Indentation` to `Indent`.
Remove unused argument from `emitPredicateMatch`.
Change `Indent` argument to `emitBinaryParser` to by value.


  Commit: 96ac627238dc515efdd61e5ddeda78cd17014fa5
      https://github.com/llvm/llvm-project/commit/96ac627238dc515efdd61e5ddeda78cd17014fa5
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td

  Log Message:
  -----------
  [mlir][vector][nfc] Update vector load/store doc wrt unit strides. (#109267)

Follow up to https://github.com/llvm/llvm-project/pull/108998.

Non-contiguous strides are allowed now for 1-element vector load/stores.


  Commit: 94c024adedcb53059c29d7c2d62982053b60e86a
      https://github.com/llvm/llvm-project/commit/94c024adedcb53059c29d7c2d62982053b60e86a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    A flang/test/Lower/HLFIR/elemental-user-procedure-stacksave.f90

  Log Message:
  -----------
  [flang][lowering] delay stack save/restor emission in elemental calls (#109142)

stack save/restore emitted for character elemental function result
allocation inside hlfir.elemental in lowering created memory bugs
because result memory is actually still used after the stack restore
when lowering the elemental into a loop where the result element is
copied into the array result storage.

Instead of adding special handling for stack save/restore in lowering,
just avoid emitting those since the stack reclaim pass is able to emit
them in the generated loop. Not having those stack save/restore will
also help optimizations that want to elide the temporary allocation for
the element result when that is possible.


  Commit: ed8f78827895050442f544edef2933a60d4a7935
      https://github.com/llvm/llvm-project/commit/ed8f78827895050442f544edef2933a60d4a7935
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/SemanticSelection.cpp
    A clang-tools-extra/clangd/support/Bracket.cpp
    A clang-tools-extra/clangd/support/Bracket.h
    M clang-tools-extra/clangd/support/CMakeLists.txt
    A clang-tools-extra/clangd/support/DirectiveTree.cpp
    A clang-tools-extra/clangd/support/DirectiveTree.h
    A clang-tools-extra/clangd/support/Lex.cpp
    A clang-tools-extra/clangd/support/Token.cpp
    A clang-tools-extra/clangd/support/Token.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    R clang-tools-extra/pseudo/CMakeLists.txt
    R clang-tools-extra/pseudo/DesignNotes.md
    R clang-tools-extra/pseudo/Disambiguation.md
    R clang-tools-extra/pseudo/README.md
    R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
    R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
    R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
    R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
    R clang-tools-extra/pseudo/fuzzer/Main.cpp
    R clang-tools-extra/pseudo/gen/CMakeLists.txt
    R clang-tools-extra/pseudo/gen/Main.cpp
    R clang-tools-extra/pseudo/include/CMakeLists.txt
    R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
    R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
    R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
    R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
    R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
    R clang-tools-extra/pseudo/lib/Bracket.cpp
    R clang-tools-extra/pseudo/lib/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
    R clang-tools-extra/pseudo/lib/Disambiguate.cpp
    R clang-tools-extra/pseudo/lib/Forest.cpp
    R clang-tools-extra/pseudo/lib/GLR.cpp
    R clang-tools-extra/pseudo/lib/Lex.cpp
    R clang-tools-extra/pseudo/lib/Token.cpp
    R clang-tools-extra/pseudo/lib/cli/CLI.cpp
    R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
    R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
    R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
    R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
    R clang-tools-extra/pseudo/test/.clang-format
    R clang-tools-extra/pseudo/test/CMakeLists.txt
    R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
    R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
    R clang-tools-extra/pseudo/test/check-cxx-bnf.test
    R clang-tools-extra/pseudo/test/crash/backslashes.c
    R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
    R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
    R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
    R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
    R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
    R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
    R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
    R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
    R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
    R clang-tools-extra/pseudo/test/cxx/keyword.cpp
    R clang-tools-extra/pseudo/test/cxx/literals.cpp
    R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
    R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
    R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
    R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
    R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
    R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
    R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
    R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
    R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
    R clang-tools-extra/pseudo/test/fuzzer.cpp
    R clang-tools-extra/pseudo/test/glr-variant-start.cpp
    R clang-tools-extra/pseudo/test/glr.cpp
    R clang-tools-extra/pseudo/test/html-forest.c
    R clang-tools-extra/pseudo/test/lex.c
    R clang-tools-extra/pseudo/test/lit.cfg.py
    R clang-tools-extra/pseudo/test/lit.local.cfg
    R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
    R clang-tools-extra/pseudo/test/lr-build-basic.test
    R clang-tools-extra/pseudo/test/lr-build-conflicts.test
    R clang-tools-extra/pseudo/test/strip-directives.c
    R clang-tools-extra/pseudo/tool/CMakeLists.txt
    R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
    R clang-tools-extra/pseudo/tool/HTMLForest.cpp
    R clang-tools-extra/pseudo/tool/HTMLForest.css
    R clang-tools-extra/pseudo/tool/HTMLForest.html
    R clang-tools-extra/pseudo/tool/HTMLForest.js
    R clang-tools-extra/pseudo/unittests/BracketTest.cpp
    R clang-tools-extra/pseudo/unittests/CMakeLists.txt
    R clang-tools-extra/pseudo/unittests/CXXTest.cpp
    R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
    R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
    R clang-tools-extra/pseudo/unittests/ForestTest.cpp
    R clang-tools-extra/pseudo/unittests/GLRTest.cpp
    R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
    R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
    R clang-tools-extra/pseudo/unittests/TokenTest.cpp
    M clang/docs/ClangFormattedStatus.rst
    M clang/docs/tools/clang-formatted-files.txt

  Log Message:
  -----------
  Remove clang-pseudo (#109154)

The functionality is incomplete and the authors have since shifted gears
to other work, so this is effectively unmaintained.

The original design document for clang-pseudo can be found at:

https://docs.google.com/document/d/1eGkTOsFja63wsv8v0vd5JdoTonj-NlN3ujGF0T7xDbM/edit
in case anyone wishes to pick this project back up again in the future.

Original RFC: https://discourse.llvm.org/t/removing-pseudo-parser/71131/


  Commit: 0518b79f2bf682b3e1732c9f2f79cbc65b4c5f75
      https://github.com/llvm/llvm-project/commit/0518b79f2bf682b3e1732c9f2f79cbc65b4c5f75
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:

  Log Message:
  -----------
  [LLVM][TableGen] Change DAGISelEmitter to use const RecordKeeper (#109175)

Change DAGISelEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: bc3dfe7bdd7ce6cd1e495d46c173b4f12518b3c1
      https://github.com/llvm/llvm-project/commit/bc3dfe7bdd7ce6cd1e495d46c173b4f12518b3c1
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change PrintEnums to use const RecordKeeper (#109200)

Change PrintEnums to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: e0458a24a1d026d1666f82d671e579d5fdce0027
      https://github.com/llvm/llvm-project/commit/e0458a24a1d026d1666f82d671e579d5fdce0027
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    A llvm/test/TableGen/intrinsic-duplicate-name.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h

  Log Message:
  -----------
  [LLVM][TableGen] Add error check for duplicate intrinsic names (#109226)

Check for duplicate intrinsic names in the intrinsic emitter backend and
issue a fatal error if we find one.


  Commit: dd599e92a6e5a1abc55ac694799102410c0d18c0
      https://github.com/llvm/llvm-project/commit/dd599e92a6e5a1abc55ac694799102410c0d18c0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Util/assume-builder.ll

  Log Message:
  -----------
  [ValueTracking] Support assume in entry block without DT (#109264)

isValidAssumeForContext() handles a couple of trivial cases even if no
dominator tree is available. This adds one more for the case where there
is an assume in the entry block, and a use in some other block. The
entry block always dominates all blocks.

As having context instruction but not having DT is fairly rare, there is
not much impact. Only test change is in assume-builder.ll, where less
redundant assumes are generated. I've found having this special case is
useful for an upcoming change though.


  Commit: a6ab19b1d400707c6e6cb6074ae52e22ac7885dd
      https://github.com/llvm/llvm-project/commit/a6ab19b1d400707c6e6cb6074ae52e22ac7885dd
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/indirect_calls.py

  Log Message:
  -----------
  fix(llvm/**.py): fix comparison to True/False (#94040)

from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.

Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>


  Commit: 0ee10e9466603f9e55e6044b5070f65b8182dae1
      https://github.com/llvm/llvm-project/commit/0ee10e9466603f9e55e6044b5070f65b8182dae1
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    A llvm/lib/Target/RISCV/RISCVZacasABIFix.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll

  Log Message:
  -----------
  [RISCV] Add additional fence for amocas when required by recent ABI change (#101023)

A recent atomics ABI change / fix requires that for the "A6C" and A6S"
atomics ABIs (i.e. both of those supported by LLVM currently), an
additional fence is inserted for an atomic_compare_exchange with seq_cst
failure ordering.
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/445>

This isn't trivial to support through the hooks used by AtomicExpandPass
because that pass assumes that when fences are inserted, the original
atomics ordering information can be removed from the instruction. Rather
than try to change and complicate that API, this patch implements the
needed fence insertion through a small special purpose pass.


  Commit: 4e6ec0bf6d488e9a38ac03cc85077ca38169c532
      https://github.com/llvm/llvm-project/commit/4e6ec0bf6d488e9a38ac03cc85077ca38169c532
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [SCEV] Replace redundant !Preds.empty() check with assert. (NFCI)

If there are no predicates, the predicated counts should not be
different to the non-predicated ones.


  Commit: b49a6b2a9d9f02da49476865334348f480cc1d4d
      https://github.com/llvm/llvm-project/commit/b49a6b2a9d9f02da49476865334348f480cc1d4d
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Consider histcnt smaller than i32 in the cost model (#108521)

This PR updates the AArch64 cost model to consider the cheaper cost of
<i32 histograms to reflect the improvements from
https://github.com/llvm/llvm-project/pull/101017 and
https://github.com/llvm/llvm-project/pull/103037

Work by Max Beck-Jones (@DevM-uk)

---------

Co-authored-by: DevM-uk <max.beck-jones at arm.com>


  Commit: f7714342ae0cc714e5e926dfc621e68306936acd
      https://github.com/llvm/llvm-project/commit/f7714342ae0cc714e5e926dfc621e68306936acd
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll

  Log Message:
  -----------
  [AArch64][NEON][SVE] Lower mixed sign/zero extended partial reductions to usdot (#107566)

This PR adds lowering for partial reductions of a mix of sign/zero
extended inputs to the usdot intrinsic.


  Commit: 1f8e6624e5052d56244b28fef3eb64bd0408f75d
      https://github.com/llvm/llvm-project/commit/1f8e6624e5052d56244b28fef3eb64bd0408f75d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [lldb/DWARF] Downgrade the "parent of variable is not CU" error (#108806)

This can legitimately happen for static function-local variables with a
non-manual dwarf index. According to the DWARF spec, these variables
should be (and are) included in the compiler generated indexes, but they
are ignored by our manual index. Encountering them does not indicate any
sort of error.

The error message is particularly annoying due to a combination of the
fact that we don't cache negative hits (so we print it every time we
encounter it), VSCode's aggresive tab completion (which attempts a
lookup after every keypress) and the fact that some low-level libraries
(e.g. tcmalloc) have several local variables called "v". The result is a
console full of error messages everytime you type "v ".

We already have tests (e.g. find-basic-variable.cpp), which check that
these variables are not included in the result (and by extension, that
their presence does not crash lldb). It would be possible to extend it
to make sure it does *not* print this error message, but it doesn't seem
like it would be particularly useful.


  Commit: 4caf7ccd7fae677115922c3626480dc41627fe37
      https://github.com/llvm/llvm-project/commit/4caf7ccd7fae677115922c3626480dc41627fe37
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/support/CMakeLists.txt

  Log Message:
  -----------
  Fix issues clang-pseudo removal issues found post-commit

This amends ed8f78827895050442f544edef2933a60d4a7935 and hopefully
resolves the issues found by:

https://lab.llvm.org/buildbot/#/builders/76/builds/2973
https://lab.llvm.org/buildbot/#/builders/145/builds/1921


  Commit: aa5eff9ee32d20dcc20d59bb0cc65b4830fecaf6
      https://github.com/llvm/llvm-project/commit/aa5eff9ee32d20dcc20d59bb0cc65b4830fecaf6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/gen/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/include/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cli/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cxx/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/grammar/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/clang_pseudo_lit_site_cfg_files.gni
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/tool/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/pseudo/unittests/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn

  Log Message:
  -----------
  [gn] port ed8f78827895 (rm clang-pseudo)


  Commit: 9886788a8a500a1b429a6db64397c849b112251c
      https://github.com/llvm/llvm-project/commit/9886788a8a500a1b429a6db64397c849b112251c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)

This patch adds in support for pinning a benchmarking process to a
specific CPU (in the subprocess benchmarking mode on Linux). This is
intended to be used in environments where a certain set of CPUs is
isolated from the scheduler using something like cgroups and thus should
present less potential for noise than normal. This also opens up the
door for doing multithreaded benchmarking as we can now pin benchmarking
processes to specific CPUs that we know won't interfere with each other.


  Commit: 887224d17754b63b408737153a28a504dd3733b7
      https://github.com/llvm/llvm-project/commit/887224d17754b63b408737153a28a504dd3733b7
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0ee10e946660


  Commit: 4d459dfa41e1e7436d3eaa3c27c67a8e36f68b8b
      https://github.com/llvm/llvm-project/commit/4d459dfa41e1e7436d3eaa3c27c67a8e36f68b8b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ed8f78827895


  Commit: 2d26fc8c6c5015b77dc725695c1d957f412e4141
      https://github.com/llvm/llvm-project/commit/2d26fc8c6c5015b77dc725695c1d957f412e4141
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libcxx/include/atomic
    M libcxx/include/stdatomic.h
    A libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    R libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
    R libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Enable C++ stdatomic.h for all C++ versions (#95498)

This extension is motivated by Android's use of libc++, where
<stdatomic.h> has redirected to <atomic> for many years, long before it
was standardized in C++23.

When libc++'s stdatomic.h is included in C translation units, delegate
to the next stdatomic.h, which could come from Clang or libc.


  Commit: 3bd8f4e0a05f2eecc2029ff05d21f19e74b6eb67
      https://github.com/llvm/llvm-project/commit/3bd8f4e0a05f2eecc2029ff05d21f19e74b6eb67
  Author: Charlie Barto <Charles.Barto at microsoft.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [sanitizer][asan][msvc] Teach GetInstructionSize about many instructions that appear in MSVC generated code. (#69490)

MSVC can sometimes generate instructions in function prologues that asan
previously didn't know the size of. This teaches asan those sizes. This isn't
super useful for using ASAN with non-msvc compilers, but it does stand alone.

>From https://reviews.llvm.org/D151008


  Commit: b1b436c108101f31b27eedb3a9591b7a02e0bc6e
      https://github.com/llvm/llvm-project/commit/b1b436c108101f31b27eedb3a9591b7a02e0bc6e
  Author: Samuel Tebbs <samuel.tebbs at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp

  Log Message:
  -----------
  [AArch64] Fix build error from extra !

This fixes a build failure caused by https://github.com/llvm/llvm-project/pull/108521


  Commit: 02a1d311bde4a90cffa661215c81f9fef1bc7967
      https://github.com/llvm/llvm-project/commit/02a1d311bde4a90cffa661215c81f9fef1bc7967
  Author: David Green <david.green at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/load-insert-undef.ll
    M llvm/test/CodeGen/AArch64/load-insert-zero.ll
    M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll

  Log Message:
  -----------
  [AArch64] Extend and rewrite load zero and load undef patterns (#108185)

The ldr instructions implicitly zero any upper lanes, so we can use them
for insert(zerovec, load, 0) patterns. Likewise insert(undef, load, 0)
or scalar_to_reg can reuse the scalar loads as the top bits are undef.

This patch makes sure there are patterns for each type and for each of
the normal, unaligned, roW and roX addressing modes.


  Commit: 5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4
      https://github.com/llvm/llvm-project/commit/5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"

This reverts commit 9886788a8a500a1b429a6db64397c849b112251c.

This was breaking builds on ppc64 and AIX. Pulling so I have time to
investigate.


  Commit: 698be40a5121590d9b72850edcec6b55fdeab942
      https://github.com/llvm/llvm-project/commit/698be40a5121590d9b72850edcec6b55fdeab942
  Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++] Follow-up to "Poison Pills are Too Toxic" (#88383)

Update the LLVM 19 release notes and the C++23 status
to mention that we implemented this as a DR in C++20.


  Commit: e8182029516dae445f21db304953aa5f10880d2d
      https://github.com/llvm/llvm-project/commit/e8182029516dae445f21db304953aa5f10880d2d
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/docs/DebuggingCoroutines.rst
    M clang/tools/include-mapping/gen_std.py
    M clang/utils/check_cfc/obj_diff.py
    M clang/utils/module-deps-to-rsp.py

  Log Message:
  -----------
  [clang] Fix python comparison to None (#94014)

from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.

Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>


  Commit: c4744e49f60ea3bce5a38d4917bcde8eb8abb7e1
      https://github.com/llvm/llvm-project/commit/c4744e49f60ea3bce5a38d4917bcde8eb8abb7e1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll

  Log Message:
  -----------
  [LSR] Regenerate test checks (NFC)


  Commit: 5fa742eeed0821baf864d23f237ff1b481e1ae11
      https://github.com/llvm/llvm-project/commit/5fa742eeed0821baf864d23f237ff1b481e1ae11
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] add qutation mark for C++ classes in warning message (#109068)

As discussion in
https://github.com/llvm/llvm-project/pull/108555#discussion_r1761841192,
split quotation mark change in a new NFC PR.
It is more readable to use `'std::array'` than `std::array<>`


  Commit: 9ca62c5302633d0220de30f2b2a21d87dee64ac0
      https://github.com/llvm/llvm-project/commit/9ca62c5302633d0220de30f2b2a21d87dee64ac0
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    A clang/test/Analysis/z3-unarysymexpr.c

  Log Message:
  -----------
  [analyzer] Indicate UnarySymExpr is not supported by Z3 (#108900)

Random testing found that the Z3 wrapper does not support UnarySymExpr,
which was added recently and not included in the original Z3 wrapper.
For now, just avoid submitting expressions to Z3 to avoid compiler
crashes.

Some crash context ...

clang -cc1 -analyze -analyzer-checker=core z3-unarysymexpr.c
-analyzer-constraints=z3

Unsupported expression to reason about!
UNREACHABLE executed at
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h:297!

Stack dump:
3. <root>/clang/test/Analysis/z3-unarysymexpr.c:13:7: Error evaluating
branch #0 <addr> llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) #1
<addr> llvm::sys::RunSignalHandlers() #8 <addr>
clang::ento::SimpleConstraintManager::assumeAux(
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>,
clang::ento::NonLoc, bool) #9 <addr>
clang::ento::SimpleConstraintManager::assume(
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>,
clang::ento::NonLoc, bool)

Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>


  Commit: 14120227a34365e829d05c1413033d235d7d272c
      https://github.com/llvm/llvm-project/commit/14120227a34365e829d05c1413033d235d7d272c
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-abi.cpp
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/TargetCallingConv.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/CodeGen/SystemZ/args-14.ll
    A llvm/test/CodeGen/SystemZ/args-15.ll
    A llvm/test/CodeGen/SystemZ/args-16.ll
    A llvm/test/CodeGen/SystemZ/args-17.ll
    A llvm/test/CodeGen/SystemZ/args-18.ll
    A llvm/test/CodeGen/SystemZ/args-19.ll
    A llvm/test/CodeGen/SystemZ/args-20.ll
    A llvm/test/CodeGen/SystemZ/args-21.ll
    M llvm/tools/llc/llc.cpp

  Log Message:
  -----------
  Target ABI: improve call parameters extensions handling (#100757)

For the purpose of verifying proper arguments extensions per the target's ABI,
introduce the NoExt attribute that may be used by a target when neither sign-
or zeroextension is required (e.g. with a struct in register). The purpose of
doing so is to be able to verify that there is always one of these attributes
present and by this detecting cases where sign/zero extension is actually
missing.

As a first step, this patch has the verification step done for the SystemZ
backend only, but left off by default until all known issues have been
addressed.

Other targets/front-ends can now also add NoExt attribute where needed and do
this check in the backend.


  Commit: e03f427196ec67a8a5cfbdd658f9eabe9bce83ce
      https://github.com/llvm/llvm-project/commit/e03f427196ec67a8a5cfbdd658f9eabe9bce83ce
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ADT/TinyPtrVector.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
    M llvm/include/llvm/CodeGen/LiveRangeEdit.h
    M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/ImplicitNullChecks.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SplitKit.cpp
    M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
    M llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/MC/MCCodeView.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/Object/BuildID.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Option/ArgList.cpp
    M llvm/lib/Support/YAMLParser.cpp
    M llvm/lib/TableGen/Parser.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
    M llvm/unittests/tools/llvm-mca/MCATestBase.h
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [LLVM] Use {} instead of std::nullopt to initialize empty ArrayRef (#109133)

It is almost always simpler to use {} instead of std::nullopt to
initialize an empty ArrayRef. This patch changes all occurrences I could
find in LLVM itself. In future the ArrayRef(std::nullopt_t) constructor
could be deprecated or removed.


  Commit: b55d4a39a932e407192a8038ef542586fd92e786
      https://github.com/llvm/llvm-project/commit/b55d4a39a932e407192a8038ef542586fd92e786
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/lib/builtins/truncxfbf2.c

  Log Message:
  -----------
  [compiler-rt] Fix a warning

This patch fixes:

  compiler-rt/lib/builtins/truncxfbf2.c:16:7: error: ISO C requires a
  translation unit to contain at least one declaration
  [-Werror,-Wempty-translation-unit]


  Commit: 72b04b9f16cd63657431a97f349f539d6d5d5a21
      https://github.com/llvm/llvm-project/commit/72b04b9f16cd63657431a97f349f539d6d5d5a21
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [SystemZ] Fix a warning

This patch fixes:

  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:9857:21: error:
  unused variable 'Flags' [-Werror,-Wunused-variable]


  Commit: 72fd35b85ba6fbdf316b3d3e21f845b022ac7b64
      https://github.com/llvm/llvm-project/commit/72fd35b85ba6fbdf316b3d3e21f845b022ac7b64
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [Attributor] Report change when updating ReachesReturn (#108965)


  Commit: 157adcccc59cbadd6f579418eac9e7dafa38ceec
      https://github.com/llvm/llvm-project/commit/157adcccc59cbadd6f579418eac9e7dafa38ceec
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  [GSYM] Avoid repeated hash lookups (NFC) (#109241)


  Commit: 2d7d74d990bf7a7211910e05a15d506c63295c53
      https://github.com/llvm/llvm-project/commit/2d7d74d990bf7a7211910e05a15d506c63295c53
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h

  Log Message:
  -----------
  [LiveDebugValues] Avoid repeated hash lookups (NFC) (#109242)


  Commit: e73d45361216f37faee22b86ccb07730feafa3a2
      https://github.com/llvm/llvm-project/commit/e73d45361216f37faee22b86ccb07730feafa3a2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h

  Log Message:
  -----------
  [SPIRV] Avoid repeated hash lookups (NFC) (#109243)


  Commit: ddd5741521ed50468f06adcacc8ea41256356224
      https://github.com/llvm/llvm-project/commit/ddd5741521ed50468f06adcacc8ea41256356224
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h

  Log Message:
  -----------
  [Transforms] Avoid repeated hash lookups (NFC) (#109244)


  Commit: beb2ae734830107d28543d172ab43ecc63bb59df
      https://github.com/llvm/llvm-project/commit/beb2ae734830107d28543d172ab43ecc63bb59df
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [MemProf] Refactor and clean up edge removal (#109188)

Add helper for removing an edge from the graph, and for checking if an
edge has been removed from the graph, and then update code to use those
consistently for removal and during edge iteration, respectively. Also
fix a couple of places that were incorrectly iterating over edge lists
that could in theory be updated during the iteration.


  Commit: 1f8a3286e065b8cb82628db0d335b3e82b9373fd
      https://github.com/llvm/llvm-project/commit/1f8a3286e065b8cb82628db0d335b3e82b9373fd
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp

  Log Message:
  -----------
  [lldb] Only send "posix" error codes through the gdb-remote protocol

The other side has no way of telling which namespace do these codes
belong to, so mashing them all together is not very helpful.

I'm mainly doing this to simplify some code in a pending patch
<https://github.com/llvm/llvm-project/pull/106774/files#r1752628604>,
and I've picked the posix error category semi-randomly. If we wanted to
be serious about assigning meaning to these error codes, we should
create a special error category for "gdb errors".


  Commit: 104b249c236578d298384416c495ff7310b97f4d
      https://github.com/llvm/llvm-project/commit/104b249c236578d298384416c495ff7310b97f4d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```

Relanding with built-in cloning support for llvm::ECError.


  Commit: 74c0ab6f3925f5a9461bde1a7ca4d4dbc369b07e
      https://github.com/llvm/llvm-project/commit/74c0ab6f3925f5a9461bde1a7ca4d4dbc369b07e
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement NoCFIValue (#109046)

This patch implements sandboxir::NoCFIValue mirroring llvm::NoCFIValue.


  Commit: 8a34f6dba14e49332ff63abfa6a8aa3ca560fc50
      https://github.com/llvm/llvm-project/commit/8a34f6dba14e49332ff63abfa6a8aa3ca560fc50
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll

  Log Message:
  -----------
  [ASAN] Do not consider alignment during object size calculations (#109120)

It was found that ASAN logic optimizes away out-of-bound access
instrumentation for over-aligned arrays. See #108287 for complete code
examples.

Fix it by not considering alignment during object size calculation,
since out-of-bounds access for over-aligned object is still UB and
should be reported by ASAN.

Closes: #108287


  Commit: bcd65ba6129bea92485432fdd09874bc3fc6671e
      https://github.com/llvm/llvm-project/commit/bcd65ba6129bea92485432fdd09874bc3fc6671e
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][Vector] Verify that masked ops implement MaskableOpInterface (#108123)

This PR fixes a bug in `MaskOp::verifier` that allowed `vector.mask` to
mask operations that did not implement the MaskableOpInterface.


  Commit: 91fd3e764ba49315320328233ae94013f90c7414
      https://github.com/llvm/llvm-project/commit/91fd3e764ba49315320328233ae94013f90c7414
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Speed up sorting of intrinsics (#109230)

Speed up sorting of intrinsics by using the TargetPrefix to only
discriminate beteween target dependent vs target independent intrinsics
where target independent ones need to be sorted before target dependent
ones. When comparing two target dependent intrinsics, the Name already
includes `llvm.<TargetPrefix>` as a prefix, so no need to needlessly
compare it separately.


  Commit: 7586aea9edd324a6d2806e5cb879456a978f61e0
      https://github.com/llvm/llvm-project/commit/7586aea9edd324a6d2806e5cb879456a978f61e0
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    M clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
    M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
    M clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl

  Log Message:
  -----------
  [HLSL][NFC] Update resource attribute tests (#108919)

- split resource attribute checks to multiple lines
- use @LINE expressions to match line numbers


  Commit: 0265981b6ec0f46fc372897fef7f945d8f4625c2
      https://github.com/llvm/llvm-project/commit/0265981b6ec0f46fc372897fef7f945d8f4625c2
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
    M compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
    M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
    M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
    M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
    M compiler-rt/test/asan/TestCases/Posix/strndup_oob_test2.cpp

  Log Message:
  -----------
  [sanitizers] convert some errant CRLF line endings to LF (#108454)

(nfc) 

https://github.com/llvm/llvm-project/pull/107899 Added some files with
CRLF line endings. Mixed line endings are somewhat gross, so I've
converted them all to unix.


  Commit: cead9044a995910306e2e64b426fcc8042d7e0ef
      https://github.com/llvm/llvm-project/commit/cead9044a995910306e2e64b426fcc8042d7e0ef
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang-scan-deps] Don't inspect Args[0] as an option (#109050)

Since a26ec542371652e1d774696e90016fd5b0b1c191, we expand the executable
name to an absolute path, if it isn't already one, if found in path.

This broke a couple tests in some environments; when the clang workdir
resides in a path under e.g. /opt. Tests that only use a tool name like
"clang-cl" would get expanded to the absolute path in the build tree.
The loop for finding the last "-o" like option for clang-cl command
lines would inspect all arguments, including Args[0] which is the
executable name itself. As an /opt path matches Arg.starts_with("/o"),
this would get detected as an object file output name in cases where
there was no other explicit output argument.

Thus, this fixes those tests in workdirs under e.g. /opt.


  Commit: f009f72df5285acab0ebb600636653d7db72a552
      https://github.com/llvm/llvm-project/commit/f009f72df5285acab0ebb600636653d7db72a552
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libc/config/baremetal/config.json
    M libc/config/config.json
    M libc/config/gpu/config.json
    M libc/docs/configure.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/src/__support/StringUtil/error_to_string.cpp
    M libc/src/__support/StringUtil/error_to_string.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter_atlas.h
    M libc/src/stdio/printf_core/parser.h
    A libc/src/stdio/printf_core/strerror_converter.h
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add printf strerror conversion (%m) (#105891)

This patch adds the %m conversion to printf, which prints the
strerror(errno). Explanation of why is below, this patch also updates
the docs, tests, and build system to accomodate this.

The standard for syslog in posix specifies it uses the same format as
printf, but adds %m which prints the error message string for the
current value of errno. For ease of implementation, it's standard
practice for libc implementers to just add %m to printf instead of
creating a separate parser for syslog.


  Commit: e58427828939eadf7e169a0e5476919a5746a82e
      https://github.com/llvm/llvm-project/commit/e58427828939eadf7e169a0e5476919a5746a82e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
    M llvm/test/Transforms/LoopVectorize/vector-freeze.ll

  Log Message:
  -----------
  [LV] Update tests to avoid loop invariant instructions.

Update some tests with loop invariant instructions so the instructions
cannot be hoisted out.

This preserves the original test intention after
https://github.com/llvm/llvm-project/pull/107894.


  Commit: 0fa258c8d93c2f8de66518868a8e2a645b90afbe
      https://github.com/llvm/llvm-project/commit/0fa258c8d93c2f8de66518868a8e2a645b90afbe
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-512.ll

  Log Message:
  -----------
  [X86] Implement certain 16-bit vector shifts via 32-bit shifts

x86 vector ISAs are non-orthogonal in a number of ways. For example,
AVX2 has vpsravd but it does not have vpsravw. However, we can simulate
it via vpsrlvd and some SWAR-style masking.

Another example is 8-bit shifts: we can use vpsllvd to simulate the
missing "vpsllvb" if shift amounts can be shared for a single lane.

Existing code generation would use a variety of techniques including
vpmulhuw which is higher latency and often has more rigid port
requirements than simple bitwise operations.


  Commit: 14c76321a27943455dfa041e5e84121c61c8162d
      https://github.com/llvm/llvm-project/commit/14c76321a27943455dfa041e5e84121c61c8162d
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp

  Log Message:
  -----------
  [clang-tidy][readability-container-contains] Use hasOperands when possible (#109178)

Simplifies two cases and matches two new cases previously missing,
`container.end() [!=]= container.find(...)`.


  Commit: d57525294a6f9318db6aeda46bf77d004b836b43
      https://github.com/llvm/llvm-project/commit/d57525294a6f9318db6aeda46bf77d004b836b43
  Author: Tyler Nowicki <tyler.nowicki at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp

  Log Message:
  -----------
  [Coroutines] Refactor CoroShape::buildFrom for future use by ABI objects (#108623)

* Refactor buildFrom to separate the analysis, abi related operations,
  cleaning and invalidating.
* In a follow-up PR the code in initABI will be moved to an ABI object
  init method.
* In a follow-up PR the OptimizeFrame flag will also be removed from the
  Shape and instead will be passed directly to buildCoroutineFrame
  (although it would be nice to find another way to trigger this
  optimization). This is the only thing that Shape cannot determine from
  the Function/Coroutine, but it is only needed within
  buildCoroutineFrame.

See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057


  Commit: e45f9aa7fa5c6e3ef808f5ff5d80a09fc999b9bc
      https://github.com/llvm/llvm-project/commit/e45f9aa7fa5c6e3ef808f5ff5d80a09fc999b9bc
  Author: Franklin <fenglei4518 at hotmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    A llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
    M llvm/test/CodeGen/AArch64/cpus.ll
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
    M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp

  Log Message:
  -----------
  [AArch64] Initial sched model for Neoverse N3 (#106371)

References:

* Arm Neoverse N3 Software Optimization Guide
* Arm A64 Instruction Set for A-profile architecture


  Commit: f3f3883f4b9d15770a5ce49956ed4425c71ad69f
      https://github.com/llvm/llvm-project/commit/f3f3883f4b9d15770a5ce49956ed4425c71ad69f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Fix crash reported in https://github.com/llvm/llvm-project/issues/109313

Change edc71e22c004d3b3dfc535f7917ea0b47a282ac8 had tried to handle the case
where an instruction wasn't available, but had used a dyn_cast instead of
a dyn_cast_or_null.  Switch instead to an explicit null check, and a cast.


  Commit: edf3b277a5f2ebe144827ed47463c22743cac5f9
      https://github.com/llvm/llvm-project/commit/edf3b277a5f2ebe144827ed47463c22743cac5f9
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/FS.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
    M clang-tools-extra/clangd/unittests/ClangdTests.cpp
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/unittests/Driver/DistroTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M lldb/unittests/Host/FileSystemTest.cpp
    M lldb/unittests/Utility/MockSymlinkFileSystem.h
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/include/llvm/Support/VirtualFileSystem.h
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/FileCollector.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/unittests/Support/VirtualFileSystemTest.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)

This patch adds an IsText parameter to the following functions
openFileForRead, getBufferForFile, getBufferForFileImpl and determines
whether a file is text by querying the file tag on z/OS. The default is
set to OF_Text instead of OF_None, this change in value does not affect
any other platforms other than z/OS.


  Commit: 010c0d36e1c8e25212dbbb7ed03dd6eb58b48f45
      https://github.com/llvm/llvm-project/commit/010c0d36e1c8e25212dbbb7ed03dd6eb58b48f45
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libc/utils/gpu/server/CMakeLists.txt

  Log Message:
  -----------
  [libc][AMDGPU] Disable %m in RPC server (#109317)

The RPC server directly includes the printf code, but doesn't support
errno, so the %m conversion needs to be disabled there as well. This
patch does that.


  Commit: 8242bd116d547cbebe0102cda1c4421ee4865407
      https://github.com/llvm/llvm-project/commit/8242bd116d547cbebe0102cda1c4421ee4865407
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    A llvm/test/Transforms/EarlyCSE/materialize-align-assumptions.ll

  Log Message:
  -----------
  [EarlyCSE] Add tests showing loss of alignment info for ptr loads.

Precommit tests for https://github.com/llvm/llvm-project/pull/109131.


  Commit: ccfe7d4b20819a0bf8552b81b60593b76b89e65c
      https://github.com/llvm/llvm-project/commit/ccfe7d4b20819a0bf8552b81b60593b76b89e65c
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir

  Log Message:
  -----------
  [GlobalIsel] Cleanup G_EXTRACT_VECTOR_ELT combines (#109047)

Reduce duplicated build vector patterns by exploiting variadic args.
Make index parameter const to improve hit rate.
Use `getIConstantFromReg` to retrieve immediate because they are not
fallible anymore.
Improve extraction from build vector and shuffle vector.


  Commit: d1335fb86466221b0499db5fc8f158f1f64d9542
      https://github.com/llvm/llvm-project/commit/d1335fb86466221b0499db5fc8f158f1f64d9542
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    A clang/lib/Driver/ToolChains/UEFI.cpp
    A clang/lib/Driver/ToolChains/UEFI.h
    A clang/test/CodeGen/X86/uefi-data-layout.c
    A clang/test/Driver/uefi-constructed-args.c
    M clang/unittests/Driver/ToolChainTest.cpp

  Log Message:
  -----------
  [Driver] Add toolchain for X86_64 UEFI target (#76838)

Introduce changes necessary for UEFI X86_64 target Clang driver.
Addressed the review comments originally suggested in Phabricator.

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


  Commit: 315ba7740663208f8bc45a7e4f145dc1df79500c
      https://github.com/llvm/llvm-project/commit/315ba7740663208f8bc45a7e4f145dc1df79500c
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir

  Log Message:
  -----------
  [mlir][linalg] Vectorisation of tensor.extract - dynamic shapes (#100582)

This PR removes the assumption that reading from a dynamic tensor is
always a gather load:

```mlir
%extracted = tensor.extract %src[%c79, %3] : tensor<?x?xf32>
```

That assumption was originally introduced to simplify the implementation
and to reduce the number of cases to consider. Now that the
vectorisation of `tensor.extract` has been around for > 1 year and has
been quite stable, we can safely relax it.

This is a relatively small change - rather than using the parent linalg
Op to infer the target output shape (not possible with dynamic shapes),
the vectorizer will use the (previously constructed) output vector
shape instead.

As expected, the following test required updating (`vector.gather` ->
`vector.transfer_read`):
*
@masked_dynamic_vectorize_nd_tensor_extract_with_affine_apply_contiguous

Similar test for scalable vectors is also added.


  Commit: 42eb19a2603f391cfc85815637accd04322bcc1c
      https://github.com/llvm/llvm-project/commit/42eb19a2603f391cfc85815637accd04322bcc1c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d1335fb86466


  Commit: 96ba9d372de522e836859d143f0cdab557277975
      https://github.com/llvm/llvm-project/commit/96ba9d372de522e836859d143f0cdab557277975
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Only consider recipes in loop region in planContainsSimp. (NFCI)

Limit checks in planContainsAdditionalSimplifications to recipes in the
vector loop region.

Preparation for https://github.com/llvm/llvm-project/pull/107894.


  Commit: 3b3accb598ec87a6a30b0e18ded06071030bb78f
      https://github.com/llvm/llvm-project/commit/3b3accb598ec87a6a30b0e18ded06071030bb78f
  Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    M llvm/lib/Support/FileCollector.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Propagate IsText flag continuation


  Commit: dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
      https://github.com/llvm/llvm-project/commit/dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [demangle] Represent a char array initializer as a string literal. (#109021)

This improves the demangling for non-type template arguments that
contain string literals. Previously we'd produce

    char [4]{(char)65, (char)66, (char)67}

(which isn't valid C or C++), and now we produce `"ABC"`.

The new demangling is always shorter, even when using an escape sequence
for every character, and much more readable when the char array contains
text.


  Commit: 283c2c8800de4991730be20c327f94fc72ff21a2
      https://github.com/llvm/llvm-project/commit/283c2c8800de4991730be20c327f94fc72ff21a2
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/DirectiveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add explicit symbol visibility macros to code generated (#107873)

Update llvm's TableGen to emit new explicit symbol visibility macros I
added in https://github.com/llvm/llvm-project/pull/96630 to the function
declarations it creates
The generated functions need to be exported from llvm's shared library
for Clang and some OpenMP tests. @compnerd


  Commit: 434c9c50f99b1ad4e551c64af93287869389b087
      https://github.com/llvm/llvm-project/commit/434c9c50f99b1ad4e551c64af93287869389b087
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M flang/runtime/CUDA/CMakeLists.txt
    M flang/runtime/CUDA/allocatable.cpp

  Log Message:
  -----------
  [flang][cuf][NFC] Clean up unused header and library (#109326)

These were part of a previous attempt and are not needed anymore.


  Commit: ac664697c54cf2ffa9ebef0215f734bcca3b718f
      https://github.com/llvm/llvm-project/commit/ac664697c54cf2ffa9ebef0215f734bcca3b718f
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Frontend/ChainedIncludesSource.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp

  Log Message:
  -----------
  [clang] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: 3191587666aa3d1e53966bc8876614c7197fac4f
      https://github.com/llvm/llvm-project/commit/3191587666aa3d1e53966bc8876614c7197fac4f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp

  Log Message:
  -----------
  [Coroutines] Fix a warning

This patch fixes:

  llvm/lib/Transforms/Coroutines/Coroutines.cpp:475:3: error: default
  label in switch which covers all enumeration values
  [-Werror,-Wcovered-switch-default]


  Commit: 02d34d800b94937c42fb7cff2db2b2836d918ac6
      https://github.com/llvm/llvm-project/commit/02d34d800b94937c42fb7cff2db2b2836d918ac6
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/include/mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/VectorToXeGPU/CMakeLists.txt
    A mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    A mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
    A mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][vector][xegpu] Vector to XeGPU conversion pass (#107419)

Add pass for Vector to XeGPU dialect conversion and initial conversion
patterns for vector.transfer_read|write operations.


  Commit: d7c69c20a799509ffab8b22920c92c6428485f45
      https://github.com/llvm/llvm-project/commit/d7c69c20a799509ffab8b22920c92c6428485f45
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    R clang/test/OpenMP/error_unsupport_feature.c
    A clang/test/OpenMP/scope_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [clang][OpenMP] Add codegen for scope directive (#109197)

Added codegen for scope directive, enabled allocate and firstprivate
clauses, and added scope directive LIT test.

Testing
  - LIT tests (including new scope test).
  - OpenMP scope example test from 5.2 OpenMP API examples document.
  - Three executable scope tests from OpenMP_VV/sollve_vv suite.


  Commit: 1335a11176f99cc54f423fe173708bd2373b59f7
      https://github.com/llvm/llvm-project/commit/1335a11176f99cc54f423fe173708bd2373b59f7
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp

  Log Message:
  -----------
  [mlir][vector][nfc] Clean-up VectorOps.{h|cpp} (#109316)


  Commit: 21026073e3b0583caf0c81564c4d7ebf002fe67b
      https://github.com/llvm/llvm-project/commit/21026073e3b0583caf0c81564c4d7ebf002fe67b
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h

  Log Message:
  -----------
  [lldb/Interpreter] Add requirements to Scripted Interface abstract methods (#109063)

This patch adds new requirements to the Scripted Interface abstract
method checker to check the minimum number of argument for abstract
methods.

This check is done when creating the interface object so the object is
not created if the user implementation doesn't match the abstract method
requirement.

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


  Commit: 0347c1122625e3f8a0a2b602b2ef02fa334a13e1
      https://github.com/llvm/llvm-project/commit/0347c1122625e3f8a0a2b602b2ef02fa334a13e1
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_common.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Remove unused field in BatchGroup (#109322)

Also fix the logic while determining the size of BatchClass and update
some legacy comments.


  Commit: c3fe727181818d3efdd2ce96598bfe6a2d3ffb83
      https://github.com/llvm/llvm-project/commit/c3fe727181818d3efdd2ce96598bfe6a2d3ffb83
  Author: Evan Wilde <etceterawilde at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CMakeLists.txt

  Log Message:
  -----------
  Add missing deps edge: CodeGenAction.cpp.o -> GenVT.inc (#109306)

CodeGenAction.cpp.o depends on generating GenVT.inc before trying to
compile it through the following header chain:

```
GenVT.inc
MachineValueType.h
LowLevelType.h
MachineMemOperand.h
MachineInstr.h
MachineBasicBlock.h
MachineFunctionPass.h
MachineOptimizationRemarkEmitter.h
CodeGenAction.cpp
```

There is a dependency edge through LLVMCodeGenTypes, but that edge is
applied to the clangCodeGen link step, not the compile step of the files
that make up clangCodeGen. Usually the compile and link are close enough
in the build that GenVT.inc is scheduled early enough that it exists by
the time we're compiling CodeGenAction.cpp.o, but on machines with high
core counts, it seems to be more prevalent that the scheduling works out
just right to expose the missing edge. I've only been able to reproduce
this on machines with at least 64 cores (but even then it was not
reliable).

Additionally, llvm-tblgen depends on GenVT.inc, so to see the missing
dependency edge, one must be using a pre-built tablegen binary.

Adding the missing dependency edge to ensure that GenVT.inc is generated
before trying to compile CodeGenAction.cpp.o.

Found by inspecting the dependency graph generated from Ninja with:

```sh
cmake -G 'Ninja' \
  ...
  -DLLVM_TABLEGEN=<path to native tblegen> \
  -DCLANG_TABLEGEN=<path to native clang tblgen> \
  -DLLVM_ENABLE_PROJECTS=clang \
  ...

ninja -t graph \
  tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenAction.cpp.o | dot -Tpdf > CodeGenAction.pdf
```


  Commit: f6b4c34d4f96ca705409f76b9bb48de7d2bec9bd
      https://github.com/llvm/llvm-project/commit/f6b4c34d4f96ca705409f76b9bb48de7d2bec9bd
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/socklen_t.h
    A libc/hdr/types/ssize_t.h
    A libc/hdr/types/struct_msghdr.h
    A libc/hdr/types/struct_sockaddr.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_iovec.h
    A libc/include/llvm-libc-types/struct_msghdr.h
    M libc/newhdrgen/yaml/sys/socket.yaml
    M libc/spec/posix.td
    M libc/src/sys/socket/CMakeLists.txt
    R libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/CMakeLists.txt
    R libc/src/sys/socket/linux/bind.cpp
    A libc/src/sys/socket/linux/recv.cpp
    A libc/src/sys/socket/linux/recvfrom.cpp
    A libc/src/sys/socket/linux/recvmsg.cpp
    A libc/src/sys/socket/linux/send.cpp
    A libc/src/sys/socket/linux/sendmsg.cpp
    A libc/src/sys/socket/linux/sendto.cpp
    A libc/src/sys/socket/linux/socketpair.cpp
    A libc/src/sys/socket/recv.h
    A libc/src/sys/socket/recvfrom.h
    A libc/src/sys/socket/recvmsg.h
    A libc/src/sys/socket/send.h
    A libc/src/sys/socket/sendmsg.h
    A libc/src/sys/socket/sendto.h
    A libc/src/sys/socket/socketpair.h
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    R libc/test/src/sys/socket/linux/bind_test.cpp
    A libc/test/src/sys/socket/linux/send_recv_test.cpp
    A libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
    A libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
    A libc/test/src/sys/socket/linux/socketpair_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel

  Log Message:
  -----------
  [libc] Add functions to send/recv messages (#106467)

This patch adds the necessary functions to send and receive messages
over a socket. Those functions are: recv, recvfrom, recvmsg, send,
sendto, sendmsg, and socketpair for testing.


  Commit: 221f15fc145d46289781206f241ae564cd9510f0
      https://github.com/llvm/llvm-project/commit/221f15fc145d46289781206f241ae564cd9510f0
  Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/unittests/Driver/CMakeLists.txt

  Log Message:
  -----------
  [Clang] - Add libclangSerialization to clang driver unittests (#109329)

This PR is a fix for issue
[#109328](https://github.com/llvm/llvm-project/issues/109328).
libclangSerializaton.so is needed for building clang driver unittests
after
https://github.com/llvm/llvm-project/pull/76838 was merged. Needed for
builds with `BUILD_SHARED_LIBS=ON`


  Commit: 36293eea68cae03a71389fb2e91dbc2cc0b43b4b
      https://github.com/llvm/llvm-project/commit/36293eea68cae03a71389fb2e91dbc2cc0b43b4b
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [NFC][ELF] Rename some ELFWriter methods (#109332)

More consistent casing + more accurate names.


  Commit: 13dd2fd1e0ad428331ccbb65871574f9c1e3546f
      https://github.com/llvm/llvm-project/commit/13dd2fd1e0ad428331ccbb65871574f9c1e3546f
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-types/struct_sockaddr.h
    M libc/src/sys/socket/CMakeLists.txt
    A libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/CMakeLists.txt
    A libc/src/sys/socket/linux/bind.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    A libc/test/src/sys/socket/linux/bind_test.cpp

  Log Message:
  -----------
  [libc] Put bind back, fix gcc build (#109341)

Fixes #106467.
Bind was accidentally removed while trying to clean up functions that
didn't end up being needed. The GCC issue was just a warning treated as
an error.


  Commit: 079f31c11fda00fe30e10f90fff72fa396470174
      https://github.com/llvm/llvm-project/commit/079f31c11fda00fe30e10f90fff72fa396470174
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/RISCV/half-zfa.ll

  Log Message:
  -----------
  [RISCV] Move the rest of Zfa FLI instruction handling to lowerConstantFP. (#109217)

We already moved the fneg case. This moves the rest so we can drop the
custom isel.


  Commit: 7db641af13670aa1f1ecd3106eda3ce447afd752
      https://github.com/llvm/llvm-project/commit/7db641af13670aa1f1ecd3106eda3ce447afd752
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/StmtDataCollectors.td
    M clang/lib/AST/DataCollection.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/Tooling/CommonOptionsParser.cpp
    M clang/lib/Tooling/Core/Replacement.cpp
    M clang/lib/Tooling/Refactoring/AtomicChange.cpp
    M clang/lib/Tooling/Transformer/Stencil.cpp
    M clang/unittests/Basic/SarifTest.cpp
    M clang/unittests/Frontend/TextDiagnosticTest.cpp

  Log Message:
  -----------
  [clang] Don't call raw_string_ostream::flush() (NFC)

Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered


  Commit: d2df2e41cae1413050935d6d27094569c29c473f
      https://github.com/llvm/llvm-project/commit/d2df2e41cae1413050935d6d27094569c29c473f
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    R clang/lib/Driver/ToolChains/UEFI.cpp
    R clang/lib/Driver/ToolChains/UEFI.h
    R clang/test/CodeGen/X86/uefi-data-layout.c
    R clang/test/Driver/uefi-constructed-args.c
    M clang/unittests/Driver/ToolChainTest.cpp

  Log Message:
  -----------
  Revert "[Driver] Add toolchain for X86_64 UEFI target" (#109340)

Reverts llvm/llvm-project#76838

Appears to be causing failures in MAC builders. First reverting the
patch and will investigate after.


  Commit: e2983e5ad3eecc2f614844e8580f08a675e53292
      https://github.com/llvm/llvm-project/commit/e2983e5ad3eecc2f614844e8580f08a675e53292
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d2df2e41cae1


  Commit: 0f488a0b7d3da3c736e9242e5dd110ba0322e45a
      https://github.com/llvm/llvm-project/commit/0f488a0b7d3da3c736e9242e5dd110ba0322e45a
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility.ll
    A llvm/test/Verifier/rtsan-attrs.ll

  Log Message:
  -----------
  [LLVM][rtsan] Add `sanitize_realtime_unsafe` attribute (#106754)


  Commit: fc51c7f0cc1abf1679100d71d103fe5d943f580b
      https://github.com/llvm/llvm-project/commit/fc51c7f0cc1abf1679100d71d103fe5d943f580b
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M flang/include/flang/Common/float128.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/transformational.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/Float128Math/acos.cpp
    M flang/runtime/Float128Math/acosh.cpp
    M flang/runtime/Float128Math/asin.cpp
    M flang/runtime/Float128Math/asinh.cpp
    M flang/runtime/Float128Math/atan.cpp
    M flang/runtime/Float128Math/atan2.cpp
    M flang/runtime/Float128Math/atanh.cpp
    M flang/runtime/Float128Math/ceil.cpp
    M flang/runtime/Float128Math/complex-math.c
    M flang/runtime/Float128Math/complex-math.h
    M flang/runtime/Float128Math/cos.cpp
    M flang/runtime/Float128Math/cosh.cpp
    M flang/runtime/Float128Math/erf.cpp
    M flang/runtime/Float128Math/erfc.cpp
    M flang/runtime/Float128Math/exp.cpp
    M flang/runtime/Float128Math/exponent.cpp
    M flang/runtime/Float128Math/floor.cpp
    M flang/runtime/Float128Math/fma.cpp
    M flang/runtime/Float128Math/fraction.cpp
    M flang/runtime/Float128Math/hypot.cpp
    M flang/runtime/Float128Math/j0.cpp
    M flang/runtime/Float128Math/j1.cpp
    M flang/runtime/Float128Math/jn.cpp
    M flang/runtime/Float128Math/lgamma.cpp
    M flang/runtime/Float128Math/llround.cpp
    M flang/runtime/Float128Math/log.cpp
    M flang/runtime/Float128Math/log10.cpp
    M flang/runtime/Float128Math/lround.cpp
    M flang/runtime/Float128Math/math-entries.h
    M flang/runtime/Float128Math/mod-real.cpp
    M flang/runtime/Float128Math/modulo-real.cpp
    M flang/runtime/Float128Math/nearest.cpp
    M flang/runtime/Float128Math/norm2.cpp
    M flang/runtime/Float128Math/pow.cpp
    M flang/runtime/Float128Math/random.cpp
    M flang/runtime/Float128Math/round.cpp
    M flang/runtime/Float128Math/rrspacing.cpp
    M flang/runtime/Float128Math/scale.cpp
    M flang/runtime/Float128Math/set-exponent.cpp
    M flang/runtime/Float128Math/sin.cpp
    M flang/runtime/Float128Math/sinh.cpp
    M flang/runtime/Float128Math/spacing.cpp
    M flang/runtime/Float128Math/sqrt.cpp
    M flang/runtime/Float128Math/tan.cpp
    M flang/runtime/Float128Math/tanh.cpp
    M flang/runtime/Float128Math/tgamma.cpp
    M flang/runtime/Float128Math/trunc.cpp
    M flang/runtime/Float128Math/y0.cpp
    M flang/runtime/Float128Math/y1.cpp
    M flang/runtime/Float128Math/yn.cpp
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/dot-product.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/numeric-templates.h
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/transformational.cpp
    M flang/unittests/Runtime/Numeric.cpp
    M flang/unittests/Runtime/Reduction.cpp
    M flang/unittests/Runtime/Transformational.cpp

  Log Message:
  -----------
  [flang][runtime] Disable LDBL_MANT_DIG == 113 for the offload builds. (#109339)

When compiling on aarch64 some `LDBL_MANT_DIG == 113` entries
end up trying to use `complex<long double>` for which there are
no certain specializations in `libcudacxx`. This change-set
includes a clean-up for `LDBL_MANT_DIG == 113` usage, which is replaced
with `HAS_LDBL128` that is set in `float128.h`.


  Commit: 8c02f7053a1cf0bac14e38f14d40f08db71cae10
      https://github.com/llvm/llvm-project/commit/8c02f7053a1cf0bac14e38f14d40f08db71cae10
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Add VectorToXeGPU deps (#109348)

For 02d34d800b94937c42fb7cff2db2b2836d918ac6


  Commit: b847076f55ba34374163fc8eca188fdf164a2a34
      https://github.com/llvm/llvm-project/commit/b847076f55ba34374163fc8eca188fdf164a2a34
  Author: anbbna <117081688+anbbna at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/Mips/xor-and.ll

  Log Message:
  -----------
  [Mips] Add test file for 'xor' and 'and' instructions (#106679)

Part of #99783 

This test is meant to reflect the oncoming change as this test shows the
unoptimized result with unnecessary SLLs.


  Commit: 72cacf1d992ea843522246976c91ca20b6e832f7
      https://github.com/llvm/llvm-project/commit/72cacf1d992ea843522246976c91ca20b6e832f7
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/test/CodeGen/Mips/2008-07-06-fadd64.ll

  Log Message:
  -----------
  [MIPS] Fix -msingle-float doesn't work with double on O32 (#107543)

Skip the following function 'CustomLowerNode' when the operand had done
`SoftenFloatResult`.

Fix #93052


  Commit: d5b7050d0a00e93b633ea1c5a03d2c1b4dbfaa77
      https://github.com/llvm/llvm-project/commit/d5b7050d0a00e93b633ea1c5a03d2c1b4dbfaa77
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h

  Log Message:
  -----------
  [flang] Fixed aarch64 buildbots after #109339.


  Commit: 76883932014bcce2efb57be062f901de26317707
      https://github.com/llvm/llvm-project/commit/76883932014bcce2efb57be062f901de26317707
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp

  Log Message:
  -----------
  [SandboxVec] Simple Instruction Interval class (#108882)

An InstrInterval is a range of instructions in a block. The class will
eventually have an API for set operations, like union, intersection etc.


  Commit: 594efd262519fb7508cfb44c7c65b608af1394cd
      https://github.com/llvm/llvm-project/commit/594efd262519fb7508cfb44c7c65b608af1394cd
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 76883932014b


  Commit: b3533a156da92262eb19429d8c12f53e87f5ccec
      https://github.com/llvm/llvm-project/commit/b3533a156da92262eb19429d8c12f53e87f5ccec
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    A flang/test/Driver/frecord-command-line.f90
    A flang/test/Lower/record-command-line.f90
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/Import/commandline.ll
    A mlir/test/Target/LLVMIR/commandline.mlir

  Log Message:
  -----------
  [clang][flang][mlir] Support -frecord-command-line option (#102975)

Add support for the -frecord-command-line option that will produce the
llvm.commandline metadata which will eventually be saved in the object
file. This behavior is also supported in clang. Some refactoring of the
code in flang to handle these command line options was carried out. The
corresponding -grecord-command-line option which saves the command line
in the debug information has not yet been enabled for flang.


  Commit: 72a218056d68b7aa65ab3eda56837117bb59f11a
      https://github.com/llvm/llvm-project/commit/72a218056d68b7aa65ab3eda56837117bb59f11a
  Author: Alex Rønne Petersen <alex at alexrp.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (#107664)

This adds support for:

* `muslabin32` (MIPS N32)
* `muslabi64` (MIPS N64)
* `muslf32` (LoongArch ILP32F/LP64F)
* `muslsf` (LoongArch ILP32S/LP64S)

As we start adding glibc/musl cross-compilation support for these
targets in Zig, it would make our life easier if LLVM recognized these
triples. I'm hoping this'll be uncontroversial since the same has
already been done for `musleabi`, `musleabihf`, and `muslx32`.

I intentionally left out a musl equivalent of `gnuf64` (LoongArch
ILP32D/LP64D); my understanding is that Loongson ultimately settled on
simply `gnu` for this much more common case, so there doesn't *seem* to
be a particularly compelling reason to add a `muslf64` that's basically
deprecated on arrival.

Note: I don't have commit access.


  Commit: e90a73255b4cfb3f8abc369251c8035b837e0042
      https://github.com/llvm/llvm-project/commit/e90a73255b4cfb3f8abc369251c8035b837e0042
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/docs/Dialects/Affine.md

  Log Message:
  -----------
  [mlir][docs] Fix incorrect operation name(NFC) (#109261)


  Commit: 6b8edc9f7933d59ababd34ff040fab3d16cb3e3b
      https://github.com/llvm/llvm-project/commit/6b8edc9f7933d59ababd34ff040fab3d16cb3e3b
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
    M mlir/test/IR/print-ir-nesting.mlir

  Log Message:
  -----------
  [mlir] Fix disagreement between document and test(NFC) (#109257)


  Commit: f41f6ea1f33c4f5e7c94f3d155e44292d1809c50
      https://github.com/llvm/llvm-project/commit/f41f6ea1f33c4f5e7c94f3d155e44292d1809c50
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/fmodules-embed-all-files.cpp

  Log Message:
  -----------
  [C++20] [Modules] Offer -fmodules-embed-all-files option (#107194)

See

https://discourse.llvm.org/t/rfc-modules-should-we-embed-sources-to-the-bmi/81029
for details.

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


  Commit: b5cdb039712d0c24b0d10c96b6b6d52456088f84
      https://github.com/llvm/llvm-project/commit/b5cdb039712d0c24b0d10c96b6b6d52456088f84
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp

  Log Message:
  -----------
  [Coroutines] Better optimization remarks for CoroAnnotationElide pass (#109352)


  Commit: 95d4c97a20bb46cd7ca9c5389f9ba33f1bf8f7a0
      https://github.com/llvm/llvm-project/commit/95d4c97a20bb46cd7ca9c5389f9ba33f1bf8f7a0
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/wchar_t.h
    A libc/hdr/types/wint_t.h
    A libc/hdr/wchar_macros.h
    A libc/hdr/wchar_overlay.h
    M libc/include/llvm-libc-types/wchar_t.h
    M libc/include/llvm-libc-types/wint_t.h
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/wctype_utils.h
    M libc/src/wchar/CMakeLists.txt
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/btowc.h
    M libc/src/wchar/wctob.cpp
    M libc/src/wchar/wctob.h
    M libc/test/src/wchar/btowc_test.cpp

  Log Message:
  -----------
  [libc][wchar] Move wchar's types to proxy headers. (#109334)

Also protect against extern inline function definitions added when
building with gcc: https://github.com/llvm/llvm-project/issues/60481.


  Commit: 8c3b94f420a20a45dd07f3e12d6a6d649858f452
      https://github.com/llvm/llvm-project/commit/8c3b94f420a20a45dd07f3e12d6a6d649858f452
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/test/MC/AVR/inst-rjmp.s

  Log Message:
  -----------
  [AVR][MC] Fix incorrect range of relative jumps (#109124)

'rjmp .+4094' is legal but rejected by llvm-mc since
86a60e7f1e8f361f84ccb6e656e848dd4fbaa713, and this patch fixed that
range issue.


  Commit: 3d0846bedcd18d546fd3733c93c2e144f2faab09
      https://github.com/llvm/llvm-project/commit/3d0846bedcd18d546fd3733c93c2e144f2faab09
  Author: weiwei chen <weiwei.chen at modular.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [MC] Explicitly mark MCSymbol for MO_ExternalSymbol (#108880)

- [x] Mark `MCSymbol` for `MO_ExternalSymbol` to be external when
created.


  Commit: 5326614e2f84677515c38a17cf2f30cf66deaadc
      https://github.com/llvm/llvm-project/commit/5326614e2f84677515c38a17cf2f30cf66deaadc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll

  Log Message:
  -----------
  AtomicExpand: Really allow incremental legalization (#108613)

Fix up 100d9b89947bb1d42af20010bb594fa4c02542fc. The iterator
fixes ended up defeating the point, since newly inserted blocks
were not visited. This never erases the current block, so we can
simply not preincrement the block iterator.

The AArch64 FP atomic tests now expand the cmpxchg in the second
round of legalization.


  Commit: 1bc59e55ecec984ccdc665c5bf8468d3d65ec086
      https://github.com/llvm/llvm-project/commit/1bc59e55ecec984ccdc665c5bf8468d3d65ec086
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  github: Add tablegen directories to PR autolabeler (#109129)


  Commit: 528bcf3a55ca520c31c77ed5fbacf09bff8f39ec
      https://github.com/llvm/llvm-project/commit/528bcf3a55ca520c31c77ed5fbacf09bff8f39ec
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll

  Log Message:
  -----------
  AMDGPU: Restore deleted test checks from test

These were accidentally removed in 758444ca3e7163a1504eeced3383af861d01d761


  Commit: dab3c6d39458fcc0607c678263132d7ca184cddd
      https://github.com/llvm/llvm-project/commit/dab3c6d39458fcc0607c678263132d7ca184cddd
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/examples/Attribute/CMakeLists.txt

  Log Message:
  -----------
  [Clang] Change Attribute plugin to link clang-cpp like other examples (#109319)

Change the Attribute example plugin to use clang_target_link_libraries
instead of target_link_libraries so libclang-cpp is linked when the
CLANG_LINK_CLANG_DYLIB CMake option is used.
This change will allow building the plugin on windows when building llvm
and clang as a shared library with explicit visibility macros enabled.


  Commit: 5b17f85a7d722439a39f1ac1c554aed7858adab4
      https://github.com/llvm/llvm-project/commit/5b17f85a7d722439a39f1ac1c554aed7858adab4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/Register.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/MC/MCRegister.h

  Log Message:
  -----------
  [CodeGen][MC] Improve DenseMapInfo for Register/MCRegister.

Make getEmptyKey() and getTombstoneKey() return a
Register/MCRegister instead of `unsigned`. Use operator==
isEqual.


  Commit: 4f0187d1442273ac54ac11acbbd3b4e1c02008d8
      https://github.com/llvm/llvm-project/commit/4f0187d1442273ac54ac11acbbd3b4e1c02008d8
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libcxx/src/include/config_elast.h

  Log Message:
  -----------
  [libcxx] No _LIBCPP_ELAST needed for LLVM libc (#108739)

LLVM libc can handle out-of-range errno values.


  Commit: e8a739062490ce1bb30974f216ba187cd7b5a2a4
      https://github.com/llvm/llvm-project/commit/e8a739062490ce1bb30974f216ba187cd7b5a2a4
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/basic.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir] [LLVM IR] Introduce VaArgOp (#109260)

I find there is no LLVMOp corresponding to LLVM's [va_arg
instruction](https://llvm.org/docs/LangRef.html#va-arg-instruction) so I
tried to add one. This is helpful for clangir
(https://github.com/llvm/clangir/pull/865).

New to MLIR and not sure who are the appropriate reviewers. Appreciated
in ahead for reviewing and triaging.


  Commit: b0e68a9a53e6bc1396271ee3d79cb86c8049fe17
      https://github.com/llvm/llvm-project/commit/b0e68a9a53e6bc1396271ee3d79cb86c8049fe17
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/test/CodeGen/ptrauth-init-fini.c

  Log Message:
  -----------
  [PAC][clang] Use cc1 instead of driver in init-fini codegen test (#109247)


  Commit: d2d78e584b7489066772638d1c48db9d61f5a3f7
      https://github.com/llvm/llvm-project/commit/d2d78e584b7489066772638d1c48db9d61f5a3f7
  Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    A llvm/include/llvm/CodeGen/MachineLICM.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
    M llvm/test/CodeGen/AArch64/sme-machine-licm-vg.mir
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/licm-valu.mir
    M llvm/test/CodeGen/AMDGPU/machinelicm-convergent.mir
    M llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
    M llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir
    M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessNoProfileData.mir
    M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessProfileData.mir
    M llvm/test/CodeGen/PowerPC/machinelicm-cse-dead-flag.mir
    M llvm/test/CodeGen/X86/machine-licm-vs-wineh.mir
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir

  Log Message:
  -----------
  [NewPM][CodeGen] Port MachineLICM to NPM (#107376)


  Commit: 5e7810882c8b58431358cd8da3a329a3c505de2c
      https://github.com/llvm/llvm-project/commit/5e7810882c8b58431358cd8da3a329a3c505de2c
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M libcxx/src/support/runtime/exception_fallback.ipp
    M libcxx/src/support/runtime/exception_msvc.ipp
    M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp

  Log Message:
  -----------
  [libcxx] Use __libcpp_verbose_abort for error messages (#108873)

Rather than using the following sequence of calls:

```
fprintf(stderr, "...");
::abort();
```

We should use the following:

```
__libcpp_verbose_abort("...")
```

This simplifies the code and ensures the behavior is consistent across
all call sites.


  Commit: 173841cc56a12410e6ca7e4a37151d7057c6d20f
      https://github.com/llvm/llvm-project/commit/173841cc56a12410e6ca7e4a37151d7057c6d20f
  Author: braw-lee <93831198+braw-lee at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [TLI] Add basic support for fdim libcall (#108702)

first PR to fix #108695

Signed-off-by: Kushal Pal <kushalpal109 at gmail.com>


  Commit: ea578804c81bbad1f31a0c940c8f4378d6893ede
      https://github.com/llvm/llvm-project/commit/ea578804c81bbad1f31a0c940c8f4378d6893ede
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/unittests/AST/CMakeLists.txt
    A clang/unittests/AST/RawCommentForDeclTest.cpp

  Log Message:
  -----------
  [AST] Ensure getRawCommentsForAnyRedecl() does not miss any redecl with a comment (#108475)

The previous implementation had a bug where, if it was called on a Decl
later in the redecl chain than `LastCheckedDecl`, it could incorrectly
skip and overlook a Decl with a comment.
    
The patch addresses this by only using `LastCheckedDecl` if the input
Decl `D` is on the path from the first (canonical) Decl to
`LastCheckedDecl`.
    
An alternative that was considered was to start the iteration from the
(canonical) Decl, however this ran into problems with the modelling of
explicit template specializations in the AST where the canonical Decl
can be unusual. With the current solution, if no Decls were checked yet,
we prefer to check the input Decl over the canonical one.

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


  Commit: f9bd08382a4ad84c06e0b572d3b7fc3ecdb81898
      https://github.com/llvm/llvm-project/commit/f9bd08382a4ad84c06e0b572d3b7fc3ecdb81898
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll

  Log Message:
  -----------
  AMDGPU: Explicitly disable verifier in failing tests

This should fix expensive_checks failures.

These now hit a new verifier error. The first test is explicitly
testing the failing case produces an error, so it should skip
the verifier. The unsupported call tests should also error (although
it would be better if it errored via a different path).


  Commit: 1e131ddfa8f1d7b18c85c6e4079458be8b419421
      https://github.com/llvm/llvm-project/commit/1e131ddfa8f1d7b18c85c6e4079458be8b419421
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBExecutionContext.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/Target.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/ScriptInterpreterPythonInterfaces.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    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/ScriptedStopHookPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    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/Target.cpp
    M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb/Interpreter] Introduce `ScriptedStopHook{,Python}Interface` & make use of it (#105449)

This patch introduces new `ScriptedStopHook{,Python}Interface` classes
that make use of the Scripted Interface infrastructure and makes use of
it in `StopHookScripted`.

It also relax the requirement on the number of argument for initializing
scripting extension if the size of the interface parameter pack contains
1 less element than the extension maximum number of positional arguments
for this initializer.
This addresses the cases where the embedded interpreter session
dictionary is passed to the extension initializer which is not used most
of the time.

---------

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


  Commit: 2c6e5ef6873e9c80190beb62c625e16802c9901d
      https://github.com/llvm/llvm-project/commit/2c6e5ef6873e9c80190beb62c625e16802c9901d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml

  Log Message:
  -----------
  TLI: Fix test after "Add basic support for fdim libcall"


  Commit: 92da37b08f95844576c5d5502712bab0961e2f27
      https://github.com/llvm/llvm-project/commit/92da37b08f95844576c5d5502712bab0961e2f27
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Object/XCOFFObjectFile.h
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Object/XCOFFObjectFile.cpp

  Log Message:
  -----------
  [Object][NFC] Add extern template declarations needed by llvm-objdump (#109156)

These symbols are implicitly imported from the LLVM shared library by
llvm-objdump on ELF like platforms, but for windows they need to be
explicitly exported when LLVM is built as shared library.
I also add visibility macros for XCOFFObjectFile::getExceptionEntries
that can't automatically be added by clang tooling since it doesn't
store the source locations for explicit function template
instantiations.


  Commit: 6611efdf76f6a5355eed05f49d4ec324a224b281
      https://github.com/llvm/llvm-project/commit/6611efdf76f6a5355eed05f49d4ec324a224b281
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

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

  Log Message:
  -----------
  [X86] Use X86AS::GS and X86AS::FS instead of 256 and 257. NFC (#109342)


  Commit: ce47e57161fdb51f1eb99b5ca75bcbde2a5c7b03
      https://github.com/llvm/llvm-project/commit/ce47e57161fdb51f1eb99b5ca75bcbde2a5c7b03
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ea578804c81b


  Commit: 400b725c2740ee29560bac9ad870b4ddb56bf3f2
      https://github.com/llvm/llvm-project/commit/400b725c2740ee29560bac9ad870b4ddb56bf3f2
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
    M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
    M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-trig-log-exp.ll
    M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
    M llvm/test/Analysis/CostModel/RISCV/int-min-max.ll
    M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-add.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
    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-or.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-xor.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-transpose.ll

  Log Message:
  -----------
  [RISCV] Remove -riscv-v-vector-bits-min from cost model tests. NFC

It looks like they were added to prevent fixed length vectors from
being expanded, but that's no longer the case today:
https://reviews.llvm.org/D121447#3376520


  Commit: 96ae7c4f1aa02cb10455dda22abbb0b3b2ceaa6b
      https://github.com/llvm/llvm-project/commit/96ae7c4f1aa02cb10455dda22abbb0b3b2ceaa6b
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/test/Interpreter/multiline.cpp
    M clang/tools/clang-repl/ClangRepl.cpp

  Log Message:
  -----------
  [clang-repl] Implement continuation for preprocessor directives. (#107552)


  Commit: f322f4a55e8a60b996a0a9f0b3fe924c7af2cb1b
      https://github.com/llvm/llvm-project/commit/f322f4a55e8a60b996a0a9f0b3fe924c7af2cb1b
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [sanitizer_common] Provide dummy ThreadDescriptorSize on Solaris (#109285)

Since 2c69a09bee94acca859a1adf5b04d01dc13f7295, the Solaris build is
broken like
```
Undefined			first referenced
 symbol  			    in file
_ZN11__sanitizer20ThreadDescriptorSizeEv projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.i386.dir/sanitizer_linux_libcdep.cpp.o
```
The `ThreadDescriptorSize` reference is from
`sanitizer_linux_libcdep.cpp` (`GetTls`), l.590. This isn't actually
needed on non-glibc targets AFAICS, so this patch provides a dummy to
restore the build.

Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and
`x86_64-pc-linux-gnu`.


  Commit: 9e7315912656628b606e884e39cdeb261b476f16
      https://github.com/llvm/llvm-project/commit/9e7315912656628b606e884e39cdeb261b476f16
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [NFC][EarlyIfConverter] Replace boolean Predicate for a class (#108519)

Currently SSAIfConv is used in 2 scenarios. Generalize them to support
more scenarios.


  Commit: 3c83102f0615c7d66f6df698ca472ddbf0e9483d
      https://github.com/llvm/llvm-project/commit/3c83102f0615c7d66f6df698ca472ddbf0e9483d
  Author: Juan Manuel Martinez Caamaño <juamarti at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [NFC][EarlyIfConverter] Remove unused member variables


  Commit: eaeb1fbcc05e15728f5fc96f08da3bcd24b0fc73
      https://github.com/llvm/llvm-project/commit/eaeb1fbcc05e15728f5fc96f08da3bcd24b0fc73
  Author: David Green <david.green at arm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [AArch64] Cleanup and extend arm64-fp128.ll. NFC

This rewrites the existing tests that load from globals to a more modern style,
and adds vector and GIsel test coverage.


  Commit: 0f235573de6386260afcd8fa144d24366927288c
      https://github.com/llvm/llvm-project/commit/0f235573de6386260afcd8fa144d24366927288c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/pr29222.ll
    M llvm/test/CodeGen/X86/shuffle-half.ll

  Log Message:
  -----------
  [X86] Fold broadcast(scalar) -> scalar_to_vector(scalar) if only the lowest element is demanded.


  Commit: 9a32f28366b1099b0f5214e62473c0a2a2155434
      https://github.com/llvm/llvm-project/commit/9a32f28366b1099b0f5214e62473c0a2a2155434
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix a problem with array size limits (#109383)

Descriptor::MaxArrayElemBytes is an unsigned value, which might overflow
the SizeT we have in CheckArraySize.


  Commit: 1ed65febd996eaa018164e880c87a9e9afc6f68d
      https://github.com/llvm/llvm-project/commit/1ed65febd996eaa018164e880c87a9e9afc6f68d
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    A clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
    M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    A llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CMakeLists.txt
    M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
    M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
    M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
    M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
    M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
    M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
    M llvm/test/CodeGen/SPIRV/lit.local.cfg
    M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
    R llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.cond-op.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.do.break.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.do.continue.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.do.nested.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.for.break.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.for.continue.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.for.nested.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.for.plain.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.if.const-cond.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.if.for.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.if.nested.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.if.plain.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.logical-and.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.logical-or.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.simple.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.return.void.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.literal.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.simple.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.while.break.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.while.continue.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.while.nested.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.while.plain.ll
    A llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
    A llvm/test/CodeGen/SPIRV/structurizer/condition-linear.ll
    A llvm/test/CodeGen/SPIRV/structurizer/do-break.ll
    A llvm/test/CodeGen/SPIRV/structurizer/do-continue.ll
    A llvm/test/CodeGen/SPIRV/structurizer/do-nested.ll
    A llvm/test/CodeGen/SPIRV/structurizer/do-plain.ll
    A llvm/test/CodeGen/SPIRV/structurizer/logical-or.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
    A llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Add SPIR-V structurizer (#107408)

This commit adds an initial SPIR-V structurizer.
It leverages the previously merged passes, and the convergence region
analysis to determine the correct merge and continue blocks for SPIR-V.

The first part does a branch cleanup (simplifying switches, and
legalizing them), then merge instructions are added to cycles,
convergent and later divergent blocks.
Then comes the important part: splitting critical edges, and making sure
the divergent construct boundaries don't cross.

- we split blocks with multiple headers into 2 blocks.
- we split blocks that are a merge blocks for 2 or more constructs:
SPIR-V spec disallow a merge block to be shared by 2
loop/switch/condition construct.
- we split merge & continue blocks: SPIR-V spec disallow a basic block
to be both a continue block, and a merge block.
- we remove superfluous headers: when a header doesn't bring more info
than the parent on the divergence state, it must be removed.

This PR leverages the merged SPIR-V simulator for testing, as long as
spirv-val. For now, most DXC structurization tests are passing. The
unsupported ones are either caused by unsupported features like switches
on boolean types, or switches in region exits, because the MergeExit
pass doesn't support those yet (there is a FIXME).

This PR is quite large, and the addition not trivial, so I tried to keep
it simple. E.G: as soon as the CFG changes, I recompute the dominator
trees and other structures instead of updating them.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 2da70572a2564c4250534efd9399a751cde1e962
      https://github.com/llvm/llvm-project/commit/2da70572a2564c4250534efd9399a751cde1e962
  Author: David Green <david.green at arm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [AArch64][GISel] Scalarize fp128 fadd/fsub/fmul/etc.

Like other fp128/i128 vectors, we scalarize these operations to allow them to
be libcalled.


  Commit: 76b827bb4d5b4cc4d3229c4c6de2529e8b156810
      https://github.com/llvm/llvm-project/commit/76b827bb4d5b4cc4d3229c4c6de2529e8b156810
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb] Fix SWIG wrapper compilation error

Introduced by 1e131ddfa8f1d7b18c85c6e4079458be8b419421.

https://lab.llvm.org/buildbot/#/builders/59/builds/5272


  Commit: e6eb94d3982cc55b16f62a17177dab7da46ae0f0
      https://github.com/llvm/llvm-project/commit/e6eb94d3982cc55b16f62a17177dab7da46ae0f0
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add missing verifier check for `tosa.reshape` (#109301)

This PR adds a missing verifier check for `tosa.reshape`, ensuring that
the number of elements in `new_shape` matches the number of elements in
the input tensor. Fixes #108151 and fixes #107969.


  Commit: 413b12a5aba09f136c51923fe568c7269ef93c35
      https://github.com/llvm/llvm-project/commit/413b12a5aba09f136c51923fe568c7269ef93c35
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll

  Log Message:
  -----------
  [LV] Add additional tests for UDiv expansion.

Additional tests for https://github.com/llvm/llvm-project/issues/89958,
following discussion at https://github.com/llvm/llvm-project/pull/92177.


  Commit: 801046e3303eed43bffebb84e9e505cc19cad5c0
      https://github.com/llvm/llvm-project/commit/801046e3303eed43bffebb84e9e505cc19cad5c0
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBExecutionContext.h
    R lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/Target.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/ScriptInterpreterPythonInterfaces.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    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/ScriptedStopHookPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    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/Target.cpp
    M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  Revert "[lldb] Fix SWIG wrapper compilation error"

...and "[lldb/Interpreter] Introduce `ScriptedStopHook{,Python}Interface` & make use of it (#105449)"

This reverts commit 76b827bb4d5b4cc4d3229c4c6de2529e8b156810, and commit 1e131ddfa8f1d7b18c85c6e4079458be8b419421
because the first commit caused the test command-stop-hook-output.test to fail.


  Commit: 37e5319a12ba47c18049728804d3d1e1b10c4eb4
      https://github.com/llvm/llvm-project/commit/37e5319a12ba47c18049728804d3d1e1b10c4eb4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/ADT/APSIntTest.cpp
    M llvm/unittests/ADT/StringExtrasTest.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
    M llvm/unittests/IR/MetadataTest.cpp
    M llvm/unittests/Support/DivisionByConstantTest.cpp

  Log Message:
  -----------
  [UnitTests] Fix APInt signed flags (NFC)

This makes unit tests compatible with the assertion added in
https://github.com/llvm/llvm-project/pull/106524, by setting the
isSigned flag to the correct value or changing how the value is
constructed.


  Commit: a861ed411a359b7cb2b58d642e4a7f2fdcf92057
      https://github.com/llvm/llvm-project/commit/a861ed411a359b7cb2b58d642e4a7f2fdcf92057
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/blend-in-header.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
    M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
    M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
    M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
    M llvm/test/Transforms/LoopVectorize/vector-geps.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll

  Log Message:
  -----------
  [VPlan] Add initial loop-invariant code motion transform. (#107894)

Add initial transform to move out loop-invariant recipes.

This also helps to fix a divergence between legacy and VPlan-based cost
model due to legacy using ScalarEvolution::isLoopInvariant in some
cases.

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

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


  Commit: af4dcbbfe6c7b2c7390a202580e0d2093d2aeb49
      https://github.com/llvm/llvm-project/commit/af4dcbbfe6c7b2c7390a202580e0d2093d2aeb49
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/invalid.mlir

  Log Message:
  -----------
  [mlir][affine] Verify `map` of affineMaxMinOp has at least one result (#108699)

This PR fixes a bug in `verifyAffineMinMaxOp` that allowed `map` of
`affine.max` and `affine.min` to have an empty result. Fixes #108368.


  Commit: e5717fb61d844895d4ca88659646d04ac749bc82
      https://github.com/llvm/llvm-project/commit/e5717fb61d844895d4ca88659646d04ac749bc82
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/wasm_simd128.h
    M clang/test/CodeGen/builtins-wasm.c

  Log Message:
  -----------
  [clang][wasm] Replace the target iminmax intrinsics with the equivalent generic `__builtin_elementwise_min/max` intrinsics (#109259)

Noticed while working on #109160


  Commit: 2c90eb990af176f2b57baecd2920481243845bb9
      https://github.com/llvm/llvm-project/commit/2c90eb990af176f2b57baecd2920481243845bb9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/wasm_simd128.h
    M clang/test/CodeGen/builtins-wasm.c

  Log Message:
  -----------
  [clang][wasm] Replace the target integer add saturate intrinsics with the equivalent generic `__builtin_elementwise_add_sat` intrinsics (#109269)

Noticed while working on #109160

I've left out the sub_sat intrinsics for now - not sure about the history behind them using Intrinsic::wasm_sub_sat_* instead of Intrinsic::*sub_sat


  Commit: 8a36eb83e5309ca14ffa0f9b567206bab7506f94
      https://github.com/llvm/llvm-project/commit/8a36eb83e5309ca14ffa0f9b567206bab7506f94
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change AsmMatcherEmitter to use const RecordKeeper (#109174)

Change AsmMatcherEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: b594b93024bbe24bddbcc0e54cb5551e0df642cf
      https://github.com/llvm/llvm-project/commit/b594b93024bbe24bddbcc0e54cb5551e0df642cf
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [LLVM][TableGen] Change DisassemblerEmitter to use const RecordKeeper (#109177)

Change DisassemblerEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: d109636c2ee55f872e846ce11e0e1882382703c1
      https://github.com/llvm/llvm-project/commit/d109636c2ee55f872e846ce11e0e1882382703c1
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change GISelCombinerEmitter to use const RecordKeeper (#109187)

Change GISelCombinerEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 2b01452c208877e20043c0a643c89bc10be5ca4d
      https://github.com/llvm/llvm-project/commit/2b01452c208877e20043c0a643c89bc10be5ca4d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Use const Record pointers in PredicateExpander (#109365)

Use const Record pointers in PredicateExpander.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 708567ab0b585be90f1378ed15b55c31813d23c8
      https://github.com/llvm/llvm-project/commit/708567ab0b585be90f1378ed15b55c31813d23c8
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
    M llvm/utils/TableGen/Common/DAGISelMatcher.h
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Adopt `indent` for indentation (#109275)

Adopt `indent` for indentation DAGISelMatcher and DecoderEmitter.


  Commit: 737c414e1d9578e5037e68e3b3f6ddea507f8243
      https://github.com/llvm/llvm-project/commit/737c414e1d9578e5037e68e3b3f6ddea507f8243
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    R flang/test/Driver/frecord-command-line.f90
    R flang/test/Lower/record-command-line.f90
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    R mlir/test/Target/LLVMIR/Import/commandline.ll
    R mlir/test/Target/LLVMIR/commandline.mlir

  Log Message:
  -----------
  Revert "[clang][flang][mlir] Support -frecord-command-line option (#102975)"

This reverts commit b3533a156da92262eb19429d8c12f53e87f5ccec.

It caused test failures in shared library builds:
https://lab.llvm.org/buildbot/#/builders/80/builds/3854


  Commit: 766ec7d50f207b7e17f23b16bdf4fca1cdc8dd23
      https://github.com/llvm/llvm-project/commit/766ec7d50f207b7e17f23b16bdf4fca1cdc8dd23
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Silence warning with Clang 19.1.0 on Windows

This fixes:
```
[1832/3777] Building CXX object
lib\SandboxIR\CMakeFiles\LLVMSandboxIR.dir\SandboxIR.cpp.obj
In file included from
C:\src\git\llvm-project\llvm\lib\SandboxIR\SandboxIR.cpp:9:
C:\src\git\llvm-project\llvm\include\llvm/SandboxIR/SandboxIR.h(4400,16):
warning: unqualified friend declaration referring to type outside of the
nearest enclosing namespace is a Microsoft extension; add a nested name
specifier [-Wmicrosoft-unqualified-friend]
 4400 |   friend class TargetExtType; // For LLVMCtx.
       |                ^
             |                ::llvm::
	     1 warning generated.
```


  Commit: d6f91200fe95dbf30a091af3ba039a817e7ddf14
      https://github.com/llvm/llvm-project/commit/d6f91200fe95dbf30a091af3ba039a817e7ddf14
  Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    M llvm/lib/Support/FileCollector.cpp

  Log Message:
  -----------
  Revert "[SystemZ][z/OS] Propagate IsText flag continuation"

This reverts commit 3b3accb598ec87a6a30b0e18ded06071030bb78f.


  Commit: efdb3ae23247850d3886e3708400f0d991ed59e1
      https://github.com/llvm/llvm-project/commit/efdb3ae23247850d3886e3708400f0d991ed59e1
  Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/FS.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
    M clang-tools-extra/clangd/unittests/ClangdTests.cpp
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/unittests/Driver/DistroTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M lldb/unittests/Host/FileSystemTest.cpp
    M lldb/unittests/Utility/MockSymlinkFileSystem.h
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/include/llvm/Support/VirtualFileSystem.h
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/FileCollector.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/unittests/Support/VirtualFileSystemTest.cpp

  Log Message:
  -----------
  Revert "[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)"

This reverts commit edf3b277a5f2ebe144827ed47463c22743cac5f9.


  Commit: 3127b659fad358b135721bd937fead49e5c73de5
      https://github.com/llvm/llvm-project/commit/3127b659fad358b135721bd937fead49e5c73de5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/add.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/cond-using-block-value.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll

  Log Message:
  -----------
  [CVP] Infer range return attribute (#99620)

We already infer this in IPSCCP (which runs very early, so cannot
benefit from inlining and simplifications) and SCCP (which runs without
PredicateInfo, so does not use assumes). Do it in CVP as well, so it can
handle cases that IPSCCP/SCCP can't.

Fixes https://github.com/llvm/llvm-project/issues/98946 (everything
apart from f2, where the assume is dropped by the frontend).


  Commit: cee0bf962648cf69a07e58dd8b02977d2a7e6007
      https://github.com/llvm/llvm-project/commit/cee0bf962648cf69a07e58dd8b02977d2a7e6007
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Use Lo_32 and Hi_32 helpers (NFC) (#109413)


  Commit: 3bcffe5ccc694d7c40f4bc84bd9ced1cc0e30d5c
      https://github.com/llvm/llvm-project/commit/3bcffe5ccc694d7c40f4bc84bd9ced1cc0e30d5c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [X86] Fix MSVC implicit shift extension warning.


  Commit: 73b8074e68e4b01bd7cb0dd2372af5adc2e89231
      https://github.com/llvm/llvm-project/commit/73b8074e68e4b01bd7cb0dd2372af5adc2e89231
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Do not use APInt for simple 64-bit arithmetic. NFC. (#109414)


  Commit: 1808fc13c83c0bffb7e61adf1bb26a3097bc3c81
      https://github.com/llvm/llvm-project/commit/1808fc13c83c0bffb7e61adf1bb26a3097bc3c81
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll

  Log Message:
  -----------
  [AArch64][InstCombine] Bail from combining SRAD on +/-1 divisor (#109274)

This fixes a crash when svdiv's third parameter is svdup_s64(1)


  Commit: 2f50b280dc8e995ef67ad31a5f71adc4c270890d
      https://github.com/llvm/llvm-project/commit/2f50b280dc8e995ef67ad31a5f71adc4c270890d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/examples/IRTransforms/SimplifyCFG.cpp
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [DebugInfo] Enable deprecation of iterator-insertion methods (#102608)

This is an almost-final step in eliminating debug-intrinsics -- read more
about that here: https://llvm.org/docs/RemoveDIsDebugInfo.html . To
correctly update variable location information in the background when
inserting instructions, we need some information carried at runtime in
BasicBlock::iterator, hence deprecating pointer-insertion.
                                                                                                                                                                                                                 An immediate fix for any deprecation warnings is to call "getIterator"
on the insertion position pointer. If you intend on inserting at the start
of a block, use BB->begin() or similar methods to fetch the appropriate
iterator.


  Commit: c3371a675750b3869354a490aad045c7dcef6891
      https://github.com/llvm/llvm-project/commit/c3371a675750b3869354a490aad045c7dcef6891
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [ADT][NFC] Style and nit fixes in SmallSet (#108582)


  Commit: 03635b3215180f71c81a2ec61008e27f84b09aad
      https://github.com/llvm/llvm-project/commit/03635b3215180f71c81a2ec61008e27f84b09aad
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp

  Log Message:
  -----------
  [rtsan][compiler-rt] Add 64 bit file interceptors, test for _FILE_OFFSET_BITS (#108057)

>From #107988 

We were not intercepting the 64 bit versions of these calls, leading to
tests failing when _FILE_OFFSET_BITS = 64.


  Commit: da36603148baf37d3625aa030b4c05bf5785cae2
      https://github.com/llvm/llvm-project/commit/da36603148baf37d3625aa030b4c05bf5785cae2
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/ext_vector_casts.c

  Log Message:
  -----------
  [Clang] prevented assertion failure by handling integral to boolean conversions for boolean vectors (#108657)

Fixes #108326


  Commit: 42b696d7b9942fdf07d65267da40ab178464adaa
      https://github.com/llvm/llvm-project/commit/42b696d7b9942fdf07d65267da40ab178464adaa
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  [libc][bazel] Enable software prefetching for memcpy (#108939)

This will affect only Bazel configuration for now.


  Commit: 28646d0cc12a01b0de2e4eb982cb91590bc2f84a
      https://github.com/llvm/llvm-project/commit/28646d0cc12a01b0de2e4eb982cb91590bc2f84a
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    A llvm/test/MC/ELF/debug-loc-label.s

  Log Message:
  -----------
  [MC] Add .loc_label instruction (#99710)

As discussed in [the
RFC](https://discourse.llvm.org/t/rfc-extending-llvm-mc-loc-directive-with-labeling-support/79608)
we need a way to create labels in the assembler-generated line section
in order to support the future addition of the
[DW_AT_LLVM_stmt_sequence](https://discourse.llvm.org/t/rfc-new-dwarf-attribute-for-symbolication-of-merged-functions/79434)
attribute.

We have a similar precedent for such behavior with the
[.cfi_label](https://github.com/llvm/llvm-project/pull/97922)
instruction - so we add the `.loc_label THE_LABEL_NAME` instruction
which:
- Terminates the current line sequence in the line section
- Creates a new label with the specified label name in the `.debug_line`
section


  Commit: c320df4a2c9d7be10caea9a423d2bfbdcaae6a39
      https://github.com/llvm/llvm-project/commit/c320df4a2c9d7be10caea9a423d2bfbdcaae6a39
  Author: Michal Rostecki <vadorovsky at protonmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  [LLVM-C] Add bindings to `Instruction::getDbgRecordRange()` (#107802)

Since the migration from `@llvm.dbg.value` intrinsic to `#dbg_value`
records, there is no way to retrieve the debug records for an
`Instruction` in LLVM-C API.

Previously, with debug info intrinsics, retrieving debug info for an
`Instruction` could be done with `LLVMGetNextInstructions`, because the
intrinsic call was also an instruction.

However, to be able to retrieve debug info with the current LLVM, where
debug records are used, the `getDbgRecordRange()` iterator needs to be
exposed.

Add new functions for DbgRecord sequence traversal:
  LLVMGetFirstDbgRecord
  LLVMGetLastDbgRecord
  LLVMGetNextDbgRecord
  LLVMGetPreviousDbgRecord

See llvm/docs/RemoveDIsDebugInfo.md and release notes.


  Commit: ef44e4659878f256a46476efcf0398f3dd510f54
      https://github.com/llvm/llvm-project/commit/ef44e4659878f256a46476efcf0398f3dd510f54
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M libcxx/include/__algorithm/comp.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__type_traits/desugars_to.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/src/algorithm.cpp

  Log Message:
  -----------
  Revert "[libc++] Simplify the implementation of std::sort a bit (#104902)"

This reverts commit d4ffccfce103b01401b8a9222e373f2d404f8439, which
caused a performance regression that needs to be investigated further.


  Commit: 57b12e8fbc9bb29ebe8f9d2a0f2c5085b38c2454
      https://github.com/llvm/llvm-project/commit/57b12e8fbc9bb29ebe8f9d2a0f2c5085b38c2454
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [clangd] Improve robustness when clang-tidy check names contain leading spaces. (#109421)

The current logic assumes that check names do not have leading spaces.

In cases like "-*, clang-diagnostic*", when processing the second check
" clang-diagnostics-*" (with a leading space), the check fails on
`CDPrefix.starts_with(Check)`, resulting in all diagnostics remaining
disabled.


  Commit: 9c5ad62e7440423fbcd2d84c8f0347a5f000400e
      https://github.com/llvm/llvm-project/commit/9c5ad62e7440423fbcd2d84c8f0347a5f000400e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    R llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerLowering.cpp
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVCombine.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/gisel-commandline-option.ll

  Log Message:
  -----------
  Revert "[RISCV][GISEL] Introduce the RISCVPostLegalizerLowering pass (#108991)"

This reverts commit 64972834c193632cbc47e54c0f0c721636b077e6.

Based on the discussions in #108991 that happened post merge, we have decided
to remove this pass in favor of generating `RISCV::G_*` opcodes in the legalizer.

We may reconsider moving that code elsewhere in the future so that we can do
a better job during generic combines. We don't feel that doing it in instruciton
selection is the right decision today. Firstly, it requires us to manually
do regbankselect on the newly introduced instructions. Secondly, it is more
difficult to test since the test output will contain whatever `RISCV::G_*`
instructions select to (instead of `RISCV::G_*`).

My personal opinion is that the legalizer pass can be split into an early
legalizer and a late legalizer, both before regbankselect. The first legalizer
would not introduce target specific generic opcodes and the generic combiner
would run after it. The second legalizer would introduce the target specific
generic opcodes. I think this approach is better than the lowerer because the
legalizer guarantees that whatever we lower to is legal, and apparently because
it is more performant at compared to the lowerer (although, I'm not sure how
true this is).


  Commit: 1553714b0093a8ef907faf3b3145c224caa7364a
      https://github.com/llvm/llvm-project/commit/1553714b0093a8ef907faf3b3145c224caa7364a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)"

This reverts commit 104b249c236578d298384416c495ff7310b97f4d because
it has caused 2 test failures on Windows:
https://lab.llvm.org/buildbot/#/builders/141/builds/2544

Failed Tests (2):
  lldb-api :: functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
  lldb-unit :: Utility/./UtilityTests.exe/StatusTest/ErrorWin32

I reckon the cause is the same, that we construct an error with the Win32
NO_ERROR value which means there was no error but we're assuming anything
with an error code is a failure.


  Commit: 4eb98384099cbd1d901d8ef6a210af95d9c36adf
      https://github.com/llvm/llvm-project/commit/4eb98384099cbd1d901d8ef6a210af95d9c36adf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
    M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [VPlan] Generalize VPValue::isDefinedOutsideLoopRegions.

Update isDefinedOutsideLoopRegions to check if a recipe is defined
outside any region. Split off already approved
https://github.com/llvm/llvm-project/pull/95842 now that this can be
tested separately after landing VPlan-based LICM
https://github.com/llvm/llvm-project/issues/107501


  Commit: 86ce8e4504c06ecc3cc42f002ad4eb05cac10925
      https://github.com/llvm/llvm-project/commit/86ce8e4504c06ecc3cc42f002ad4eb05cac10925
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [RISCV][TTI] Fix potential crash of using dyn_cast() in getIntrinsicInstrCost() NFC. (#109379)

This patch fix the potential crash about using dyn_cast in `vp_cmp`
which is same as #109313.

Check if the IntrinsicCostAttrubute contains underlying instruction
first and cast to the VPCmpIntrinsic.


  Commit: d0a7cb709eb282bb1e26d373a1cae97ae3d9372a
      https://github.com/llvm/llvm-project/commit/d0a7cb709eb282bb1e26d373a1cae97ae3d9372a
  Author: Umang Yadav <29876643+umangyadav at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp
    M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp

  Log Message:
  -----------
  [ROCDL] Pass `amd_code_object_version` when serializing ROCDL gpu module (#108874)

This PR adds ability to pass non-default value to
`.amdhsa_code_object_version` metadata when serializing ROCDL GPU
modules.

It also fixes typos in two places.

---------

Co-authored-by: Fabian Mora <fmora.dev at gmail.com>


  Commit: 9f8f1d9890fcbae96b92fa0bee5a6f9e1f953ebd
      https://github.com/llvm/llvm-project/commit/9f8f1d9890fcbae96b92fa0bee5a6f9e1f953ebd
  Author: Umang Yadav <29876643+umangyadav at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/RocmRuntimeWrappers.cpp
    M mlir/test/Conversion/GPUCommon/lower-memset-to-gpu-runtime-calls.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU] Add ability to do 16-bit Memset with HIP APIs (#108587)

CC: @krzysz00  @manupak


  Commit: 69dbf468bf0beb87e2a8d9f9f597296d642028d6
      https://github.com/llvm/llvm-project/commit/69dbf468bf0beb87e2a8d9f9f597296d642028d6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaObjC.h
    M clang/lib/Sema/SemaDeclObjC.cpp

  Log Message:
  -----------
  [Sema] Avoid repeated hash lookups (NFC) (#109375)

GlobalMethodPool, the type of MethodPool, is a type wrapping DenseMap
and exposes only a subset of the DenseMap methods.

This patch adds operator[] to GlobalMethodPool so that we can avoid
repeated hash lookups.  I don't bother using references or rvalue
references in operator[] because Selector, the key type, is small and
trivially copyable.  Note that Selector is a class that wraps a
PointerUnion.


  Commit: 78768c52a0e5d9915ee75a190b07114c174ff8cb
      https://github.com/llvm/llvm-project/commit/78768c52a0e5d9915ee75a190b07114c174ff8cb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-move/HelperDeclRefGraph.cpp

  Log Message:
  -----------
  [clang-move] Avoid repeated hash lookups (NFC) (#109374)


  Commit: 7365b1c7bb670d83b66e97628ccfc070c1abed94
      https://github.com/llvm/llvm-project/commit/7365b1c7bb670d83b66e97628ccfc070c1abed94
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [TableGen] Eliminate use of `convertInitializerTo` in SearchableTable (#109206)

Eliminate use of `convertInitializerTo` as that needs a non-const
RecordKeeper (which we want to make const).


  Commit: c498af71d73e96e95730f3b3caaea08d3edbe62c
      https://github.com/llvm/llvm-project/commit/c498af71d73e96e95730f3b3caaea08d3edbe62c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [clang-tidy] Avoid repeated hash lookups (NFC) (#109373)


  Commit: 5bcc82d43388bb0daa122d5fe7ecda5eca27fc16
      https://github.com/llvm/llvm-project/commit/5bcc82d43388bb0daa122d5fe7ecda5eca27fc16
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    A llvm/test/Transforms/LoopUnroll/pr109333.ll

  Log Message:
  -----------
  [LoopPeel] Fix LCSSA phi node invalidation

In the test case, the BECount of the second loop uses %load,
but we only have an LCSSA phi node for %add, so that is what
gets invalidated. Use the forgetLcssaPhiWithNewPredecessor()
API instead, which will invalidate the roots of the expression
instead.

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


  Commit: 20150daafec2d44de1ea8ec6f69ac452cc5d5c1a
      https://github.com/llvm/llvm-project/commit/20150daafec2d44de1ea8ec6f69ac452cc5d5c1a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  [llvm-c-test] Fix warnings

This patch fixes:

  llvm/tools/llvm-c-test/debuginfo.c:254:20: error: unused variable
  'AddDbgRecordLast' [-Werror,-Wunused-variable]

  llvm/tools/llvm-c-test/debuginfo.c:257:20: error: unused variable
  'AddDbgRecordOverTheRange' [-Werror,-Wunused-variable]

  llvm/tools/llvm-c-test/debuginfo.c:264:20: error: unused variable
  'AddDbgRecordUnderTheRange' [-Werror,-Wunused-variable]


  Commit: 0570ba6b05e707b1a1f3208087370b17058e7afb
      https://github.com/llvm/llvm-project/commit/0570ba6b05e707b1a1f3208087370b17058e7afb
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-fake16.mir
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for more VOP1 instructions (#108412)

Support true16 and fake16 format for more VOP1 instructions in MC

This patch updates the true16 and fake16 vop_profile for the following
instructions and update the asm/dasm tests:
V_CVT_F16_U16
V_CVT_F16_I16
V_CVT_U16_F16
V_CVT_I16_F16
V_CVT_NORM_U16_F16
V_CVT_NORM_I16_F16
V_FREXP_EXP_I16_F16


Since this patch introduce fake16 instructions for V_CVT_F16_U16, it
address an issue in fix-sgprs-copy-f16 test which is brought up here
https://github.com/llvm/llvm-project/pull/104510#discussion_r1742499668


  Commit: 02071a8d83b963da525236ac2a1bd0299d1647e1
      https://github.com/llvm/llvm-project/commit/02071a8d83b963da525236ac2a1bd0299d1647e1
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  Revert "[gn build] Port 64972834c193"

This reverts commit 98cf6560ab6df885b6e21463f6a0a1fa5cea1eea.
64972834c193 was reverted in 9c5ad62e7440


  Commit: 7f6bbb3c4f2c5f03d2abd3a79c85f1e0e4e03e05
      https://github.com/llvm/llvm-project/commit/7f6bbb3c4f2c5f03d2abd3a79c85f1e0e4e03e05
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-trig-log-exp.ll
    M llvm/test/Analysis/CostModel/RISCV/gep.ll
    M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/mixed-extracts-types.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll

  Log Message:
  -----------
  [RISCV][TTI] Reduce cost of a build_vector pattern (#108419)

This change is actually two related changes, but they're very hard to
meaningfully separate as the second balances the first, and yet doesn't
do much good on it's own.

First, we can reduce the cost of a build_vector pattern. Our current
costing for this defers to generic insertelement costing which isn't
unreasonable, but also isn't correct. While inserting N elements
requires N-1 slides and N vmv.s.x, doing the full build_vector only
requires N vslide1down. (Note there are other cases that our build
vector lowering can do more cheaply, this is simply the easiest upper
bound which appears to be "good enough" for SLP costing purposes.)

Second, we need to tell SLP that calls don't preserve vector registers.
Without this, SLP will vectorize scalar code which performs e.g. 4 x
float @exp calls as two <2 x float> @exp intrinsic calls. Oddly, the
costing works out that this is in fact the optimal choice - except that
we don't actually have a <2 x float> @exp, and unroll during DAG. This
would be fine (or at least cost neutral) except that the libcall for the
scalar @exp blows all vector registers. So the net effect is we added a
bunch of spills that SLP had no idea about. Thankfully, AArch64 has a
similiar problem, and has taught SLP how to reason about spill cost once
the right TTI hook is implemented.

Now, for some implications...

The SLP solution for spill costing has some inaccuracies. In particular,
it basically just guesses whether a intrinsic will be lowered to a call
or not, and can be wrong in both directions. It also has no mechanism to
differentiate on calling convention.

This has the effect of making partial vectorization (i.e. starting in
scalar) more profitable. In practice, the major effect of this is to
make it more like SLP will vectorize part of a tree in an intersecting
forrest, and then vectorize the remaining tree once those uses have been
removed.

This has the effect of biasing us slightly away from strided, or indexed
loads during vectorization - because the scalar cost is more accurately
modeled, and these instructions look relevatively less profitable.


  Commit: 5b7b52f9e9ac783d645f6cfc53a6822be2c40067
      https://github.com/llvm/llvm-project/commit/5b7b52f9e9ac783d645f6cfc53a6822be2c40067
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#109372)


  Commit: 8db97ae36c586f8e0321b7bc784cda4d8c5bac26
      https://github.com/llvm/llvm-project/commit/8db97ae36c586f8e0321b7bc784cda4d8c5bac26
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  Revert "[bazel] Port 64972834c193632cbc47e54c0f0c721636b077e6"

This reverts commit d3532d1b670546dd36e535982d23dfef903cfda0.

The change this adapter for bazel was reverted in 9c5ad62e7440423fbcd2d84c8f0347a5f000400e


  Commit: 12e8e0b10c3f52098cc41322c12eb7f3bfd75b06
      https://github.com/llvm/llvm-project/commit/12e8e0b10c3f52098cc41322c12eb7f3bfd75b06
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/test/Driver/amdgpu-openmp-toolchain.c

  Log Message:
  -----------
  [AMDGPU] Correctly use the auxiliary toolchain to include libc++ (#109366)

Summary:
Now that we have a functional build for `libc++` on the GPU, it will now
find the target specific headers in `include/amdgcn-amd-amdhsa`. This is
a problem for offloading via OpenMP because we need the CPU and GPU
headers to match exactly. All the other toolchains forward this
correctly except the AMDGPU OpenMP one, fix this by overriding it to use
the host toolchain instead of the device one, so the triple is not
returned as `amdgcn-amd-amdhsa`.


  Commit: 33bc6cf619ac8d49232b1bc29ac7d38951583221
      https://github.com/llvm/llvm-project/commit/33bc6cf619ac8d49232b1bc29ac7d38951583221
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M libcxxabi/src/abort_message.cpp
    M libcxxabi/src/abort_message.h
    M libcxxabi/src/cxa_default_handlers.cpp
    M libcxxabi/src/cxa_exception_storage.cpp
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_handlers.cpp
    M libcxxabi/src/cxa_thread_atexit.cpp
    M libcxxabi/src/cxa_vector.cpp
    M libcxxabi/src/cxa_virtual.cpp
    M libcxxabi/src/demangle/DemangleConfig.h
    M libcxxabi/src/stdlib_new_delete.cpp

  Log Message:
  -----------
  [libcxxabi] Rename abort_message to __abort_message (#108887)

This is an internal API and the name should reflect that.


  Commit: c472c9f367e8376fb5cb9bcc954d9c434ecd242a
      https://github.com/llvm/llvm-project/commit/c472c9f367e8376fb5cb9bcc954d9c434ecd242a
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [OpenACC] Remove mistakenly left over commented code from a previous
commit


  Commit: 739ede400b7aa7dfbec771b0d5e9c47f9da5d6cb
      https://github.com/llvm/llvm-project/commit/739ede400b7aa7dfbec771b0d5e9c47f9da5d6cb
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsZeroTest.h
    A libc/test/include/iszero_test.c
    A libc/test/include/iszero_test.cpp
    A libc/test/include/iszerof_test.cpp
    A libc/test/include/iszerol_test.cpp

  Log Message:
  -----------
  [libc][[math] Implement IsZero Macro (#109336)

#109201


  Commit: efb583178d74b2174e8b9660b67ba7295527b09f
      https://github.com/llvm/llvm-project/commit/efb583178d74b2174e8b9660b67ba7295527b09f
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h

  Log Message:
  -----------
  [Clang] Prevent Copying of LateParsedClass Instances (#109428)

Class clang::Parser::LateParsedClass owns resources that are freed in
its destructor but has no user-written assignment operator.
This commit explicitly deletes the copy constructor and copy assignment
operator for the LateParsedClass.


  Commit: d31e314131b17b0a802a80593a33cb11213c60d1
      https://github.com/llvm/llvm-project/commit/d31e314131b17b0a802a80593a33cb11213c60d1
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/CallGraphSCCPass.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/IRReader/IRReader.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [llvm] Don't call raw_string_ostream::flush() (NFC)

Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered.
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )


  Commit: f7c3309b1361443cded697255995fade24838ef8
      https://github.com/llvm/llvm-project/commit/f7c3309b1361443cded697255995fade24838ef8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll

  Log Message:
  -----------
  [RISCV] Add coverage for <N x i1> vp.strided.load

These are currently scalarized, and I need something to exercise
<N x i1> scalarization costing.  We should probably consider adding
a buildvector intrinsic for this purpose.


  Commit: 65bc259a97cd8cc70907b65f59aff728245ba9c0
      https://github.com/llvm/llvm-project/commit/65bc259a97cd8cc70907b65f59aff728245ba9c0
  Author: Daniil Fukalov <dfukalov at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M lld/ELF/OutputSections.cpp
    M mlir/include/mlir/Bytecode/BytecodeWriter.h
    M mlir/lib/Target/SPIRV/SPIRVBinaryUtils.cpp
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M polly/lib/Support/RegisterPasses.cpp

  Log Message:
  -----------
  [NFC] Add explicit #include llvm-config.h where its macros are used, last part. (#107615)

(this is the part related to bolt, lld and mlir)

Without these explicit includes, removing other headers, who implicitly
include llvm-config.h, may have non-trivial side effects. For example,
`clangd` may report even `llvm-config.h` as "no used" in case it defines
a macro, that is explicitly used with #ifdef. It is actually amplified
with different build configs which use different set of macros.


  Commit: ebf13086740d714339b5f7a8bdadf9a5e1b754bb
      https://github.com/llvm/llvm-project/commit/ebf13086740d714339b5f7a8bdadf9a5e1b754bb
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp

  Log Message:
  -----------
  [OpenACC] Ensure clause expressions side-effects don't happen

The OpenACC standard says side-effects/ordering of expressions in
clauses and constructs (not yet, but PR for constructs) cannot be
depended on.  We already had infrastructure to ensure constructs, and
non-template clauses did this right, but we had the ordering of a call
vs transform of the clauses happened in tree transform.

This patch ensures that the evaluation context put together for the
construct covers the clauses as well in tree transform.


  Commit: d497f465df024068cb2c134cdccd2f76bebd2a1e
      https://github.com/llvm/llvm-project/commit/d497f465df024068cb2c134cdccd2f76bebd2a1e
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/CodeGen/aarch64-fmv-dependencies.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/Sema/attr-target-clones-aarch64.c
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/lib/Target/AArch64/AArch64FMV.td

  Log Message:
  -----------
  [FMV][AArch64] Unify ls64, ls64_v and ls64_accdata. (#108024)

Originally I tried spliting these features in the compiler with
https://github.com/llvm/llvm-project/pull/101712, but we decided to lump
those features in the ACLE specification (see
https://github.com/ARM-software/acle/pull/346). Since there are no
hardware implementations out there which implement ls64 without ls64_v
or ls64_accdata, this shouldn't be a regression for feature detection.


  Commit: fb78495376017111d8b5a1f43745d3c17b0d8978
      https://github.com/llvm/llvm-project/commit/fb78495376017111d8b5a1f43745d3c17b0d8978
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    A clang/lib/Driver/ToolChains/UEFI.cpp
    A clang/lib/Driver/ToolChains/UEFI.h
    A clang/test/CodeGen/X86/uefi-data-layout.c
    A clang/test/Driver/uefi-constructed-args.c
    M clang/unittests/Driver/ToolChainTest.cpp

  Log Message:
  -----------
  Reland "[Driver] Add toolchain for X86_64 UEFI target" (#109364)

Reverts llvm/llvm-project#109340

Addressing the failed MAC Clang Driver test as part of this reland.


  Commit: 330ecf0c1ab64f406c6db2d61633c2ca18275f36
      https://github.com/llvm/llvm-project/commit/330ecf0c1ab64f406c6db2d61633c2ca18275f36
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn

  Log Message:
  -----------
  [gn build] Port fb7849537601


  Commit: 605420e0a5dc2fe7a13f16a077e044e57f6661af
      https://github.com/llvm/llvm-project/commit/605420e0a5dc2fe7a13f16a077e044e57f6661af
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCInstrAnalysis.h
    M llvm/include/llvm/MC/MCInstrDesc.h
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/MC/MCInstrDesc.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [MC] Use MCRegister and remove implicit casts from MCRegister to unsigned. NFC


  Commit: 2162a18fb206736c41c9182737b72ae15d5e6bf0
      https://github.com/llvm/llvm-project/commit/2162a18fb206736c41c9182737b72ae15d5e6bf0
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/test/CodeGen/union-init2.c

  Log Message:
  -----------
  [clang][CodeGen] Check initializer of zero-size fields for nullptr (#109271)

In https://github.com/llvm/llvm-project/pull/96422 we started treating
empty records as zero-sized for the purpose of layout. In `C`, empty
fields were never considered `isZeroSize`, so we would never have tried
to call `Init->hasSideEffects` on them. But since
https://github.com/llvm/llvm-project/pull/96422 we can get here when
compiling `C`, but `Init` need not exist. This patch adds a null-check
to account for this situtation.


  Commit: 6d66ac51a49af7ee46f1ccac45d312352d8b942e
      https://github.com/llvm/llvm-project/commit/6d66ac51a49af7ee46f1ccac45d312352d8b942e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/cmake/caches/NVPTX.cmake

  Log Message:
  -----------
  [libcxx][CMake] Do not hard-code the ABI for the GPU build

Summary:
We specify the ABI to experimental, but we should leave this up to the
user. Primarily this is because we want the ABI to be compatible with
the user's CPU build, so the default should be used.


  Commit: cdd71d61664b63ae57bdba9ee0d891f78ef79c07
      https://github.com/llvm/llvm-project/commit/cdd71d61664b63ae57bdba9ee0d891f78ef79c07
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp

  Log Message:
  -----------
  [Clang][Sema] Refactor collection of multi-level template argument lists (#106585)

Currently, clang rejects the following explicit specialization of `f`
due to the constraints not being equivalent:
```
template<typename T>
struct A
{
    template<bool B>
    void f() requires B;
};

template<>
template<bool B>
void A<int>::f() requires B { }
```
This happens because, in most cases, we do not set the flag indicating
whether a `RedeclarableTemplate` is an explicit specialization of a
member of an implicitly instantiated class template specialization until
_after_ we compare constraints for equivalence. This patch addresses the
issue (and a number of other issues) by:
- storing the flag indicating whether a declaration is a member
specialization on a per declaration basis, and
- significantly refactoring `Sema::getTemplateInstantiationArgs` so we
collect the right set of template argument in all cases.

Many of our declaration matching & constraint evaluation woes can be
traced back to bugs in `Sema::getTemplateInstantiationArgs`. This
change/refactor should fix a lot of them. It also paves the way for
fixing #101330 and #105462 per my suggestion in #102267 (which I have
implemented on top of this patch but will merge in a subsequent PR).


  Commit: 7f1633c521fbb19ec0d1e1cb47662a5003b51c23
      https://github.com/llvm/llvm-project/commit/7f1633c521fbb19ec0d1e1cb47662a5003b51c23
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td

  Log Message:
  -----------
  [AMDGPU][True16] vop1 pk instructions profile update (#109228)

Remove dependency on VOPProfileI2F. This is to get ready for the
upcoming VOP3 true16 profile update. No test file changed.


  Commit: ccff6cc3b3c2b8920024a18a2a2e2bca502ad942
      https://github.com/llvm/llvm-project/commit/ccff6cc3b3c2b8920024a18a2a2e2bca502ad942
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Port 65bc259a97cd8cc70907b65f59aff728245ba9c0 (#109458)


  Commit: a06529597c72a5b5a5903613e274709f79f82822
      https://github.com/llvm/llvm-project/commit/a06529597c72a5b5a5903613e274709f79f82822
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change RegisterInfoEmitter to use const RecordKeeper (#109237)

Change RegisterInfoEmitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 28ad801a7593cdb768bcd8e940ea53507653432d
      https://github.com/llvm/llvm-project/commit/28ad801a7593cdb768bcd8e940ea53507653432d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/lit.local.cfg

  Log Message:
  -----------
  [SPIR-V] Enable `spirv-sim` lit substitution unconditionally (#109451)

The uses of spirv-sim aren't gated by LLVM_INCLUDE_SPIRV_TOOLS_TESTS, so
the substitution shouldn't be gated either. Fixes tests after #107408


  Commit: 30adb43c897a45c18d7dd163fb4ff40c915fc488
      https://github.com/llvm/llvm-project/commit/30adb43c897a45c18d7dd163fb4ff40c915fc488
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/AST/DeclTemplate.cpp

  Log Message:
  -----------
  [AST] Fix a warning

This patch fixes:

  clang/lib/AST/DeclTemplate.cpp:466:9: error: unused type alias 'Base'
  [-Werror,-Wunused-local-typedef]


  Commit: 6af5f87d8d5889888ac27b768652efafb5bb9e40
      https://github.com/llvm/llvm-project/commit/6af5f87d8d5889888ac27b768652efafb5bb9e40
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M libcxxabi/src/abort_message.cpp
    M libcxxabi/src/abort_message.h
    M libcxxabi/src/cxa_default_handlers.cpp
    M libcxxabi/src/cxa_exception_storage.cpp
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_handlers.cpp
    M libcxxabi/src/cxa_thread_atexit.cpp
    M libcxxabi/src/cxa_vector.cpp
    M libcxxabi/src/cxa_virtual.cpp
    M libcxxabi/src/demangle/DemangleConfig.h
    M libcxxabi/src/stdlib_new_delete.cpp

  Log Message:
  -----------
  Revert "[libcxxabi] Rename abort_message to __abort_message (#108887)"

This reverts commit 33bc6cf619ac8d49232b1bc29ac7d38951583221.

Reason: broke Android buildbot (https://lab.llvm.org/buildbot/#/builders/186/builds/2517)
    /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm_build64/bin/clang++ -DHAVE___CXA_THREAD_ATEXIT_IMPL -DLIBCXX_BUILDING_LIBCXXABI -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS="" -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCXXABI_BUILDING_LIBRARY -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_LINK_PTHREAD_LIB -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm-project/libcxxabi/../libcxx/src -I/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/compiler_rt_build_android_aarch64/lib/fuzzer/libcxx_fuzzer_aarch64/include/c++/v1 -I/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm-project/libcxxabi/include --target=aarch64-linux-android24 --sysroot=/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot --gcc-toolchain=/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/toolchains/llvm/prebuilt/linux-x86_64  -B/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/toolchains/llvm/prebuilt/linux-x86_64 -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections  -O3 -DNDEBUG -std=c++23 -fPIC -nostdinc++ -fstrict-aliasing -fno-exceptions -D_DEBUG -UNDEBUG -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fvisibility=hidden -fvisibility-global-new-delete=force-hidden -MD -MT libcxxabi/src/CMakeFiles/cxxabi_static_objects.dir/abort_message.cpp.o -MF libcxxabi/src/CMakeFiles/cxxabi_static_objects.dir/abort_message.cpp.o.d -o libcxxabi/src/CMakeFiles/cxxabi_static_objects.dir/abort_message.cpp.o -c /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm-project/libcxxabi/src/abort_message.cpp
    /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm-project/libcxxabi/src/abort_message.cpp:64:5: error: use of undeclared identifier 'android_set___abort_message'; did you mean 'android_set_abort_message'?
       64 |     android_set___abort_message(buffer);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
          |     android_set_abort_message
    /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm-project/libcxxabi/src/abort_message.cpp:18:25: note: 'android_set_abort_message' declared here
       18 |         extern "C" void android_set_abort_message(const char* msg);
          |                         ^
    1 error generated.


  Commit: 533c7ff2db6e7f78e34fc0cc1f6390645337d964
      https://github.com/llvm/llvm-project/commit/533c7ff2db6e7f78e34fc0cc1f6390645337d964
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaObjC.h
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [Sema] Declare GlobalMethodPool with using (NFC) (#109437)

GlobalMethodPool is a wrapper around DenseMap that does not add
anything except:

  using Lists = std::pair<ObjCMethodList, ObjCMethodList>;

This patch removes the wrapper and switches to an alias with "using".

In ReadMethodPool in ASTReader.cpp, we can simplify:

  insert(std::make_pair(Sel, SemaObjC::GlobalMethodPool::Lists()))

to:

  try_emplace(Sel)

But then try_emplace(Sel).first->second is the same as operator[], so
this patch simplifies the rest of the function.


  Commit: 9be7f7748484e4fb6ca653ac92ba0548ef844ce3
      https://github.com/llvm/llvm-project/commit/9be7f7748484e4fb6ca653ac92ba0548ef844ce3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-move/HelperDeclRefGraph.cpp

  Log Message:
  -----------
  [clang-move] Use a range-based for loop (NFC) (#109438)


  Commit: d64fc57353c6e6f5796c97e9dc541ba7a7ab3cb4
      https://github.com/llvm/llvm-project/commit/d64fc57353c6e6f5796c97e9dc541ba7a7ab3cb4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [TableGen] Use StringSet instead of StringMap (NFC) (#109441)


  Commit: 2e0f0a397abb855e72cd9e7ec4ad41cf1a0650ed
      https://github.com/llvm/llvm-project/commit/2e0f0a397abb855e72cd9e7ec4ad41cf1a0650ed
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    R llvm/include/llvm/ProfileData/RawMemProfReader.h

  Log Message:
  -----------
  [memprof] Remove RawMemProfReader.h (#109446)

It's been more than five months since RawMemProfReader.h became a
"forwarding" header with:

  commit 2bede6873dbe7021b306d3e5bec59d0fba2dd26c
  Author: Kazu Hirata <kazu at google.com>
  Date:   Wed Apr 10 22:03:20 2024 -0700

This patch removes the empty header.


  Commit: d8d252fe96877f9fdbf6b0b6c19da543e796bb84
      https://github.com/llvm/llvm-project/commit/d8d252fe96877f9fdbf6b0b6c19da543e796bb84
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Target/StackFrameRecognizer.cpp
    M lldb/test/API/commands/frame/recognizer/Makefile
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    R lldb/test/API/commands/frame/recognizer/categories
    A lldb/test/API/commands/frame/recognizer/main.c
    R lldb/test/API/commands/frame/recognizer/main.m
    M lldb/unittests/Target/StackFrameRecognizerTest.cpp

  Log Message:
  -----------
  [lldb] Add support for disabling frame recognizers (#109219)

Sometimes you only want to temporarily disable a frame recognizer
instead of deleting it. In particular, when dealing with one of the
builtin frame recognizers, which cannot be restored after deletion.

To be able to write test cases for this functionality, I also changed
`lldb/test/API/commands/frame/recognizer` to use normal C instead of
Objective-C


  Commit: 65c57066e099fe7f1357485cd6c4fb068bc82323
      https://github.com/llvm/llvm-project/commit/65c57066e099fe7f1357485cd6c4fb068bc82323
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap][docs] Improve README (#109266)

* Document how to procure and configure the `lldb-dap` binary
* Improve documentation for `launch.json`:
* Show the examples before the reference. Most new users just want to
get going, and will only need the reference later on
   * Deduplicate the list of "launch" and "attach" config settings
* Remove the `stopOnEntry` setting from "attach", since this is a
launch-only setting
* Document the previously undocumented settings `sourcePath`,
`commandEscapePrefix`, `custom{Frame,Thread}Format`, `runInTerminal`
* Add the settings `debuggerRoot` and `sourceMap` to the common section.
So far they were documented as launch-only settings.
* Document that the Debug Console prints variables / expressions by
default and that LLDB commands need to be escaped.


  Commit: 2e414799d0ad511cd7999895014a2cae2ea5e3e3
      https://github.com/llvm/llvm-project/commit/2e414799d0ad511cd7999895014a2cae2ea5e3e3
  Author: Tyler Nowicki <tyler.nowicki at amd.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
    A llvm/lib/Transforms/Coroutines/ABI.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp

  Log Message:
  -----------
  [Coroutines] ABI Objects to improve code separation between different ABIs, users and utilities. (#109338)

* Adds an ABI object class hierarchy to implement the coroutine ABIs
(Switch, Asyc, and Retcon{Once})
* The ABI object improves the separation of the code related to users,
ABIs and utilities.
* No code changes are required by any existing users.
* Each ABI overrides delegate methods for initialization, building the
coroutine frame and splitting the coroutine, other methods may be added
later.
* CoroSplit invokes a generator lambda to instantiate the ABI object and
calls the ABI object to carry out its primary operations.

See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057


  Commit: 751389218edcd29c51a9f1ba159c7870b632fcaa
      https://github.com/llvm/llvm-project/commit/751389218edcd29c51a9f1ba159c7870b632fcaa
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/module/__fortran_builtins.f90
    M flang/module/ieee_arithmetic.f90
    A flang/test/Semantics/ieee_int.f90

  Log Message:
  -----------
  [flang] Make IEEE_INT and IEEE_REAL into builtin intrinsic functions (#109191)

For proper error detection of bad KIND= arguments, make IEEE_INT and
IEEE_REAL actual intrinsic functions. Lowering will have to check for
the new __builtin_ names.


  Commit: e8335aef063e08a7cd8a543d7ab14b20f554c07b
      https://github.com/llvm/llvm-project/commit/e8335aef063e08a7cd8a543d7ab14b20f554c07b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/bad-forward-type.f90

  Log Message:
  -----------
  [flang] Avoid crash in name resolution on erroneous type extension (#109312)

Don't crash when a bad Fortran program tries to extend a derived type
with previous legitimate forward references but no prior definition.

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


  Commit: 8be575e49816ee6ff0b0b924e0b84b2a9fff98aa
      https://github.com/llvm/llvm-project/commit/8be575e49816ee6ff0b0b924e0b84b2a9fff98aa
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/modfile69.f90

  Log Message:
  -----------
  [flang] Fix edge case regression (#109350)

A recent fix to the emission of derived type names to module files
exposed a regression in the case of a derived type that (1) has the same
name as a generic procedure interface and (2) has undergone renaming
through USE association before (3) being used in a declaration
significant to a module procedure interface. Fix.


  Commit: 6959ec91d7f8b579a7698cfe244d434b177af493
      https://github.com/llvm/llvm-project/commit/6959ec91d7f8b579a7698cfe244d434b177af493
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    A flang/test/Evaluate/int8.f90

  Log Message:
  -----------
  [flang] Extension intrinsics INT8 and INT2 (#109433)

These are legacy conversion intrinsic functions supported by nearly all
Fortran compilers (esp. INT8).
They are equivalent to INT(..., KIND=8 or 2), respectively.


  Commit: 76bc1eddb2cf8b6cc073649ade21b59bbed438a2
      https://github.com/llvm/llvm-project/commit/76bc1eddb2cf8b6cc073649ade21b59bbed438a2
  Author: Jonathan Tanner <10051116+aDifferentJT at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/AliasAnalysis.cpp

  Log Message:
  -----------
  [AA] Take account of C++23's stricter rules for forward declarations (NFC) (#109416)

C++23 has stricter rules for forward declarations around
std::unique_ptr, this means that the inline declaration of the
constructor was failing under clang in C++23 mode, switching to an
out-of-line definition of the constructor fixes this.

This was fairly major impact as it blocked inclusion of a lot of headers
under clang in C++23 mode.

Fixes #106597.


  Commit: 2011cbcd84102236dd6d58e2079ac676a3403f25
      https://github.com/llvm/llvm-project/commit/2011cbcd84102236dd6d58e2079ac676a3403f25
  Author: cmtice <cmtice at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/evaluate/main.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/LLDBUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Add feature to remember last non-empty expression. (#107485)

Update lldb-dap so if the user just presses return, which sends an empty
expression, it re-evaluates the most recent non-empty
expression/command. Also udpated test to test this case.


  Commit: 2672947633865c19c332c8e39f0d11e841e2480f
      https://github.com/llvm/llvm-project/commit/2672947633865c19c332c8e39f0d11e841e2480f
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
    R llvm/lib/Transforms/Coroutines/ABI.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp

  Log Message:
  -----------
  Revert "[Coroutines] ABI Objects to improve code separation between different ABIs, users and utilities. (#109338)"

This reverts commit 2e414799d0ad511cd7999895014a2cae2ea5e3e3.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/51/builds/4105)
(This was the only new CL.)

/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Transforms/Coroutines/ABI.h:71:31: error: 'llvm::coro::AsyncABI' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   71 | class LLVM_LIBRARY_VISIBILITY AsyncABI : public BaseABI {

   etc.


  Commit: 07045b567962c86a9e16abc4f3a848ef35a06f5c
      https://github.com/llvm/llvm-project/commit/07045b567962c86a9e16abc4f3a848ef35a06f5c
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] Create colorized reports (#109419)


  Commit: 4d621025d4fc2f2438affdca7a016dd93b56f4e0
      https://github.com/llvm/llvm-project/commit/4d621025d4fc2f2438affdca7a016dd93b56f4e0
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/hlsl.h
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl

  Log Message:
  -----------
  [HLSL] Warn about incomplete language support (#108894)

This adds a warning about incomplete language mode support before HLSL
202x. This is the last change in the sequence to fix and make HLSL 202x
the default mode for Clang (#108044).


Fixes #108044


  Commit: 4b4ea6d84bddb5e7b3f144d18630390755e8f7b6
      https://github.com/llvm/llvm-project/commit/4b4ea6d84bddb5e7b3f144d18630390755e8f7b6
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/asuint.hlsl
    A clang/test/SemaHLSL/BuiltIns/asfloat-constexpr.hlsl
    A clang/test/SemaHLSL/BuiltIns/asuint-constexpr.hlsl

  Log Message:
  -----------
  [HLSL] Make casting functions constexpr (#108902)

This marks the `bit_cast` helper as `constexpr` and allows the casts
implemented with it to also be `constexpr`. This is largely not a
functional change, but it enables using the casts in expressions that
need to be resolved at compile time as demonstrated with the static
asserts in the new tests.

---------

Co-authored-by: joaosaffran <126493771+joaosaffran at users.noreply.github.com>


  Commit: c24418ad914c64c78facb1bb77951b161448fcc0
      https://github.com/llvm/llvm-project/commit/c24418ad914c64c78facb1bb77951b161448fcc0
  Author: Afonso Faria <oracle-main at protonmail.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/dangling-handle.rst

  Log Message:
  -----------
  [clang-tidy] Add `std::span` to default `bugprone-dangling-handle.HandleClasses` (#107711)

`std::span` suffers from the same dangling issues as `std::string_view`.
This patch adds `std::span` to the default list of handle classes in
`bugprone-dangling-handle`, allowing clang-tidy to catch e.g. the
following:
```cpp
span<int> f() {
  // All these return values will dangle.
  array<int, 1> A;
  return {A};

  vector<int> Array;
  return {Array};
}
```


  Commit: b014265d992ce515826a8d3ce378ca1f643e297d
      https://github.com/llvm/llvm-project/commit/b014265d992ce515826a8d3ce378ca1f643e297d
  Author: Daniel Hernandez-Juarez <dhernandez0 at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] New gfx12 barrier instructions and update lowering LDSBarrierOp (#109273)

New gfx12 barrier instructions: s.barrier.signal, s.barrier.wait and
s.wait.dscnt. And update lowering LDSBarrierOp accordingly.

CC: @krzysz00 @manupak @giuseros


  Commit: c0b1c623be11593159dc02688baaca96d1e16332
      https://github.com/llvm/llvm-project/commit/c0b1c623be11593159dc02688baaca96d1e16332
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement ConstantPtrAuth (#109315)

This patch implements sandboxir::ConstantPtrAuth mirroring
llvm::ConstantPtrAuth


  Commit: abc2412f077546066289d0e34c3b499d54337446
      https://github.com/llvm/llvm-project/commit/abc2412f077546066289d0e34c3b499d54337446
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp

  Log Message:
  -----------
  [SandboxVec][InstrInterval] Add ArrayRef constructor (#109357)

The new constructor creates an InstrInterval from an
ArrayRef<Instruction *>. This patch also adds top() and bottom()
getters.


  Commit: cdf29709d7554c197b371c83e798bc6335f67a33
      https://github.com/llvm/llvm-project/commit/cdf29709d7554c197b371c83e798bc6335f67a33
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [NFC] [HWASan] fix LLVM style guide violations


  Commit: f732157a9d067e4d300905c831a964222e0eadee
      https://github.com/llvm/llvm-project/commit/f732157a9d067e4d300905c831a964222e0eadee
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBExecutionContext.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/Target.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/ScriptInterpreterPythonInterfaces.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    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/ScriptedStopHookPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    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/Target.cpp
    M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb/Interpreter] Introduce ScriptedStopHook{,Python}Interface & make use of it (#109498)

This patch re-lands #105449 and fixes the various test failures.

---------

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


  Commit: b44da2446b17aaa847bf76f81a01870917f8736b
      https://github.com/llvm/llvm-project/commit/b44da2446b17aaa847bf76f81a01870917f8736b
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```

Relanding with built-in cloning support for llvm::ECError, and support
for initializing a Windows error with a NO_ERROR error code.


  Commit: 008999ee8c3259ad1d7280eb4350e59ce57eb585
      https://github.com/llvm/llvm-project/commit/008999ee8c3259ad1d7280eb4350e59ce57eb585
  Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M mlir/lib/Pass/PassTiming.cpp

  Log Message:
  -----------
  [MLIR] Fix crash when using --mlir-timing (#109463)


  Commit: ce0c41cb0cfe9a48b6ab48784453503d33420763
      https://github.com/llvm/llvm-project/commit/ce0c41cb0cfe9a48b6ab48784453503d33420763
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/CMakeLists.txt
    M compiler-rt/lib/rtsan/rtsan.cpp
    A compiler-rt/lib/rtsan/rtsan_assertions.cpp
    A compiler-rt/lib/rtsan/rtsan_assertions.h
    M compiler-rt/lib/rtsan/rtsan_context.cpp
    M compiler-rt/lib/rtsan/rtsan_context.h
    A compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    A compiler-rt/lib/rtsan/rtsan_diagnostics.h
    R compiler-rt/lib/rtsan/rtsan_stack.cpp
    R compiler-rt/lib/rtsan/rtsan_stack.h
    M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp

  Log Message:
  -----------
  [rtsan][NFC] Move assertions and diagnostics into own impl files (#109500)

In preparation for providing more information to rtsan's diagnostics
output (via `__rtsan_expect_not_realtime`), this PR separates out all
logic for i) making rtsan's assertions about real-time context state and
ii) displaying diagnostics to the user - disentangling them both from
the rtsan `Context`.

We'll follow up this PR with a simplification to the unit tests that
reflect this new separation.


  Commit: 0a84f12208a9b66b07df67062b5f7907cab308e9
      https://github.com/llvm/llvm-project/commit/0a84f12208a9b66b07df67062b5f7907cab308e9
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [rtsan][NFC] Rename _expect_not_realtime function (#109487)


  Commit: a9352a0d31862c15146ca863bde165498e9a80e8
      https://github.com/llvm/llvm-project/commit/a9352a0d31862c15146ca863bde165498e9a80e8
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/access-attributes-prop.ll
    M llvm/test/Transforms/Inline/ret_attr_align_and_noundef.ll

  Log Message:
  -----------
  [Inliner] Fix bug where attributes are propagated incorrectly (#109347)

- **[Inliner] Add tests for incorrect propagation of return attrs; NFC**
- **[Inliner] Fix bug where attributes are propagated incorrectly**

The bug stems from the fact that we assume the new (inlined) callsite
is calling the same function as the original (callee) callsite. While
this is typically the case, since `VMap` simplifies the new
instructions, callee intrinsics callsites can end up not corresponding
with the same function.

This can lead to buggy propagation.


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/CufImplicitDeviceGlobal.cpp
    A flang/test/Fir/CUDA/cuda-implicit-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Flag globals used in device function (#109460)


  Commit: 4fd14b9a3afb2ab34dfaa3bc4ed86e82122507be
      https://github.com/llvm/llvm-project/commit/4fd14b9a3afb2ab34dfaa3bc4ed86e82122507be
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Correctly annotate pointer/reference in range-for loop (#109361)

Fixes #109358.


  Commit: c28e268c32a6840d08e3a4dbc9eeb8a0f564d6c0
      https://github.com/llvm/llvm-project/commit/c28e268c32a6840d08e3a4dbc9eeb8a0f564d6c0
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Correctly annotate pointer/reference in `if` statement (#109370)

Fixes #60146.


  Commit: 0c9f7ef52739b28f42c03c2bd1c87b744b687e6f
      https://github.com/llvm/llvm-project/commit/0c9f7ef52739b28f42c03c2bd1c87b744b687e6f
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Implement extend(ArrayRef) (#109493)

This builds the DAG from an ArrayRef of Instructions.


  Commit: 8a30246f48946b0d2166d98b95b254a1865681ed
      https://github.com/llvm/llvm-project/commit/8a30246f48946b0d2166d98b95b254a1865681ed
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)"

This reverts commit b44da2446b17aaa847bf76f81a01870917f8736b.


  Commit: a15f1bfa949ba9f46a04e3972e4b0698ce8f3a01
      https://github.com/llvm/llvm-project/commit/a15f1bfa949ba9f46a04e3972e4b0698ce8f3a01
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/test/MC/RISCV/pcrel-fixups.s

  Log Message:
  -----------
  [RISCV] Avoid calling isSymbolRefDifferenceFullyResolvedImpl. NFC

This member function is supposed to be private to MC. Also add an ifunc
test.


  Commit: cf85b33e961ec402b325d0a9396babc62625bd5e
      https://github.com/llvm/llvm-project/commit/cf85b33e961ec402b325d0a9396babc62625bd5e
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt
    A compiler-rt/lib/rtsan/tests/rtsan_test_assertions.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp

  Log Message:
  -----------
  [rtsan] Prune rtsan context and assertions tests (#109503)

Disentangles (and simplifies) integration-like tests for
`__rtsan::ExpectNotRealtime` and `__rtsan::Context` into simpler unit
tests. None of the tests are new, but their assertions have changed to
reflect the more direct testing strategy.


  Commit: 2c4da3c44bf66e764642b94335f7d718730055f5
      https://github.com/llvm/llvm-project/commit/2c4da3c44bf66e764642b94335f7d718730055f5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [MC] Remove unneeded null getFragment() check. NFC

Follow-up to d620ba0344c719da51b6067975439ed84024b1ac.


  Commit: 68849a878858f981e19c5a664310e0ff059f27e7
      https://github.com/llvm/llvm-project/commit/68849a878858f981e19c5a664310e0ff059f27e7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [TableGen] Use StringSet instead of StringMap (NFC) (#109469)


  Commit: 0cab475d1126305dc1bbb2ba269e40d704dfb90f
      https://github.com/llvm/llvm-project/commit/0cab475d1126305dc1bbb2ba269e40d704dfb90f
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

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

  Log Message:
  -----------
  [NFC] [HWASan] pull removeFnAttributes into function (#109488)


  Commit: 0659fd996784cbc2b11379380a03633fa80f7816
      https://github.com/llvm/llvm-project/commit/0659fd996784cbc2b11379380a03633fa80f7816
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/index/Symbol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp

  Log Message:
  -----------
  [clangd] Collect comments from function definitions into the index (#67802)

This is useful with projects that put their (doxygen) comments at the
implementation site, rather than the header.


  Commit: b84d773fd004ce719da69fbae5ec1dbc2b951230
      https://github.com/llvm/llvm-project/commit/b84d773fd004ce719da69fbae5ec1dbc2b951230
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M llvm/include/llvm/Support/Parallel.h
    M llvm/lib/Support/Parallel.cpp
    M llvm/unittests/Support/ParallelTest.cpp

  Log Message:
  -----------
  [Parallel] Revert sequential task changes

https://reviews.llvm.org/D148728 introduced `bool Sequential` to unify
`execute` and the old `spawn` without argument. However, sequential
tasks might be executed by any worker thread (non-deterministic),
leading to non-determinism output for ld.lld -z nocombreloc (see
https://reviews.llvm.org/D133003).

In addition, the extra member variables have overhead.
This sequential task has only been used for lld parallel relocation
scanning.

This patch restores the behavior before https://reviews.llvm.org/D148728 .

Fix #105958

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


  Commit: 0b0874755d4f339ae3ef6a43421405ebe9d645f3
      https://github.com/llvm/llvm-project/commit/0b0874755d4f339ae3ef6a43421405ebe9d645f3
  Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    A llvm/lib/Target/AMDGPU/SILowerSGPRSpills.h
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-fi-skip-processing-stack-arg-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/spill192.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SILowerSGPRSpills to NPM (#108934)


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

  Changed paths:
    A flang/include/flang/Optimizer/Transforms/CufOpConversion.h
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Expose conversion patterns from CUF to FIR calls (#109465)

Expose conversion patterns so they can be reused outside of this pass.


  Commit: 18225c783a00bde62f19a177a57de388e20c2bba
      https://github.com/llvm/llvm-project/commit/18225c783a00bde62f19a177a57de388e20c2bba
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp

  Log Message:
  -----------
  [ARM] Use MCRegister in 2 functions in ARMTargetStreamer. NFC


  Commit: d7db094340600828a0a62374627f324fb66af020
      https://github.com/llvm/llvm-project/commit/d7db094340600828a0a62374627f324fb66af020
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Avoid repeated hash lookups (NFC) (#109506)


  Commit: 97aa8cc94d94e8f0adc85489f7832ba7c0a9b577
      https://github.com/llvm/llvm-project/commit/97aa8cc94d94e8f0adc85489f7832ba7c0a9b577
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/CodeGenCXX/weak-init.cpp

  Log Message:
  -----------
  [clang][bytecode] Diagnose weak reads in final load (#109515)

They aren't allowed here either.


  Commit: f5f61c802e9bb9504082f9e0f41926f5d2ab7115
      https://github.com/llvm/llvm-project/commit/f5f61c802e9bb9504082f9e0f41926f5d2ab7115
  Author: Tarık Çelik <141952517+tarik-celik at users.noreply.github.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    A clang/README.md
    R clang/README.txt

  Log Message:
  -----------
  Updated and renamed README.txt to README.md (#106198)

Co-authored-by: Tarık Çelik <tarik.celik.0000 at protonmail.com>


  Commit: c57b9f5a138d9a7ce0744e4fdb85ff31dc5f2cac
      https://github.com/llvm/llvm-project/commit/c57b9f5a138d9a7ce0744e4fdb85ff31dc5f2cac
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/Sema/annotate-type.c

  Log Message:
  -----------
  [clang][bytecode] Fix reporting non-constant variables in C (#109516)

We need to call FFDiag() to get the usual "invalid subexpression"
diagnostic.


  Commit: 8527861179ac7771bae09e2fcb0eece4b589d747
      https://github.com/llvm/llvm-project/commit/8527861179ac7771bae09e2fcb0eece4b589d747
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Unify materialization of value replacements (#108381)

PR #106760 aligned the handling of dropped block arguments and dropped
op results. The two helper functions that insert source materializations
for uses of replaced block arguments / op results that survived the
conversion are now almost identical (`legalizeConvertedArgumentTypes`
and `legalizeConvertedOpResultTypes`). This PR merges the two functions
and moves the implementation directly into `finalize`.

This PR simplifies the code base and improves the efficiency a bit:
previously, `finalize` iterated over
`ConversionPatternRewriterImpl::rewrites` twice. Now, only one iteration
is needed.

---------

Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>


  Commit: 5b4c80f1234f176c19bdbe687861e7f076ec189a
      https://github.com/llvm/llvm-project/commit/5b4c80f1234f176c19bdbe687861e7f076ec189a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/test/AST/ByteCode/codegen.m

  Log Message:
  -----------
  [clang][bytecode] Create dummy pointers for ObjCStringLiterals (#109520)

We need to have the final APValue point to the ObjCStringLiteral
expression, not the StringLiteral itself.


  Commit: f5a65d8752f26245744ae3e1365cc3ac283c2638
      https://github.com/llvm/llvm-project/commit/f5a65d8752f26245744ae3e1365cc3ac283c2638
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/constexpr-vectors.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    M clang/test/SemaCXX/constexpr-vectors.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement arithmetic, bitwise and compound assignment operator (#108949)

Implement `+`, `-`, `*`, `/` , `%`, `&`, `|`, `^`, `<<`, `>>` and
compound assignment operator.

---------

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


  Commit: fc5de0af33b7fb9b9f745e70dcd351f2de4211cb
      https://github.com/llvm/llvm-project/commit/fc5de0af33b7fb9b9f745e70dcd351f2de4211cb
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
    M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp
    M clang-tools-extra/unittests/clang-tidy/NamespaceAliaserTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
    M clang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
    M clang-tools-extra/unittests/clang-tidy/UsingInserterTest.cpp

  Log Message:
  -----------
  [clang-tools-extra] Use {} instead of std::nullopt to initialize empty ArrayRef (#109400)

Follow up to #109133.


  Commit: eb6e7e8f89a3d5c1cbc9856774ca00208753fb12
      https://github.com/llvm/llvm-project/commit/eb6e7e8f89a3d5c1cbc9856774ca00208753fb12
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
    M llvm/unittests/CodeGen/LexicalScopesTest.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/CodeGen/MachineBasicBlockTest.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/MetadataTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/Support/ConvertUTFTest.cpp
    M llvm/unittests/Support/SourceMgrTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp

  Log Message:
  -----------
  [unittests] Use {} instead of std::nullopt to initialize empty ArrayRef (#109388)

Follow up to #109133.


  Commit: bd8fe9972e3f17776e4e05e69e13ab8271d34132
      https://github.com/llvm/llvm-project/commit/bd8fe9972e3f17776e4e05e69e13ab8271d34132
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/invariant-replicate-region.ll

  Log Message:
  -----------
  [VPlan] Mov licm to end of VPlan optimizations.

This moves licm after expanding replicate regions. This fixes a crash
when trying to hoist a predicated VPReplicateRecipes which later get
expanded to replicate regions.

Hoisting replicate regions out was not intended (see the discussion and
at the review and comment on shallow traversal in licm()).

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


  Commit: 58e05779b483bb3d9f734bd09f5cb2241431a0b7
      https://github.com/llvm/llvm-project/commit/58e05779b483bb3d9f734bd09f5cb2241431a0b7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
    R llvm/test/Transforms/LoopVectorize/invariant-replicate-region.ll

  Log Message:
  -----------
  [LV] Move test requiring AArch64 to target subdir.

The test added in bd8fe9972e3f depends on the AArch64. Move it.


  Commit: c9e5c42ad1bba84670d6f7ebe7859f4f12063c5a
      https://github.com/llvm/llvm-project/commit/c9e5c42ad1bba84670d6f7ebe7859f4f12063c5a
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

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

  Log Message:
  -----------
  [X86,SimplifyCFG][NFC] Refactor code for #108812 (#109398)


  Commit: 8f31ee996ae21ee77db29abb02a3aef4750e6d35
      https://github.com/llvm/llvm-project/commit/8f31ee996ae21ee77db29abb02a3aef4750e6d35
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Implement DGNode::isMem() (#109504)

DGNode::isMem() returns true if the node is a memory dependency
candidate.


  Commit: 041b0a81b05cb20f0ece49bc72d3f6f611095ee0
      https://github.com/llvm/llvm-project/commit/041b0a81b05cb20f0ece49bc72d3f6f611095ee0
  Author: wang-y-z <57429717+wang-y-z at users.noreply.github.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M mlir/lib/IR/Operation.cpp
    A mlir/test/Pass/scf-to-cf-and-print-liveness.mlir

  Log Message:
  -----------
  [MLIR][Operation] Fix `isBeforeInBlock` crash bug mentioned in https://github.com/llvm/llvm-project/issues/60909 (#101172)

# summary
This MR fix `isBeforeInBlock` crash bug mentioned in
https://github.com/llvm/llvm-project/issues/60909. Fixes #60909.
# Trigger condition
1. A block only have one operation.
2. `block->isOpOrderValid()` is true, but `op->hasValidOrder()` is
false.
3. call: `op->isBeforeInBlock(op)`, compared with op itself.

Will crash on `assert(blockFront != blockBack && "expected more than one
operation");`

# Case study
Simplified repro case in
`mlir/test/Pass/scf2cf-print-liveness-crash.mlir`
When put `-convert-scf-to-cf -test-print-liveness` together in one cmd
line, the first pass will work normally and crash on the second pass.
Details please refer  https://github.com/llvm/llvm-project/issues/60909

# Solutions
option1. in `isBeforeInBlock`, check if block only have one operation
before step into `updateOrderIfNecessary`, if have only one, it must
return false
option2. in `isBeforeInBlock`, check if `this == other`, if true return
false
option3. fix `addNodeToList` logic

I prefer option3: 

When a block contains only one operation and the user calls
op->isBeforeInBlock(op), if block->isOpOrderValid() returns true,
updateOrderIfNecessary is called. If op->hasValidOrder() is false, it
will crash at the assertion assert(blockFront != blockBack && "expected
more than one operation");.

This behavior is abnormal and needs fixing. I discovered that after the
first pass of `-convert-scf-to-cf`, there is a block with only one
operation where the block order is valid but the operation order is
invalid, leading to a crash when `-test-print-liveness` pass runs.

---------

Co-authored-by: isaacw <isaacw at nvidia.com>


  Commit: 2f664f2bdf2a3974f5c35ea0278239011181eb87
      https://github.com/llvm/llvm-project/commit/2f664f2bdf2a3974f5c35ea0278239011181eb87
  Author: Matteo Franciolini <mfranciolini at tesla.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir

  Log Message:
  -----------
  [mlir][mesh] Fix empty `split_axes` sharding annotation (#108236)

The `split_axes` attribute is defined as "array attribute of array
attributes". Following the definition, empty `split_axes` values should
not be allowed, since that would break the definition and would lead to
invalid IR. In such scenario, passes leveraging the mesh dialect can
observe:
* crashes in sharding-propagation;
* creation of null MeshShardingAttrs in spmdization;
* non roundtrippable IR.

The patch prevents `split_axes` to become empty by modifying the
`removeTrailingEmptySubArray` such that a minimum size of one is
guaranteed when constructing the attribute, and adds a test that would
crash without the change.


  Commit: 56124feeb81e60695246c7dcd8d638cd1288b52b
      https://github.com/llvm/llvm-project/commit/56124feeb81e60695246c7dcd8d638cd1288b52b
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/FpClassifyTest.h
    A libc/test/include/fpclassify_test.c
    A libc/test/include/fpclassify_test.cpp
    A libc/test/include/fpclassifyf_test.cpp
    A libc/test/include/fpclassifyl_test.cpp

  Log Message:
  -----------
  [libc][math] Implement fpclassify macro. (#109519)

#109201


  Commit: 1b6019388c17657c1c07f1e3123a7b4000f94490
      https://github.com/llvm/llvm-project/commit/1b6019388c17657c1c07f1e3123a7b4000f94490
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan.h
    M compiler-rt/lib/rtsan/rtsan_assertions.cpp
    M compiler-rt/lib/rtsan/rtsan_assertions.h
    M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.h
    M compiler-rt/lib/rtsan/tests/rtsan_test_assertions.cpp
    A compiler-rt/test/rtsan/blocking_call.cpp

  Log Message:
  -----------
  [rtsan][compiler-rt] Introduce __rtsan_notify_blocking_call (#109529)

# Why?

In llvm, we need to add a call to `__rtsan_notify_blocking_call()` when
a function is marked `[[clang::blocking]]`. This will produce a
different error message than a call to an unsafe malloc etc


  Commit: 8d0336c14be9d1f99e5c2b5791d8f4df35725ff2
      https://github.com/llvm/llvm-project/commit/8d0336c14be9d1f99e5c2b5791d8f4df35725ff2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp

  Log Message:
  -----------
  [clang-offload-bundler] Avoid repeated hash lookups (NFC) (#109507)


  Commit: 22486e031d13cad3df99be5ab6d860920b71fc80
      https://github.com/llvm/llvm-project/commit/22486e031d13cad3df99be5ab6d860920b71fc80
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp

  Log Message:
  -----------
  [LiveDebugValues] Avoid repeated hash lookups (NFC) (#109509)


  Commit: f76375d9d47894de6665a662811471614b9c5b8b
      https://github.com/llvm/llvm-project/commit/f76375d9d47894de6665a662811471614b9c5b8b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp

  Log Message:
  -----------
  [SPIRV] Avoid repeated hash lookups (NFC) (#109517)


  Commit: 27ad4b03e7622e397dca8185bf783cd3006b95c5
      https://github.com/llvm/llvm-project/commit/27ad4b03e7622e397dca8185bf783cd3006b95c5
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h

  Log Message:
  -----------
  [SandboxVec][DAG][NFC] Fix typo


  Commit: d2969022640a94b26b7324241e13d67080554d9f
      https://github.com/llvm/llvm-project/commit/d2969022640a94b26b7324241e13d67080554d9f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.def

  Log Message:
  -----------
  [Clang] Remove __is_nullptr from the list of type traits


  Commit: b177a9b6efb64d1683ea13adc4eb2105fdeae224
      https://github.com/llvm/llvm-project/commit/b177a9b6efb64d1683ea13adc4eb2105fdeae224
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++][NFC] Remove _LIBCPP_HAS_NO_NOEXCEPT

This macro is never used, so we can drop the definition of it too.


  Commit: 6b56a273490e403957eb3fd7d772d8769423a718
      https://github.com/llvm/llvm-project/commit/6b56a273490e403957eb3fd7d772d8769423a718
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/LTO.cpp
    M lld/ELF/LTO.h

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in LTO.cpp


  Commit: bb0a6f252fe8cb2e5e4f9c26ec2eeda5a8b514fb
      https://github.com/llvm/llvm-project/commit/bb0a6f252fe8cb2e5e4f9c26ec2eeda5a8b514fb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h

  Log Message:
  -----------
  [ELF] Pass Ctx to LinkerScript. NFC


  Commit: 9b7a22ebb52e56246e8bf319c82eaa30cca52e18
      https://github.com/llvm/llvm-project/commit/9b7a22ebb52e56246e8bf319c82eaa30cca52e18
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/LinkerScript.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in LinkerScript


  Commit: 39e30508a7f6ec5477b11611946a491af5ebdeda
      https://github.com/llvm/llvm-project/commit/39e30508a7f6ec5477b11611946a491af5ebdeda
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/test/Preprocessor/predefined-arch-macros.c

  Log Message:
  -----------
  [Driver][Sparc] Default to -mcpu=v9 for 32-bit Linux/sparc64 (#109278)

While working on supporting PR #109101 on Linux/sparc64, I was reminded
that `clang -m32` still defaults to generating V8 code, although the
64-bit kernel requires a V9 CPU.

This patch corrects that.

Tested on `sparc64-unknown-linux-gnu`, `x86_64-pc-linux-gnu`,
`sparcv9-sun-solaris2.11`, and `amd64-pc-solaris2.11`.


  Commit: f86050de738385ecc27e7ce827f72296be8def36
      https://github.com/llvm/llvm-project/commit/f86050de738385ecc27e7ce827f72296be8def36
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/cxx17.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't call checkLiteralType() in visitInitializer() (#109530)

We were calling checkLiteralType() too many time and rejecting some
things we shouldn't. Add The calls manually when handling
MaterializeTemporaryExprs. Maybe we should call it in other places as
well, but adding more calls is easier than removing them from a generic
code path.


  Commit: cf57a670bb3b85a362098b931a3176f2debe6a6a
      https://github.com/llvm/llvm-project/commit/cf57a670bb3b85a362098b931a3176f2debe6a6a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/ScriptLexer.cpp
    M lld/ELF/ScriptLexer.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/ScriptParser.h

  Log Message:
  -----------
  [ELF] ScriptParser: pass Ctx to ScriptParser and ScriptLexer. NFC


  Commit: a04db2c7a6f46ea147e7635dbfe349c68341c897
      https://github.com/llvm/llvm-project/commit/a04db2c7a6f46ea147e7635dbfe349c68341c897
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/CMakeLists.txt
    M compiler-rt/lib/rtsan/rtsan.cpp
    R compiler-rt/lib/rtsan/rtsan_assertions.cpp
    M compiler-rt/lib/rtsan/rtsan_assertions.h
    M compiler-rt/lib/rtsan/tests/rtsan_test_assertions.cpp

  Log Message:
  -----------
  [rtsan] Decouple assertions from error actions (#109535)

Decouples sanitizer assertion `ExpectNotRealtime` from the action that
should happen if a real-time context is detected.


  Commit: 6032feee339bbd20a2f91cca61fa9fb722aabe82
      https://github.com/llvm/llvm-project/commit/6032feee339bbd20a2f91cca61fa9fb722aabe82
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_context.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp

  Log Message:
  -----------
  [rtsan][NFC] Standardize lambda function case, fix autos (#109541)


  Commit: 8ec406757cb92f352888a3d4092397f2b5a7d1d9
      https://github.com/llvm/llvm-project/commit/8ec406757cb92f352888a3d4092397f2b5a7d1d9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    A llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    A llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Implement unrolling as VPlan-to-VPlan transform. (#95842)

This patch implements explicit unrolling by UF  as VPlan transform. In
follow up patches this will allow simplifying VPTransform state (no need
to store unrolled parts) as well as recipe execution (no need to
generate code for multiple parts in an each recipe). It also allows for
more general optimziations (e.g. avoid generating code for recipes that
are uniform-across parts).

It also unifies the logic dealing with unrolled parts in a single place,
rather than spreading it out across multiple places (e.g. VPlan post
processing for header-phi recipes previously.)

In the initial implementation, a number of recipes still take the
unrolled part as additional, optional argument, if their execution
depends on the unrolled part.

The computation for start/step values for scalable inductions changed
slightly. Previously the step would be computed as scalar and then
splatted, now vscale gets splatted and multiplied by the step in a
vector mul.

This has been split off https://github.com/llvm/llvm-project/pull/94339
which also includes changes to simplify VPTransfomState and recipes'
::execute.

The current version mostly leaves existing ::execute untouched and
instead sets VPTransfomState::UF to 1.

A follow-up patch will clean up all references to VPTransformState::UF.

Another follow-up patch will simplify VPTransformState to only store a
single vector value per VPValue.

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


  Commit: 33204002f6420bbe39fabdab674fce911bc7d0ed
      https://github.com/llvm/llvm-project/commit/33204002f6420bbe39fabdab674fce911bc7d0ed
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/ScriptParser.cpp

  Log Message:
  -----------
  [ELF] ScriptParser: make Ctx & a member variable. NFC

Lambda captures need adjusting.


  Commit: 49ec508596ff13601788d073e3f6e77498658187
      https://github.com/llvm/llvm-project/commit/49ec508596ff13601788d073e3f6e77498658187
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Writer. NFC


  Commit: 1dd9a565eae55edbc74822c29aa1f8ac2bc3e88b
      https://github.com/llvm/llvm-project/commit/1dd9a565eae55edbc74822c29aa1f8ac2bc3e88b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in Arch/


  Commit: 86fb006e7f48822bbf2a7e83abf2a659e798c243
      https://github.com/llvm/llvm-project/commit/86fb006e7f48822bbf2a7e83abf2a659e798c243
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8ec406757cb9


  Commit: b620fde2be98d181d41f95691a150923ab1e978e
      https://github.com/llvm/llvm-project/commit/b620fde2be98d181d41f95691a150923ab1e978e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Early returns in `DTLS_on_tls_get_addr` (#109539)


  Commit: f379b634359003df0a6f8458fc49b4a17764fdd8
      https://github.com/llvm/llvm-project/commit/f379b634359003df0a6f8458fc49b4a17764fdd8
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    A llvm/test/tools/llvm-readobj/COFF/arm64ec-chpe.yaml
    R llvm/test/tools/llvm-readobj/arm64ec-chpe.yaml

  Log Message:
  -----------
  [llvm-readobj][NFC] Move arm64ec-chpe.yaml to COFF subdirectory


  Commit: eba30b3370e1269ec9772e75c3818080cb1f272a
      https://github.com/llvm/llvm-project/commit/eba30b3370e1269ec9772e75c3818080cb1f272a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in [IS]*.cpp


  Commit: 37bb9ad12836685d9e07792478ffc12470861bd0
      https://github.com/llvm/llvm-project/commit/37bb9ad12836685d9e07792478ffc12470861bd0
  Author: David Green <david.green at arm.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir

  Log Message:
  -----------
  [AArch64] Regenerate GlobalISel legalize-cmp.mir tests. NFC


  Commit: 6dcd0d4b50ff3da15c316daad9b29633612664f6
      https://github.com/llvm/llvm-project/commit/6dcd0d4b50ff3da15c316daad9b29633612664f6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Update `DTLS_on_tls_get_addr` failure comment (#109546)

Also return `nullptr` on failure. All callers
do nothing for `nullptr` or `{tls_beg, 0}`,
but with `nullptr` they continue earlier.


  Commit: c3f9b736c48700db267cdbd22ce510b9978cbdf6
      https://github.com/llvm/llvm-project/commit/c3f9b736c48700db267cdbd22ce510b9978cbdf6
  Author: David Green <david.green at arm.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

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

  Log Message:
  -----------
  [AArch64] Treat fp128 G_FNEG like G_FABS

These fp128 G_FNEG operations should be treated more like G_FABS, where the
operation is lowered to simple integer arithmetic. All other operations are the
same between the two ActionDefinitionsBuilders.


  Commit: e45fc5140df7bb60242a989ac7fc5cd0c0563234
      https://github.com/llvm/llvm-project/commit/e45fc5140df7bb60242a989ac7fc5cd0c0563234
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir

  Log Message:
  -----------
  [Linalg][Vectorization] Add support for linalg vectorization of a tensor.extract case (#107922)

In https://github.com/llvm/llvm-project/pull/102321 we relaxed the
vectorizer so that when checking for contiguous loads we dont always
have a trailing non unit dim. For example in the test case added we have
`tensor<8x1xf32>` which is now a valid candidate for contiguous load.
However, the logic to check contiguous load assumed that only the
trailing dim will be non unit so this PR just updates that logic to find
the actual non unit dim.


  Commit: 1818ca5c4ae87ed222a18177caa7c8dde6c67efa
      https://github.com/llvm/llvm-project/commit/1818ca5c4ae87ed222a18177caa7c8dde6c67efa
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    R clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Refactor collection of multi-level template argument lists (#106585)"

This reverts commit cdd71d61664b63ae57bdba9ee0d891f78ef79c07 (and
30adb43c897a45c18d7dd163fb4ff40c915fc488).

This change broke compiling Qt, see
https://github.com/llvm/llvm-project/pull/106585#issuecomment-2365309463
for details.


  Commit: f264d9a9d56f165777f0e1750b3bdb74059fffd0
      https://github.com/llvm/llvm-project/commit/f264d9a9d56f165777f0e1750b3bdb74059fffd0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp

  Log Message:
  -----------
  [Linalg] Fix a warning

This patch fixes:

  mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp:821:12: error:
  variable 'countNonUnitDim' set but not used
  [-Werror,-Wunused-but-set-variable]


  Commit: da38e1d5a962b45fd95034fc0a00f26526ec3c70
      https://github.com/llvm/llvm-project/commit/da38e1d5a962b45fd95034fc0a00f26526ec3c70
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang-tools-extra/modularize/Modularize.cpp

  Log Message:
  -----------
  [modularize] Avoid repeated hash lookups (NFC) (#109508)

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


  Commit: dc2deb53131b9d4c5e881229190bdda1ca3ea47f
      https://github.com/llvm/llvm-project/commit/dc2deb53131b9d4c5e881229190bdda1ca3ea47f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll

  Log Message:
  -----------
  [SLP]Vectorize gathered loads

Final gather/buildvector nodes may have scalar loads, which are not
vectorized (since they are part of the gather nodes) but may form full
vector loads, being combined. This patch walks over all gather nodes,
"gathering" and sorting gathered scalar loads and then tries to build
vector loads, which later are reshuffled between the gather nodes.
It allows later to add support for segmented loads (kind of AOS to SOA
load kind for RISC-V RVV) and may help with the removal of the alternat
e opcodes support.
Currently, alternate nodes may depend on each other because of the
consecutive loads between their operands. Because of that we cannot
simply remove alternate vectorization. But this approach may help to
remove most of the stuff for it, since we'll be able to vectorize loads
in between lanes.

Metric: size..text, AVX512

Program                                                                                                                                                size..text
                                                                                 test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test   238381.00   250669.00  5.2%
                                                                  test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test    25753.00    26329.00  2.2%
                                                                  test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-psadbw.test     3028.00     3092.00  2.1%
                                                                                     test-suite :: MultiSource/Benchmarks/Rodinia/hotspot/hotspot.test     4243.00     4275.00  0.8%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   649765.00   653877.00  0.6%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   649765.00   653877.00  0.6%
                                                                                       test-suite :: SingleSource/Benchmarks/BenchmarkGame/n-body.test     4199.00     4222.00  0.5%
                                                             test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test    12933.00    12997.00  0.5%
                                                                                                 test-suite :: SingleSource/Benchmarks/Misc/flops.test     8282.00     8314.00  0.4%
                                                            test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-unpack_msasm.test    10065.00    10097.00  0.3%
                                                                                         test-suite :: SingleSource/Benchmarks/Misc-C++/Large/ray.test     5160.00     5176.00  0.3%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12472220.00 12509612.00  0.3%
                                                                                      test-suite :: MultiSource/Benchmarks/Prolangs-C++/city/city.test     6908.00     6924.00  0.2%
                                                                         test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   202830.00   203278.00  0.2%
                                                                                       test-suite :: SingleSource/Benchmarks/CoyoteBench/fftbench.test     9133.00     9149.00  0.2%
                                                                                           test-suite :: MultiSource/Benchmarks/Olden/power/power.test     6792.00     6803.00  0.2%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1395585.00  1397473.00  0.1%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1395585.00  1397473.00  0.1%
                                                                        test-suite :: External/SPEC/CINT2017speed/631.deepsjeng_s/631.deepsjeng_s.test    97662.00    97758.00  0.1%
                                                                                        test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test   595179.00   595739.00  0.1%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test    70603.00    70667.00  0.1%
                                                                            test-suite :: MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail.test    19877.00    19893.00  0.1%
                                                                           test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT.test    90231.00    90279.00  0.1%
                                                                                         test-suite :: External/SPEC/CINT2006/473.astar/473.astar.test    33738.00    33754.00  0.0%
                                                                                     test-suite :: External/SPEC/CFP2017speed/619.lbm_s/619.lbm_s.test    13262.00    13268.00  0.0%
                                                                                        test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  1139964.00  1140460.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test   849507.00   849875.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1158379.00  1158859.00  0.0%
                                                                                   test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test    38724.00    38740.00  0.0%
                                                                                              test-suite :: External/SPEC/CFP2006/470.lbm/470.lbm.test    15180.00    15186.00  0.0%
                                                                                      test-suite :: External/SPEC/CFP2017rate/519.lbm_r/519.lbm_r.test    15484.00    15490.00  0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/456.hmmer/456.hmmer.test   167391.00   167455.00  0.0%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.test   137448.00   137496.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2030254.00  2030766.00  0.0%
                                                                              test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test   302870.00   302934.00  0.0%
                                                                                    test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test   303126.00   303190.00  0.0%
                                                                                            test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test   241107.00   241155.00  0.0%
                                                                                      test-suite :: External/SPEC/CFP2006/482.sphinx3/482.sphinx3.test   162974.00   163006.00  0.0%
                                                                                                 test-suite :: MultiSource/Applications/siod/siod.test   167168.00   167200.00  0.0%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1048796.00  1048988.00  0.0%
                                                                               test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test   201623.00   201655.00  0.0%
                                                                                           test-suite :: MultiSource/Applications/sqlite3/sqlite3.test   501734.00   501798.00  0.0%
test-suite :: MultiSource/Applications/ClamAV/clamscan.test   580888.00   580952.00  0.0%
                                                                                           test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test   168319.00   168335.00  0.0%
                                                                        test-suite :: MicroBenchmarks/ImageProcessing/Interpolation/Interpolation.test   226022.00   226038.00  0.0%
                                                        test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.test   118011.00   118015.00  0.0%
                                                                                     test-suite :: External/SPEC/CINT2006/471.omnetpp/471.omnetpp.test   550589.00   550605.00  0.0%
                                                                                             test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test  3072477.00  3072541.00  0.0%
                                                                                 test-suite :: External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test  2385563.00  2385579.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   389171.00   389155.00 -0.0%
                                                                                                   test-suite :: MultiSource/Applications/lua/lua.test   234764.00   234748.00 -0.0%
                                                                                        test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test   227694.00   227678.00 -0.0%
                                                                    test-suite :: MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.test   119819.00   119807.00 -0.0%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.test   117995.00   117983.00 -0.0%
                                                            test-suite :: MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.test   123610.00   123594.00 -0.0%
                                                                                       test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test    81414.00    81398.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   782040.00   781880.00 -0.0%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test  9597420.00  9595292.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test  9597420.00  9595292.00 -0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   911832.00   911608.00 -0.0%
                                                                                             test-suite :: MultiSource/Applications/oggenc/oggenc.test   192507.00   192459.00 -0.0%
                                                            test-suite :: MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.test   122843.00   122811.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test   122292.00   122260.00 -0.0%
                                                                                    test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test   777363.00   777155.00 -0.0%
                                                                            test-suite :: MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.test   123265.00   123205.00 -0.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   315534.00   315358.00 -0.1%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.test   128163.00   128083.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test     6562.00     6555.00 -0.1%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test    23428.00    23396.00 -0.1%
                                                                             test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    22749.00    22717.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39549.00    39485.00 -0.2%
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39546.00    39482.00 -0.2%
                                                                                    test-suite :: MultiSource/Benchmarks/Prolangs-C/bison/mybison.test    57214.00    57118.00 -0.2%
                                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   413668.00   412804.00 -0.2%
                                                                                       test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  1044047.00  1041487.00 -0.2%
                                                                                            test-suite :: MultiSource/Benchmarks/McCat/18-imp/imp.test    12414.00    12382.00 -0.3%
                                                                                      test-suite :: MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo.test    31161.00    30969.00 -0.6%
                                                                               test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test   224726.00   223254.00 -0.7%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    93512.00    92824.00 -0.7%
                                                                        test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   281151.00   278463.00 -1.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test     2820.00     2788.00 -1.1%
                                                                                            test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   156819.00   154739.00 -1.3%
                                                                 test-suite :: MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish.test    11560.00    11160.00 -3.5%
                                                                                          test-suite :: MultiSource/Benchmarks/McCat/08-main/main.test     6734.00     6382.00 -5.2%
                                                                                                                                                       results     results0    diff

ASCI_Purple/SMG2000 - extra vector code
VPlanNativePath/outer-loop-vect - extra vectorization, better vector
code
AVX512BWVL/Vector-AVX512BWVL-psadbw - better vector code
Rodinia/hotspot - small variations
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - extra vector code, better vectorization
BenchmarkGame/n-body - better vector code.
AVX512BWVL/Vector-AVX512BWVL-unpack_msasm - small variations
Misc/flops - extra vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - small variations
Misc-C++/Large - better vector code
CFP2017rate/526.blender_r - extra vector code
Prolangs-C++/city - extra vector code
MiBench/consumer-lame - extra vector code
CoyoteBench/fftbench - extra vector code
Olden/power - better vector code
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - extra vector code
CINT2017rate/531.deepsjeng_r - extra vector code
CFP2006/447.dealII - small variations
DOE-ProxyApps-C/miniAMR - small variations
Prolangs-C/unix-smail - small variations
DOE-ProxyApps-C++/PENNANT - small variations
CINT2006/473.astar - small variations
CFP2006/453.povray - small variations
JM/lencod - extra vector code
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/CoMD - small variations
CFP2006/470.lbm - extra vector code
CFP2017speed/619.lbm_s
CFP2017rate/519.lbm_r - extra vector code
CINT2006/456.hmmer - extra code vectorized
TSVC/ControlFlow-dbl - extra vector code
CFP2017rate/510.parest_r - better vector code
LCALS/SubsetALambdaLoops - extra code vectorized
LCALS/SubsetARawLoops - extra code vectorized
CFP2006/444.namd - extra code vectorized
CFP2006/482.sphinx3 - better vector code
Applications/siod - better vector code
Benchmarks/7zip - better vector code
DOE-ProxyApps-C++/CLAMR - extra code vectorized
Applications/sqlite3 - extra code vectorized
Applications/ClamAV - smaller vector code
MallocBench/gs - small variations
MicroBenchmarks/ImageProcessing - small variations
TSVC/StatementReordering-flt - extra code vectorized
CINT2006/471.omnetpp - small variations
CINT2006/403.gcc - extra code vectorized
CINT2006/483.xalancbmk - extra code vectorized
JM/ldecod - small variations
Applications/lua - extra code vectorized
mafft/pairlocalalign - small variations
TSVC/NodeSplitting-flt - extra code vectorized
TSVC/Recurrences-flt - extra code vectorized
TSVC/InductionVariable-flt - extra code vectorized
FreeBench/pifft - small variations
CINT2006/464.h264ref - extra code vectorized
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - some extra code vectorized, extra code inlined
CINT2006/445.gobmk - small variations
Applications/oggenc - small variations
TSVC/LoopRestructuring-flt - extra code vectorized
TSVC/CrossingThresholds-flt - extra code vectorized
CFP2017rate/508.namd_r - small variations
TSVC/ControlFlow-flt - extra code vectorized
mediabench/g721 - small variations
Prolangs-C/compiler - small variations
FreeBench/fourinarow - better vector code
MiBench/telecomm-gsm - small variation in vector code
mediabench/gsm - same
Prolangs-C/bison - small variations
Adobe-C++/loop_unroll - extra code vectorized
Benchmarks/tramp3d-v4 - extra code gets inlined, small changes in vetor
code
McCat/18-imp - variations in vector code
Prolangs-C/gnugo - variations in vector code
MallocBench/espresso - extra code vectorized
DOE-ProxyApps-C++/miniFE - small variations in vector code
Prolangs-C/TimberWolfMC - extra code vectorized, small changes in
previously vectorized code.
Olden/tsp - small changes in vector code
CFP2006/433.milc - extra code gets inlined, vectorized 2 x stores to 4 x stores
MiBench/security-blowfish - extra code vectorized
McCat/08-main - better vector code.

Metric: size..text, RISCV, sifive-p670

Program                                                                                                                                                size..text
                                                                                                                                                       results    results0   diff
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test   63580.00   64020.00  0.7%
                                                                   test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test   21388.00   21406.00  0.1%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  296992.00  297088.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  968112.00  968208.00  0.0%
                                                        test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.test   45160.00   45164.00  0.0%
                                                                         test-suite :: External/SPEC/CINT2017rate/523.xalancbmk_r/523.xalancbmk_r.test 2635902.00 2635854.00 -0.0%
                                                                        test-suite :: External/SPEC/CINT2017speed/623.xalancbmk_s/623.xalancbmk_s.test 2635902.00 2635854.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7568730.00 7568578.00 -0.0%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7568730.00 7568578.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test   49764.00   49762.00 -0.0%
                                                                                           test-suite :: MultiSource/Applications/sqlite3/sqlite3.test  449132.00  449108.00 -0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test  695932.00  695892.00 -0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  508820.00  508788.00 -0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  508820.00  508788.00 -0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9594152.00 9593336.00 -0.0%
                                                                                 test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test  166522.00  166490.00 -0.0%
                                                                                    test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test  722252.00  722092.00 -0.0%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test   27554.00   27546.00 -0.0%
                                                                  test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test   10900.00   10896.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.test   46754.00   46732.00 -0.0%
                                                                                       test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  631570.00  631226.00 -0.1%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  850698.00  850218.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   24816.00   24800.00 -0.1%
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   24814.00   24798.00 -0.1%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1599946.00 1598394.00 -0.1%
                                                                                                   test-suite :: MultiSource/Applications/hbd/hbd.test   27236.00   27204.00 -0.1%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  293848.00  293480.00 -0.1%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test   20160.00   20048.00 -0.6%
                                                                               test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test  182088.00  181040.00 -0.6%
                                                                           test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    4788.00    4748.00 -0.8%

DOE-ProxyApps-C++/miniFE - extra vector code
MiBench/automotive-susan - small variations
Benchmarks/Bullet - extra vector code
CFP2017rate/511.povray_r - slightly better vector code
TSVC/StatementReordering-dbl - small variations
CINT2017rate/523.xalancbmk_r
CINT2017speed/623.xalancbmk_s - extra vector code
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - extra vector code
TSVC/CrossingThresholds-flt - small variations
Applications/sqlite3 - extra vector code
JM/lencod - extra vector code, small variations
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - small variations
CFP2017rate/526.blender_r - extra vector code, small variations
DOE-ProxyApps-C/miniGMG - small variations
Vectorizer/VPlanNativePath/outer-loop-vect - small variations
TSVC/CrossingThresholds-dbl - small variations
Benchmarks/tramp3d-v4 - small variations
Benchmarks/7zip - extra vector code
MiBench/telecomm-gsm - small variations
mediabench/gsm/toast - small variations
CFP2017rate/510.parest_r - extra vector code
Applications/hbd - extra vector code
JM/ldecod - better vector code
Prolangs-C/compiler - extra vector code
MallocBench/espresso - extra vector code
mediabench/g721/g721encode - extra vectorization

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: c64277d1b480cee80a1f3c25ea03dd64f5199037
      https://github.com/llvm/llvm-project/commit/c64277d1b480cee80a1f3c25ea03dd64f5199037
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Speculatively fix older MSVC after &ctx change

https://lab.llvm.org/buildbot/#/builders/107/builds/3155
```
error C2039: 'ctx': is not a member of '`anonymous-namespace'::Writer<ELFT>::fixSectionAlignments::<lambda_38c4af40b02773e966aeff2e6bd45bf2>'
```


  Commit: e588fd994fe8ce0fa7804284f2a2a9a6922980fd
      https://github.com/llvm/llvm-project/commit/e588fd994fe8ce0fa7804284f2a2a9a6922980fd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll

  Log Message:
  -----------
  Revert "[SLP]Vectorize gathered loads"

This reverts commit dc2deb53131b9d4c5e881229190bdda1ca3ea47f to fix the
issue reported in https://lab.llvm.org/buildbot/#/builders/25/builds/2668


  Commit: 1833d418a04123916c1dbeb0c41c8bc7d06b779b
      https://github.com/llvm/llvm-project/commit/1833d418a04123916c1dbeb0c41c8bc7d06b779b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll

  Log Message:
  -----------
  [SLP]Vectorize gathered loads

Final gather/buildvector nodes may have scalar loads, which are not
vectorized (since they are part of the gather nodes) but may form full
vector loads, being combined. This patch walks over all gather nodes,
"gathering" and sorting gathered scalar loads and then tries to build
vector loads, which later are reshuffled between the gather nodes.
It allows later to add support for segmented loads (kind of AOS to SOA
load kind for RISC-V RVV) and may help with the removal of the alternat
e opcodes support.
Currently, alternate nodes may depend on each other because of the
consecutive loads between their operands. Because of that we cannot
simply remove alternate vectorization. But this approach may help to
remove most of the stuff for it, since we'll be able to vectorize loads
in between lanes.

Metric: size..text, AVX512

Program                                                                                                                                                size..text
                                                                                 test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test   238381.00   250669.00  5.2%
                                                                  test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test    25753.00    26329.00  2.2%
                                                                  test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-psadbw.test     3028.00     3092.00  2.1%
                                                                                     test-suite :: MultiSource/Benchmarks/Rodinia/hotspot/hotspot.test     4243.00     4275.00  0.8%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   649765.00   653877.00  0.6%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   649765.00   653877.00  0.6%
                                                                                       test-suite :: SingleSource/Benchmarks/BenchmarkGame/n-body.test     4199.00     4222.00  0.5%
                                                             test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test    12933.00    12997.00  0.5%
                                                                                                 test-suite :: SingleSource/Benchmarks/Misc/flops.test     8282.00     8314.00  0.4%
                                                            test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-unpack_msasm.test    10065.00    10097.00  0.3%
                                                                                         test-suite :: SingleSource/Benchmarks/Misc-C++/Large/ray.test     5160.00     5176.00  0.3%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12472220.00 12509612.00  0.3%
                                                                                      test-suite :: MultiSource/Benchmarks/Prolangs-C++/city/city.test     6908.00     6924.00  0.2%
                                                                         test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   202830.00   203278.00  0.2%
                                                                                       test-suite :: SingleSource/Benchmarks/CoyoteBench/fftbench.test     9133.00     9149.00  0.2%
                                                                                           test-suite :: MultiSource/Benchmarks/Olden/power/power.test     6792.00     6803.00  0.2%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1395585.00  1397473.00  0.1%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1395585.00  1397473.00  0.1%
                                                                        test-suite :: External/SPEC/CINT2017speed/631.deepsjeng_s/631.deepsjeng_s.test    97662.00    97758.00  0.1%
                                                                                        test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test   595179.00   595739.00  0.1%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test    70603.00    70667.00  0.1%
                                                                            test-suite :: MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail.test    19877.00    19893.00  0.1%
                                                                           test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT.test    90231.00    90279.00  0.1%
                                                                                         test-suite :: External/SPEC/CINT2006/473.astar/473.astar.test    33738.00    33754.00  0.0%
                                                                                     test-suite :: External/SPEC/CFP2017speed/619.lbm_s/619.lbm_s.test    13262.00    13268.00  0.0%
                                                                                        test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  1139964.00  1140460.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test   849507.00   849875.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1158379.00  1158859.00  0.0%
                                                                                   test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test    38724.00    38740.00  0.0%
                                                                                              test-suite :: External/SPEC/CFP2006/470.lbm/470.lbm.test    15180.00    15186.00  0.0%
                                                                                      test-suite :: External/SPEC/CFP2017rate/519.lbm_r/519.lbm_r.test    15484.00    15490.00  0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/456.hmmer/456.hmmer.test   167391.00   167455.00  0.0%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.test   137448.00   137496.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2030254.00  2030766.00  0.0%
                                                                              test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test   302870.00   302934.00  0.0%
                                                                                    test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test   303126.00   303190.00  0.0%
                                                                                            test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test   241107.00   241155.00  0.0%
                                                                                      test-suite :: External/SPEC/CFP2006/482.sphinx3/482.sphinx3.test   162974.00   163006.00  0.0%
                                                                                                 test-suite :: MultiSource/Applications/siod/siod.test   167168.00   167200.00  0.0%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1048796.00  1048988.00  0.0%
                                                                               test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test   201623.00   201655.00  0.0%
                                                                                           test-suite :: MultiSource/Applications/sqlite3/sqlite3.test   501734.00   501798.00  0.0%
test-suite :: MultiSource/Applications/ClamAV/clamscan.test   580888.00   580952.00  0.0%
                                                                                           test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test   168319.00   168335.00  0.0%
                                                                        test-suite :: MicroBenchmarks/ImageProcessing/Interpolation/Interpolation.test   226022.00   226038.00  0.0%
                                                        test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.test   118011.00   118015.00  0.0%
                                                                                     test-suite :: External/SPEC/CINT2006/471.omnetpp/471.omnetpp.test   550589.00   550605.00  0.0%
                                                                                             test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test  3072477.00  3072541.00  0.0%
                                                                                 test-suite :: External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test  2385563.00  2385579.00  0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   389171.00   389155.00 -0.0%
                                                                                                   test-suite :: MultiSource/Applications/lua/lua.test   234764.00   234748.00 -0.0%
                                                                                        test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test   227694.00   227678.00 -0.0%
                                                                    test-suite :: MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.test   119819.00   119807.00 -0.0%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.test   117995.00   117983.00 -0.0%
                                                            test-suite :: MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.test   123610.00   123594.00 -0.0%
                                                                                       test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test    81414.00    81398.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   782040.00   781880.00 -0.0%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test  9597420.00  9595292.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test  9597420.00  9595292.00 -0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   911832.00   911608.00 -0.0%
                                                                                             test-suite :: MultiSource/Applications/oggenc/oggenc.test   192507.00   192459.00 -0.0%
                                                            test-suite :: MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.test   122843.00   122811.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test   122292.00   122260.00 -0.0%
                                                                                    test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test   777363.00   777155.00 -0.0%
                                                                            test-suite :: MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.test   123265.00   123205.00 -0.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   315534.00   315358.00 -0.1%
                                                                        test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.test   128163.00   128083.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test     6562.00     6555.00 -0.1%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test    23428.00    23396.00 -0.1%
                                                                             test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    22749.00    22717.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39549.00    39485.00 -0.2%
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39546.00    39482.00 -0.2%
                                                                                    test-suite :: MultiSource/Benchmarks/Prolangs-C/bison/mybison.test    57214.00    57118.00 -0.2%
                                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   413668.00   412804.00 -0.2%
                                                                                       test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  1044047.00  1041487.00 -0.2%
                                                                                            test-suite :: MultiSource/Benchmarks/McCat/18-imp/imp.test    12414.00    12382.00 -0.3%
                                                                                      test-suite :: MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo.test    31161.00    30969.00 -0.6%
                                                                               test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test   224726.00   223254.00 -0.7%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    93512.00    92824.00 -0.7%
                                                                        test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   281151.00   278463.00 -1.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test     2820.00     2788.00 -1.1%
                                                                                            test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   156819.00   154739.00 -1.3%
                                                                 test-suite :: MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish.test    11560.00    11160.00 -3.5%
                                                                                          test-suite :: MultiSource/Benchmarks/McCat/08-main/main.test     6734.00     6382.00 -5.2%
                                                                                                                                                       results     results0    diff

ASCI_Purple/SMG2000 - extra vector code
VPlanNativePath/outer-loop-vect - extra vectorization, better vector
code
AVX512BWVL/Vector-AVX512BWVL-psadbw - better vector code
Rodinia/hotspot - small variations
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - extra vector code, better vectorization
BenchmarkGame/n-body - better vector code.
AVX512BWVL/Vector-AVX512BWVL-unpack_msasm - small variations
Misc/flops - extra vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - small variations
Misc-C++/Large - better vector code
CFP2017rate/526.blender_r - extra vector code
Prolangs-C++/city - extra vector code
MiBench/consumer-lame - extra vector code
CoyoteBench/fftbench - extra vector code
Olden/power - better vector code
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - extra vector code
CINT2017rate/531.deepsjeng_r - extra vector code
CFP2006/447.dealII - small variations
DOE-ProxyApps-C/miniAMR - small variations
Prolangs-C/unix-smail - small variations
DOE-ProxyApps-C++/PENNANT - small variations
CINT2006/473.astar - small variations
CFP2006/453.povray - small variations
JM/lencod - extra vector code
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/CoMD - small variations
CFP2006/470.lbm - extra vector code
CFP2017speed/619.lbm_s
CFP2017rate/519.lbm_r - extra vector code
CINT2006/456.hmmer - extra code vectorized
TSVC/ControlFlow-dbl - extra vector code
CFP2017rate/510.parest_r - better vector code
LCALS/SubsetALambdaLoops - extra code vectorized
LCALS/SubsetARawLoops - extra code vectorized
CFP2006/444.namd - extra code vectorized
CFP2006/482.sphinx3 - better vector code
Applications/siod - better vector code
Benchmarks/7zip - better vector code
DOE-ProxyApps-C++/CLAMR - extra code vectorized
Applications/sqlite3 - extra code vectorized
Applications/ClamAV - smaller vector code
MallocBench/gs - small variations
MicroBenchmarks/ImageProcessing - small variations
TSVC/StatementReordering-flt - extra code vectorized
CINT2006/471.omnetpp - small variations
CINT2006/403.gcc - extra code vectorized
CINT2006/483.xalancbmk - extra code vectorized
JM/ldecod - small variations
Applications/lua - extra code vectorized
mafft/pairlocalalign - small variations
TSVC/NodeSplitting-flt - extra code vectorized
TSVC/Recurrences-flt - extra code vectorized
TSVC/InductionVariable-flt - extra code vectorized
FreeBench/pifft - small variations
CINT2006/464.h264ref - extra code vectorized
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - some extra code vectorized, extra code inlined
CINT2006/445.gobmk - small variations
Applications/oggenc - small variations
TSVC/LoopRestructuring-flt - extra code vectorized
TSVC/CrossingThresholds-flt - extra code vectorized
CFP2017rate/508.namd_r - small variations
TSVC/ControlFlow-flt - extra code vectorized
mediabench/g721 - small variations
Prolangs-C/compiler - small variations
FreeBench/fourinarow - better vector code
MiBench/telecomm-gsm - small variation in vector code
mediabench/gsm - same
Prolangs-C/bison - small variations
Adobe-C++/loop_unroll - extra code vectorized
Benchmarks/tramp3d-v4 - extra code gets inlined, small changes in vetor
code
McCat/18-imp - variations in vector code
Prolangs-C/gnugo - variations in vector code
MallocBench/espresso - extra code vectorized
DOE-ProxyApps-C++/miniFE - small variations in vector code
Prolangs-C/TimberWolfMC - extra code vectorized, small changes in
previously vectorized code.
Olden/tsp - small changes in vector code
CFP2006/433.milc - extra code gets inlined, vectorized 2 x stores to 4 x stores
MiBench/security-blowfish - extra code vectorized
McCat/08-main - better vector code.

Metric: size..text, RISCV, sifive-p670

Program                                                                                                                                                size..text
                                                                                                                                                       results    results0   diff
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test   63580.00   64020.00  0.7%
                                                                   test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test   21388.00   21406.00  0.1%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  296992.00  297088.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  968112.00  968208.00  0.0%
                                                        test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.test   45160.00   45164.00  0.0%
                                                                         test-suite :: External/SPEC/CINT2017rate/523.xalancbmk_r/523.xalancbmk_r.test 2635902.00 2635854.00 -0.0%
                                                                        test-suite :: External/SPEC/CINT2017speed/623.xalancbmk_s/623.xalancbmk_s.test 2635902.00 2635854.00 -0.0%
                                                                                     test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7568730.00 7568578.00 -0.0%
                                                                                    test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7568730.00 7568578.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test   49764.00   49762.00 -0.0%
                                                                                           test-suite :: MultiSource/Applications/sqlite3/sqlite3.test  449132.00  449108.00 -0.0%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test  695932.00  695892.00 -0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  508820.00  508788.00 -0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  508820.00  508788.00 -0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9594152.00 9593336.00 -0.0%
                                                                                 test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test  166522.00  166490.00 -0.0%
                                                                                    test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test  722252.00  722092.00 -0.0%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test   27554.00   27546.00 -0.0%
                                                                  test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test   10900.00   10896.00 -0.0%
                                                          test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.test   46754.00   46732.00 -0.0%
                                                                                       test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  631570.00  631226.00 -0.1%
                                                                                         test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  850698.00  850218.00 -0.1%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   24816.00   24800.00 -0.1%
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   24814.00   24798.00 -0.1%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1599946.00 1598394.00 -0.1%
                                                                                                   test-suite :: MultiSource/Applications/hbd/hbd.test   27236.00   27204.00 -0.1%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  293848.00  293480.00 -0.1%
                                                                                test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test   20160.00   20048.00 -0.6%
                                                                               test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test  182088.00  181040.00 -0.6%
                                                                           test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    4788.00    4748.00 -0.8%

DOE-ProxyApps-C++/miniFE - extra vector code
MiBench/automotive-susan - small variations
Benchmarks/Bullet - extra vector code
CFP2017rate/511.povray_r - slightly better vector code
TSVC/StatementReordering-dbl - small variations
CINT2017rate/523.xalancbmk_r
CINT2017speed/623.xalancbmk_s - extra vector code
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - extra vector code
TSVC/CrossingThresholds-flt - small variations
Applications/sqlite3 - extra vector code
JM/lencod - extra vector code, small variations
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - small variations
CFP2017rate/526.blender_r - extra vector code, small variations
DOE-ProxyApps-C/miniGMG - small variations
Vectorizer/VPlanNativePath/outer-loop-vect - small variations
TSVC/CrossingThresholds-dbl - small variations
Benchmarks/tramp3d-v4 - small variations
Benchmarks/7zip - extra vector code
MiBench/telecomm-gsm - small variations
mediabench/gsm/toast - small variations
CFP2017rate/510.parest_r - extra vector code
Applications/hbd - extra vector code
JM/ldecod - better vector code
Prolangs-C/compiler - extra vector code
MallocBench/espresso - extra vector code
mediabench/g721/g721encode - extra vectorization

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 85681d48343d503e95d57bad742b254354e59414
      https://github.com/llvm/llvm-project/commit/85681d48343d503e95d57bad742b254354e59414
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Simplify intra-graph dependence tracking in ObjectLinkingLayer.

ObjectLinkingLayer::registerDependencies used to propagate external symbol
dependencies (dependencies on symbols outside the current graph) to all nodes.
Since ebe8733a11e, which merged addDependencies into notifyEmitted, the
notifyEmitted function will propagate intra-graph dependencies, so
registerDependencies no longer needs to do this.

This patch updates ObjectLinkingLayer::registerDependencies to just propagate
named dependencies (on both internal and external symbols) through anonymous
blocks, leaving the rest of the work to ExecutionSession::notifyEmitted.
It also choses a key symbol to use for blocks containing multiple symbols. The
result is both easier to read and faster.


  Commit: 255870d7b5c474b1ea0b61f165d11930ada2e2ef
      https://github.com/llvm/llvm-project/commit/255870d7b5c474b1ea0b61f165d11930ada2e2ef
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/DWARFRecordSectionSplitter.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_ehframe.s
    M llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ehframe.s
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_ehframe.s
    M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_ehframe.s
    M llvm/test/ExecutionEngine/JITLink/ppc64/ELF_ppc64_ehframe.s
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp

  Log Message:
  -----------
  [JITLink] Update splitBlock to support splitting into multiple blocks.

LinkGraph::splitBlock used to take a single split-point to split a Block into
two. In the common case where a block needs to be split repeatedly (e.g. in
eh-frame and compact-unwind sections), iterative calls to splitBlock could
lead to poor performance as symbols and edges are repeatedly shuffled to new
blocks.

This commit updates LinkGraph::splitBlock to take a sequence of split offsets,
allowing a block to be split into an arbitrary number of new blocks. Internally,
Symbols and Edges only need to be moved once (directly to whichever new block
they will be associated with), leading to better performance.

On some large MachO object files in an out of tree project this change improved
the performance of splitBlock by several orders of magnitude.

rdar://135820493


  Commit: 2c770675ce36402b51a320ae26f369690c138dc1
      https://github.com/llvm/llvm-project/commit/2c770675ce36402b51a320ae26f369690c138dc1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp

  Log Message:
  -----------
  [ARM] Use MCRegister in more places. NFC


  Commit: aaa637d8d04694827e0e7d68c68971ff26791823
      https://github.com/llvm/llvm-project/commit/aaa637d8d04694827e0e7d68c68971ff26791823
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsNormalTest.h
    A libc/test/include/isnormal_test.c
    A libc/test/include/isnormal_test.cpp
    A libc/test/include/isnormalf_test.cpp
    A libc/test/include/isnormall_test.cpp

  Log Message:
  -----------
  [libc][math] Implement isnormal macro. (#109547)

#109201


  Commit: ff8d55f8d5079aca95feeb671417bacc21eaac61
      https://github.com/llvm/llvm-project/commit/ff8d55f8d5079aca95feeb671417bacc21eaac61
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Thunks.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in Relocations and Thunks


  Commit: eaedbbc30ded7965f37cfa90149daf308656c299
      https://github.com/llvm/llvm-project/commit/eaedbbc30ded7965f37cfa90149daf308656c299
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M libc/newhdrgen/yaml_functions_sorted.py

  Log Message:
  -----------
  [libc] Use `yaml.safe_load` rather than `yaml.load` (#109557)

`yaml.load` is considered unsafe, use `yaml.safe_load`.


  Commit: bbca451be01fb02d05c2d0586b061fd5611d80ba
      https://github.com/llvm/llvm-project/commit/bbca451be01fb02d05c2d0586b061fd5611d80ba
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M clang/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Preserve clang-prebolt

In Clang-BOLT step, preserve pre-BOLT Clang binary (as well as clang++
symlink).

Also modify the default set of BOLT flags:
- drop ICF (can mess with unwinders),
- switch from hfsort+ to cdsort (aliases),
- enable CDSplit,
- update debug sections.

Reviewers: maksfb

Reviewed By: maksfb

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


  Commit: eb8d865c4465a98e754670b34a445b45bcd60282
      https://github.com/llvm/llvm-project/commit/eb8d865c4465a98e754670b34a445b45bcd60282
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/PredicateExpander.cpp

  Log Message:
  -----------
  [TableGen] Change getReg() == 0 to !getReg().isValid() in expandCheckInvalidRegOperand. NFC


  Commit: 6f482010aeb921437193ef5c8884f743ec7cb360
      https://github.com/llvm/llvm-project/commit/6f482010aeb921437193ef5c8884f743ec7cb360
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/Config.h
    M lld/ELF/MapFile.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Target.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg.


  Commit: a7e14e24876a9f6465a719c759dad5e4905417cd
      https://github.com/llvm/llvm-project/commit/a7e14e24876a9f6465a719c759dad5e4905417cd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/DWARF.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/EhFrame.cpp
    M lld/ELF/LTO.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg.


  Commit: d147b6d581636a13ca86b32aece11de0cd562d68
      https://github.com/llvm/llvm-project/commit/d147b6d581636a13ca86b32aece11de0cd562d68
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll

  Log Message:
  -----------
  [AMDGPU] Add hazard workarounds to insertIndirectBranch (#109127)

BranchRelaxation runs after the hazard recognizer, so workarounds for
SGPR accesses need to be applied directly inline to the code it
generates.


  Commit: 67f0277cc3aed528f354b6bac04ba40ffa23f26b
      https://github.com/llvm/llvm-project/commit/67f0277cc3aed528f354b6bac04ba40ffa23f26b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in Writer


  Commit: b47af5d1480e83304017a846488aaeac679ee855
      https://github.com/llvm/llvm-project/commit/b47af5d1480e83304017a846488aaeac679ee855
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/AsmParser/X86Operand.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp

  Log Message:
  -----------
  [MC] Replace some comparisons of MCRegister and literal 0. NFC

We can convert the MCRegister to bool instead. I think this should
allows us to remove MCRegister::operator==(int). All other comparisons
in tree are unsigned.


  Commit: 46df454c9a57d32aa1471fc322d1df1ba17fbe39
      https://github.com/llvm/llvm-project/commit/46df454c9a57d32aa1471fc322d1df1ba17fbe39
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [CodeGen] Construct SmallVector with ArrayRef (NFC) (#109566)


  Commit: c219ebd95750c0ad6768d28d7569389e6fbd0be1
      https://github.com/llvm/llvm-project/commit/c219ebd95750c0ad6768d28d7569389e6fbd0be1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated hash lookups (NFC) (#109563)


  Commit: 15e6b5d643618d0c477d31188f6894a31bad98d8
      https://github.com/llvm/llvm-project/commit/15e6b5d643618d0c477d31188f6894a31bad98d8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [Transforms] Avoid repeated hash lookups (NFC) (#109565)


  Commit: f5be5cdaad7edf52e39ad439cf5d608c930efca2
      https://github.com/llvm/llvm-project/commit/f5be5cdaad7edf52e39ad439cf5d608c930efca2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/Basic/Builtins.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/SemaCXX/type-trait-common-type.cpp
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [Clang] Add __builtin_common_type (#99473)

This implements the logic of the `common_type` base template as a
builtin alias. If there should be no `type` member, an empty class is
returned. Otherwise a specialization of a `type_identity`-like class is
returned. The base template (i.e. `std::common_type`) as well as the
empty class and `type_identity`-like struct are given as arguments to
the builtin.


  Commit: 02cae5584933365c7904608a3096e859da9b2031
      https://github.com/llvm/llvm-project/commit/02cae5584933365c7904608a3096e859da9b2031
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#109564)


  Commit: 59b7461c139d30ea57db4211decebe43117676fa
      https://github.com/llvm/llvm-project/commit/59b7461c139d30ea57db4211decebe43117676fa
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M mlir/lib/AsmParser/AsmParserState.cpp

  Log Message:
  -----------
  [AsmParser] Avoid repeated hash lookups (NFC) (#109562)


  Commit: e4e3ff5adc8b374be0620223ea2b654adde038ea
      https://github.com/llvm/llvm-project/commit/e4e3ff5adc8b374be0620223ea2b654adde038ea
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/CGData/OutlinedHashTree.cpp
    M llvm/lib/CGData/OutlinedHashTreeRecord.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/ObjCopy/wasm/WasmWriter.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/GOFFEmitter.cpp
    M llvm/lib/ObjectYAML/WasmEmitter.cpp
    M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp

  Log Message:
  -----------
  [llvm] Use std::optional::value_or (NFC) (#109568)


  Commit: 0074cea432e268ed126b12c6e7fd4df2e1707a77
      https://github.com/llvm/llvm-project/commit/0074cea432e268ed126b12c6e7fd4df2e1707a77
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Get rid of ObjectLinkingLayer::Plugin::getSyntheticSymbolDependencies.

Instead, when a MaterializationResponsibility contains an initializer symbol,
the Platform classes (MachO, COFF, ELFNix) will now add a defined symbol with
the same name to an arbitary block within the initializer sections, and then
add keep-alive edges from that symbol to all other init section blocks.
ObjectLinkingLayer is updated to automatically discard symbols where the
corresponding MaterializationResponsibility entry has the
MaterializationSideEffecstsOnly flag. This change simplifies both the
ObjectLinkingLayer::Plugin interface and the dependence tracking algorithm,
which no longer needs a special case for "synthetic"
(MaterializationSideEffectsOnly) symbols.


  Commit: f8f0a266e0c26cd940ccba9542aec4b5efed9821
      https://github.com/llvm/llvm-project/commit/f8f0a266e0c26cd940ccba9542aec4b5efed9821
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/wasm_simd128.h
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/Headers/wasm.c
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll

  Log Message:
  -----------
  [clang][wasm] Replace the target integer sub saturate intrinsics with the equivalent generic `__builtin_elementwise_sub_sat` intrinsics (#109405)

Remove the Intrinsic::wasm_sub_sat_signed/wasm_sub_sat_unsigned entries
and just use sub_sat_s/sub_sat_u directly


  Commit: 2f1e04ffae699993d33970b2643a3dbd551e4cd9
      https://github.com/llvm/llvm-project/commit/2f1e04ffae699993d33970b2643a3dbd551e4cd9
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:

  Log Message:
  -----------
  [Clang] Remove __is_nullptr from the list of type traits (#109533)

Support for `__is_nullptr` was removed in #99038, but I forgot to remove
it from the list of type traits, resulting in Clang crashing when one
tries to use it.


  Commit: 9614f69b4b1ebaba7a8ad51d583844ebca99bb08
      https://github.com/llvm/llvm-project/commit/9614f69b4b1ebaba7a8ad51d583844ebca99bb08
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [InstCombine] Fold Xor with or disjoint (#105992)

Implement a missing optimization fold `(X | Y) ^ M to (X ^ M) ^ Y` and
`(X | Y) ^ M to (Y ^ M) ^ X`


  Commit: 38666e651587a5ca1b1290595c83d48d19914c42
      https://github.com/llvm/llvm-project/commit/38666e651587a5ca1b1290595c83d48d19914c42
  Author: Xing Guo <higuoxing+github at gmail.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_R_X86_64_PC8.s

  Log Message:
  -----------
  [Test][JITLink] Correctly generate the R_X86_64_PC8 relocation. (#109283)

Previously, ELF_R_X86_64_PC8.s doesn't produce the R_X86_64_PC8
relocation. This patch helps fix it by emitting a byte `main - .` to the
.rodata section.


  Commit: 68e2b695eae06b42261ecdc145c1f1ece57cd14c
      https://github.com/llvm/llvm-project/commit/68e2b695eae06b42261ecdc145c1f1ece57cd14c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td

  Log Message:
  -----------
  [NvlinkWrapper] Fix `-pluing` not consuming its argument

Summary:
Sometimes `clang` will pass `-plugin` when doing LTO, which should be
correctly consumed by the nvlink wrapper. Right now it was leaving the
`plugin.so` argument as a regular input, which would cause it to error
on the `.so` input.


  Commit: 5b9206dbe42a149f44cc267508d439717912cb1d
      https://github.com/llvm/llvm-project/commit/5b9206dbe42a149f44cc267508d439717912cb1d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/test/Driver/nvlink-wrapper.c

  Log Message:
  -----------
  [Driver] Fix nvlink wrapper test


  Commit: 9e535743a4fd02a0af787b42f783046f43be8136
      https://github.com/llvm/llvm-project/commit/9e535743a4fd02a0af787b42f783046f43be8136
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

  Log Message:
  -----------
  [ARM] Avoid repeated hash lookups (NFC) (#109569)


  Commit: 7a4b320931a139514b2fcdf682cb4ab2abb6331d
      https://github.com/llvm/llvm-project/commit/7a4b320931a139514b2fcdf682cb4ab2abb6331d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] clang-format RewriteObjC.cpp (NFC)

I'm going to touch this area in a subsequent patch.


  Commit: d84411f686e7755c620c93d77c5f6adba88d28a5
      https://github.com/llvm/llvm-project/commit/d84411f686e7755c620c93d77c5f6adba88d28a5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp

  Log Message:
  -----------
  [ARM] clang-format ARMLowOverheadLoops.cpp (NFC)

I'm going to touch this area in a subsequent patch.


  Commit: 9f3d083c4963fcd164fc48e326e5967e6395f28a
      https://github.com/llvm/llvm-project/commit/9f3d083c4963fcd164fc48e326e5967e6395f28a
  Author: Hans <hans at hanshq.net>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
    M compiler-rt/lib/asan/tests/asan_str_test.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
    M compiler-rt/test/asan/TestCases/strtol_strict.c

  Log Message:
  -----------
  [win/asan] Ensure errno gets set correctly for strtol (#109258)

This fixes two problems with asan's interception of `strtol` on Windows:

1. In the dynamic runtime, the `strtol` interceptor calls out to ntdll's
`strtol` to perform the string conversion. Unfortunately, that function
doesn't set `errno`. This has been a long-standing problem (#34485), but
it was not an issue when using the static runtime. After the static
runtime was removed recently (#107899), the problem became more urgent.

2. A module linked against the static CRT will have a different instance
of `errno` than the ASan runtime, since that's now always linked against
the dynamic CRT. That means even if the ASan runtime sets `errno`
correctly, the calling module will not see it.

This patch fixes the first problem by making the `strtol` interceptor
call out to `strtoll` instead, and do 32-bit range checks on the result.

I can't think of any reasonable way to fix the second problem, so we
should stop intercepting `strtol` in the static runtime thunk. I checked
the list of functions in the thunk, and `strtol` and `strtoll` are the
only ones that set `errno`. (`strtoll` was already missing, probably by
mistake.)


  Commit: 19ecdedcd2b7fb44689ce3cd59a6a078539eef3f
      https://github.com/llvm/llvm-project/commit/19ecdedcd2b7fb44689ce3cd59a6a078539eef3f
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Rename `enableDisplayExtendedBacktrace` (#109521)

The `enable` prefix is a filler word which adds no additional
information. Rename the setting to `displayExtendedBacktrace`

Given that this setting was only introduced a month ago, and that there
has not been any release since then, I assume that usage is still rather
low. As such, it should be fine to not provide backwards-compatibility
workarounds.


  Commit: 090dc77a8d636415b772f7e5f95cd120370e41d1
      https://github.com/llvm/llvm-project/commit/090dc77a8d636415b772f7e5f95cd120370e41d1
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-no-libc-functions-in-c.c

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fix a bug and suppress libc warnings for C files (#109496)

- Fix a bug in UnsafeBufferUsage.cpp related to casting to PointerType
- Suppress -Wunsafe-buffer-usage-in-libc-call for C files

(rdar://117182250)


  Commit: 3ad3f05ac872fabb55e9340594c3d7d5195ae08c
      https://github.com/llvm/llvm-project/commit/3ad3f05ac872fabb55e9340594c3d7d5195ae08c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    A compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp
    R compiler-rt/test/tsan/Darwin/variadic-open.cpp

  Log Message:
  -----------
  [NFC][tsan] Move `variadic-open` test

There is nothing Darwin or tsan specific in the test.

For #108291


  Commit: e5d174c792481d3b5094fd24be3b42d867a42dd9
      https://github.com/llvm/llvm-project/commit/e5d174c792481d3b5094fd24be3b42d867a42dd9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Don't use FileCheck in test

`assert` is enough.


  Commit: 4ab22d7b3cc92d08c6371df367ae21716d1b6942
      https://github.com/llvm/llvm-project/commit/4ab22d7b3cc92d08c6371df367ae21716d1b6942
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Extract test from `main` function

And extract cleanup into RUN: command


  Commit: 76cffc2aa5d85874b2e83661debfce30cf8d3028
      https://github.com/llvm/llvm-project/commit/76cffc2aa5d85874b2e83661debfce30cf8d3028
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [sanitizer] Add O_TMPFILE test

For #108291


  Commit: 06c3a7d2d764fc605ef933b2f805f41f2fcaee71
      https://github.com/llvm/llvm-project/commit/06c3a7d2d764fc605ef933b2f805f41f2fcaee71
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-22 (Sun, 22 Sep 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/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Remove unneeded State.UF after 8ec406757cb92 (NFC).

State.UF is not needed any longer after 8ec406757cb92
(https://github.com/llvm/llvm-project/pull/95842). Clean it up,
simplifying ::execute of existing recipes.


  Commit: 2e729bac35fb3e17c21a636f0fd076a8d7ee84d1
      https://github.com/llvm/llvm-project/commit/2e729bac35fb3e17c21a636f0fd076a8d7ee84d1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Debug test on bot

Remove unneded _GNU_SOURCE.
Add perror.


  Commit: 5a68ac8ba751d535509826d72f91584cf5d44046
      https://github.com/llvm/llvm-project/commit/5a68ac8ba751d535509826d72f91584cf5d44046
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFF.h
    M llvm/test/tools/llvm-readobj/COFF/arm64ec-chpe.yaml
    M llvm/tools/llvm-readobj/COFFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj][COFF] Add support for version 2 of CHPE metadata (#109545)


  Commit: 123e8c735d0765a12e65f1daefcbe23a059e26fd
      https://github.com/llvm/llvm-project/commit/123e8c735d0765a12e65f1daefcbe23a059e26fd
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
    M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/unittests/Support/IndentedOstreamTest.cpp

  Log Message:
  -----------
  [mlir] Don't call llvm::raw_string_ostream::flush() (NFC)

Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered.
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )


  Commit: 2603c8b23be06116bc61bda36fae05b81d906c3f
      https://github.com/llvm/llvm-project/commit/2603c8b23be06116bc61bda36fae05b81d906c3f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Undo "RUN:" part of 4ab22d7b3cc92d08c6371df367ae21716d1b6942

It was not compartible with mobile tests.


  Commit: 0e21c8e598789e0325569533d65ab8bacd3aeedf
      https://github.com/llvm/llvm-project/commit/0e21c8e598789e0325569533d65ab8bacd3aeedf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll

  Log Message:
  -----------
  [LV] Auto-generate check lines for test.


  Commit: 53266f73f037bd20bcbbd7852fd0c6a7703b4c38
      https://github.com/llvm/llvm-project/commit/53266f73f037bd20bcbbd7852fd0c6a7703b4c38
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
    A llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Run DCE after unrolling.

This cleans up a number of dead recipes after unrolling if only their
first or last parts are used. This simplifies a number of tests.

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


  Commit: df935ff4eca91013553edbf3ca1d45b568f6709f
      https://github.com/llvm/llvm-project/commit/df935ff4eca91013553edbf3ca1d45b568f6709f
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Fix regression with BlockIndent of Braced Initializers (#108717)

Fixes #73584.


  Commit: 397b96aa87d1546e2b2fd34a7622fe6f4194776e
      https://github.com/llvm/llvm-project/commit/397b96aa87d1546e2b2fd34a7622fe6f4194776e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Make test Android friendly


  Commit: f5ec00b79ba63eec6a39a5cc04cbdba58b0c01bf
      https://github.com/llvm/llvm-project/commit/f5ec00b79ba63eec6a39a5cc04cbdba58b0c01bf
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Remove leftover from previous run


  Commit: 777329d32f9a6dc6db3b74797abf359e5098c62a
      https://github.com/llvm/llvm-project/commit/777329d32f9a6dc6db3b74797abf359e5098c62a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/Target.h

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in Driver.cpp and Target.h


  Commit: b8248dacade77ea5abc49bd8c58d0b1656957492
      https://github.com/llvm/llvm-project/commit/b8248dacade77ea5abc49bd8c58d0b1656957492
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Replace remnant config-> with ctx.arg.


  Commit: a0879f2054bbd7278ff729c8b5e8442c0e5c7f00
      https://github.com/llvm/llvm-project/commit/a0879f2054bbd7278ff729c8b5e8442c0e5c7f00
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Skip O_TMPFILE if FS does not support it


  Commit: 10266279c3569b2e37ada2fbf6b927c45aa7ee41
      https://github.com/llvm/llvm-project/commit/10266279c3569b2e37ada2fbf6b927c45aa7ee41
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [NFC][hwasan] Add a few of {}


  Commit: 652194531c45682715503355676e39b5b57c9394
      https://github.com/llvm/llvm-project/commit/652194531c45682715503355676e39b5b57c9394
  Author: Jim Lin <jim at andestech.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/test/Driver/riscv32-toolchain.c
    M clang/test/Driver/riscv64-toolchain.c

  Log Message:
  -----------
  [RISCV][test] Fix incorrect check prefix in riscv32-toolchain.c and riscv64-toolchain.c. (#109390)


  Commit: e1a1f18022089969d4e7e1686a6dff3980b6ccb1
      https://github.com/llvm/llvm-project/commit/e1a1f18022089969d4e7e1686a6dff3980b6ccb1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Make `Config config` part of `Ctx ctx`


  Commit: 1429204352ec758c98a60e3d22773973e234615b
      https://github.com/llvm/llvm-project/commit/1429204352ec758c98a60e3d22773973e234615b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Debug errno in test


  Commit: 0d334d83a4c7ce16fa1bc0e5e56bbdeaf01c2b2d
      https://github.com/llvm/llvm-project/commit/0d334d83a4c7ce16fa1bc0e5e56bbdeaf01c2b2d
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/Disassembler/X86/apx/kmov.txt
    M llvm/test/MC/X86/apx/kmov-att.s
    M llvm/test/MC/X86/apx/kmov-intel.s

  Log Message:
  -----------
  [X86][APX] Fix wrong encoding of promoted KMOV instructions due to missing NoCD8 (#109579)

Promoted KMOV* was encoded with CD8 incorrectly, see
https://godbolt.org/z/cax513hG1


  Commit: 81c3499531c3fe03827bd8bc890e3a16db9e4c3c
      https://github.com/llvm/llvm-project/commit/81c3499531c3fe03827bd8bc890e3a16db9e4c3c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Skip test if O_TMPFILE EINVAL on some FS


  Commit: 62f737f7409b5d2b33c746158c62f14e5bb78aed
      https://github.com/llvm/llvm-project/commit/62f737f7409b5d2b33c746158c62f14e5bb78aed
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/test/Driver/target-cpu-features.f90

  Log Message:
  -----------
  [Driver][X86] Add flang visibility for -m[no-]evex512 (#109598)

The `-m[no-]evex512` are nontrivial options which are used to control
vector size of other AVX512 features. Hence we expose both to flang for
Fortran users.


  Commit: 9ed46fbe9fa153316b7b0bb0906f3c8db45a8f81
      https://github.com/llvm/llvm-project/commit/9ed46fbe9fa153316b7b0bb0906f3c8db45a8f81
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/Common/DriverDispatcher.cpp
    M lld/ELF/Driver.cpp
    M lld/MachO/InputSection.cpp

  Log Message:
  -----------
  [lld] Use StringRef idioms (NFC) (#109584)


  Commit: ba5e19580913d0b4cac249a81f0aabf7a0a3317f
      https://github.com/llvm/llvm-project/commit/ba5e19580913d0b4cac249a81f0aabf7a0a3317f
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsSubnormalTest.h
    A libc/test/include/issubnormal_test.c
    A libc/test/include/issubnormal_test.cpp
    A libc/test/include/issubnormalf_test.cpp
    A libc/test/include/issubnormall_test.cpp

  Log Message:
  -----------
  [libc][math] Implement issubnormal macro. (#109572)

#109201


  Commit: 80cdc3718036cd3ee33424953821ac01046d5278
      https://github.com/llvm/llvm-project/commit/80cdc3718036cd3ee33424953821ac01046d5278
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/tools/CMakeLists.txt

  Log Message:
  -----------
  [Clang] Include the clang-shlib CMake project when building for MSVC (#109457)

Enable building clang-cpp shared library for windows when building with
explicit visibility macros enabled and LLVM is built as a shared
library(LLVM_BUILD_LLVM_DYLIB_VIS).
This is part of the effort to support for enabling plugins on windows by
adding better support for building LLVM and Clang as a DLL.


  Commit: c3d3cef8d58377b02032b07b5f094a402a70435a
      https://github.com/llvm/llvm-project/commit/c3d3cef8d58377b02032b07b5f094a402a70435a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/test/MC/RISCV/rv64-relax-all.s

  Log Message:
  -----------
  [RISCV] Don't delete all fixups in RISCVMCCodeEmitter::expandLongCondBr. (#109513)

The Fixups vector passed into this function may already have fixups in
it from earlier instructions. We should not erase those. We just want to
erase fixups added by this function.

Fixes #108612.


  Commit: 80b44517f571689ede9327b3122caff3c631408e
      https://github.com/llvm/llvm-project/commit/80b44517f571689ede9327b3122caff3c631408e
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll

  Log Message:
  -----------
  [RISCV][TTI] Add instruction cost for vp.select. (#109381)

This patch make instruction cost for vp.select the same as its non-vp
counterpart.


  Commit: 5a4c6f97997f3cdfa9d98f7f0b546e331ee9cc4a
      https://github.com/llvm/llvm-project/commit/5a4c6f97997f3cdfa9d98f7f0b546e331ee9cc4a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/MemDerefPrinter.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll

  Log Message:
  -----------
  [Loads] Check context instruction for context-sensitive derefability (#109277)

If a dereferenceability fact is provided through `!dereferenceable` (or
similar), it may only hold on the given control flow path. When we use
`isSafeToSpeculativelyExecute()` to check multiple instructions, we
might make use of `!dereferenceable` information that does not hold at
the speculation target. This doesn't happen when speculating
instructions one by one, because `!dereferenceable` will be dropped
while speculating.

Fix this by checking whether the instruction with `!dereferenceable`
dominates the context instruction. If this is not the case, it means we
are speculating, and cannot guarantee that it holds at the speculation
target.

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


  Commit: 8a6248b739d705577fa5414b4010605dca38aa79
      https://github.com/llvm/llvm-project/commit/8a6248b739d705577fa5414b4010605dca38aa79
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Don't separate a load/store from its gep during sinking (#102318)

If we can sink the a load/store, but not the gep producing its pointer
operand, don't sink the load/store either. This may prevent the gep from
being folded into an addressing mode, and may also negatively affect
further analysis.

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


  Commit: 84b1489c8f8d4fb3c541167301c29ee4dad1af78
      https://github.com/llvm/llvm-project/commit/84b1489c8f8d4fb3c541167301c29ee4dad1af78
  Author: David Green <david.green at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/ARM/vbsl.ll

  Log Message:
  -----------
  [ARM] Update VBIC tests. NFC


  Commit: df6855ba57b2cede7b1578e74276f3ad33c2ad5d
      https://github.com/llvm/llvm-project/commit/df6855ba57b2cede7b1578e74276f3ad33c2ad5d
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/atomics.ll

  Log Message:
  -----------
  [C API] Add usub_cond and usub_sat atomic ops to C API (#109532)

These were added in the C++ API in
https://github.com/llvm/llvm-project/pull/105568 but were not exposed
via the C API previously


  Commit: 6ad268e3913cb6814fabae420a8e80156e1632a7
      https://github.com/llvm/llvm-project/commit/6ad268e3913cb6814fabae420a8e80156e1632a7
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] refactor Target::Install function (#108996)

refactor Target::Install function


  Commit: c8e0672864abf6fb624ddde5d6a1775d8634213a
      https://github.com/llvm/llvm-project/commit/c8e0672864abf6fb624ddde5d6a1775d8634213a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp

  Log Message:
  -----------
  [Loops] Use forgetLcssaPhiWithNewPredecessor() in more places

Use the more aggressive invalidation method in a number of places
that add incoming values to lcssa phi nodes. It is likely that
it's possible to construct cases with incorrect SCEV preservation
similar to https://github.com/llvm/llvm-project/issues/109333 for
these.


  Commit: 898fd396b836600ef857464941220d07894b859b
      https://github.com/llvm/llvm-project/commit/898fd396b836600ef857464941220d07894b859b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Check allocation size limit for operator new (#109590)


  Commit: 02711a77c0bf8b7921f48aaa601564449888e458
      https://github.com/llvm/llvm-project/commit/02711a77c0bf8b7921f48aaa601564449888e458
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/preinstalled_signal.cpp

  Log Message:
  -----------
  [ASan][test] XFAIL Linux/preinstalled_signal.cpp on Linux/sparc64 (#109623)

With ASan testing enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/preinstalled_signal.cpp
```
test `FAIL`s on Linux/sparc64. See Issue #109573 for all the details,
but the core is that `syscall(__NR_rt_sigaction)` cannot be used because
it takes an additional argument that isn't accessible outside of `libc`,
while switching to `sigaction` instead changes the order of
`AsanInitInternal` and `Init`, breaking the test.

Therefore this patch `XFAIL`s the test.

Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.


  Commit: db3569d2e5aa4d967a2e8c5b9893f9a49937e55d
      https://github.com/llvm/llvm-project/commit/db3569d2e5aa4d967a2e8c5b9893f9a49937e55d
  Author: Michal Rostecki <vadorovsky at protonmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/tools/llvm-c-test/main.c

  Log Message:
  -----------
  [llvm-c-test] Rename --test-dibuilder-debuginfo-format to `--test-dibuilder` (#105702)

The former name was introduced during the split between debug info
intrinsic and `DbgRecord`. Before the split, it was named
`--test-dibuilder`.

However, the full migration to `DbgRecord` happened already and we have
just one test suite related to building debug info using LLVM-C API.
Therefore, it makes sense to rename it back to `--test-dibuilder`.


  Commit: 8b4b7d28f7c344c728a9812aa99d9ad24edb40a2
      https://github.com/llvm/llvm-project/commit/8b4b7d28f7c344c728a9812aa99d9ad24edb40a2
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] additional fix for 65bc259a97cd8cc70907b65f59aff728245ba9c0


  Commit: b953914e2fef53773baa1fa89e96671015d45852
      https://github.com/llvm/llvm-project/commit/b953914e2fef53773baa1fa89e96671015d45852
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/test/tools/llvm-readobj/COFF/arm64ec-chpe.yaml

  Log Message:
  -----------
  [Object][COFF] Fix CHPE metadata offset check (#109591)


  Commit: 6fc2451167ec991361dd0568de9a9fa2926f8da8
      https://github.com/llvm/llvm-project/commit/6fc2451167ec991361dd0568de9a9fa2926f8da8
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"

This reverts commit 5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4.

This relands commit 9886788a8a500a1b429a6db64397c849b112251c.

This was originally causing build failures on more esoteric platforms
that have different definitions of getcpu. This is only intended to be
supported on x86-64 currently, so just use preprocessor definitions to
special case the function.


  Commit: 02ee96eca90741031a26f0f06cd48bb0ba558d1a
      https://github.com/llvm/llvm-project/commit/02ee96eca90741031a26f0f06cd48bb0ba558d1a
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-exit-count.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-symbolic-max-backedge-taken-count.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll

  Log Message:
  -----------
  [Analysis] Teach isDereferenceableAndAlignedInLoop about SCEV predicates (#106562)

Currently if a loop contains loads that we can prove at compile time
are dereferenceable when certain conditions are satisfied the function
isDereferenceableAndAlignedInLoop will still return false because
getSmallConstantMaxTripCount will return 0 when SCEV predicates
are required. This patch changes getSmallConstantMaxTripCount to take
an optional Predicates pointer argument so that we can permit
functions such as isDereferenceableAndAlignedInLoop to consider more
cases.


  Commit: 0b0a37e158bcf6d0667b4744b3d335f91578e0c9
      https://github.com/llvm/llvm-project/commit/0b0a37e158bcf6d0667b4744b3d335f91578e0c9
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/SemaCXX/attr-musttail.cpp

  Log Message:
  -----------
  [clang] Lifetime of locals must end before musttail call (#109255)

The lifetimes of local variables and function parameters must end before
the call to a [[clang::musttail]] function, instead of before the
return, because we will not have a stack frame to hold them when doing
the call.

This documents this limitation, and adds diagnostics to warn about some
code which is invalid because of it.


  Commit: f28a0355364b9f09fa3d47720af4cf7431721de6
      https://github.com/llvm/llvm-project/commit/f28a0355364b9f09fa3d47720af4cf7431721de6
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  Fix memory leak in LLVMTargetMachine.cpp (#109610)

Because `MAB` is a raw pointer, it could potentially leak memory because
of the `||` in the null check.


  Commit: 8632e8bd64d6f02e571777390274c262d5c85167
      https://github.com/llvm/llvm-project/commit/8632e8bd64d6f02e571777390274c262d5c85167
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
    M llvm/test/CodeGen/AMDGPU/set-inactive-wwm-overwrite.ll
    M llvm/test/CodeGen/AMDGPU/should-not-hoist-set-inactive.ll
    M llvm/test/CodeGen/AMDGPU/shrink-true16.mir
    A llvm/test/CodeGen/AMDGPU/shrink-v-cmp-wave32-dead-vcc-lo.mir
    M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  AMDGPU: Fix implicit vcc def to vcc_lo on wave32 targets (#109514)


  Commit: cd80ed424b13790a65365a0145fa9b1b51b13680
      https://github.com/llvm/llvm-project/commit/cd80ed424b13790a65365a0145fa9b1b51b13680
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Fix -Wunused-variable in BenchmarkRunner.cpp (NFC)

/llvm-project/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp:415:18:
error: unused variable 'CurrentCPU' [-Werror,-Wunused-variable]
    unsigned int CurrentCPU;
                 ^
1 error generated.


  Commit: 3e0a76b1fd10d2f5f36d34a91b525c1d29685185
      https://github.com/llvm/llvm-project/commit/3e0a76b1fd10d2f5f36d34a91b525c1d29685185
  Author: futog <54807384+futog at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AArch64/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/AArch64/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/Mips/llvm-ir/ashr.ll
    M llvm/test/CodeGen/Mips/llvm-ir/lshr.ll
    M llvm/test/CodeGen/Mips/llvm-ir/shl.ll
    M llvm/test/CodeGen/PowerPC/ctrloop-sh.ll
    M llvm/test/CodeGen/PowerPC/pr59074.ll
    M llvm/test/CodeGen/PowerPC/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/PowerPC/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/RISCV/shifts.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/shift-i128.ll
    M llvm/test/CodeGen/X86/shift-i256.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
    M llvm/test/CodeGen/X86/widen-load-of-small-alloca.ll

  Log Message:
  -----------
  [Codegen][LegalizeIntegerTypes] Improve shift through stack (#96151)

Minor improvement on cc39c3b17fb2598e20ca0854f9fe6d69169d85c7.

Use an aligned stack slot to store the shifted value.
Use the native register width as shifting unit, so the load of the
shift result is aligned.

If the shift amount is a multiple of the native register width, there is
no need to do a follow-up shift after the load. I added new tests for
these cases.

Co-authored-by: Gergely Futo <gergely.futo at hightec-rt.com>


  Commit: 2612316f72b92d7905717c358aeab8b8141738a1
      https://github.com/llvm/llvm-project/commit/2612316f72b92d7905717c358aeab8b8141738a1
  Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [ItaniumDemangle] Add template name to the substitutions list during demangling (#108538)

When demangling a template template parameter (`method<bool,
Bar>(Bar<bool> b)`), the current demangler version first enters the
template argument (`bool`) into the substitutions list, then the whole
template specialization (`Bar<bool>`). The template name (`Bar`) never
becomes a substitution candidate on its own.

This is different when mangling. Mangling `method<bool, Bar>(Bar<bool>
b, Bar<int> i)` substitutes the `Bar` in the second parameter with the
substitution for `TemplateTemplateParmDecl`.

This leads to a discrepancy between mangler and demangler, see
https://github.com/llvm/llvm-project/issues/108009.


  Commit: bad544461a72cdf0e8301b0e80eef4e6661eee2b
      https://github.com/llvm/llvm-project/commit/bad544461a72cdf0e8301b0e80eef4e6661eee2b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove an outdated comment


  Commit: d36f66b42d7abec73bb5b953612eef26e6c12e0a
      https://github.com/llvm/llvm-project/commit/d36f66b42d7abec73bb5b953612eef26e6c12e0a
  Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M offload/include/OpenMP/OMPT/Callback.h
    M offload/include/OpenMP/OMPT/Interface.h
    M offload/plugins-nextgen/common/CMakeLists.txt
    R offload/plugins-nextgen/common/OMPT/OmptCallback.cpp
    M offload/src/OpenMP/OMPT/Callback.cpp
    M offload/src/exports

  Log Message:
  -----------
  [NFC][offload][OMPT] Cleanup of OMPT internals (#109005)

Removed `OmptCallbacks.cpp` since relevant contents were duplicated.
Because of the static linking there should be no change in
functionality.


  Commit: 7a181980b900683fd3e1ac9601a627c758f19a61
      https://github.com/llvm/llvm-project/commit/7a181980b900683fd3e1ac9601a627c758f19a61
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [InstCombine] Fix nits in new xor fold

Followup to https://github.com/llvm/llvm-project/pull/105992,
use the simplifyXorInst helper and use getWithInstruction
consistently.


  Commit: a72d7eea5413444249670579fecea6823fb3c564
      https://github.com/llvm/llvm-project/commit/a72d7eea5413444249670579fecea6823fb3c564
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/DeviceOffload.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    A clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Simplify the value printing logic to enable out-of-process. (#107737)

This patch improves the design of the IncrementalParser and Interpreter
classes. Now the incremental parser is only responsible for building the
partial translation unit declaration and the AST, while the Interpreter
fills in the lower level llvm::Module and other JIT-related
infrastructure. Finally the Interpreter class now orchestrates the AST
and the LLVM IR with the IncrementalParser and IncrementalExecutor
classes.

The design improvement allows us to rework some of the logic that
extracts an interpreter value into the clang::Value object. The new
implementation simplifies use-cases which are used for out-of-process
execution by allowing interpreter to be inherited or customized with an
clang::ASTConsumer.

This change will enable completing the pretty printing work which is in
llvm/llvm-project#84769


  Commit: 7e7009fc5725fc2a9157212834cc995c91969cf1
      https://github.com/llvm/llvm-project/commit/7e7009fc5725fc2a9157212834cc995c91969cf1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Interpreter/BUILD.gn

  Log Message:
  -----------
  [gn build] Port a72d7eea5413


  Commit: 31ac3d092bd047ab2c0bdcb6d527736472b9d4a6
      https://github.com/llvm/llvm-project/commit/31ac3d092bd047ab2c0bdcb6d527736472b9d4a6
  Author: sinan <sinan.lin at linux.alibaba.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    R bolt/test/AArch64/Inputs/iplt.ld
    R bolt/test/AArch64/ifunc.c
    A bolt/test/AArch64/ifunc.test
    A bolt/test/Inputs/ifunc.c
    A bolt/test/Inputs/iplt.ld
    A bolt/test/X86/ifunc.test

  Log Message:
  -----------
  [BOLT] Add .iplt support to x86 (#106513)

Add X86 support for parsing .iplt section and symbols.


  Commit: 57f5d8f2fe9ed55a03ce451811940726d6908f2e
      https://github.com/llvm/llvm-project/commit/57f5d8f2fe9ed55a03ce451811940726d6908f2e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-23 (Mon, 23 Sep 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/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Only store single vector per VPValue in VPTransformState. (NFC)

After 8ec406757cb92 (https://github.com/llvm/llvm-project/pull/95842),
VPTransformState only stores a single vector value per VPValue.

Simplify the code by replacing the SmallVector in PerPartOutput with a
single Value * and rename to VPV2Vector for clarity.

Also remove the redundant Part argument from various accessors.


  Commit: cff753f8768ff3a7afbc27adaf318ebbf419dcfa
      https://github.com/llvm/llvm-project/commit/cff753f8768ff3a7afbc27adaf318ebbf419dcfa
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [X86] SimplifyDemandedVectorEltsForTargetNode - simplify X86ISD::VBROADCAST of 0'th element handling. NFC.

Avoid duplicate TLO.CombineTo calls.


  Commit: 85220a0c651e565ab576c5be17c1ec5c9eb2a350
      https://github.com/llvm/llvm-project/commit/85220a0c651e565ab576c5be17c1ec5c9eb2a350
  Author: Kelvin Lee <kiyolee at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp

  Log Message:
  -----------
  [lldb][FreeBSD] Fix a typo in NativeProcessFreeBSD::MonitorSIGTRAP() (#109643)

Apparently a typo is causing compile error, added by https://github.com/llvm/llvm-project/pull/108504.


  Commit: 677177bb60dbe0d551251058c28466c5d74cebac
      https://github.com/llvm/llvm-project/commit/677177bb60dbe0d551251058c28466c5d74cebac
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips.h
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.h
    M llvm/test/CodeGen/Mips/llvm-ir/sdiv.ll
    M llvm/test/CodeGen/Mips/llvm-ir/srem.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-mult.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-sdiv.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-srem.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-udiv.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-urem.ll
    M llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
    M llvm/test/CodeGen/Mips/llvm-ir/urem.ll

  Log Message:
  -----------
  [Mips] Fix mfhi/mflo hazard miscompilation about div and mult (#91449)

Fix issue1: In mips1-4, require a minimum of 2 instructions between a
mflo/mfhi and the next mul/dmult/div/ddiv/divu/ddivu instruction.
Fix issue2: In mips1-4, should not put mflo into the delay slot for the
return.

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


  Commit: 26f272ebbdf8dc4a81f3f7d7c8ccf99fd9398bfb
      https://github.com/llvm/llvm-project/commit/26f272ebbdf8dc4a81f3f7d7c8ccf99fd9398bfb
  Author: Pawan Nirpal <pawannirpal at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    A llvm/test/CodeGen/X86/canonicalize-vars.ll

  Log Message:
  -----------
  [X86][SelectionDAG] - Add support for llvm.canonicalize intrinsic (#106370)

Enable support for fcanonicalize intrinsic lowering.


  Commit: c712ab829b2050e2ac1652e032fa0786a43a31c0
      https://github.com/llvm/llvm-project/commit/c712ab829b2050e2ac1652e032fa0786a43a31c0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement placement-new (#107033)

If we have a placement-new destination already, use that instead of
allocating a new one.
Tests are partially based on
`test/SemaCXX/cxx2c-constexpr-placement-new.cpp`.


  Commit: c35ea627df441a3650f986ca79954b4b9d16bf24
      https://github.com/llvm/llvm-project/commit/c35ea627df441a3650f986ca79954b4b9d16bf24
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/if_target.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/if_target.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/if_target.test
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: recognize %if in RUN line (#108972)

Recognize %if for target-specific cases in RUN line and keep only tool
command with options


  Commit: e0bd8d3485075d24ecff2b4f5d9e2117853bd08b
      https://github.com/llvm/llvm-project/commit/e0bd8d3485075d24ecff2b4f5d9e2117853bd08b
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    M llvm/test/Transforms/SLPVectorizer/arith-div-undef.ll
    M llvm/test/Transforms/SLPVectorizer/bool-logical-op-reduction-with-poison.ll
    M llvm/test/Transforms/SLPVectorizer/buildvector-insert-mask-size.ll
    M llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/call-arg-reduced-by-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/catchswitch.ll
    M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/diamond_broadcast.ll

  Log Message:
  -----------
  [SLP] Better way to filter target-specific tests (#106720)

When only an exclusive target e.g AArch64 was enabled, these tests were
previously shown as UNSUPPORTED.
This change allows us to run tests for cases with only a build for one
target.


  Commit: 7773dcd16389b07e055a10336c42e71ffd57ad3d
      https://github.com/llvm/llvm-project/commit/7773dcd16389b07e055a10336c42e71ffd57ad3d
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll

  Log Message:
  -----------
  [X86][NFC] Change test name and add a new test (#109638)

Address post commit comments in #108754.


  Commit: 785337e2d97a712612a5956657e8dbf1cd140e46
      https://github.com/llvm/llvm-project/commit/785337e2d97a712612a5956657e8dbf1cd140e46
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll

  Log Message:
  -----------
  [LV][AArch64] Don't query registers for illegal scalable vector elts (#109411)

When trying to maximize vector bandwidth we ask TTI for the number of
registers required for a given operation. If the type of that operation
happens to be something illegal for scalable vectors (e.g.
<vscale x 4 x fp128>) then we would see a crash.

Instead, just return a default value and let the cost model reject the
invalid operation later.


  Commit: f4eeae1244c83486e38e4b73715fa688d34bc244
      https://github.com/llvm/llvm-project/commit/f4eeae1244c83486e38e4b73715fa688d34bc244
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll

  Log Message:
  -----------
  [LoopVectorize] Address comments on PR #107004 left post-commit (#109300)

* Rename Speculative -> Uncountable and update tests.
* Add comments explaining why it's safe to ignore the predicates when
building up a list of exiting blocks.
* Reshuffle some code to do (hopefully) cheaper checks first.


  Commit: b0dc7b5b8617e188a926cbe06918fedab2fd5df9
      https://github.com/llvm/llvm-project/commit/b0dc7b5b8617e188a926cbe06918fedab2fd5df9
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/xtn.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Prefer to use Vector Truncate (#105692)

Tries to combine scalarised truncates into vector truncate operations

EXAMPLE:
`%a(i32), %b(i32) = G_UNMERGE %src(<2 x i32>)`
`%T_a(i16) = G_TRUNC %a(i32)`
`%T_b(i16) = G_TRUNC %b(i32)`
`%Imp(i16) = G_IMPLICIT_DEF(i16)`
`%dst(v8i16) = G_MERGE_VALUES %T_a(i16), %T_b(i16), %Imp(i16),
%Imp(i16)`

===>
`%Imp(<2 x i32>) = G_IMPLICIT_DEF(<2 x i32>)`
`%Mid(<4 x s16>) = G_CONCAT_VECTORS %src(<2 x i32>), %Imp(<2 x i32>)`
`%dst(<4 x s16>) = G_TRUNC %Mid(<4 x s16>)`


  Commit: f8f41bf92c92ebc9b113a2a573d12880b86d5af3
      https://github.com/llvm/llvm-project/commit/f8f41bf92c92ebc9b113a2a573d12880b86d5af3
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp

  Log Message:
  -----------
  [clang] Apply the [[gsl::Owner]] or [[gsl::Pointer]] attributes to the STL template specialization declarations. (#109653)

Fixes #109442


  Commit: 6f194a6dea4b4067336431e699ea3588417d4b96
      https://github.com/llvm/llvm-project/commit/6f194a6dea4b4067336431e699ea3588417d4b96
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll

  Log Message:
  -----------
  [SimplifyCFG] Avoid truncation in linear map overflow check

This is supposed to test multiplication of the linear multiplifier
with the largest value it can be multiplied with. However, if
we truncate TableSize-1 here, it might not actually be the largest
value. I think in practice this still works out, because in cases
where we'd truncate the value here we'd also fail the NonMonotonic
check. But to match the intent of the code, we should treat the
truncating case as overflowing.


  Commit: 6d216fb7b8546c04223e56002152c556926d1a1d
      https://github.com/llvm/llvm-project/commit/6d216fb7b8546c04223e56002152c556926d1a1d
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/unittests/Core/BinaryContext.cpp

  Log Message:
  -----------
  [perf2bolt] Improve heuristic to map in-process addresses to specific… (#109397)

… segments in Elf binary.

The heuristic is improved by also taking into account that only
executable segments should contain instructions.

Fixes #109384.


  Commit: 3e0d37fd79faeb60a47ed8aace1c594ff7f637f2
      https://github.com/llvm/llvm-project/commit/3e0d37fd79faeb60a47ed8aace1c594ff7f637f2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-reduce/TestRunner.cpp
    M llvm/tools/llvm-reduce/TestRunner.h

  Log Message:
  -----------
  llvm-reduce: Simplify argument setup for ExecuteAndWait

Only need to append the input file for each iteration.


  Commit: cee65092c95a216e63d970b5da1495eb33dd506a
      https://github.com/llvm/llvm-project/commit/cee65092c95a216e63d970b5da1495eb33dd506a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp

  Log Message:
  -----------
  [ARM] Avoid repeated hash lookups (NFC) (#109602)


  Commit: 9a3348856ced274b9c7136d6726a18ca8975dad1
      https://github.com/llvm/llvm-project/commit/9a3348856ced274b9c7136d6726a18ca8975dad1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp

  Log Message:
  -----------
  [DWARFLinker] Avoid repeated hash lookups (NFC) (#109604)


  Commit: ff9f1a6ea2a0031387d23ce510d43edd81a18a1e
      https://github.com/llvm/llvm-project/commit/ff9f1a6ea2a0031387d23ce510d43edd81a18a1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] Avoid repeated hash lookups (NFC) (#109605)


  Commit: d6a6e25c5158be8a1b820aedf067fce394f7a313
      https://github.com/llvm/llvm-project/commit/d6a6e25c5158be8a1b820aedf067fce394f7a313
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#109603)


  Commit: a4232dc676908548afa36d4f4ad740131ce385e2
      https://github.com/llvm/llvm-project/commit/a4232dc676908548afa36d4f4ad740131ce385e2
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp

  Log Message:
  -----------
  [rtsan][tsan] Fix va_args handling in open functions (#108291)

Check oflag to see if it contains O_CREAT / O_TMPFILE before unpacking parameters to avoid UB


  Commit: 21627236363d629f6a5b820f45a6071371e4b8db
      https://github.com/llvm/llvm-project/commit/21627236363d629f6a5b820f45a6071371e4b8db
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Updates XeGPU TensorDescAttr and Refine Gather/Scatter definition.  (#109144)

The PR makes the following refine changes to the XeGPU dialect. 
1. Separated the old `TensorDescAttr` into two independent attributes: `BlockTensorDescAttr` and `ScatterTensorDescAttr`
2. Renamed the `MemoryScopeAttr` to `MemorySpaceAttr` and updated the enumeration value for shared memory following OpenCL standard.
3. Introduced `transpose` UnitAttr to `StoreScatterOp`and `LoadGatherOp`
4. Added memory space check for `CreateNdDesc` and `CreateDesc` op, as well as valid and invalid test cases for them.


  Commit: 0b524efa953ce4a1f41ff6abaa8e3c5f757e40e2
      https://github.com/llvm/llvm-project/commit/0b524efa953ce4a1f41ff6abaa8e3c5f757e40e2
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
    M llvm/test/Transforms/VectorCombine/RISCV/shuffle-of-intrinsics.ll

  Log Message:
  -----------
  [RISCV][TTI] Reduce cost of a <N x i1> build_vector pattern (#109449)

This is a follow up to 7f6bbb3. When lowering a <N x i1> build_vector,
we currently chose to extend to i8, perform the build_vector there, and
then truncate back in vector. Our costing on the other hand accounts for
it as if we performed a vector extend, an insert, and a vector extract
for every element. This significantly over estimates the cost.

Note that we can likely do better in our build_vector lowering here by
packing the bits in scalar, and doing a build_vector of the packed bits.
Regardless, our costing should match our lowering.


  Commit: ecb98f9fed65801d9ad2c138da7194496e18aeec
      https://github.com/llvm/llvm-project/commit/ecb98f9fed65801d9ad2c138da7194496e18aeec
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M llvm/include/llvm-c/Core.h
    M llvm/lib/CodeGen/StackProtector.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M polly/lib/CodeGen/RuntimeDebugBuilder.cpp

  Log Message:
  -----------
  [IRBuilder] Remove uses of CreateGlobalStringPtr() (NFC)

Since the migration to opaque pointers, CreateGlobalStringPtr()
is the same as CreateGlobalString(). Normalize to the latter.


  Commit: 09e94d09fd0f6ca7daac86f2c019473e0bd2f54e
      https://github.com/llvm/llvm-project/commit/09e94d09fd0f6ca7daac86f2c019473e0bd2f54e
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  Revert "[MLIR][XeGPU] Updates XeGPU TensorDescAttr and Refine Gather/Scatter definition. " (#109666)

Reverts llvm/llvm-project#109144


  Commit: bf791566e1585cac21bd89f7d1381272f2ad40c9
      https://github.com/llvm/llvm-project/commit/bf791566e1585cac21bd89f7d1381272f2ad40c9
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Add test for readfirstlane with i1 type (#109657)

Add test for readfirstlane with i1 type to demonstrate the lowering
works.

Also simplify existing tests a bit - the declarations are not strictly
needed anymore.


  Commit: b189b89bdeb74a933016bef6d85ae42b0c62b40e
      https://github.com/llvm/llvm-project/commit/b189b89bdeb74a933016bef6d85ae42b0c62b40e
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/phi-with-multiple-unsimplifiable-values.ll

  Log Message:
  -----------
  [InstCombine] Relax the conditons of fold of `ucmp`/`scmp` into phi by allowing the phi node to use the result of `ucmp`/`scmp` more than once (#109593)

This extends the optimisation implemented in #107769 by relaxing the
condtions to make it happen. Now, the value produced by `ucmp`/`scmp`
doesn't need to be one-use, but only one-user, meaning it can be present
in a single phi node more than once.


  Commit: 04d8e364bbf758b2ecbc06b782f1b5dd91bd16e6
      https://github.com/llvm/llvm-project/commit/04d8e364bbf758b2ecbc06b782f1b5dd91bd16e6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [IRBuilder] Deprecate CreateGlobalStringPtr() (NFC)

In favor of CreateGlobalString(), which has the same behavior.
The distinction used to be meaningful prior to the introduction
of opaque pointers.


  Commit: 40d6497a97a61ef5ea38e615cc324104cb34072a
      https://github.com/llvm/llvm-project/commit/40d6497a97a61ef5ea38e615cc324104cb34072a
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    A llvm/test/Transforms/AggressiveInstCombine/inline-strcmp-debugloc.ll

  Log Message:
  -----------
  [DebugInfo] Transfer strcmp DILocation to generated inline code (#108531)

When AggressiveInstCombine inlines a strcmp call, we currently copy the
strcmp's DILocation only to the br instruction that jumps to the inline
code. While this is roughly analogous to the original call, it leaves
the generated code without any source location, which is precarious for
a memory operation. This patch copies the strcmp call's DILocation to
all the generated code.

An alternative solution would be to generate a new DILocation with a
line 0 location and an inlinedAt pointing to the original call location,
but this would still give limited attribution to the generated code
without traversing the DIE, whereas the submitted solution allows
attribution with just the line table; even though it would be
technically more accurate, pragmatically I believe that copying the
call's location will be more useful for users.


  Commit: d4798498c4a30efb03eebb56415a69fa60107414
      https://github.com/llvm/llvm-project/commit/d4798498c4a30efb03eebb56415a69fa60107414
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/compare-3way.ll
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/sink_to_unreachable.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] Fold `(x == y) ? 0 : (x > y ? 1 : -1)` into `ucmp/scmp(x,y)` (#107314)

This also handles commuted cases of the same fold, with either the
condition or the true/false values of the inner select being swapped.


  Commit: be0b1142df7733633354ef1f73d0379bcd2ccb54
      https://github.com/llvm/llvm-project/commit/be0b1142df7733633354ef1f73d0379bcd2ccb54
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/stack-addr-ps.cpp

  Log Message:
  -----------
  [analyzer][StackAddrEscapeChecker] Fix assert failure for alloca regions (#109655)

Fixes #107852

Make it explicit that the checker skips `alloca` regions to avoid the
risk of producing false positives for code with advanced memory
management.
StackAddrEscapeChecker already used this strategy when it comes to
malloc'ed regions, so this change relaxes the assertion and explicitly
silents the issues related to memory regions generated with `alloca`.


  Commit: 53abbced3032b555d43f5b91fafa741c8a11a050
      https://github.com/llvm/llvm-project/commit/53abbced3032b555d43f5b91fafa741c8a11a050
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    A clang/test/CodeGenCXX/debug-info-line-if-2.cpp

  Log Message:
  -----------
  [DebugInfo] Correct the line attribution for IF branches (#108300)

An 'if' statement introduces a scope, but in some cases the conditional
branch to the then/else blocks had a debug-info attribution that did not
include the scope. This led to some inefficiency in the DWARF line
table.


  Commit: 606557ddd68bcb082fb82fd21b0afb260222ae14
      https://github.com/llvm/llvm-project/commit/606557ddd68bcb082fb82fd21b0afb260222ae14
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test

  Log Message:
  -----------
  [PGO] use atomics for profile counters in instrprof-dlopen-norpath.test

When two threads dlopen a shared library, one instance of the library
is loaded. Hence, code inside the library needs to be thread safe,
so use atomic updates for profile counters.


  Commit: 50a1ab12abbe948e6d3f8418f11bfa1951c8d19e
      https://github.com/llvm/llvm-project/commit/50a1ab12abbe948e6d3f8418f11bfa1951c8d19e
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll

  Log Message:
  -----------
  [LAA] Don't assume libcalls with output/input pointers can be vectorized (#108980)

LoopAccessAnalysis currently does not check/track aliasing from the
output pointers, but assumes vectorizing library calls with a mapping is
safe.

This can result in incorrect codegen if something like the following is
vectorized:

```
for(int i=0; i<N; i++) {
  // No aliasing between input and output pointers detected.
  sincos(cos_out[0], sin_out+i, cos_out+i);
}
```

Where for VF >= 2 `cos_out[1]` to `cos_out[VF-1]` is the cosine of the
original value of `cos_out[0]` not the updated value.


  Commit: d61b2590f8e360695a5298311855c8649337969f
      https://github.com/llvm/llvm-project/commit/d61b2590f8e360695a5298311855c8649337969f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/CMakeLists.txt

  Log Message:
  -----------
  [Clang-BOLT] Drop CDSplit flag

Breaks AArch64 Clang-BOLT builds:
https://github.com/llvm/llvm-project/pull/109351#issuecomment-2368584365


  Commit: cce1fa39eabfca4907ff8d616618683eec1a5486
      https://github.com/llvm/llvm-project/commit/cce1fa39eabfca4907ff8d616618683eec1a5486
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll

  Log Message:
  -----------
  [RISCV] Add zvfbfmin arithmetic cost model test coverage. NFC


  Commit: 2cd20c255684257b86940bdda6861897f0bf3c00
      https://github.com/llvm/llvm-project/commit/2cd20c255684257b86940bdda6861897f0bf3c00
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"

This reverts commit 6fc2451167ec991361dd0568de9a9fa2926f8da8.

This broke some more buildbots.


  Commit: ce9a2c652104197a051db3788f3ec503cab3a79b
      https://github.com/llvm/llvm-project/commit/ce9a2c652104197a051db3788f3ec503cab3a79b
  Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
    M clang-tools-extra/docs/clang-tidy/index.rst

  Log Message:
  -----------
  [clang-tidy][doc] Add external examples (#106675)

Clang has a page where they list out external examples:
https://clang.llvm.org/docs/ExternalClangExamples.html. This mimics this page by adding some useful links specific to clang-tidy.


  Commit: caf0897c9c7f6f2a142af06bff8680a23d1d4bf5
      https://github.com/llvm/llvm-project/commit/caf0897c9c7f6f2a142af06bff8680a23d1d4bf5
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp

  Log Message:
  -----------
  [SPIR-V] Fix deprecation warnings after #102608 (#109447)

Follow up to fix warnings in the SPIRV backend after 2f50b280dc8e
"[DebugInfo] Enable deprecation of iterator-insertion methods (#102608)"


  Commit: 40d8888f13fb54b0fe840deef23054de6544c184
      https://github.com/llvm/llvm-project/commit/40d8888f13fb54b0fe840deef23054de6544c184
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```

Relanding with built-in cloning support for llvm::ECError, and support
for initializing a Windows error with a NO_ERROR error code.


  Commit: 8a9f66ca3118245f1ece5ba7ae6312889222eff9
      https://github.com/llvm/llvm-project/commit/8a9f66ca3118245f1ece5ba7ae6312889222eff9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    R llvm/test/MC/RISCV/machine-csr-names-invalid.s

  Log Message:
  -----------
  [RISCV] Remove machine-csr-names-invalid.s. NFC (#109595)

This appears to be redundant with rv32-only-csr-names.s which tests the
same registers and many more.


  Commit: 27b5dc422cd3dc15b3d4410ba910d4b12272384d
      https://github.com/llvm/llvm-project/commit/27b5dc422cd3dc15b3d4410ba910d4b12272384d
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/allow-check.ll
    M llvm/test/lit.cfg.py

  Log Message:
  -----------
  Add target-byteorder for cases where endian in target triple is what matters (#107915)

I came across the subtly when setting up lit for z/OS and running it on
a Linux on Power machine. Linux on Power is little endian. This was
resulting in all of these tests being run even though the target triple
was z/OS which is big endian. The lit should really be checking if the
target is little endian not the host. The previous way didn't handle
cross compilation while running lit.


  Commit: 8e8a0724c28642f49aeb313110522521d8359037
      https://github.com/llvm/llvm-project/commit/8e8a0724c28642f49aeb313110522521d8359037
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp

  Log Message:
  -----------
  [llvm-debuginfod-find] Remove old parameter comment (#109637)

This patch removes a comment in llvm-debuginfod-find containing all the
cl::opt entries, which are redundant after the conversion to using
optTable. These seem to have been introduced in #108082 along with a
conversion to optTable.


  Commit: 78ae2de4c692bea03d03e4c149b350543d220490
      https://github.com/llvm/llvm-project/commit/78ae2de4c692bea03d03e4c149b350543d220490
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
    A llvm/test/CodeGen/NVPTX/fence-sm-90.ll
    M llvm/test/CodeGen/NVPTX/fence.ll
    M llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    A llvm/test/CodeGen/NVPTX/load-store-sm-90.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll

  Log Message:
  -----------
  [NVPTX] Load/Store/Fence syncscope support (#106101)

Adds "initial" support for `syncscope` to the NVPTX backend
`load`/`store`/`fence` instructions.
Atomic Read-Modify-Write operations intentionally not supported as part
of this initial PR.


  Commit: 93baa018e09bb3d4d5f4da0232321aff204caaeb
      https://github.com/llvm/llvm-project/commit/93baa018e09bb3d4d5f4da0232321aff204caaeb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [LegalizeVectorTypes] Preserve original MemoryOperand and MemVT when widening fixed vector load to vp_load. (#109473)

Previously we were building a new memoperand with the size of the widened VT. This was causing a failure in our downstream with non-power of 2 vectorization. Alias analysis allowed rescheduling a 3 element vector load past 2 out of 3 scalar stores that overwrite what it was supposed to read.

Alias analysis considers it undefined behavior to read more than the size of the underlying object. There is an exception if the underying objects is sufficiently aligned, but that doesn't apply in my failing case.


  Commit: f7d088b6168608682975759bf27b7c2ad0ae7117
      https://github.com/llvm/llvm-project/commit/f7d088b6168608682975759bf27b7c2ad0ae7117
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/test/Sema/riscv-asm.c

  Log Message:
  -----------
  [RISCV] Implement validateGlobalRegisterVariable. (#109596)

Only allow GPR registers and verify the size is the same as XLen.

This fixes the crash seen in #109588 by making it a frontend error.

gcc does accept the code so we may need to consider if we can fix the
backend. Some other targets I tried appear to have similar issues so it
might not be straightforward to fix.


  Commit: 19f04e908667aade0efe2de9ae705baaf68c0ce2
      https://github.com/llvm/llvm-project/commit/19f04e908667aade0efe2de9ae705baaf68c0ce2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] Use MCRegister in more places. NFC


  Commit: 3336d73126ae7ebaadf7c3a4d85e373eaae8cda6
      https://github.com/llvm/llvm-project/commit/3336d73126ae7ebaadf7c3a4d85e373eaae8cda6
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/include/lldb/Target/ABI.h
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/include/lldb/Target/UnwindLLDB.h
    M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
    M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/source/Symbol/ArmUnwindInfo.cpp
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp
    M lldb/source/Symbol/FuncUnwinders.cpp
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/ABI.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/UnwindLLDB.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp

  Log Message:
  -----------
  [lldb][NFC] New names for the two RegisterLocation classes (#109611)

lldb has two RegisterLocation classes that do slightly different things.

UnwindPlan::Row::RegisterLocation (new: AbstractRegisterLocation) has a
description of how to find a register's value or location, not specific
to a particular stopping point. It may say that at a given offset into a
function, the caller's register has been spilled to stack memory at CFA
minus an offset. Or it may say that the caller's register is at a DWARF
exprssion.

UnwindLLDB::RegisterLocation (new: ConcreteRegisterLocation) is a
specific address where the register is currently stored, or the register
it has been copied into, or its value at this point in the current
function execution.

When lldb stops in a function, it interprets the
AbstractRegisterLocation's instructions using the register context and
stack memory, to create the ConcreteRegisterLocation at this point in
time for this stack frame.

I'm not thrilled with AbstractRegisterLocation and
ConcreteRegisterLocation, but it's better than the same name and it will
be easier to update them if someone suggests a better pair.


  Commit: 62f3eae466cc6af101a9bfa21e2af4ff5c95658d
      https://github.com/llvm/llvm-project/commit/62f3eae466cc6af101a9bfa21e2af4ff5c95658d
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c

  Log Message:
  -----------
  [PowerPC] Fix incorrect store alignment for __builtin_vsx_build_pair() (#108606)

Fixes #107229


  Commit: df0864e761107b07e38f5503e0cbee0cebb4c5e8
      https://github.com/llvm/llvm-project/commit/df0864e761107b07e38f5503e0cbee0cebb4c5e8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/LTO.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Move elf::symtab into Ctx

Remove the global variable `symtab` and add a member variable
(`std::unique_ptr<SymbolTable>`) to `Ctx` instead.

This is one step toward eliminating global states.

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


  Commit: 127349fcba81646389e4b8202b35405a5fdbef47
      https://github.com/llvm/llvm-project/commit/127349fcba81646389e4b8202b35405a5fdbef47
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/compiler_features/check_float16_conversion.cpp
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    A libc/src/__support/FPUtil/cast.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/exp10f16.cpp
    M libc/src/math/generic/exp2f16.cpp
    M libc/src/math/generic/expf16.cpp
    M libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/test/src/math/smoke/AddTest.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/DivTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/MulTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/SubTest.h
    M libc/test/src/math/smoke/exp10f16_test.cpp
    M libc/test/src/math/smoke/exp2f16_test.cpp
    M libc/test/src/math/smoke/expf16_test.cpp
    M libc/test/src/math/smoke/expm1f16_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Add floating-point cast independent of compiler runtime (#105152)

Fixes build and tests with compiler-rt on x86.


  Commit: 5927c6745c2a60c368d7bcb789a1f561d62fa039
      https://github.com/llvm/llvm-project/commit/5927c6745c2a60c368d7bcb789a1f561d62fa039
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/test/MC/AMDGPU/gfx10_unsupported.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s
    A llvm/test/MC/AMDGPU/gfx940_unsupported.s

  Log Message:
  -----------
  [AMDGPU][MC] Instructions not to be supported in GFX940 (#109225)

Buffer_store_lds_dword, buffer_wbinvl1, and buffer_wbinvl1_vol are
obsolete in GFX940 and should not be supported.


  Commit: 1693c6392299d1d4bea5b07094c1c562b7ee533f
      https://github.com/llvm/llvm-project/commit/1693c6392299d1d4bea5b07094c1c562b7ee533f
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [libc++][NFC] mark LWG3723 as implemented (#109356)

This patch marks LWG3723 as implemented, with the implementation
completed in commit 87f3ff3 and released in `libc++` 17.0.

Closes #105104


  Commit: 97b0d2076f53f669f27dc6d0539a3d01f28381e7
      https://github.com/llvm/llvm-project/commit/97b0d2076f53f669f27dc6d0539a3d01f28381e7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)"

This reverts commit 40d8888f13fb54b0fe840deef23054de6544c184.
One last Windows failure remaining.


  Commit: 1c47fa9b620d0abb280647b4f361ada43784d00e
      https://github.com/llvm/llvm-project/commit/1c47fa9b620d0abb280647b4f361ada43784d00e
  Author: Daniel Hernandez-Juarez <dhernandez0 at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Add support for AMD f16 math library calls (#108809)

In this PR we add support for AMD f16 math library calls
(`__ocml_*_f16`)

CC: @krzysz00 @manupak


  Commit: 3db0f8c895d4e814a18b754f9afbb1e03bd839a5
      https://github.com/llvm/llvm-project/commit/3db0f8c895d4e814a18b754f9afbb1e03bd839a5
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll

  Log Message:
  -----------
  [SLP]Update TrackedToOrig mappings after reduction vectorization

Need to update mappings in TrackedToOrig to correctly provide mapping
between updated reduced value after vectorization and its original
value, otherwise the compiler might miss this update and it may cause
compiler crash later, when it tries to find the original instruction
mapping for the updated value.

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


  Commit: 6267f121f510859f8722c34a4a8c75e4d93b0300
      https://github.com/llvm/llvm-project/commit/6267f121f510859f8722c34a4a8c75e4d93b0300
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h

  Log Message:
  -----------
  [libc] Fix missing LIBC_TYPES_HAS_FLOAT16 guard around DyadicFloat::generic_as() (#109697)

See Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/93/builds/6872.


  Commit: d1edef56e87631ca8712afe01ac560710a2334f2
      https://github.com/llvm/llvm-project/commit/d1edef56e87631ca8712afe01ac560710a2334f2
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Type.h
    A llvm/include/llvm/SandboxIR/Utils.h
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Functions to find vectorizor-relevant properties (#109221)

When vectorizing, the destination type and value of stores is more
relevant than the type of the instruction itself. Similarly for return
instructions. These functions provide a convenient way to do that
without special-casing them everywhere, and avoids the need for
friending any class that needs access to Value::LLVMTy to calculate it.

Open to better naming.


  Commit: 8be6b108fbd35c6f50db488a0a5462eba6852cfd
      https://github.com/llvm/llvm-project/commit/8be6b108fbd35c6f50db488a0a5462eba6852cfd
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll

  Log Message:
  -----------
  [NVPTX] Remove nvvm.bitcast.* intrinsics (#107936)

Remove the following intrinsics which correspond directly to a bitcast:

- llvm.nvvm.bitcast.f2i
- llvm.nvvm.bitcast.i2f
- llvm.nvvm.bitcast.d2ll
- llvm.nvvm.bitcast.ll2d


  Commit: f76dae15862959deb62ec200e0958d532c908f30
      https://github.com/llvm/llvm-project/commit/f76dae15862959deb62ec200e0958d532c908f30
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Only store single scalar array per VPValue in VPTransState (NFC)

After 8ec406757cb92 (https://github.com/llvm/llvm-project/pull/95842),
VPTransformState only stores a single scalar vector per VPValue.

Simplify the code by replacing the nested SmallVector in PerPartScalars with
a single SmallVector and rename to VPV2Scalars for clarity.


  Commit: e093bb9e5a6884842402e2cca03f002b514e4411
      https://github.com/llvm/llvm-project/commit/e093bb9e5a6884842402e2cca03f002b514e4411
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)" (#109688)

This reverts commit 2cd20c255684257b86940bdda6861897f0bf3c00.

This relands commit 9886788a8a500a1b429a6db64397c849b112251c.

This was causing more buildbot failures due to getcpu not being
available with glibc <=2.29. This patch fixes that by directly making
the syscall, assuming the syscall number macro is available.


  Commit: 416c3ce0138ff4039dab13ff634ee6392b9a3c7b
      https://github.com/llvm/llvm-project/commit/416c3ce0138ff4039dab13ff634ee6392b9a3c7b
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement ConstantExpr (#109491)

This patch implements an empty sandboxir::ConstantExpr class, mirroring
llvm::ConstantExpr.


  Commit: 6e6d5eae765939cc4074bdd606658e78c4a2a559
      https://github.com/llvm/llvm-project/commit/6e6d5eae765939cc4074bdd606658e78c4a2a559
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    A lldb/test/API/macosx/expedited-thread-pcs/Makefile
    A lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
    A lldb/test/API/macosx/expedited-thread-pcs/foo.c
    A lldb/test/API/macosx/expedited-thread-pcs/main.cpp

  Log Message:
  -----------
  [lldb] Don't invalid register context after setting thread pc's (#109499)

Some gdb remote serial protocol stubs will send the thread IDs and PCs
for all threads in a process in the stop-reply packet. lldb often needs
to know the pc values for all threads while at a private stop, and that
results in <n-1> read-register packets for <n> threads, and can be a big
performance problem when this is a hot code path.

GDBRemoteRegisterContext tracks the StopID of when its values were set,
and when the thread's StopID has incremented, it marks all values it has
as Invalid, and knows to refetch them.

We have a code path that resulted in setting the PCs for all the
threads, and then `ProcessGDBRemote::CalculateThreadStopInfo` *forcing*
an invalidation of all the register contexts, forcing us to re-read the
pc values for all threads except the one that stopped.

There are times when it is valid to force an invalidation of the
regsiter cache - for instance, if the layout of the registers has
changed because the processor state is different, or we've sent a
write-all-registers packet to the inferior and we want to make sure we
stay in sync with the inferior. But there was no reason for this method
to be forcing the register context to be invalid.

I added a test when running on Darwin systems, where debugserver always
sends the thread IDs and PCs, which turns on packet logging. The test
runs against an inferior which has 4 threads; it steps over a dlopen()
call, steps in to a user function with debug info, steps-over and
steps-in across source lines with multiple function calls, and then
examines the packet log and flags it as an error if lldb asked for the
pc value of any thread at any point in the debug session.

For this program and the operations we're doing, with debugserver that
provides thread IDs and PCs, we should never ask for the value of a pc
register.

rdar://136247381


  Commit: 2b892b05025b6e0ed2f211435f99838ea3bbccd8
      https://github.com/llvm/llvm-project/commit/2b892b05025b6e0ed2f211435f99838ea3bbccd8
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/lit.local.cfg
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm.txt
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm.txt.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_multirun_dasm.txt
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_multirun_dasm.txt.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/amdgpu-basic.test
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/lit.local.cfg
    M llvm/utils/UpdateTestChecks/common.py
    A llvm/utils/update_mc_test_checks.py

  Log Message:
  -----------
  added a script to update llvm-mc test file (#107246)

Added a script to update the test file generated by llvm-mc binary. The
script accepts .s and .txt for asm and dasm.

For mc test I am targetting there is no function name which can be used
as a key, thus no clear mapping between input and output. The script
assumes the test are always line-by-line and it update the output marker
for each test line-by-line.

---------

Co-authored-by: Alexander Richardson <mail at alexrichardson.me>


  Commit: 706e71076e0276747e7ae94e3f8a7f73a45e5b6e
      https://github.com/llvm/llvm-project/commit/706e71076e0276747e7ae94e3f8a7f73a45e5b6e
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    R llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extended-vectorized-gathered-inst.ll
    R llvm/test/Transforms/SLPVectorizer/X86/external-user-instruction-minbitwidth.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extractelement-insertpoint.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extracts-with-undefs.ll
    R llvm/test/Transforms/SLPVectorizer/X86/gather_extract_from_vectorbuild.ll
    R llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-crash-index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-const-undef.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-multiple-uses.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insertelement-postpone.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insertelement-uses-vectorized-index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    R llvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
    R llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    R llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
    R llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
    R llvm/test/Transforms/SLPVectorizer/X86/multi-node-vectorized-insts.ll
    R llvm/test/Transforms/SLPVectorizer/X86/multi-uses-with-deps-in-first.ll
    R llvm/test/Transforms/SLPVectorizer/X86/one-element-vector.ll
    A llvm/test/Transforms/SLPVectorizer/ext-int-reduced-not-operand.ll
    A llvm/test/Transforms/SLPVectorizer/extended-vectorized-gathered-inst.ll
    A llvm/test/Transforms/SLPVectorizer/external-user-instruction-minbitwidth.ll
    A llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
    A llvm/test/Transforms/SLPVectorizer/extractelement-insertpoint.ll
    A llvm/test/Transforms/SLPVectorizer/extractlements-gathered-first-node.ll
    A llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
    A llvm/test/Transforms/SLPVectorizer/gather_extract_from_vectorbuild.ll
    A llvm/test/Transforms/SLPVectorizer/gep-with-extractelement-many-users.ll
    A llvm/test/Transforms/SLPVectorizer/insert-crash-index.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const-undef.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-multiple-uses.ll
    A llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
    A llvm/test/Transforms/SLPVectorizer/insertelement-uses-vectorized-index.ll
    A llvm/test/Transforms/SLPVectorizer/int-bitcast-minbitwidth.ll
    A llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
    A llvm/test/Transforms/SLPVectorizer/minbitwidth-multiuse-with-insertelement.ll
    A llvm/test/Transforms/SLPVectorizer/minbitwidth-node-with-multi-users.ll
    A llvm/test/Transforms/SLPVectorizer/minbitwidth-user-not-min.ll
    A llvm/test/Transforms/SLPVectorizer/multi-node-vectorized-insts.ll
    A llvm/test/Transforms/SLPVectorizer/multi-uses-with-deps-in-first.ll
    A llvm/test/Transforms/SLPVectorizer/one-element-vector.ll

  Log Message:
  -----------
  [SLP] Move some of X86 tests to common directory (#107587)

Some of the tests from the X86 directory can be generalized to improve
coverage for other architectures


  Commit: 3138eb500c9462bcb6899088d49644adb4d90f62
      https://github.com/llvm/llvm-project/commit/3138eb500c9462bcb6899088d49644adb4d90f62
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenInstAlias.h
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Use const record pointers in TableGen/Common files (#109467)

Use const record pointers in TableGen/Common files.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 74405b9d74d974523c0f9172a9b0c1cfd7320356
      https://github.com/llvm/llvm-project/commit/74405b9d74d974523c0f9172a9b0c1cfd7320356
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement a few Instruction member functions (#109709)

This patch implements some of the missing member functions of
sandboxir::Instruction.


  Commit: 954ab83e6a8acb7a78936cfa3e2284b1eaf8b722
      https://github.com/llvm/llvm-project/commit/954ab83e6a8acb7a78936cfa3e2284b1eaf8b722
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
    A llvm/test/MC/AMDGPU/amdhsa-kd-kernarg-preload.s

  Log Message:
  -----------
  [AMDGPU] Include unused preload kernarg in KD total SGPR count (#104743)

Unlike with implicitly preloaded data UserSGPRs firmware is unable to
handle cases where SGPRs for kernel arguments contain preloaded data but
not are not explicitly referenced in the kernel. We need to include
these preloaded SGPRs in the GRANULATED_WAVEFRONT_SGPR_COUNT calculation
to not clobber SGPRs in adjacent waves.


  Commit: e44ecf76e049474190c33cd737642a0a066fb6b0
      https://github.com/llvm/llvm-project/commit/e44ecf76e049474190c33cd737642a0a066fb6b0
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/CodeGen/X86/section-stats.ll

  Log Message:
  -----------
  [llvm][ELF] Add ELF header/section header table size statistics (#109345)

Followup to #102363. This makes the `elf-object-writer.*Bytes` stats sum
up to `assembler.ObjectBytes`.


  Commit: 16d11e26f36fa0de8ef6e402bb85e32bf7c7acd6
      https://github.com/llvm/llvm-project/commit/16d11e26f36fa0de8ef6e402bb85e32bf7c7acd6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/newhdrgen/yaml/stdlib.yaml
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/gpu/CMakeLists.txt
    A libc/src/stdlib/gpu/system.cpp
    A libc/src/stdlib/system.h
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Add GPU support for the 'system' function (#109687)

Summary:
This function can easily be implemented by forwarding it to the host
process. This shows up in a few places that we might want to test the
GPU so it should be provided. Also, I find the idea of the GPU
offloading work to the CPU via `system` very funny.


  Commit: 3bbe0f90f33357c27e3195207fa35c0fb44e426c
      https://github.com/llvm/llvm-project/commit/3bbe0f90f33357c27e3195207fa35c0fb44e426c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/config/gpu/headers.txt
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  [libc] Add 'strings.h' header on the GPU (#109661)

Summary:
These are GNU extensions but still show up, the entrypoints were enabled
but we weren't emitting the header so they couldn't be used.


  Commit: 1fae1314f1ff58f3601640c0a2c48cee3a322e5d
      https://github.com/llvm/llvm-project/commit/1fae1314f1ff58f3601640c0a2c48cee3a322e5d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```

Relanding with built-in cloning support for llvm::ECError, and support
for initializing a Windows error with a NO_ERROR error code, and
modifying TestGDBRemotePlatformFile.py to support different renderings
of ENOSYS.


  Commit: 9ac00b85e05d21be658d6aa0c91cbe05bb5dbde2
      https://github.com/llvm/llvm-project/commit/9ac00b85e05d21be658d6aa0c91cbe05bb5dbde2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/rotate.ll
    M llvm/test/CodeGen/NVPTX/rotate_64.ll

  Log Message:
  -----------
  [NVPTX] deprecate nvvm.rotate.* intrinsics, cleanup funnel-shift handling (#107655)

This change deprecates the following intrinsics which can be trivially
converted to llvm funnel-shift intrinsics:

- @llvm.nvvm.rotate.b32
- @llvm.nvvm.rotate.right.b64
- @llvm.nvvm.rotate.b64


  Commit: 0a5edb4de408ae0405f85c3e4c6da5233f185f63
      https://github.com/llvm/llvm-project/commit/0a5edb4de408ae0405f85c3e4c6da5233f185f63
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp

  Log Message:
  -----------
  [bolt] Don't call llvm::raw_string_ostream::flush() (NFC)

Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered.
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )


  Commit: 783bac7ffb8f0d58d7381d90fcaa082eb0be1c1d
      https://github.com/llvm/llvm-project/commit/783bac7ffb8f0d58d7381d90fcaa082eb0be1c1d
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/Analysis/CtxProfAnalysis/handle-select.ll

  Log Message:
  -----------
  [ctx_prof] Handle `select` and its `step` instrumentation (#109185)

The `step` instrumentation shouldn't be treated, during use, like an `increment`. The latter is treated as a BB ID. The step isn't that, it's more of a type of value profiling. We need to distinguish between the 2 when really looking for BB IDs (==increments), and handle appropriately `step`s. In particular, we need to know when to elide them because `select`s may get elided by function cloning, if the condition of the select is statically known.


  Commit: c9e2c38f2c9784b668da875b7b94074a8bb416f7
      https://github.com/llvm/llvm-project/commit/c9e2c38f2c9784b668da875b7b94074a8bb416f7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [NFC][hwasan] Convert ShadowMapping into class (#109616)

In the next patch we can switch to enum.


  Commit: 300051159b5d8caef1e74193ebfb1ed1bce21c5e
      https://github.com/llvm/llvm-project/commit/300051159b5d8caef1e74193ebfb1ed1bce21c5e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/test/X86/log.test
    M bolt/test/perf2bolt/perf_test.test

  Log Message:
  -----------
  [BOLT][test] Update log.test and perf_test

Address noisy tests by:
- perf_test: bumping sampling frequency to maximum,
- log.test: matching Binary Function "main"


  Commit: 8dbb739ffb0880e4f739992d07dc6ba6edca9509
      https://github.com/llvm/llvm-project/commit/8dbb739ffb0880e4f739992d07dc6ba6edca9509
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [NFC][hwasan] Use `enum class` in `ShadowMapping` (#109617)


  Commit: 3734fa8c724ce2af2f69886ca97c05c6c3717c34
      https://github.com/llvm/llvm-project/commit/3734fa8c724ce2af2f69886ca97c05c6c3717c34
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
    M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    R llvm/lib/Target/DirectX/DXILMetadata.cpp
    R llvm/lib/Target/DirectX/DXILMetadata.h
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    A llvm/test/CodeGen/DirectX/Metadata/lib-entries.ll
    A llvm/test/CodeGen/DirectX/Metadata/multiple-entries-cs-error.ll
    A llvm/test/CodeGen/DirectX/Metadata/target-profile-error.ll
    M llvm/test/CodeGen/DirectX/legalize-module-flags.ll
    M llvm/test/CodeGen/DirectX/legalize-module-flags2.ll
    M llvm/test/CodeGen/DirectX/strip-call-attrs.ll
    M llvm/test/CodeGen/DirectX/typed_ptr.ll

  Log Message:
  -----------
  [DXIL] Consume Metadata Analysis information in passes (#108034)

- Changed `DXILTranslateMetadata::translateMetadata()` to consume DXIL
Metadata Analysis information. Subsumed into `DXILTranslateMetedata.cpp`
the functionality in `DXILMetadata.*` files - that are hence deleted.
- Changed `DXILPrepare` pass to consume DXIL Metadata Analysis
information.
- Renamed `ModuleMetadataInfo::ShaderStage` to
`ModuleMetadataInfo::ShaderProfile` to better convey what it represents.
- Updated `unknown` target shader stage specification in triples of a
couple of tests.
- Added new tests for additional verification of `DXILTranslateMetadata`
pass functionality.


  Commit: 9d3a57633ebb8251d2575696dfe53c67d3a47d33
      https://github.com/llvm/llvm-project/commit/9d3a57633ebb8251d2575696dfe53c67d3a47d33
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Add explicit XLenVT cast to vector load/store patterns.

This seems to be needed to get the patterns to import into GISel
properly.

Unfortunately, it also adds ~400 bytes to the SelectionDAG table.
I'm hoping if we remove i32 as a legal type for GPR registers, this
will go down.


  Commit: eddbd4eb081fedddd4028244418f89e4bf5ffb09
      https://github.com/llvm/llvm-project/commit/eddbd4eb081fedddd4028244418f89e4bf5ffb09
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  [clang][NFC] add static for internal linkage function (#109436)

Detected by clang-tidy misc-use-internal-linkage


  Commit: eca5949031c31fe5ff5ad7a5df07bbce13379108
      https://github.com/llvm/llvm-project/commit/eca5949031c31fe5ff5ad7a5df07bbce13379108
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp

  Log Message:
  -----------
  [codegen][NFC] add static mark for internal usage variable and function (#109431)

Detect by clang-tidy misc-use-internal-linkage


  Commit: 083f0fa454b618d722424a4a530b91de18a1b3c0
      https://github.com/llvm/llvm-project/commit/083f0fa454b618d722424a4a530b91de18a1b3c0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [NFC][hwasan] Remove code duplication in ShadowMapping::init (#109618)

The goal to is to reorder this function to make
initialization in following order:
1. Defaults
2. Target specific overrides
3. Explicit copt<> overrides


  Commit: 3bb92b530f27166b9037b63568534d248ff80150
      https://github.com/llvm/llvm-project/commit/3bb92b530f27166b9037b63568534d248ff80150
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp

  Log Message:
  -----------
  [SandboxVec] Tag insts in a Region with metadata. (#109353)

For each region, we create a metadata node. Then when an instruction is
added to the Region, it gets tagged with the metadata node for that
region. In the following example, we have a Region that contains only
the `%t0` instruction.

```
define i8 @foo(i8 %v0, i8 %v1) {
  %t0 = add i8 %v0, 1, !sbvec !0
  %t1 = add i8 %t0, %v1
  ret i8 %t1
}

!0 = distinct !{!"region"}
```

This commit also adds a function to create regions from metadata already
present in a Function.

This metadata can be used for debugging: if we dump IR before a Region
pass, the IR will contain enough info to re-create the Region and run
the pass by itself in a later invocation.

---------

Co-authored-by: Alina Sbirlea <alina.g.simion at gmail.com>


  Commit: f77bbc0b34f98a6e866a72ccd8ff18bee9fa4dc8
      https://github.com/llvm/llvm-project/commit/f77bbc0b34f98a6e866a72ccd8ff18bee9fa4dc8
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h

  Log Message:
  -----------
  [WebAssembly] Apply clang-tidy fixes on AsmParser/TypeCheck (NFC) (#109692)

Fixes are mostly one of these:
- `auto` -> `auto *` when the type is a pointer
- Function names start with a lowercase letter
- Variable names start with an uppercase letter
- No need to have an `else` after a `return`

Diff without whitespaces is easier to view.


  Commit: 00629752e622814649e67d6e5ecb02bf131b537d
      https://github.com/llvm/llvm-project/commit/00629752e622814649e67d6e5ecb02bf131b537d
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix cost model for getGatherCost with FixedVectorType ScalarTy. (#109369)


  Commit: 0673642cab6b6a9eec20d4ea4ee6bc46db47e04c
      https://github.com/llvm/llvm-project/commit/0673642cab6b6a9eec20d4ea4ee6bc46db47e04c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll

  Log Message:
  -----------
  [hwasan] Replace "-hwasan-with-ifunc" and "-hwasan-with-tls" options (#109619)

Relationship between "-hwasan-mapping-offset",
"-hwasan-with-ifunc", and "-hwasan-with-tls" can
be to hard to understand.

Now we will have "-hwasan-mapping-offset",
presense of which will imply fixed shadow.

If "-hwasan-mapping-offset-dynamic" will set one
of 3 available dynamic shadows.

As-is "-hwasan-mapping-offset" has precedence over
"-hwasan-mapping-offset-dynamic". In follow up
patches we need to use the one with last
occurrence.


  Commit: af1cf699f0bf62e54288ac3a5ada6050a41a57a1
      https://github.com/llvm/llvm-project/commit/af1cf699f0bf62e54288ac3a5ada6050a41a57a1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Move OrigIdx == 0 check to start of lowerEXTRACT_SUBVECTOR. NFC (#109731)

Allows us to remove a separate check of OrigIdx != 0 for the mask case.


  Commit: fd11c81a80608ddd4b33b664e28b426229aabde1
      https://github.com/llvm/llvm-project/commit/fd11c81a80608ddd4b33b664e28b426229aabde1
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libcxx/include/__memory/unique_temporary_buffer.h

  Log Message:
  -----------
  [libc++] Add `_LIBCPP_NO_CFI` to `__allocate_unique_temporary_buffer` (#109682)

Follows up #100914. Addresses the issue revealed in
https://github.com/llvm/llvm-project/pull/100914#discussion_r1771647801.


  Commit: 6bed79b3f00d3e2c273bc36ed350f802d76607b3
      https://github.com/llvm/llvm-project/commit/6bed79b3f00d3e2c273bc36ed350f802d76607b3
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Support/raw_ostream.h
    M llvm/unittests/Support/raw_ostream_test.cpp

  Log Message:
  -----------
  [Support] Add scaling support in `indent` (#109478)

Scaled indent is useful when indentation is always in steps of a fixed
number (the Scale) and still allow using the +/- operators to adjust
indentation.


  Commit: 86c640323286f4d692a634373c71536795cd7290
      https://github.com/llvm/llvm-project/commit/86c640323286f4d692a634373c71536795cd7290
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    A compiler-rt/test/nsan/fcmp.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Add check-cmp flag (#108707)

Add check-cmp flag.

Closes #108435.


  Commit: 2028687ecad01ccc135cdc03eca933d7eec24df4
      https://github.com/llvm/llvm-project/commit/2028687ecad01ccc135cdc03eca933d7eec24df4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp

  Log Message:
  -----------
  [DWARFLinkerTypeUnit] Simplify code around try_emplace (NFC) (#109670)

Without this patch, we first default-construct a value with
try_emplace and then immediately override it with a new value.

This patch inserts the final value with try_emplace and simplies the
code around it.


  Commit: 3cd3202b785654b8ac6d3bcf9ee18efcdd5171b0
      https://github.com/llvm/llvm-project/commit/3cd3202b785654b8ac6d3bcf9ee18efcdd5171b0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp

  Log Message:
  -----------
  [Frontend] Teach LoadFromASTFile to take FileName by StringRef (NFC) (#109583)

Without this patch, several callers of LoadFromASTFile construct an
instance of std::string to be passed as FileName, only to be converted
back to StringRef when LoadFromASTFile calls ReadAST.

This patch changes the type of FileName to StringRef and updates the
callers.


  Commit: 23558afaf2f82f53ada3e9b6da3f11412dd02c8f
      https://github.com/llvm/llvm-project/commit/23558afaf2f82f53ada3e9b6da3f11412dd02c8f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Hoist duplicate code in lowerINSERT_SUBVECTOR. NFC (#109733)


  Commit: 64e7cb266e54e689791ad499965ddb0f8a1a2262
      https://github.com/llvm/llvm-project/commit/64e7cb266e54e689791ad499965ddb0f8a1a2262
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] Use auto (NFC)

I'm planning to change the type of BlockByCopyDecls and
BlockByRefDecls to SetVector.  Declaring these iterators with auto
makes it easier to migrate to the new type.


  Commit: 9b5a3036adbd9eed0f377cdf06aa622b917a1699
      https://github.com/llvm/llvm-project/commit/9b5a3036adbd9eed0f377cdf06aa622b917a1699
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  [OpenMP][Docs] Update OpenMP supported features table (#109726)

OpenMP features table: updated scope directive status from 'worked on'
to 'done' in section OpenMP 5.1 Implementation Details.


  Commit: 29168e80ba6fabb96c2b45d9deb1e908e02f8a53
      https://github.com/llvm/llvm-project/commit/29168e80ba6fabb96c2b45d9deb1e908e02f8a53
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/IR/Attributes.cpp

  Log Message:
  -----------
  [IR][Attribute] Add missing `const` def on `addAllocSizeParamAttr()`; NFC


  Commit: f5eaadc38b8bbe547a5019b7ceb961978f36abde
      https://github.com/llvm/llvm-project/commit/f5eaadc38b8bbe547a5019b7ceb961978f36abde
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Support/ModRef.cpp
    M llvm/lib/Support/OptionStrCmp.cpp

  Log Message:
  -----------
  [NFC] Fix line endings for ModRef.cpp/OptionStrCmp.cpp (#109712)


  Commit: 0206181ada4b39f0324dfe977442c65c1693f0b1
      https://github.com/llvm/llvm-project/commit/0206181ada4b39f0324dfe977442c65c1693f0b1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Driver and Writer


  Commit: b30b9eb7a8823c1b3bbcd1bf9452e743a17d9223
      https://github.com/llvm/llvm-project/commit/b30b9eb7a8823c1b3bbcd1bf9452e743a17d9223
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/lib/CodeGen/LiveInterval.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp

  Log Message:
  -----------
  LiveInterval: Make verify functions return bool (#109672)

This will allow the MachineVerifier to check these properties
instead of just asserting


  Commit: fa089b014b41db4ef90378c7eae35306402cfcb3
      https://github.com/llvm/llvm-project/commit/fa089b014b41db4ef90378c7eae35306402cfcb3
  Author: SJW <48454132+sjw36 at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/test/Dialect/SCF/loop-pipelining.mlir

  Log Message:
  -----------
  [SCF] Fixed epilogue predicates in loop pipelining (#108964)

The computed loop iteration is zero based, so only check it is less than
zero. This fixes the case when lower bound is not zero.


  Commit: cde7b30268a85a3e7900a31534a97e7eb4de9236
      https://github.com/llvm/llvm-project/commit/cde7b30268a85a3e7900a31534a97e7eb4de9236
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir

  Log Message:
  -----------
  AMDGPU: Fix missing functions in MIR tests

This function was in the IR section, but not present in the MIR
function list.


  Commit: 63b2595846b86b4e4eb9afba5e97dd64e8135c10
      https://github.com/llvm/llvm-project/commit/63b2595846b86b4e4eb9afba5e97dd64e8135c10
  Author: sstipano <146831748+sstipano at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir
    A llvm/test/CodeGen/AMDGPU/freeze.ll

  Log Message:
  -----------
  [AMDGPU][GlobalIsel] Use isRegisterClassType for G_FREEZE and G_IMPLICIT_DEF (#101331)

G_FREEZE was legal for <13 x S32> which caused an infinite loop in the
combiner


  Commit: 2c58063435ce4717a949585bc5c32ecf98a77238
      https://github.com/llvm/llvm-project/commit/2c58063435ce4717a949585bc5c32ecf98a77238
  Author: Sergey Kozub <skozub at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/Types.h
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Types.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/python/mlir/extras/types.py
    M mlir/test/IR/attribute.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/python/ir/builtin_types.py
    M mlir/utils/lldb-scripts/mlirDataFormatters.py
    M mlir/utils/tree-sitter-mlir/grammar.js

  Log Message:
  -----------
  [MLIR] Add f4E2M1FN type (#108877)

This PR adds `f4E2M1FN` type to mlir.

`f4E2M1FN` type is proposed in [OpenCompute MX
Specification](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf).
It defines a 4-bit floating point number with bit layout S1E2M1. Unlike
IEEE-754 types, there are no infinity or NaN values.

```c
f4E2M1FN
- Exponent bias: 1
- Maximum stored exponent value: 3 (binary 11)
- Maximum unbiased exponent value: 3 - 1 = 2
- Minimum stored exponent value: 1 (binary 01)
- Minimum unbiased exponent value: 1 − 1 = 0
- Has Positive and Negative zero
- Doesn't have infinity
- Doesn't have NaNs

Additional details:
- Zeros (+/-): S.00.0
- Max normal number: S.11.1 = ±2^(2) x (1 + 0.5) = ±6.0
- Min normal number: S.01.0 = ±2^(0) = ±1.0
- Min subnormal number: S.00.1 = ±2^(0) x 0.5 = ±0.5
```

Related PRs:
- [PR-95392](https://github.com/llvm/llvm-project/pull/95392) [APFloat]
Add APFloat support for FP4 data type
- [PR-105573](https://github.com/llvm/llvm-project/pull/105573) [MLIR]
Add f6E3M2FN type - was used as a template for this PR
- [PR-107999](https://github.com/llvm/llvm-project/pull/107999) [MLIR]
Add f6E2M3FN type


  Commit: f6a8eb98b13ee50c67ecf4804461a23fba7398aa
      https://github.com/llvm/llvm-project/commit/f6a8eb98b13ee50c67ecf4804461a23fba7398aa
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-atomic-cmpxchg-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fract.f64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-saddr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/agpr-to-agpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/expand-si-indirect.mir
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/high-RP-reschedule.mir
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umax.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umin.mir
    M llvm/test/CodeGen/AMDGPU/merge-flat-with-global-load-store.mir
    M llvm/test/CodeGen/AMDGPU/merge-global-load-store.mir
    M llvm/test/CodeGen/AMDGPU/move-load-addr-to-valu.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
    M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-non-empty-but-used-interval.mir
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-barrier-hang-weak-dep.mir
    M llvm/test/CodeGen/AMDGPU/sched-barrier-pre-RA.mir
    M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
    M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/MC/AMDGPU/flat-global.s
    A llvm/test/MC/AMDGPU/gfx10_flat_instructions_err.s
    A llvm/test/MC/AMDGPU/gfx11_flat_instructions_err.s
    A llvm/test/MC/AMDGPU/gfx12_flat_instructions_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_flat.txt

  Log Message:
  -----------
  [AMDGPU][MC] Disallow null as saddr in flat instructions (#101730)

Some flat instructions have an saddr operand. When 'null' is provided as
saddr, it may have the same encoding as another instruction. For
example, the instructions 'global_atomic_add v1, v2, null' and
'global_atomic_add v[1:2], v2, off' have the same encoding. This patch
disallows having null as saddr.


  Commit: 78ff736db2313642c3d8dd74beee3bc0b21c5c2a
      https://github.com/llvm/llvm-project/commit/78ff736db2313642c3d8dd74beee3bc0b21c5c2a
  Author: David Green <david.green at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll

  Log Message:
  -----------
  [ARM] Fix VMOVRRD combine with non-canonical inserts. (#109639)

In some situations, in the test case here with the multiple calls being
late legalized, we can see inserts of the form:
```
     b = insert a, x, 0
    c = insert b, y, 1
   d = insert c, z, 0
  bc = bitcast d
 e = extract bc, 0
r = vmovrrd e
```
The redundant insert will usually be removed, but in some cases are not
prior to PerformVMOVRRDCombine. The code was finding the first insert
from each lane (x and y), as opposed to the last (z and y).


  Commit: 5ca09d617da89c4466347030e2949dc5713eabcb
      https://github.com/llvm/llvm-project/commit/5ca09d617da89c4466347030e2949dc5713eabcb
  Author: David Green <david.green at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/test/CodeGen/ARM/expand-pseudos.mir
    M llvm/test/CodeGen/ARM/vbsl.ll

  Log Message:
  -----------
  [ARM] Fix VBSL Pseudo kill flags. (#109629)

When expanding a VBSP pseudo into VMOV; VBSL, if the first reg was
killed in the BSP then the kill flags could be incorrect copied to the
mov (vorr) and the vbsl. Drop the kill flags.

Note that this sometimes comes up when all the operands of the VBSP are
the same, which can be optimized separately.


  Commit: 1493c247b687160aa92cf13ac1c6f363870bbac0
      https://github.com/llvm/llvm-project/commit/1493c247b687160aa92cf13ac1c6f363870bbac0
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [ASan][test] Fix TestCases/Posix/stack-overflow.cpp on Solaris/sparcv9 (#109101)

When ASan testing is enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-sunos :: TestCases/Posix/stack-overflow.cpp
```
test `FAIL`s:
```
compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp:80:12: error: CHECK: expected string not found in input
 // CHECK: {{stack-overflow on address 0x.* \(pc 0x.* bp 0x.* sp 0x.* T.*\)}}
           ^
AddressSanitizer:DEADLYSIGNAL
AddressSanitizer:DEADLYSIGNAL
=================================================================
==11358==ERROR: AddressSanitizer: SEGV on unknown address 0xff3fff90 (pc 0x000db0c0 bp 0xfeed59f8 sp 0xfeed5978 T0)
==11358==The signal is caused by a READ memory access.
AddressSanitizer:DEADLYSIGNAL
AddressSanitizer: nested bug in the same thread, aborting.
```
It turns out that `sanitizer_linux.cpp` (`GetPcSpBp`) tries to
dereference the stack pointer to get at the saved frame pointer, which
cannot work since `sp` has been invalidated by the stack overflow in the
test. The access attempt thus leads to a second `SEGV`.

Solaris `walkcontext(3C)` doesn't have that problem: in the original
OpenSolaris sources (`$SRC/lib/libc/port/gen/walkstack.c`) they used
`/proc/self/as` to avoid the fault, which is quite heavy-handed. Solaris
11.4 uses a non-faulting load instead (`load_no_fault_uint32`, which
just uses the `lduwa` insn).

This patch follows this lead, returning a `NULL` `bp` in the failure
case. Unfortunately, this leads to `SEGV`s in the depth of the unwinder,
so this patch avoids printing a stack trace in this case.

Tested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.


  Commit: 4ac141683c310447f0efba775dc59b2145511ac0
      https://github.com/llvm/llvm-project/commit/4ac141683c310447f0efba775dc59b2145511ac0
  Author: tomasz-kaminski-sonarsource <79814193+tomasz-kaminski-sonarsource at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/class/class.friend/p7-cxx20.cpp
    M clang/test/CXX/class/class.mfct/p1-cxx20.cpp

  Log Message:
  -----------
  [C++20][Modules] NFC Reworked handling of inline for functions defined in class (#109470)

Reworked handling of implicit inline marking for member and friend
function defined in class.
Now, we handle it in an additive manner, i.e. if such in-class functions
are inline implicitly by language rules,
we mark the as `setImplicitInline`, and perform no action otherwise.
As we never remove inline specifier, the implementation is orthogonal to
other sources of inline
(like `inline`, `constexpr`, e.t.c), and we do not need to handle them
specially.

Also included test for `constexpr`, `consteval` and global module cases.


  Commit: 3907d186d627f8957627b2861cf6f879d07c93c2
      https://github.com/llvm/llvm-project/commit/3907d186d627f8957627b2861cf6f879d07c93c2
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [sanitizer_common] Heed __ndbl_ prefix for 32-bit Linux/sparc64 inter… (#109106)

…ceptors

When ASan testing is enabled on SPARC as per PR #107405, a couple of
tests `FAIL` on Linux/sparc64:
```
  AddressSanitizer-sparc-linux :: TestCases/printf-2.c
  AddressSanitizer-sparc-linux :: TestCases/printf-3.c
  AddressSanitizer-sparc-linux :: TestCases/printf-4.c
  AddressSanitizer-sparc-linux :: TestCases/printf-5.c

  SanitizerCommon-asan-sparc-Linux :: Linux/unexpected_format_specifier_test.cpp
```
It turns out the interceptors aren't used since on Linux/sparc64
`double` and `long double` are the same, and a couple of `stdio`
functions are prefixed with `__nldbl_` (no long double) accordingly.

This patch handles this.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: 4a264c559922a8754a0e28fbf316ba667ec19798
      https://github.com/llvm/llvm-project/commit/4a264c559922a8754a0e28fbf316ba667ec19798
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [sanitizer_common] Fix GetArgsAndEnv on Linux/sparc64 (#109109)

When ASan testing is enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-linux :: TestCases/Posix/print_cmdline.cpp
```
test `FAIL`s. Either `ASAN_OPTIONS=print_cmdline=true` yielded binary
garbage in the `Command:` output or just an empty string.

It turns out one needs to apply an offset to `__libc_stack_end` to get
at the actual `argc`/`argv`, as described in `glibc`'s
`sysdeps/sparc/sparc{32,64}/dl-machine.h` (`DL_STACK_END`).

This patch does this, fixing the test.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: d814006c0aedf806f2ea09660c26f51099020b2c
      https://github.com/llvm/llvm-project/commit/d814006c0aedf806f2ea09660c26f51099020b2c
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/coverage-fork.cpp

  Log Message:
  -----------
  [ASan][test] Fix Posix/coverage-fork.cpp on Solaris (#109626)

With ASan testing enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-sunos-dynamic :: TestCases/Posix/coverage-fork.cpp
```
test occasionally `FAIL`s on Solaris/sparcv9:
```
compiler-rt/test/asan/TestCases/Posix/coverage-fork.cpp:46:15: error: CHECK-DAG: expected string not found in input
// CHECK-DAG: Parent PID: [[ParentPID:[0-9]+]]
              ^
```
It turns out that the output for parent and child processes is
interleaved like
```
Parent PID: Child PID: 27426
27425
```
Checking with `truss` shows that the `fprintf`s are implemented as 3
separate `write`s:
```
28489:  write(2, " P a r e n t   P I D :  ", 12)        = 12
28489:  write(2, " 2 8 4 8 9", 5)                       = 5
28489:  write(2, "\n", 1)                               = 1
```

To avoid this, this patch switches the test to use `snprintf`/`write` to
guarantee the output is atomic.

Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and
`x86_64-pc-linux-gnu`.


  Commit: debc325bb1f58025c44393408a2b5a53ef8041f9
      https://github.com/llvm/llvm-project/commit/debc325bb1f58025c44393408a2b5a53ef8041f9
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/test/CodeGen/Mips/cconv/illegal-vectors.ll

  Log Message:
  -----------
  [MIPS] Fix failing to legalize load+call with vector of non-p2 integer (#109625)

Add a condition to check whether the vector element type is a power of 2.

Fixes #102870.


  Commit: 5cd0900ef6eb97d72803bdca7180538a40431722
      https://github.com/llvm/llvm-project/commit/5cd0900ef6eb97d72803bdca7180538a40431722
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    A llvm/test/Transforms/InstCombine/icmp-inttoptr.ll

  Log Message:
  -----------
  [InstCombine] Compare `icmp inttoptr, inttoptr` values directly (#107012)

InstCombine already has some rules for `icmp ptrtoint, ptrtoint` to drop
the casts and compare the source values. This change adds the same for
the reverse case with `inttoptr`.


  Commit: 3dbd929ea6af134650dd1d91baeb61a4fc1b0eb8
      https://github.com/llvm/llvm-project/commit/3dbd929ea6af134650dd1d91baeb61a4fc1b0eb8
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Update comment referring to SIRemoveShortExecBranches pass (#109756)

That pass no longer exists, since
5df2af8b0ef33f48b1ee72bcd27bc609b898da52 has merged it into
SIPreEmitPeephole.


  Commit: e4d34261f85050af340ade9a7dcd332f11b4485f
      https://github.com/llvm/llvm-project/commit/e4d34261f85050af340ade9a7dcd332f11b4485f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/codegen.m

  Log Message:
  -----------
  [clang][bytecode] Ignore CPointerToObjCPointerCasts (#109760)


  Commit: 14ab6190f6d1813cc5774dec2623862e1bd6876f
      https://github.com/llvm/llvm-project/commit/14ab6190f6d1813cc5774dec2623862e1bd6876f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    M llvm/test/CodeGen/X86/canonicalize-vars.ll

  Log Message:
  -----------
  [X86] Cleanup check prefixes in FCANONICALIZE tests for better sharing


  Commit: 4b964002403a9b9be934174391ff5b698691a26b
      https://github.com/llvm/llvm-project/commit/4b964002403a9b9be934174391ff5b698691a26b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Allow placement-new in std functions pre-C++26 (#109753)


  Commit: b75174d05aa033a382d4c088e96e068a774f46da
      https://github.com/llvm/llvm-project/commit/b75174d05aa033a382d4c088e96e068a774f46da
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  [compiler-rt] prctl interception update, SECCOMP_MODE_FILTER support. (#107722)


  Commit: eabc8857e77c94a09624c12cc690753f68b87825
      https://github.com/llvm/llvm-project/commit/eabc8857e77c94a09624c12cc690753f68b87825
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c

  Log Message:
  -----------
  [BPF] make __BPF_FEATURE_MAY_GOTO available for cpuv1 (#108071)

For some reason `__BPF_FEATURE_MAY_GOTO` is available for CPUs v{2,3,4}
but is not available for CPU v1. This limitation is arbitrary:
- the instruction is never produced by LLVM backend;
- on Linux Kernel side this instruction is available in kernels that
also support CPUv4.

Hence, it is more consistent to either always allow
`__BPF_FEATURE_MAY_GOTO` or only allow it for CPUv4.


  Commit: 70529b24a30943d46e361d2990268499921e28a2
      https://github.com/llvm/llvm-project/commit/70529b24a30943d46e361d2990268499921e28a2
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/Disassembler/X86/apx/kmov.txt

  Log Message:
  -----------
  [X86][APX] Do not emit {evex} prefix for memory variant (#109759)

This was mistakely changed by #109579, which doesn't match with other
EVEX decoding.


  Commit: c5672e21ca2a16ff18cdaa83db11d2edb84c5e14
      https://github.com/llvm/llvm-project/commit/c5672e21ca2a16ff18cdaa83db11d2edb84c5e14
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll

  Log Message:
  -----------
  [AArch64][CostModel] Reduce the cost of fadd reduction with fast flag (#108791)

fadd reduction with
  1. Fast flag set
2. No of elements in input vector is power of 2 results in series of
faddp instructions. faddp instruction has latency/throughput identical
to fadd instruction and hence, we set relative cost=1 for faddp as well.

The change didn't show any regression with SPEC17-FP(C/C++),
llvm-test-suite on Neoverse-V2.


  Commit: 3659aa8079e00d7bd4f2d9c68c404a93ec297200
      https://github.com/llvm/llvm-project/commit/3659aa8079e00d7bd4f2d9c68c404a93ec297200
  Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    A llvm/test/CodeGen/AMDGPU/sgpr-spill-fi-skip-processing-stack-arg-dbg-value-list.mir
    A llvm/test/CodeGen/AMDGPU/vgpr-spill-fi-skip-processing-stack-arg-dbg-value-list.mir

  Log Message:
  -----------
  [AMDGPU] Fix handling of DBG_VALUE_LIST while fixing the dead frame indices. (#109685)

Both SGPR->VGPR and VGPR->AGPR spilling code give a fixup to the spill
frame indices referred in debug instructions so that they can be
entirely removed. The stack argument is present at 0th index in
DBG_VALUE and at 2nd index for DBG_VALUE_LIST.

Fixes: SWDEV-484156


  Commit: 30dbbdd2ea25e3ab5596e1fb0474696b242a760c
      https://github.com/llvm/llvm-project/commit/30dbbdd2ea25e3ab5596e1fb0474696b242a760c
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [Bazel] Fix for 127349fcba81646389e4b8202b35405a5fdbef47


  Commit: cc7b24a4d125e9a81480aaaa961a2b963bbb2ea2
      https://github.com/llvm/llvm-project/commit/cc7b24a4d125e9a81480aaaa961a2b963bbb2ea2
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [NFC] Fix typos in comments (#109765)


  Commit: bfd8f7ee4a85ae8873db14fa6e7e31223a1df169
      https://github.com/llvm/llvm-project/commit/bfd8f7ee4a85ae8873db14fa6e7e31223a1df169
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [X86] SimplifyDemandedVectorEltsForTargetNode - reduce vector width of FRSQRT/FRCP ymm nodes.

If we only demand the lower subvector of a FRSQRT/FRCP node, then reduce the width of the instruction.


  Commit: 396f6775143ffa80b9f0e72e7250613092d88124
      https://github.com/llvm/llvm-project/commit/396f6775143ffa80b9f0e72e7250613092d88124
  Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    R llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    R llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
    R llvm/test/MC/AMDGPU/gfx1150_asm_sopp.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_sopp.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [AMDGPU] Remove unused VGPRSingleUseHintInsts feature (#109769)


  Commit: fc661df41a206779a9323fb9dd49038c44084d5e
      https://github.com/llvm/llvm-project/commit/fc661df41a206779a9323fb9dd49038c44084d5e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [LLD][COFF][NFC] Use dyn_cast on section chunks (#109701)

Instead of dyn_cast_or_null, chunk pointers are never null.


  Commit: f664d313cd63893d7a4a496fdf0de988323b6b09
      https://github.com/llvm/llvm-project/commit/f664d313cd63893d7a4a496fdf0de988323b6b09
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll

  Log Message:
  -----------
  MemCpyOpt: replace an AA query with MSSA query (NFC) (#108535)

Fix a long-standing TODO.


  Commit: 040bb37195d93f75cc7ce6b83254ab5db959a085
      https://github.com/llvm/llvm-project/commit/040bb37195d93f75cc7ce6b83254ab5db959a085
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/float-induction.ll

  Log Message:
  -----------
  [VPlan] Fix incorrect argument for CreateBinOp after 06c3a7d2d764.

06c3a7d2d764 incorrectly updated CreateBinOp to pass the debug location,
which gets interpreted as FPMath node. Remove the argument.


  Commit: a3cf01d58587d81b184d40091a86d6b8bf92d240
      https://github.com/llvm/llvm-project/commit/a3cf01d58587d81b184d40091a86d6b8bf92d240
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/docs/index.rst
    A lldb/docs/resources/addinglanguagesupport.md

  Log Message:
  -----------
  [lldb][docs] Resurrect the information on adding a new language (#109427)

This got deleted in e078c9507c3abb4d9bb2265c366b26557880a3e3, I presume
accidentally, because it didn't have a corresponding rst file for it.

So I've brought it back and converted it into Markdown. The content
remains accurate, from what I know at least.

It's a bit "now draw the rest of the owl" but if nothing else, it gives
you a bunch of important classes to go and research as a starting point.

You can see the original content here:
https://github.com/llvm/llvm-project/blob/5d71fc5d7b5ffe2323418a09db6eddaf84d6c662/lldb/www/adding-language-support.html


  Commit: d4f38f43f5402041dd36977baa459830011d6ac6
      https://github.com/llvm/llvm-project/commit/d4f38f43f5402041dd36977baa459830011d6ac6
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/test/CodeGen/ARM/preferred-function-alignment.ll

  Log Message:
  -----------
  [LLVM][ARM][CodeGen]Define branch instruction alignment for m85 and m7 (#109647)

Branch instruction alignments were not defined for cortex-m85 and
cortex-m7 which misses an optimisation opportunity. With this patch we
see performance improvements as high as 5% on some benchmarks with most
around 1%.


  Commit: ea902d1b36e4e3a7d7bdd0f7bce3c460b6dd6e80
      https://github.com/llvm/llvm-project/commit/ea902d1b36e4e3a7d7bdd0f7bce3c460b6dd6e80
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/include/llvm/IR/Type.h
    M llvm/lib/IR/LLVMContext.cpp

  Log Message:
  -----------
  [IR] Remove deprecated opaque pointer migration methods

Remove the following methods:

 * Type::getNonOpaquePointerElementType()
 * Type::isOpaquePointerTy()
 * LLVMContext::supportsTypedPointers()
 * LLVMContext::setOpaquePointers()

These were used temporarily during the opaque pointers migration,
and are no longer needed.


  Commit: 3d34053af61ff45e05d230d2678eb8e95322eb14
      https://github.com/llvm/llvm-project/commit/3d34053af61ff45e05d230d2678eb8e95322eb14
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/test/Driver/relax.s
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
    M llvm/test/MC/ELF/relocation-alias.s
    M llvm/test/MC/X86/gotpcrelx.s
    M llvm/test/MC/X86/reloc-directive-elf-64.s

  Log Message:
  -----------
  [X86,MC] Add relocation R_X86_64_REX2_GOTPCRELX (#106681)

For

	mov        name at GOTPCREL(%rip), %reg
	test       %reg, name at GOTPCREL(%rip)
	binop      name at GOTPCREL(%rip), %reg

where binop is one of adc, add, and, cmp, or, sbb, sub, xor
instructions, add

 `R_X86_64_REX2_GOTPCRELX`/`R_X86_64_CODE_4_GOTPCRELX` = 43

if the instruction starts at 4 bytes before the relocation offset. It
similar to R_X86_64_GOTPCRELX.

Linker can treat `R_X86_64_REX2_GOTPCRELX`/`R_X86_64_CODE_4_GOTPCRELX`
as `R_X86_64_GOTPCREL` or convert the above instructions to

	lea	name(%rip), %reg
	mov	$name, %reg
	test	$name, %reg
	binop	$name, %reg

if the first byte of the instruction at the relocation `offset - 4` is
`0xd5` (namely, encoded w/ REX2 prefix) when possible.

Binutils patch:
https://github.com/bminor/binutils-gdb/commit/3d5a60de52556f6a53d71d7e607c6696450ae3e4
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2023-December/131462.html
ABI discussion: https://groups.google.com/g/x86-64-abi/c/KbzaNHRB6QU
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: 6cfe6a6b3e9578be80120add7fbe19506f747196
      https://github.com/llvm/llvm-project/commit/6cfe6a6b3e9578be80120add7fbe19506f747196
  Author: Georgi Mirazchiyski <georgi.mirazchiyski at codeplay.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] Assert no bad shift operations will happen (#108416)

The assumption in the asserts is based on the fact that no SGPR/VGPR
register Arg mask in the ISelLowering and Legalizer can equal zero. They
are implicitly set to ~0 by default (meaning non-masked) or explicitly
to a non-zero value.
The `optimizeCompareInstr` case is different from the above described.
It requires the mask to be a power-of-two because it's a special-case
optimization, hence in this case we still cannot have an invalid shift.
This commit also silences static analysis tools wrt potential bad shifts
that could result from the output of `countr_zero(Mask)`.


  Commit: 5dc15ddf575978e0115b1a6edacb59f056792a80
      https://github.com/llvm/llvm-project/commit/5dc15ddf575978e0115b1a6edacb59f056792a80
  Author: Georgi Mirazchiyski <georgi.mirazchiyski at codeplay.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h

  Log Message:
  -----------
  [AMDGPU] Default-initialize uninitialized class member variables (#108428)


  Commit: 4f8e76684f4c1e67726222c35f173ef722464a7e
      https://github.com/llvm/llvm-project/commit/4f8e76684f4c1e67726222c35f173ef722464a7e
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll

  Log Message:
  -----------
  [AsmPrinter] Do not emit label instructions after the function body if the target is SPIR-V (#107013)

AsmPrinter always creates a symbol for the end of function if valid
debug info is present. However, this breaks SPIR-V target's output,
because SPIR-V specification allows label instructions only inside a
block, not after the function body (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpLabel).
This PR proposes to disable emission of label instructions after the
function body if the target is SPIR-V.

This PR is a fix of the
https://github.com/llvm/llvm-project/issues/102732 issue.


  Commit: 497759e872a53964a54db941f3a1ed74446c5ed4
      https://github.com/llvm/llvm-project/commit/497759e872a53964a54db941f3a1ed74446c5ed4
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    A lldb/test/API/functionalities/gdb_remote_client/TestAArch64XMLRegistersSVEOnly.py

  Log Message:
  -----------
  [lldb][AArch64] Create Neon subregs when XML only includes SVE (#108365)

Fixes #107864

QEMU decided that when SVE is enabled it will only tell us about SVE
registers in the XML, and not include Neon registers. On the grounds
that the Neon V registers can be read from the bottom 128 bits of a SVE
Z register (SVE's vector length is always >= 128 bits).

To support this we create sub-registers just as we do for S and D
registers of the V registers. Except this time we use part of the Z
registers.

This change also updates our fallback for registers with unknown types
that are > 128 bit. This is detailed in
https://github.com/llvm/llvm-project/issues/87471, though that covers
more than this change fixes.

We'll now treat any register of unknown type that is >= 128 bit as a
vector of bytes. So that the user gets to see something
even if the order might be wrong.

And until lldb supports vector and union types for registers, this is
also the only way we can get a value to apply the sub-reg to, to make
the V registers.


  Commit: c30fa3cde755e7519f0962f581868a09da1ea130
      https://github.com/llvm/llvm-project/commit/c30fa3cde755e7519f0962f581868a09da1ea130
  Author: Georgi Mirazchiyski <georgi.mirazchiyski at codeplay.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix has_single_bit assertion for Mask in SIInstrInfo (#109785)

Convert the `int64_t` Mask to `uint64_t` for `llvm::has_single_bit` to
compile.


  Commit: 029b9b611d8becf04f4c525ab2b70e956b4b186d
      https://github.com/llvm/llvm-project/commit/029b9b611d8becf04f4c525ab2b70e956b4b186d
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [llvm][docs] Improve formatting of ENABLE_PROJECTS/RUNTIMES description

* Add line breaks so it's clear what should be passed to CMake.
* Make the note into an RST note block.
* Fix a couple of markdown style plain text markers.


  Commit: c1826aeef353bf4bd8b181b47a0dbb1f1af93836
      https://github.com/llvm/llvm-project/commit/c1826aeef353bf4bd8b181b47a0dbb1f1af93836
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir][tensor] Add new helper hooks for RelayoutOp (#109642)

Implements two helper hooks for PackOp and UnPackOP, `getAllOuterDims`
and `getTiledOuterDims`, and adds them to RelayoutOp (that both PackOp
an UnPackOp inherit from).

This improves code re-use and also clarifies the meaning of "outer dims"
and "tiled outer dims".


  Commit: 3e3780ef6ab5902cd1763e28bb143e47091bd23a
      https://github.com/llvm/llvm-project/commit/3e3780ef6ab5902cd1763e28bb143e47091bd23a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-bf16-converts.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Implement nxvf32 fpround to nxvbf16. (#107420)


  Commit: 8ba334bc4ad1e20c8201b85ed0a3e3b87bc47fe1
      https://github.com/llvm/llvm-project/commit/8ba334bc4ad1e20c8201b85ed0a3e3b87bc47fe1
  Author: Dominik Montada <dominik.montada at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-impuse2.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-rm-reg.mir
    A llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties-conflict.mir
    A llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties.mir
    M llvm/test/CodeGen/X86/sjlj-shadow-stack-liveness.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-func-info.mir

  Log Message:
  -----------
  [MIR] Allow overriding isSSA, noPhis, noVRegs in MIR input (#108546)

Allow setting the computed properties IsSSA, NoPHIs, NoVRegs for MIR
functions in MIR input. The default value is still the computed value.
If the property is set to false, the computed result is ignored. Conflicting
values (e.g. setting IsSSA where the input MIR is clearly not SSA) lead to
an error.

Closes #37787


  Commit: db054a197002c4d6b2c568d7c36d86f5fccade2d
      https://github.com/llvm/llvm-project/commit/db054a197002c4d6b2c568d7c36d86f5fccade2d
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll

  Log Message:
  -----------
  [AArch64][SME] Fix ADDVL addressing to scavenged stackslot. (#109674)

In https://reviews.llvm.org/D159196 we avoided stackslot scavenging
when there was no FP available. But in the case where FP is available
we need to actually prefer using the FP over the BP.

This change affects more than just SME, but it should be a general
improvement, since any slot above the (address pointed to by) FP
is always closer to FP than BP, so it makes sense to always favour
using the FP to address it when the FP is available.

This also fixes the issue for SME where this is not just preferred
but required.


  Commit: 3073c3c2290a6d9b12fbaefa40dd22eef6312895
      https://github.com/llvm/llvm-project/commit/3073c3c2290a6d9b12fbaefa40dd22eef6312895
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/AArch64/sincos-stack-slots.ll

  Log Message:
  -----------
  [SDAG] Avoid creating redundant stack slots when lowering FSINCOS (#108401)

When lowering `FSINCOS` to a library call (that takes output pointers)
we can avoid creating new stack allocations if the results of the
`FSINCOS` are being stored. Instead, we can take the destination
pointers from the stores and pass those to the library call.

---

Note: As a NFC this also adds (and uses) `RTLIB::getFSINCOS()`.


  Commit: 3ec5e74c0dc99095f5961a31421c7adaf2860ec8
      https://github.com/llvm/llvm-project/commit/3ec5e74c0dc99095f5961a31421c7adaf2860ec8
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] Fix layering for 127349fcba81646389e4b8202b35405a5fdbef47


  Commit: 66c8dce82e60ebd22bbe6ce7c1550ae6de057625
      https://github.com/llvm/llvm-project/commit/66c8dce82e60ebd22bbe6ce7c1550ae6de057625
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/listflatten-error.td
    A llvm/test/TableGen/listflatten.td

  Log Message:
  -----------
  [TableGen] Add a !listflatten operator to TableGen (#109346)

Add a !listflatten operator that will transform an input list of type
`list<list<X>>` to `list<X>` by concatenating elements of the
constituent lists of the input argument.


  Commit: 12033e550b186f3b3e4d2ca3ce9cfc3d3a3fa6e1
      https://github.com/llvm/llvm-project/commit/12033e550b186f3b3e4d2ca3ce9cfc3d3a3fa6e1
  Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/SPARC/salvage-debug-isel.ll
    M llvm/test/CodeGen/X86/pr57673.ll

  Log Message:
  -----------
  [ISelDAG] Salvage debug info at isel by referring to frame indices. (#109126)

We can refer to frame index locations when salvaging debug info
for certain nodes, which prevents the compiler from optimizing
out the location.


  Commit: b47d1787b51f55d69ef1b4f88e72cd54af451649
      https://github.com/llvm/llvm-project/commit/b47d1787b51f55d69ef1b4f88e72cd54af451649
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir

  Log Message:
  -----------
  [mlir][vector] Refine vectorisation of tensor.extract (#109580)

This PR fixes a bug in `isLoopInvariantIdx`. It makes sure that the
following case is vectorised as `vector.gather` (as opposed to
attempting a contiguous load):
```mlir
  func.func @index_from_output_column_vector_gather_load(%src: tensor<8x128xf32>) -> tensor<8x1xf32> {
    %c0 = arith.constant 0 : index
    %0 = tensor.empty() : tensor<8x1xf32>
    %res = linalg.generic {
      indexing_maps = [#map],
      iterator_types = ["parallel", "parallel"]
    } outs(%0 : tensor<8x1xf32>) {
    ^bb0(%arg1: f32):
        %1 = linalg.index 0 : index
      %extracted = tensor.extract %src[%1, %c0] : tensor<8x128xf32>
        linalg.yield %extracted : f32
    } -> tensor<8x1xf32>
    return %res : tensor<8x1xf32>
  }
```

Specifically, when looking for loop-invariant indices in
`tensor.extract` Ops, any `linalg.index` Op that's used in address
colcluation should only access loop dims that are == 1. In the example
above, the following does not meet that criteria:
```mlir
  %1 = linalg.index 0 : index
```

Note that this PR also effectively addresses the issue fixed in #107922,
i.e. exercised by:
  * `@vectorize_nd_tensor_extract_load_1d_column_vector_using_gather_load`

`getNonUnitLoopDim` introduced in #107922 is still valid though. In
fact, it is required to identify that the following case is a contiguous
load:
```mlir
  func.func @index_from_output_column_vector_contiguous_load(%src: tensor<8x128xf32>) -> tensor<8x1xf32> {
    %c0 = arith.constant 0 : index
    %0 = tensor.empty() : tensor<8x1xf32>
    %res = linalg.generic {
      indexing_maps = [#map],
      iterator_types = ["parallel", "parallel"]
    } outs(%0 : tensor<8x1xf32>) {
    ^bb0(%arg1: f32):
        %1 = linalg.index 0 : index
      %extracted = tensor.extract %src[%c0, %1] : tensor<8x128xf32>
        linalg.yield %extracted : f32
    } -> tensor<8x1xf32>
    return %res : tensor<8x1xf32>
  }
```
Some logic is still missing to lower the above to
`vector.transfer_read`, so it is conservatively lowered to
`vector.gather` instead (see TODO in
`getTensorExtractMemoryAccessPattern`).

There's a few additional changes:
  * `getNonUnitLoopDim` is simplified and renamed as
    `getTrailingNonUnitLoopDimIdx`, additional comments are added (note
    that the functionality didn't change);
  * extra comments in a few places, variable names in comments update to
    use Markdown (which is the preferred approach in MLIR).

This is a follow-on for:
  * https://github.com/llvm/llvm-project/pull/107922
  * https://github.com/llvm/llvm-project/pull/102321


  Commit: 106e4506ce6084e10353073d8880e2f736b74981
      https://github.com/llvm/llvm-project/commit/106e4506ce6084e10353073d8880e2f736b74981
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [OpenMP][Docs] Update OpenMP release notes with 'omp scope' (#109752)

Release notes: added 'omp scope' directive to "OpenMP Support" section
of "What's New in Clang"


  Commit: ebbf664aa31ac51c43a345a8a3d0734c54be7c4b
      https://github.com/llvm/llvm-project/commit/ebbf664aa31ac51c43a345a8a3d0734c54be7c4b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll

  Log Message:
  -----------
  [AMDGPU] Use shared prefix in GFX12 barrier test


  Commit: 57bee1e4322d34f9760563081f9c10b6850bc2bf
      https://github.com/llvm/llvm-project/commit/57bee1e4322d34f9760563081f9c10b6850bc2bf
  Author: Xing Guo <higuoxing+github at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/ELF_R_X86_64_PC.s
    R llvm/test/ExecutionEngine/JITLink/x86-64/ELF_R_X86_64_PC8.s

  Log Message:
  -----------
  [JITLink] Add support for R_X86_64_PC16 relocation type. (#109630)

This patch adds support for R_X86_64_PC16 relocation type and
x86_64::Delta16 edge kind. This patch also adds missing test cases for
R_X86_64_PC32, R_X86_64_PC64 relocation types.


  Commit: 02a334de6690202154ef09456c581618ff290f9a
      https://github.com/llvm/llvm-project/commit/02a334de6690202154ef09456c581618ff290f9a
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [SPIR-V] Fix bad insertion for type/id MIR (#109686)

Those instructions were inserted either after the instruction using it,
or in the middle of the module.
The first directly causes an issue. The second causes a more subtle
issue: the first type the type is inserted, the emission is fine, but
the second times, the first instruction is reused, without checking its
position in the function. This can lead to the second usage dominating
the definition.

In SPIR-V, types are usually in the header, above all code definition,
but at this stage I don't think we can, so what I do instead is to emit
it in the first basic block.

This commit reduces the failed tests with expensive checks from 107 to
71.

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: fe7bc872aad83fc0d5cf998230df752e73bb696d
      https://github.com/llvm/llvm-project/commit/fe7bc872aad83fc0d5cf998230df752e73bb696d
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/DebugInfo/Generic/debug-ranges-duplication.ll

  Log Message:
  -----------
  [DebugInfo][z/OS] XFAIL debug-ranges-duplication.ll on z/OS (#109681)

Same fix was provided for AIX in commit
704da919bafa5b088223f9d77424f24ae754539e.
The issue is unsupported DWARF 5 section with the following assertion:

`Assertion failed: Section && "Cannot switch to a null section!", file:
llvm/lib/MC/MCStreamer.cpp, line: 1266 `


  Commit: 0de1e3e787c6d78b87ccb865ba2f2daf8d8e4ecc
      https://github.com/llvm/llvm-project/commit/0de1e3e787c6d78b87ccb865ba2f2daf8d8e4ecc
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp

  Log Message:
  -----------
  [;SystemZ][z/OS] Fix llvm-ctxprof to open input files in text mode (#109691)

Reading text files on z/OS relies on auto conversion to handle
ASCII/EBCDIC correctly. For this to work files need to be opened in text
mode is that is the type of the file. This PR fixes `llvm-ctxprof`
utility in this regards which in turn fixes the following LIT failure on
z/OS:

`FAIL: LLVM :: Analysis/CtxProfAnalysis/flatten-zero-path.ll`


  Commit: 622ae7ffa432ca5985cf1655cf499e04b289bbf2
      https://github.com/llvm/llvm-project/commit/622ae7ffa432ca5985cf1655cf499e04b289bbf2
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-insr.ll

  Log Message:
  -----------
  [LLVM][InstCombine][AArch64] sve.insr(splat(x), x) ==> splat(x) (#109445)

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


  Commit: 216e1b90c4a988880b772b8d152769f7d0cac0c6
      https://github.com/llvm/llvm-project/commit/216e1b90c4a988880b772b8d152769f7d0cac0c6
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [rtsan] Remove std::variant from rtsan diagnostics (#109786)

Following issue #109529 and PR
#109715, this PR removes the
`std::variant` in rtsan's diagnostics code, in favour of a solution by
`enum` without the C++ runtime.


  Commit: b1e4656e8ee3289dc5f3139fc8eb33152f96bfe6
      https://github.com/llvm/llvm-project/commit/b1e4656e8ee3289dc5f3139fc8eb33152f96bfe6
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp

  Log Message:
  -----------
  [NFC][analyzer] Make `invalidateRegions` accept `Stmt` instead of `Expr` (#109792)

As was reported
[here](https://github.com/llvm/llvm-project/pull/103714#pullrequestreview-2238037812),
`invalidateRegions` should accept `Stmt` instead of `Expr`. This
conversion is possible, since `Expr` was anyway converted back to `Stmt`
later.

This refactoring is needed to fix another FP related to use of inline
assembly. The fix would be to change `State->bindLoc` to
`state->invalidateRegions` inside inline assembly visitor, since
`bindLoc` only binds to offset 0, which is not really correct semantics
in case of inline assembly.


  Commit: 3fbf6f8bb183ad8b9157e50c442479f4ca7a9b8d
      https://github.com/llvm/llvm-project/commit/3fbf6f8bb183ad8b9157e50c442479f4ca7a9b8d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-24 (Tue, 24 Sep 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/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [LV] Remove more references of unrolled parts after 57f5d8f2fe.

Continue to clean up some now stale references of unroll parts and
related terminology as pointed out post-commit for 06c3a7d.


  Commit: 8b5e841487976ecc4233227fdd069f5a5f4443f0
      https://github.com/llvm/llvm-project/commit/8b5e841487976ecc4233227fdd069f5a5f4443f0
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Updates XeGPU TensorDescAttr and Refine Gather/Scatter definition (#109675)

Bring back #109144 with fixes to VectorToXeGPU


  Commit: 36757613b73908f055674a8df0b51cc00aa04373
      https://github.com/llvm/llvm-project/commit/36757613b73908f055674a8df0b51cc00aa04373
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    R llvm/test/CodeGen/NVPTX/intrin-nocapture.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  [NVVM] Upgrade nvvm.ptr.* intrinics to addrspace cast (#109710)

Remove the following intrinsics which can be trivially replaced with an
`addrspacecast`

  * llvm.nvvm.ptr.gen.to.global
  * llvm.nvvm.ptr.gen.to.shared
  * llvm.nvvm.ptr.gen.to.constant
  * llvm.nvvm.ptr.gen.to.local
  * llvm.nvvm.ptr.global.to.gen
  * llvm.nvvm.ptr.shared.to.gen
  * llvm.nvvm.ptr.constant.to.gen
  * llvm.nvvm.ptr.local.to.gen

Also, cleanup the NVPTX lowering of `addrspacecast` making it more
concise.


  Commit: bcbdf7ad6b571d11c102d018c78ee0fbf71e3e2c
      https://github.com/llvm/llvm-project/commit/bcbdf7ad6b571d11c102d018c78ee0fbf71e3e2c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/select-profitability.ll

  Log Message:
  -----------
  [RISCV][TTI/SLP] Add test coverage for select of constants costing

Provides coverage for an upcoming change which accounts for the cost
of materializing the vector constants in the vector select.


  Commit: 31ac400e451b5dcbf11a3ece94d58dc3edf24e14
      https://github.com/llvm/llvm-project/commit/31ac400e451b5dcbf11a3ece94d58dc3edf24e14
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [LV] Remove another reference of unrolled parts after 57f5d8f2fe.

Continue to clean up some now stale references of unroll parts and
related terminology as pointed out post-commit for 06c3a7d.


  Commit: fa17977c315062646d4d1e01262d68dd69313e61
      https://github.com/llvm/llvm-project/commit/fa17977c315062646d4d1e01262d68dd69313e61
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [libc][bazel] Remove specializations from libc_math_function. (#109802)

There are no more specializations `libc/src/math/x86_64` or
`libc/src/math/aarch64` anymore. All implementations are going through
the generic implementation.


  Commit: 99ade15d192db4afa897a7052a9c73dd42c2b88c
      https://github.com/llvm/llvm-project/commit/99ade15d192db4afa897a7052a9c73dd42c2b88c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] prctl interception update, SECCOMP_MODE_FILTER support. (#107722)"

This reverts commit b75174d05aa033a382d4c088e96e068a774f46da.
Does not build on Android, see comments on
https://github.com/llvm/llvm-project/pull/107722


  Commit: fda01437af339c87ecd226596dd1b5f6d2c6cbfa
      https://github.com/llvm/llvm-project/commit/fda01437af339c87ecd226596dd1b5f6d2c6cbfa
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] Use SmallSetVector (NFC) (#109746)

We can combine:

  SmallVector<ValueDecl *, 8> BlockByCopyDecls;
  llvm::SmallPtrSet<ValueDecl *, 8> BlockByCopyDeclsPtrSet;

into:

  llvm::SmallSetVector<ValueDecl *, 8> BlockByCopyDecls;

Likewise, we can combine:

  SmallVector<ValueDecl *, 8> BlockByRefDecls;
  llvm::SmallPtrSet<ValueDecl *, 8> BlockByRefDeclsPtrSet;

into:

  llvm::SmallSetVector<ValueDecl *, 8> BlockByRefDecls;


  Commit: 36dce5091e384087f5d1ceaf3777ac14f41087e4
      https://github.com/llvm/llvm-project/commit/36dce5091e384087f5d1ceaf3777ac14f41087e4
  Author: spupyrev <spupyrev at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [CodeLayout][NFC] Format and minor refactoring of MBP (#109729)

This PR has two (NFC) commits:
- clang-format MBP
- move a part of tail duplication and block aligning into helper
functions for better readability.


  Commit: f12d72d9c95ea2cd82d3e2a70c8cd5d5e88e2060
      https://github.com/llvm/llvm-project/commit/f12d72d9c95ea2cd82d3e2a70c8cd5d5e88e2060
  Author: David Green <david.green at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/PtrUseVisitor.h

  Log Message:
  -----------
  [PtrInfo] Use plain pointer over 'PointerIntPair<Instruction *, 1, bool>'. NFC (#109772)

This PtrInfo holds a pointer and whether it has been set. We can
represent this sentinal value as a nullptr, as we would for most
pointers. This assumes that the value is never set to nullptr, but from
the uses that appears to be true and already assumed.


  Commit: d075debc508898d5f365f8e909c54d6f4edada85
      https://github.com/llvm/llvm-project/commit/d075debc508898d5f365f8e909c54d6f4edada85
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll

  Log Message:
  -----------
  [AMDGPU] Fix chain handling when lowering barrier intrinsics (#109799)

Previously we would fail an assertion in RemoveNodeFromCSEMaps after
lowering:
t3: ch = llvm.amdgcn.s.barrier.join t0, TargetConstant:i64<2973>,
Constant:i32<0>
to:
  t6: ch = S_BARRIER_JOIN_IMM TargetConstant:i32<0>


  Commit: d4a38c8ff5c993e14c42895b51a47272fb03a857
      https://github.com/llvm/llvm-project/commit/d4a38c8ff5c993e14c42895b51a47272fb03a857
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll

  Log Message:
  -----------
  [DFAJumpThreading] Handle select unfolding when user phi is not a dir… (#109511)

…ect successor

Previously the code assumed that the select instruction is defined in a
block that is a direct predecessor of the block where the PHINode uses
it. So, we were hitting an assertion when we tried to access the def
block as an incoming block for the user phi node.

This patch handles that case by using the correct end block and creating
a new phi node that aggregates both the values of the select in that end
block, and then using that new unfolded phi to overwrite the original
user phi node.

Fixes #106083

Change-Id: Ie471994cca232318f74a6e6438efa21e561c2dc0


  Commit: 679c9717dfc9687a3bca78b45d9fd104b67e16f9
      https://github.com/llvm/llvm-project/commit/679c9717dfc9687a3bca78b45d9fd104b67e16f9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix vector shifts on big-endian systems (#109800)

For shifts, the LHS and RHS element types might be different. The
variable naming here could probably use some love now, but I'm trying to
fix this as fast as possible.

See the discussion in https://github.com/llvm/llvm-project/pull/108949


  Commit: 206408732bca2ef464732a39c8319d47c8a1dbea
      https://github.com/llvm/llvm-project/commit/206408732bca2ef464732a39c8319d47c8a1dbea
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h

  Log Message:
  -----------
  [lldb][NFC] Add a missing setter method for UnwindPlans (#109751)

The UnwindPlan class has getter and setter methods for specifying an
abstract register location, but it doesn't have a setter for a DWARF
Expression register location. This hasn't been needed for any of the
UnwindPlans that we do in mainline lldb yet, but it is used in the Swift
language SwiftLanguageRuntime plugin which creates UnwindPlan for async
functions. While it's currently unused on main branch, this is a
straightforward setter in the same form as the others, the only caveat
being that it doesn't own the dwarf expression bytes, it has a pointer
to them.


  Commit: 7773243d9916f98ba0ffce0c3a960e4aa9f03e81
      https://github.com/llvm/llvm-project/commit/7773243d9916f98ba0ffce0c3a960e4aa9f03e81
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    R llvm/test/Transforms/SLPVectorizer/X86/peek-through-shuffle.ll
    R llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
    R llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    R llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
    R llvm/test/Transforms/SLPVectorizer/X86/pr31599-inseltpoison.ll
    R llvm/test/Transforms/SLPVectorizer/X86/pr31599.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction-gather-non-scheduled-extracts.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction-modified-values.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reordered-top-scalars.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reordering-single-phi.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reused-buildvector-matching-vectorized-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
    R llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
    R llvm/test/Transforms/SLPVectorizer/X86/scalarazied-result.ll
    R llvm/test/Transforms/SLPVectorizer/X86/scalarization-overhead.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shufflebuilder-bug.ll
    R llvm/test/Transforms/SLPVectorizer/X86/stores-non-ordered.ll
    R llvm/test/Transforms/SLPVectorizer/X86/unknown-entries.ll
    R llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
    A llvm/test/Transforms/SLPVectorizer/peek-through-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/phi-node-bitwidt-op-not.ll
    A llvm/test/Transforms/SLPVectorizer/phi-undef-input.ll
    A llvm/test/Transforms/SLPVectorizer/postponed_gathers.ll
    A llvm/test/Transforms/SLPVectorizer/pr31599-inseltpoison.ll
    A llvm/test/Transforms/SLPVectorizer/pr31599.ll
    A llvm/test/Transforms/SLPVectorizer/reduction-gather-non-scheduled-extracts.ll
    A llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    A llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
    A llvm/test/Transforms/SLPVectorizer/reordered-top-scalars.ll
    A llvm/test/Transforms/SLPVectorizer/reordering-single-phi.ll
    A llvm/test/Transforms/SLPVectorizer/reused-buildvector-matching-vectorized-node.ll
    A llvm/test/Transforms/SLPVectorizer/root-trunc-extract-reuse.ll
    A llvm/test/Transforms/SLPVectorizer/same-scalar-in-same-phi-extract.ll
    A llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll
    A llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
    A llvm/test/Transforms/SLPVectorizer/shrink_after_reorder2.ll
    A llvm/test/Transforms/SLPVectorizer/shuffle-multivector.ll
    A llvm/test/Transforms/SLPVectorizer/shufflebuilder-bug.ll
    A llvm/test/Transforms/SLPVectorizer/stores-non-ordered.ll
    A llvm/test/Transforms/SLPVectorizer/unknown-entries.ll
    A llvm/test/Transforms/SLPVectorizer/zext-incoming-for-neg-icmp.ll

  Log Message:
  -----------
  [SLP] Move more X86 tests to common directory (#109821)

Some of the tests from the X86 directory can be generalized to improve
coverage for other architectures


  Commit: fe6a3d46aa658fdd1e9a6cbb2031a597a3e59536
      https://github.com/llvm/llvm-project/commit/fe6a3d46aa658fdd1e9a6cbb2031a597a3e59536
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/stdio/gpu/CMakeLists.txt
    A libc/src/stdio/gpu/rename.cpp
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Implement the 'rename' function on the GPU (#109814)

Summary:
Straightforward implementation like the other `stdio.h` functions.


  Commit: 8e68a512ef568324da60c8b2705e9b087d06ebcf
      https://github.com/llvm/llvm-project/commit/8e68a512ef568324da60c8b2705e9b087d06ebcf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [X86] Add test coverage for #109790


  Commit: 01be0252c834bc7be222057049d697f488493543
      https://github.com/llvm/llvm-project/commit/01be0252c834bc7be222057049d697f488493543
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [X86] combinePMULH - simplify pattern matching with SDPatternMatch. NFC.


  Commit: 9e60a6ad4242274c39242079d5351fcb9d6d99e6
      https://github.com/llvm/llvm-project/commit/9e60a6ad4242274c39242079d5351fcb9d6d99e6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [X86] combinePMULH - pull out repeated IsTruncateFree helper. NFC.


  Commit: 406a2128f57b1e86748cd6de6d3eab6b1e2db2ad
      https://github.com/llvm/llvm-project/commit/406a2128f57b1e86748cd6de6d3eab6b1e2db2ad
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [X86] combinePMULH - we can treat constant vectors as freely truncatable.

Fixes #109790


  Commit: e64673d3174af941eb3c9f1ad822792154aa1d31
      https://github.com/llvm/llvm-project/commit/e64673d3174af941eb3c9f1ad822792154aa1d31
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Treat insert_subvector into undef with index==0 as legal. (#109745)

Regardless of fixed and scalable type. We can always use subreg ops.

We don't need to do any container conversion.


  Commit: c6bf59f26b2d74474a66182db6ebd576273bfb00
      https://github.com/llvm/llvm-project/commit/c6bf59f26b2d74474a66182db6ebd576273bfb00
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll

  Log Message:
  -----------
  [X86] Add test coverage for #109272


  Commit: 04b443e77845cd20ab5acc4356cee509316135dd
      https://github.com/llvm/llvm-project/commit/04b443e77845cd20ab5acc4356cee509316135dd
  Author: jimingham <jingham at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/docs/use/python-reference.rst
    M lldb/examples/python/cmdtemplate.py
    M lldb/examples/python/templates/parsed_cmd.py
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Utility/CompletionRequest.h
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Interpreter/Options.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/test/API/commands/command/script/add/TestAddParsedCommand.py
    M lldb/test/API/commands/command/script/add/test_commands.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  Add the ability to define custom completers to the parsed_cmd template. (#109062)

If your arguments or option values are of a type that naturally uses one
of our common completion mechanisms, you will get completion for free.
But if you have your own custom values or if you want to do fancy things
like have `break set -s foo.dylib -n ba<TAB>` only complete on symbols
in foo.dylib, you can use this new mechanism to achieve that.


  Commit: 090755234e5033de67be994e99e31f4d13dcdcc5
      https://github.com/llvm/llvm-project/commit/090755234e5033de67be994e99e31f4d13dcdcc5
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [rtsan] Refactor initialization state to prevent hangs (#109830)

Move to tri state (Uninitialized, Initialized, Initializing) for our
init state. We currently just have 2 (Uninitialized and Initialized).


  Commit: f4042077e2e3946ee35c1df8cab8237de6086480
      https://github.com/llvm/llvm-project/commit/f4042077e2e3946ee35c1df8cab8237de6086480
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement a few Instruction member functions (#109820)

This patch implements a few sandboxir::Instruction predicate functions.


  Commit: 234193bae6cf8b19703c6e543b100517bb99a9f7
      https://github.com/llvm/llvm-project/commit/234193bae6cf8b19703c6e543b100517bb99a9f7
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-convolution.mlir

  Log Message:
  -----------
  [mlir][linalg] Vectorization support for convolution of i1 type (#109480)

Normally convolutions present with the following linalg op region
```
^bb0(%arg14: i4, %arg15: i4, %arg16: i4):
  %17 = arith.muli %arg14, %arg15 : i4
  %18 = arith.addi %arg16, %17 : i4
  linalg.yield %18 : i4
  ```
  However, for i1 due to strength reduction we get something like
  ```
  ^bb0(%arg14: i1, %arg15: i1, %arg16: i1):
  %17 = arith.andi %arg14, %arg15 : i1
  %18 = arith.ori %arg16, %17 : i1
  linalg.yield %18 : i1
  ```
  This PR updates the logic to support this region for i1 types.


  Commit: 26029d77a57cb4aaa1479064109e985a90d0edd8
      https://github.com/llvm/llvm-project/commit/26029d77a57cb4aaa1479064109e985a90d0edd8
  Author: Tex Riddell <texr at microsoft.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/atan2.ll
    A llvm/test/CodeGen/DirectX/atan2_error.ll

  Log Message:
  -----------
  [DirectX] Add atan2 intrinsic and expand for DXIL backend (p1) (#108865)

This change is part of this proposal:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This preliminary work adds the intrinsic to llvm and expands using atan
intrinsic for DXIL backend, since DXIL has no atan2 op.

Part 1 for Implement the atan2 HLSL Function #70096.


  Commit: 12285cca5ed713dfd483bd96422a5607b8af0085
      https://github.com/llvm/llvm-project/commit/12285cca5ed713dfd483bd96422a5607b8af0085
  Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
    A llvm/test/tools/dsymutil/X86/dwarf5-many-include-directories.test

  Log Message:
  -----------
  [DWARF] Use ULEB128 and not just one byte for directory indices (#109067)

According to the standard `DW_LNCT_directory_index` can be `data1`,
`data2`, or `udata` (see 6.2.4.1). The code was using `data1`, but this
limits the number of directories to 256, even if the variable holding
the directory index is a `uint64_t`. `dsymutil` was hitting an assertion
when trying to write directory indices higher than 255.

Modify the classic and the parallel DWARF linkers to use `udata` and
encode the directory indices as ULEB128 and provide a test that has more
than 256 directories to check the changes are working as expected.

For people that were using `dsymutil` with CUs that had between 128-256
directories, this will mean that for those indices 2 bytes will be used
now, instead of just one.


  Commit: 6dfeea3f865cff0c1e3ca19aa0e77f379809b2a9
      https://github.com/llvm/llvm-project/commit/6dfeea3f865cff0c1e3ca19aa0e77f379809b2a9
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    R llvm/test/CodeGen/DirectX/atan2.ll
    R llvm/test/CodeGen/DirectX/atan2_error.ll

  Log Message:
  -----------
  Revert "[DirectX] Add atan2 intrinsic and expand for DXIL backend (p1)" (#109842)

Reverts llvm/llvm-project#108865

Broke the Docs build


  Commit: 312f73765b29db468cd282130d1b519ed3eeae96
      https://github.com/llvm/llvm-project/commit/312f73765b29db468cd282130d1b519ed3eeae96
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lld/test/wasm/unsupported-pic-relocations.s
    M lld/test/wasm/unsupported-pic-relocations64.s
    M lld/wasm/Relocations.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Don't report relocation error when linking with -r/--relocatable (#109822)

Followup to #104926.

We ran into issues on the emscripten waterfall where relocation against
`__dso_handle` were being reported as errors even though
`-r/--relocatable` was being used to generate object file output rather
than executable output.


  Commit: a977b9460f8f007a7dedd9197adc7d76bb95b0b6
      https://github.com/llvm/llvm-project/commit/a977b9460f8f007a7dedd9197adc7d76bb95b0b6
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  Reapply [compiler-rt] prctl interception update, SECCOMP_MODE_FILTER … (#109834)

…support. #107722


  Commit: 6d3d5f30bd58af6d16d0b4b7d32dc3ead1e098ec
      https://github.com/llvm/llvm-project/commit/6d3d5f30bd58af6d16d0b4b7d32dc3ead1e098ec
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/revec-fix-109835.ll

  Log Message:
  -----------
  [SLP][REVEC] getWidenedType should be used instead of FixedVectorType::get. (#109843)

reference: https://github.com/llvm/llvm-project/issues/109835


  Commit: 71ca9fcb8dc9ea0e1e3a4a47820edc78c398a85e
      https://github.com/llvm/llvm-project/commit/71ca9fcb8dc9ea0e1e3a4a47820edc78c398a85e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/unittests/MI/LiveIntervalTest.cpp

  Log Message:
  -----------
  llvm-reduce: Don't print verifier failed machine functions (#109673)

This produces far too much terminal output, particularly for the
instruction reduction. Since it doesn't consider the liveness of of
the instructions it's deleting, it produces quite a lot of verifier
errors.


  Commit: a6bdf3face377ee7ea84a02bada8a7e2ff380fe8
      https://github.com/llvm/llvm-project/commit/a6bdf3face377ee7ea84a02bada8a7e2ff380fe8
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/lit.cfg.py

  Log Message:
  -----------
  [asan][windows][tests] support MSVC compiler-id in asan tests (#109706)

This follows up on https://github.com/llvm/llvm-project/pull/108255 to
allow actually running the test suite with MSVC. Note, however, that
MSVC can't yet build compiler-rt, most tests don't yet pass with msvc,
and building and testing with different compilers is ill-supported.
Follow ups will fix the first two issues, the third is future work.

Note that `/Zi` is removed from the clang-cl command line, but lit as a
whole adds `-gcodeview`, so there should still be debug info.


  Commit: c95583f15f77a2f4fed4b520b2bcf7b442cbc4b3
      https://github.com/llvm/llvm-project/commit/c95583f15f77a2f4fed4b520b2bcf7b442cbc4b3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Add createPtrAdd helper (NFC).

Preparation for https://github.com/llvm/llvm-project/pull/106431.


  Commit: 9830156f623c56062bf6df1b4c4b4bd8ab5bd57c
      https://github.com/llvm/llvm-project/commit/9830156f623c56062bf6df1b4c4b4bd8ab5bd57c
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] add true16 and fake16 test file for vop3 instructions (#109695)

duplicating mc test, and updating proper flag for true16 and fake16 test
file for vop3 instructions. This is preparing for the up-coming VOP3
true16 changes


  Commit: ec31f76df11d624699a7b2d4d9da052b4cc47452
      https://github.com/llvm/llvm-project/commit/ec31f76df11d624699a7b2d4d9da052b4cc47452
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Support/OptionStrCmp.h
    M llvm/test/TableGen/listflatten-error.td
    M llvm/test/TableGen/listflatten.td

  Log Message:
  -----------
  [NFC] Fix line endings for OptionStrCmp.h and .td test files (#109806)

Fix line endings for these files to Unix style.


  Commit: 38371a1855dd891fdd0a6cf437e7c25b80f36dfe
      https://github.com/llvm/llvm-project/commit/38371a1855dd891fdd0a6cf437e7c25b80f36dfe
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [rtsan][NFC] Make Uninitialzed state explicit (#109856)

Follow on to #109830 

There should be no functional change, as enums start at 0 anyway. This
just makes the code more readable and prevents any future bugs.


  Commit: 491123562a7597f8b43e317a6481c69e4d15c4e7
      https://github.com/llvm/llvm-project/commit/491123562a7597f8b43e317a6481c69e4d15c4e7
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
    M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll

  Log Message:
  -----------
  [ctx_prof] Automatically convert available external linkage to local for modules with contextual roots (#109203)

For the modules containing context roots, the way IPO happens will potentially result in imported functions that are differently specialized (even if themselves not inlined) than their originals. So we want to convert them to local rather than elide them.

Eventually we'd perform this as a ThinLTO directive.


  Commit: cf9fc5e22fa51e5b3a8182e7ef408cd77064a664
      https://github.com/llvm/llvm-project/commit/cf9fc5e22fa51e5b3a8182e7ef408cd77064a664
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M cmake/Modules/CMakePolicy.cmake

  Log Message:
  -----------
  [CMake] enable CMP0147 policy if available (#109150)

Closes #38383.

This enables parallel custom build commands, which improve compilation
time on Windows with Visual Studio.


  Commit: b4130bee6bfd34d8045f02fc9f951bcb5db9d85c
      https://github.com/llvm/llvm-project/commit/b4130bee6bfd34d8045f02fc9f951bcb5db9d85c
  Author: Zentrik <llvm.zentrik at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp

  Log Message:
  -----------
  Fix libFuzzer not building with pthreads on Windows (#109525)

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


  Commit: 538dbb97a215d4f203cb1e88455bd10a1ecd7e7d
      https://github.com/llvm/llvm-project/commit/538dbb97a215d4f203cb1e88455bd10a1ecd7e7d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the operand reordering and bad reused values decision


  Commit: b9bd8ca24e46c1fd6fa343a248936e395f103765
      https://github.com/llvm/llvm-project/commit/b9bd8ca24e46c1fd6fa343a248936e395f103765
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/Options.td
    M lld/docs/ReleaseNotes.rst
    A lld/test/COFF/Inputs/include1d.yaml
    M lld/test/COFF/include.test
    M lld/test/COFF/include2.test

  Log Message:
  -----------
  [LLD][COFF] Adds `/includeglob` flag (#109721)

This implements parity with the `--undefined-glob` flag on
[ELF](https://reviews.llvm.org/D63244), but for COFF.


  Commit: d7dd31e41791d71ad81af9cc4e7a26b26d4cb27e
      https://github.com/llvm/llvm-project/commit/d7dd31e41791d71ad81af9cc4e7a26b26d4cb27e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll

  Log Message:
  -----------
  [SLP]Better analysis of the repeated instructions during operands reordering

When doing the repeated instructions analysis, better to make the
reordering non-profitable, if the number of unique instructions is not
power-of-2. In this case better to keep power-of-2 elements as this
allows better vectorization.

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


  Commit: cace9869775a185793122f845d81a5ff46f15728
      https://github.com/llvm/llvm-project/commit/cace9869775a185793122f845d81a5ff46f15728
  Author: Evan Wilde <ewilde at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/cmake/modules/CMakeLists.txt
    M llvm/cmake/modules/LLVMConfig.cmake.in

  Log Message:
  -----------
  Export empty vt_gen target (for standalone builds) (#109817)

Fixing the standalone builds by exporting the vt_gen target so that the
sources of the clangCodeGen target can form an explicit dependency edge
on it.


  Commit: df4f828938db807fc7c4611896fe9659af482e81
      https://github.com/llvm/llvm-project/commit/df4f828938db807fc7c4611896fe9659af482e81
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h

  Log Message:
  -----------
  [lldb][NFC] Replace lldb's DWARFFormValue::ValueType with llvm's (#109853)


  Commit: 5d88fd33ee03105c02130e4f130ccf87997d940e
      https://github.com/llvm/llvm-project/commit/5d88fd33ee03105c02130e4f130ccf87997d940e
  Author: Eric Fiselier <eric at efcs.ca>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libcxx/utils/ci/docker-compose.yml

  Log Message:
  -----------
  attempt to bump actions runner bot version so I can build a new image


  Commit: aeb18ebbe0a1a2fbce9b432eefed46c1d90968ea
      https://github.com/llvm/llvm-project/commit/aeb18ebbe0a1a2fbce9b432eefed46c1d90968ea
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libc/src/sys/socket/linux/CMakeLists.txt
    M libc/src/sys/socket/linux/recv.cpp
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/linux/recvmsg.cpp
    M libc/src/sys/socket/linux/socketpair.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel

  Log Message:
  -----------
  [libc] Add MSAN unpoison annotations to recv funcs (#109844)

Anywhere a struct is returned from the kernel, we need to explicitly
unpoison it for MSAN. This patch does that for the recv, recvfrom,
recvmsg, and socketpair functions.


  Commit: 7bd4f1a0ed64aaf13e6acdafaaf50c4e7bf1d4dc
      https://github.com/llvm/llvm-project/commit/7bd4f1a0ed64aaf13e6acdafaaf50c4e7bf1d4dc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [memprof] Use BLAKE for FrameId (#109501)

This patch uses a stronger hash function for FrameId.

Without this patch, I've observed hash collisions in fairly common
scenarios.  Specifically, for a given GUID, I see three pairs of hash
collisions in the two-dimensional range 1 <= LineOffset <= 70 and
1 <= Column <= 50, which may be a bit too frequent.  With the new
function, I don't see collisions at all even for a large profile.

Impact on serialization/deserialization should be as follows:

- Up to indexed memprof format Version 2, inclusive: The FrameIds
  computed with the new hash function will show up as part of the
  profile file.  However, the deserializer only treats FrameIds as
  keys (but not hash values) to retrieve Frames from the on-disk hash
  table, so a change of the hash function shouldn't matter.

- For indexed memprof format Version 3, FrameIds do not show up at all
  in the resulting profile file.  FrameIds are only used to break ties
  when we sort Frames in writeMemProfFrameArray.


  Commit: ce1f01b887ea5945ec3ffb45e05e674804d5d7a7
      https://github.com/llvm/llvm-project/commit/ce1f01b887ea5945ec3ffb45e05e674804d5d7a7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Symbol/UnwindPlan.cpp

  Log Message:
  -----------
  [lldb][NFC] Add the UnwindPlan method for the header update

In 206408732bca2ef464732a39c8319d47c8a1dbea I updated the
UnwindPlan header to include a new method, but didn't add
the actual implementation.  Fix that.


  Commit: ab0bd344d6556634646001f720e9a0b47801a1a4
      https://github.com/llvm/llvm-project/commit/ab0bd344d6556634646001f720e9a0b47801a1a4
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [compiler-rt] Fix #109834 for Android (#109876)


  Commit: 98260a1a2786f5e639fbcf7a1f3540554f0692f0
      https://github.com/llvm/llvm-project/commit/98260a1a2786f5e639fbcf7a1f3540554f0692f0
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV] Add reversed select testcase for canSplatOperand [nfc]


  Commit: 6c7134b2667b3abbbb3f56352a0020f398994d14
      https://github.com/llvm/llvm-project/commit/6c7134b2667b3abbbb3f56352a0020f398994d14
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Don't create MachineMemOperand in foldMemoryOperandImpl. (#109840)

The caller already does this after we return. I think it will overwrite
any MMO we add.

I'm the original author of this code and I'm not sure why I did it.


  Commit: 1f9ca897987358053374b724444c2aa396e51032
      https://github.com/llvm/llvm-project/commit/1f9ca897987358053374b724444c2aa396e51032
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Don't create insert/extract subreg during lowering. (#109754)

Create the equivalent INSERT_SUBVECTOR/EXTRACT_SUBVECTOR instead.

When we tried porting this to global isel, we noticed that subreg
operations are created early. We aren't able to do this until
instruction selection in global isel.

For SelectionDAG, it makes sense to use insert/extract_subvector as the
canonical form for these operations pre-isel. If it had come into
SelectionDAG as a insert/extract_subvector we would have kept it in that
form.


  Commit: 4c4fb6ada7a168e5129a22efb4d604bb6fc60b17
      https://github.com/llvm/llvm-project/commit/4c4fb6ada7a168e5129a22efb4d604bb6fc60b17
  Author: yonghong-song <yhs at fb.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGen/bpf-attr-type-tag-atomic.c
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    A llvm/test/CodeGen/BPF/BTF/atomics.ll
    A llvm/test/CodeGen/BPF/BTF/print_btf.py
    A llvm/test/CodeGen/BPF/atomics_mem_order_v1.ll
    A llvm/test/CodeGen/BPF/atomics_mem_order_v3.ll
    A llvm/test/CodeGen/BPF/atomics_sub64_relaxed_v1.ll
    A llvm/test/CodeGen/BPF/xaddd_v1.ll

  Log Message:
  -----------
  [BPF] Do atomic_fetch_*() pattern matching with memory ordering (#107343)

Three commits in this pull request:
commit 1: implement pattern matching for memory ordering seq_cst,
acq_rel, release, acquire and monotonic. Specially, for monotonic memory
ordering (relaxed memory model), if no return value is used, locked insn
is used.
commit 2: add support to handle dwarf atomic modifier in BTF generation.
Actually atomic modifier is ignored in BTF.
commit 3: add tests for new atomic ordering support and BTF support with
_Atomic type.
I removed RFC tag as now patch sets are in reasonable states.

For atomic fetch_and_*() operations, do pattern matching with memory
ordering
seq_cst, acq_rel, release, acquire and monotonic (relaxed). For
fetch_and_*()
operations with seq_cst/acq_rel/release/acquire ordering,
atomic_fetch_*()
instructions are generated. For monotonic ordering, locked insns are
generated
if return value is not used. Otherwise, atomic_fetch_*() insns are used.
The main motivation is to resolve the kernel issue [1].
   
The following are memory ordering are supported:
  seq_cst, acq_rel, release, acquire, relaxed
Current gcc style __sync_fetch_and_*() operations are all seq_cst.

To use explicit memory ordering, the _Atomic type is needed. The
following is
an example:

```
$ cat test.c
\#include <stdatomic.h>
void f1(_Atomic int *i) {
   (void)__c11_atomic_fetch_and(i, 10, memory_order_relaxed);
}
void f2(_Atomic int *i) {
   (void)__c11_atomic_fetch_and(i, 10, memory_order_acquire);
}
void f3(_Atomic int *i) {
   (void)__c11_atomic_fetch_and(i, 10, memory_order_seq_cst);
}
$ cat run.sh
clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -c test.c -o test.o && llvm-objdum
p -d test.o
$ ./run.sh
       
test.o: file format elf64-bpf
       
Disassembly of section .text:

0000000000000000 <f1>:
       0:       b4 02 00 00 0a 00 00 00 w2 = 0xa
       1:       c3 21 00 00 50 00 00 00 lock *(u32 *)(r1 + 0x0) &= w2
       2:       95 00 00 00 00 00 00 00 exit
       
0000000000000018 <f2>:
       3:       b4 02 00 00 0a 00 00 00 w2 = 0xa
       4:       c3 21 00 00 51 00 00 00 w2 = atomic_fetch_and((u32 *)(r1 + 0x0), w2)
       5:       95 00 00 00 00 00 00 00 exit
       
0000000000000030 <f3>:
       6:       b4 02 00 00 0a 00 00 00 w2 = 0xa
       7:       c3 21 00 00 51 00 00 00 w2 = atomic_fetch_and((u32 *)(r1 + 0x0), w2)
       8:       95 00 00 00 00 00 00 00 exit
```    

The following is another example where return value is used:

```
$ cat test1.c
\#include <stdatomic.h>
int f1(_Atomic int *i) {
   return __c11_atomic_fetch_and(i, 10, memory_order_relaxed);
}  
int f2(_Atomic int *i) {
   return __c11_atomic_fetch_and(i, 10, memory_order_acquire);
}  
int f3(_Atomic int *i) {
   return __c11_atomic_fetch_and(i, 10, memory_order_seq_cst);
}  
$ cat run.sh
clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -c test1.c -o test1.o && llvm-objdump -d test1.o
$ ./run.sh

test.o: file format elf64-bpf

Disassembly of section .text:

0000000000000000 <f1>:
       0:       b4 00 00 00 0a 00 00 00 w0 = 0xa
       1:       c3 01 00 00 51 00 00 00 w0 = atomic_fetch_and((u32 *)(r1 + 0x0), w0)
       2:       95 00 00 00 00 00 00 00 exit
       
0000000000000018 <f2>:
       3:       b4 00 00 00 0a 00 00 00 w0 = 0xa
       4:       c3 01 00 00 51 00 00 00 w0 = atomic_fetch_and((u32 *)(r1 + 0x0), w0)
       5:       95 00 00 00 00 00 00 00 exit
       
0000000000000030 <f3>:
       6:       b4 00 00 00 0a 00 00 00 w0 = 0xa
       7:       c3 01 00 00 51 00 00 00 w0 = atomic_fetch_and((u32 *)(r1 + 0x0), w0)
       8:       95 00 00 00 00 00 00 00 exit
```    

You can see that for relaxed memory ordering, if return value is used,
atomic_fetch_and()
insn is used. Otherwise, if return value is not used, locked insn is
used.

Here is another example with global _Atomic variable:

```
$ cat test3.c
\#include <stdatomic.h>

_Atomic int i;

void f1(void) {
   (void)__c11_atomic_fetch_and(&i, 10, memory_order_relaxed);
}
void f2(void) {
   (void)__c11_atomic_fetch_and(&i, 10, memory_order_seq_cst);
}
$ cat run.sh
clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -c test3.c -o test3.o && llvm-objdump -d test3.o
$ ./run.sh

test3.o:        file format elf64-bpf

Disassembly of section .text:

0000000000000000 <f1>:
       0:       b4 01 00 00 0a 00 00 00 w1 = 0xa
       1:       18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
       3:       c3 12 00 00 50 00 00 00 lock *(u32 *)(r2 + 0x0) &= w1
       4:       95 00 00 00 00 00 00 00 exit
       
0000000000000028 <f2>:
       5:       b4 01 00 00 0a 00 00 00 w1 = 0xa
       6:       18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
       8:       c3 12 00 00 51 00 00 00 w1 = atomic_fetch_and((u32 *)(r2 + 0x0), w1)
       9:       95 00 00 00 00 00 00 00 exit
```    

Note that in the above compilations, '-g' is not used. The reason is due
to the following IR
related to _Atomic type:
```
$clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -g -S -emit-llvm test3.c
```
The related debug info for test3.c:
```
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "i", scope: !2, file: !3, line: 3, type: !16, isLocal: false, isDefinition: true)
...
!16 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !17)
!17 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
```

If compiling test.c, the related debug info:
```
...
!19 = distinct !DISubprogram(name: "f1", scope: !1, file: !1, line: 3, type: !20, scopeLine: 3, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !25)
!20 = !DISubroutineType(types: !21)
!21 = !{null, !22}
!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !23, size: 64)
!23 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !24)
!24 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!25 = !{!26}
!26 = !DILocalVariable(name: "i", arg: 1, scope: !19, file: !1, line: 3, type: !22)
```

All the above suggests _Atomic behaves like a modifier (e.g. const,
restrict, volatile).
This seems true based on doc [1].

Without proper handling DW_TAG_atomic_type, llvm BTF generation will be
incorrect since
the current implementation assumes no existence of DW_TAG_atomic_type.
So we have
two choices here:
(1). llvm bpf backend processes DW_TAG_atomic_type but ignores it in BTF
encoding.
(2). Add another type, e.g., BTF_KIND_ATOMIC to BTF. BTF_KIND_ATOMIC
behaves as a
       modifier like const/volatile/restrict.

For choice (1), llvm bpf backend should skip dwarf::DW_TAG_atomic_type
during
BTF generation whenever necessary.

For choice (2), BTF_KIND_ATOMIC will be added to BTF so llvm backend and
kernel
needs to handle that properly. The main advantage of it probably is to
maintain
this atomic type so it is also available to skeleton. But I think for
skeleton
a raw type might be good enough unless user space intends to do some
atomic
operation with that, which is a unlikely case.
    
So I choose choice (1) in this RFC implementation. See the commit
message of the second commit for details.

[1]
https://lore.kernel.org/bpf/7b941f53-2a05-48ec-9032-8f106face3a3@linux.dev/
 [2] https://dwarfstd.org/issues/131112.1.html

---------


  Commit: 4a9da96dc68d878893399210888a03117b39b802
      https://github.com/llvm/llvm-project/commit/4a9da96dc68d878893399210888a03117b39b802
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    A clang/test/CodeGen/inline-asm-output-variant.c
    A clang/test/Misc/cc1as-output-asm-variant.c
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/lib/CodeGen/LLVMTargetMachine.cpp

  Log Message:
  -----------
  [clang] Add cc1 --output-asm-variant= to set output syntax

2fcaa549a824efeb56e807fcf750a56bf985296b (2010) added cc1as option
`-output-asm-variant` (untested) to set the output syntax.
`clang -cc1as -filetype asm -output-asm-variant 1` allows AT&T input and
Intel output (`AssemblerDialect` is also used by non-x86 targets).

This patch renames the cc1as option (to avoid collision with -o) and
makes it available for cc1 to set output syntax. This allows different
input & output syntax:

```
echo 'asm("mov $1, %eax");' | clang -xc - -S -o - -Xclang --output-asm-variant=1
```

Note: `AsmWriterFlavor` (with a misleading name), used to initialize
MCAsmInfo::AssemblerDialect, is primarily used for assembly input, not
for output.
Therefore,
`echo 'asm("mov $1, %eax");' | clang -x c - -mllvm --x86-asm-syntax=intel -S -o -`,
which achieves a similar goal before Clang 19, was unintended.

Close #109157

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


  Commit: 02d6aad5cc940f17904c1288dfabc3fd2d439279
      https://github.com/llvm/llvm-project/commit/02d6aad5cc940f17904c1288dfabc3fd2d439279
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [MemProf] Reduce unnecessary context id computation (NFC) (#109857)

One of the memory reduction techniques was to compute node context ids
on the fly. This reduced memory at the expense of some compile time
increase.

For a large binary we were spending a lot of time invoking getContextIds
on the node during assignStackNodesPostOrder, because we were iterating
through the stack ids for a call from leaf to root (first to last node
in the parlance used in that code). However, all calls for a given entry
in the StackIdToMatchingCalls map share the same last node, so we can
borrow the approach used by similar code in updateStackNodes and compute
the context ids on the last node once, then iterate each call's stack
ids in reverse order while reusing the last node's context ids.

This reduced the thin link time by 43% for a large target. It isn't
clear why there wasn't a similar increase measured when introducing the
node context id recomputation, but the compile time was longer to start
with then.


  Commit: cd53c8429efc82c8756d85c23fc347901c3c948d
      https://github.com/llvm/llvm-project/commit/cd53c8429efc82c8756d85c23fc347901c3c948d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Fix a warning

This patch fixes:

  llvm/lib/Target/RISCV/RISCVISelLowering.cpp:10479:12: error:
  variable 'SubRegIdx' set but not used
  [-Werror,-Wunused-but-set-variable]


  Commit: 96eff99e64aaffed1cb8b378ed8f3ac09786e986
      https://github.com/llvm/llvm-project/commit/96eff99e64aaffed1cb8b378ed8f3ac09786e986
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp

  Log Message:
  -----------
  [llvm-reduce] Avoid repeated hash lookups (NFC) (#109747)


  Commit: 9a99e559322e999240184f0159993023ffb355f1
      https://github.com/llvm/llvm-project/commit/9a99e559322e999240184f0159993023ffb355f1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  [gold-plugin] Avoid repeated hash lookups (NFC) (#109748)


  Commit: 2f9c9ff789a08a862024dab0626b40db604572c8
      https://github.com/llvm/llvm-project/commit/2f9c9ff789a08a862024dab0626b40db604572c8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [llvm-extract] Avoid repeated hash lookups (NFC) (#109749)


  Commit: 4c3fccdd8831c8ef8c7191a7f68e8341c3123eb7
      https://github.com/llvm/llvm-project/commit/4c3fccdd8831c8ef8c7191a7f68e8341c3123eb7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [llvm-ifs] Avoid repeated map lookups (NFC) (#109750)


  Commit: 3cfd0c0d36975504099034ce11f4df07c5a7eba7
      https://github.com/llvm/llvm-project/commit/3cfd0c0d36975504099034ce11f4df07c5a7eba7
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGen/scoped-atomic-ops.c
    A clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/Sema/scoped-atomic-ops.c
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
    M llvm/test/CodeGen/SPIRV/atomicrmw.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
    M llvm/test/CodeGen/SPIRV/fence.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
    A llvm/test/CodeGen/SPIRV/scoped_atomicrmw.ll

  Log Message:
  -----------
  [SPIRV][RFC] Rework / extend support for memory scopes (#106429)

This change adds support for correctly lowering the `__scoped` Clang
builtins, and corresponding scoped LLVM instructions. These were
previously unconditionally lowered to Device scope, which is possibly incorrect. 
Furthermore, the default / implicit scope is changed from Device (an 
OpenCL assumption) to AllSvmDevices (aka System), since the SPIR-V BE is not 
OpenCL specific / can ingest IR coming from other language front-ends. OpenCL 
defaulting to Device scope is now reflected in the front-end handling of atomic 
ops, which seems preferable.


  Commit: 4494c54326fe33d19c14df851188f867b14ded2a
      https://github.com/llvm/llvm-project/commit/4494c54326fe33d19c14df851188f867b14ded2a
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  [lldb] Fix typos in various help messages. (#109851)


  Commit: bde2357f71dfd0ab9921d7e1a5d1ae12d8c44305
      https://github.com/llvm/llvm-project/commit/bde2357f71dfd0ab9921d7e1a5d1ae12d8c44305
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Option/OptTable.h
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    R llvm/utils/TableGen/OptParserEmitter.cpp
    R llvm/utils/TableGen/OptRSTEmitter.cpp
    A llvm/utils/TableGen/OptionParserEmitter.cpp
    A llvm/utils/TableGen/OptionRSTEmitter.cpp
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [LLVM][TableGen] Rename Option emitter files (#109216)

Rename OptXXXEmitter.cpp to OptionXXXEmitter.cpp to have a less
ambiguous
name, as `Opt` could also mean optimization.


  Commit: b62075e0290b5fd626e49cb901b8bc4ac09fdd60
      https://github.com/llvm/llvm-project/commit/b62075e0290b5fd626e49cb901b8bc4ac09fdd60
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
    M llvm/test/MC/WebAssembly/type-checker-errors.s

  Log Message:
  -----------
  [WebAssembly] Allow AsmTypeCheck detect multiple errors in function (#109705)

This allows multiple errors to be reported within a function, rather
than returning on the first error and not looking at the rest of the
function.

I think the rationale for the previous behavior was that upon
encountering the first error, the value stack was not in the correct
status anymore and the rest of the function checking was not very
meaningful. But this patch makes the instruction push the correct result
type upon its completion, so the while the possibility of previous error
affecting later instructions is not zero, I think this can be more
helpful to assembly hand-writers. This also allows us to write multiple
error test cases without creating as many functions.

This is what Wabt and Binaryen wast checker/validator do as well.

Also this makes sure we return a value (true/false) within an `if` for
each instruction, removing the need for the long `if`-`else if`-`else
if` chain and making them all just `if`s. I also added newlines between
the `if`s, which I feel is easier to read.


  Commit: b15bd3fc653f061e3a69e1c42a3e5f5256aa1b50
      https://github.com/llvm/llvm-project/commit/b15bd3fc653f061e3a69e1c42a3e5f5256aa1b50
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    A flang/test/Fir/CUDA/cuda-constructor.f90

  Log Message:
  -----------
  [flang][cuda] Add global constructor for allocators registration (#109854)

This pass creates the constructor function to call the allocator
registration and adds it to the global_ctors.


  Commit: 9ef9acbd4f5f84e1bfceb677a064b724f102554e
      https://github.com/llvm/llvm-project/commit/9ef9acbd4f5f84e1bfceb677a064b724f102554e
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_flags.inc
    A compiler-rt/test/rtsan/halt_on_error.cpp

  Log Message:
  -----------
  [rtsan] Introduce halt_on_error flag (#109832)


  Commit: 4a2d24e814295436d0c8f928897e2c55fe0214a6
      https://github.com/llvm/llvm-project/commit/4a2d24e814295436d0c8f928897e2c55fe0214a6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/utils/gn/build/BUILD.gn
    M llvm/utils/gn/build/toolchain/target_flags.gni
    M llvm/utils/gn/secondary/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/lsan/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
    M llvm/utils/gn/secondary/lld/unittests/AsLibAll/BUILD.gn
    M llvm/utils/gn/secondary/lld/unittests/BUILD.gn
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGenTypes/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/DebugInfo/BTF/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/Utils/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-dwp/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-libtool-darwin/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/sancov/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Instrumentation/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [gn] Reformat build files

Ran:

    git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format

No behavior change.


  Commit: e33e087a175567e88b361fd198536314a0a1fff2
      https://github.com/llvm/llvm-project/commit/e33e087a175567e88b361fd198536314a0a1fff2
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    A llvm/test/CodeGen/AMDGPU/postra-sink-update-dependency.mir

  Log Message:
  -----------
  [MachineSink] Update register dependency correctly (#109763)

The accumulateUsedDefed() was missing if block prologue interference
check does not pass. This would cause incorrect register dependency,
which cause incorrect sinking.


  Commit: 2495130c1b5c255bbcf5ff84555026649c5fa697
      https://github.com/llvm/llvm-project/commit/2495130c1b5c255bbcf5ff84555026649c5fa697
  Author: beetrees <b at beetr.ee>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/test/builtins/Unit/multf3_test.c

  Log Message:
  -----------
  [compiler-rt] Add missing carry to 128x128->256 wide multiply (#97257)


  Commit: 4fc08b6cd57bda1d3e28eae283f7b20f8ce463d1
      https://github.com/llvm/llvm-project/commit/4fc08b6cd57bda1d3e28eae283f7b20f8ce463d1
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir
    R llvm/test/CodeGen/AMDGPU/freeze.ll

  Log Message:
  -----------
  Revert "[AMDGPU][GlobalIsel] Use isRegisterClassType for G_FREEZE and G_IMPLICIT_DEF (#101331)"

This reverts commit 63b2595846b86b4e4eb9afba5e97dd64e8135c10.
(llvmorg-20-init-6782-g63b2595846b8)
A few bots have been failing on `inst-select-unmerge-values.mir`


  Commit: 642bfd89f94f90bc9696a81e72333f6eb1ce5f20
      https://github.com/llvm/llvm-project/commit/642bfd89f94f90bc9696a81e72333f6eb1ce5f20
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    A compiler-rt/test/ubsan/TestCases/Integer/suppressions-builtin.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/builtins.cpp

  Log Message:
  -----------
  [Clang][compiler-rt][UBSan] Improve `__ubsan_handle_invalid_builtin` (#109088)

This patch improves error message, and fixes a copy-paste
mistake in GET_REPORT_OPTIONS argument.

Address comment
https://github.com/llvm/llvm-project/pull/104741#discussion_r1764323722.

---------

Co-authored-by: Vitaly Buka <vitalybuka at google.com>


  Commit: 3da5e82e31712792411945b655929a1680fb476c
      https://github.com/llvm/llvm-project/commit/3da5e82e31712792411945b655929a1680fb476c
  Author: duk <74797529+duk-37 at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
    M llvm/test/CodeGen/NVPTX/unreachable.ll

  Log Message:
  -----------
  [NVPTX] Fix NVPTXLowerUnreachable::isLoweredToTrap logic (#109730)

Previously, this pass would not generate traps if `NoTrapAfterNoreturn`
was set and would generate traps even if the instruction directly before
the `UnreachableInst` was `llvm.trap()`.

Fix both of these problems and add some tests.


  Commit: 0a42c7c6679bcc6f7be4b3d103670197acac96a9
      https://github.com/llvm/llvm-project/commit/0a42c7c6679bcc6f7be4b3d103670197acac96a9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaLookup.cpp
    A clang/test/Modules/GH109879-1.cpp
    A clang/test/Modules/GH109879-2.cpp

  Log Message:
  -----------
  [clang] fix assert in ADL finding entity in the implicit global module (#109882)

This adds to the assert the implicit global module case as in module
purview.

Fixes #109879


  Commit: 7a086e1b2dc05f54afae3591614feede727601fa
      https://github.com/llvm/llvm-project/commit/7a086e1b2dc05f54afae3591614feede727601fa
  Author: yabinc <yabinc at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
    M clang/test/CodeGen/2008-08-07-AlignPadding1.c
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/decl.c
    M clang/test/CodeGen/designated-initializers.c
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/flexible-array-init.c
    M clang/test/CodeGen/global-init.c
    M clang/test/CodeGen/init.c
    A clang/test/CodeGen/linux-kernel-struct-union-initializer.c
    A clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mms-bitfields.c
    M clang/test/CodeGen/union-init2.c
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenObjC/designated-initializers.m

  Log Message:
  -----------
  [clang][CodeGen] Zero init unspecified fields in initializers in C (#97121)

When an initializer is provided to a variable, the Linux kernel relied
on the compiler to zero-initialize unspecified fields, as clarified in
https://www.spinics.net/lists/netdev/msg1007244.html.

But clang doesn't guarantee this:
1. For a union type, if an empty initializer is given, clang only
   initializes bytes for the first field, left bytes for other (larger)
   fields are marked as undef. Accessing those undef bytes can lead
   to undefined behaviors.
2. For a union type, if an initializer explicitly sets a field, left
   bytes for other (larger) fields are marked as undef.
3. When an initializer is given, clang doesn't zero initialize padding.

So this patch makes the following change:
1. In C, when an initializer is provided for a variable, zero-initialize
   undef and padding fields in the initializer.
2. Document the change in LanguageExtensions.rst.

As suggested in
https://github.com/llvm/llvm-project/issues/78034#issuecomment-2183437928,
the change isn't required by C23, but it's standards conforming to do
so.

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


  Commit: 489acb2401b51d940fcdbe965d4a5b2d39168b96
      https://github.com/llvm/llvm-project/commit/489acb2401b51d940fcdbe965d4a5b2d39168b96
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h

  Log Message:
  -----------
  [NVPTX][NFC] Refactor utilities to use std::optional (#109883)


  Commit: 4ca4460bae12eefe90bf69704a33bdd5b1c9f142
      https://github.com/llvm/llvm-project/commit/4ca4460bae12eefe90bf69704a33bdd5b1c9f142
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll

  Log Message:
  -----------
  [hwasan] Add "-hwasan-with-frame-record" (#109620)

It should not be implied form mapping settings.
No longer disable frame records for fixed offset.


  Commit: fa627d98e87504b6f6d621a7dab5d140340ed760
      https://github.com/llvm/llvm-project/commit/fa627d98e87504b6f6d621a7dab5d140340ed760
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/CUDA/memory.h
    M flang/runtime/CUDA/memory.cpp
    M flang/unittests/Runtime/CUDA/CMakeLists.txt
    A flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  [flang][cuda] Add entry point for alloc/free and simple copy (#109867)

These will be used to translate simple cuf.alloc/cuf.free and
cuf.data_transfer on scalar and constant size arrays.


  Commit: 18b9d49ce3370c012fdd04ec87d854d53293f6a6
      https://github.com/llvm/llvm-project/commit/18b9d49ce3370c012fdd04ec87d854d53293f6a6
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Android.rules

  Log Message:
  -----------
  lldb: get lldb API tests working with newer Android NDKs

## Purpose
Running the LLDB API tests against a remote Android target with NDK
version r22 or later fails to compile the test inferiors. NDK r21 from
2021 is the most recent NDK that still works with the LLDB API tests.
This PR updates the Android make rules to support newer Android NDK
versions (r19 and later).

## Overview
* Updates and simplifies `Android.rules` to match the newer Android NDK
unified toolchain layout introduced in NDK r19
* Sets `OBJCOPY` and `ARCHIVER` env vars, required by a few test cases,
to their `llvm-` versions in the unified toolchain
* Drops support for pre-2019 Android NDK versions to keep the rules
simple
* Provides an error message if the tests are run using an incompatible
NDK layout

## Problem Details
Android introduced a unified tools layout in NDK r19 (2019) and removed
the old layout in r22 (2021). Releases r19, r20, and r21 support both
the old and new layout side-by-side. More details are in #106270.

## Validation
Ran a sub-set of the LLDB API tests against remote Android targets for
the four primary architectures i386, x86_64, arm, and aarch64. No
validation was done against riscv targets.

For each case, ran the copy of `lldb-server` from the Android NDK on the
device with the latest LLDB test cases in llvm-project

Ran tests with both r19 (the oldest supported) and r26 (more recent,
unified layout only) NDK versions.

Example test command for aarch64:
```
./build/bin/lldb-dotest --out-of-tree-debugserver --arch aarch64 --platform-name remote-android --platform-url connect://localhost:5432 --platform-working-dir /data/local/tmp --compiler=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/clang lldb/test/API/android/
```
**NOTE: there are a lot of test failures when running the full suite
(especially against 32-bit ARM target). These failures occur independent
of this change.**

Verified the expected error message appears when attempting to run using
NDK r18
```
Build Command Output:
make: Entering directory '/home/andrew/src/llvm/llvm-project/build/lldb-test-build.noindex/android/platform/TestDefaultCacheLineSize.test_cache_line_size'
/home/andrew/src/llvm/llvm-project/lldb/packages/Python/lldbsuite/test/make/Android.rules:16: *** "No unified toolchain sysroot found in /home/andrew/Android/Sdk/ndk/18.1.5063045/toolchains/llvm/prebuilt/linux-x86_64/bin/../../../../... NDK must be r19 or later.".  Stop.
make: Leaving directory '/home/andrew/src/llvm/llvm-project/build/lldb-test-build.noindex/android/platform/TestDefaultCacheLineSize.test_cache_line_size'
```

## Impact
**This change explicitly removes support for the pre-2019 NDK
structure.** Only NDK r19 (from 2019) and later can be used when running
the LLDB API tests. If the maintainers object, we can easily support
both the old and new NDK toolchain layouts side-by-side at the cost of
readability/maintainability. Since this change only impacts tests, I
don't see much value in supporting NDKs that are over 5 years old.

## Guidance to Reviewers
* I am not an expert on `clang` arguments so if anything looks off let
me know.
* While I personally thing supporting 5+ year old NDKs for testing seems
unnecessary, please chime-in if you are concerned with dropping that
support. I can easily revise to support both old and new layouts
side-by-side.
* If there are any specific tests you'd like me to run I will do my best
to accommodate. It doesn't look like there's much (any?) Android LLDB CI
coverage.


  Commit: d50eaac12f0cdfe27e942290942b06889ab12a8c
      https://github.com/llvm/llvm-project/commit/d50eaac12f0cdfe27e942290942b06889ab12a8c
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
    M clang/test/CodeGen/2008-08-07-AlignPadding1.c
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/decl.c
    M clang/test/CodeGen/designated-initializers.c
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/flexible-array-init.c
    M clang/test/CodeGen/global-init.c
    M clang/test/CodeGen/init.c
    R clang/test/CodeGen/linux-kernel-struct-union-initializer.c
    R clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mms-bitfields.c
    M clang/test/CodeGen/union-init2.c
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenObjC/designated-initializers.m

  Log Message:
  -----------
  Revert "[clang][CodeGen] Zero init unspecified fields in initializers in C" (#109898)

Reverts llvm/llvm-project#97121

Causing failures on LNT bots; log shows a crash in
ConstStructBuilder::BuildStruct.


  Commit: 9bc6c9ea62903bcf52a2a8a22b2b005a3408af9f
      https://github.com/llvm/llvm-project/commit/9bc6c9ea62903bcf52a2a8a22b2b005a3408af9f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    R .arcconfig
    R .arclint
    M .ci/generate-buildkite-pipeline-premerge
    R .ci/generate-buildkite-pipeline-scheduled
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .clang-tidy
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    A .github/dependabot.yml
    M .github/new-prs-labeler.yml
    M .github/workflows/build-ci-container.yml
    A .github/workflows/ci-post-commit-analyzer-run.py
    A .github/workflows/ci-post-commit-analyzer.yml
    A .github/workflows/commit-access-review.py
    A .github/workflows/commit-access-review.yml
    R .github/workflows/containers/github-action-ci/Dockerfile
    A .github/workflows/containers/github-action-ci/bootstrap.patch
    A .github/workflows/containers/github-action-ci/stage1.Dockerfile
    A .github/workflows/containers/github-action-ci/stage2.Dockerfile
    A .github/workflows/containers/github-action-ci/storage.conf
    M .github/workflows/docs.yml
    A .github/workflows/email-check.yaml
    A .github/workflows/get-llvm-version/action.yml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    A .github/workflows/issue-write.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libclc-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    A .github/workflows/libcxx-restart-preempted-jobs.yaml
    M .github/workflows/lldb-tests.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/llvm-project-tests.yml
    A .github/workflows/llvm-project-workflow-tests.yml
    M .github/workflows/llvm-tests.yml
    A .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    A .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    A .github/workflows/release-asset-audit.py
    A .github/workflows/release-asset-audit.yml
    A .github/workflows/release-binaries-all.yml
    A .github/workflows/release-binaries-save-stage/action.yml
    A .github/workflows/release-binaries-setup-stage/action.yml
    M .github/workflows/release-binaries.yml
    A .github/workflows/release-documentation.yml
    A .github/workflows/release-doxygen.yml
    A .github/workflows/release-lit.yml
    A .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/scorecard.yml
    M .github/workflows/set-release-binary-outputs.sh
    M .github/workflows/spirv-tests.yml
    A .github/workflows/unprivileged-download-artifact/action.yml
    M .github/workflows/version-check.py
    M .github/workflows/version-check.yml
    M .mailmap
    M README.md
    M bolt/CMakeLists.txt
    M bolt/cmake/modules/AddBOLT.cmake
    A bolt/docs/BAT.md
    M bolt/docs/CMakeLists.txt
    A bolt/docs/CommandLineArgumentReference.md
    A bolt/docs/HeatmapHeader.png
    M bolt/docs/Heatmaps.md
    M bolt/docs/OptimizingClang.md
    A bolt/docs/OptimizingLinux.md
    A bolt/docs/generate_doc.py
    M bolt/include/bolt/Core/AddressMap.h
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryDomTree.h
    M bolt/include/bolt/Core/BinaryFunction.h
    A bolt/include/bolt/Core/BinaryFunctionCallGraph.h
    M bolt/include/bolt/Core/BinaryLoop.h
    M bolt/include/bolt/Core/BinarySection.h
    A bolt/include/bolt/Core/CallGraph.h
    A bolt/include/bolt/Core/CallGraphWalker.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    A bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/DynoStats.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Core/FunctionLayout.h
    A bolt/include/bolt/Core/GDBIndex.h
    M bolt/include/bolt/Core/HashUtilities.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/ParallelUtilities.h
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/include/bolt/Passes/Aligner.h
    M bolt/include/bolt/Passes/AllocCombiner.h
    M bolt/include/bolt/Passes/AsmDump.h
    R bolt/include/bolt/Passes/BinaryFunctionCallGraph.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CMOVConversion.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    R bolt/include/bolt/Passes/CallGraph.h
    R bolt/include/bolt/Passes/CallGraphWalker.h
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    M bolt/include/bolt/Passes/FixRISCVCallsPass.h
    M bolt/include/bolt/Passes/FixRelaxationPass.h
    M bolt/include/bolt/Passes/FrameAnalysis.h
    M bolt/include/bolt/Passes/FrameOptimizer.h
    M bolt/include/bolt/Passes/HFSort.h
    M bolt/include/bolt/Passes/Hugify.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/include/bolt/Passes/IndirectCallPromotion.h
    M bolt/include/bolt/Passes/Inliner.h
    M bolt/include/bolt/Passes/Instrumentation.h
    M bolt/include/bolt/Passes/JTFootprintReduction.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Passes/LoopInversionPass.h
    M bolt/include/bolt/Passes/MCF.h
    M bolt/include/bolt/Passes/PLTCall.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/include/bolt/Passes/ReachingDefOrUse.h
    M bolt/include/bolt/Passes/ReachingInsns.h
    M bolt/include/bolt/Passes/RegReAssign.h
    M bolt/include/bolt/Passes/ReorderData.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/ReorderUtils.h
    M bolt/include/bolt/Passes/RetpolineInsertion.h
    M bolt/include/bolt/Passes/ShrinkWrapping.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Passes/TailDuplication.h
    M bolt/include/bolt/Passes/ThreeWayBranch.h
    M bolt/include/bolt/Passes/ValidateInternalCalls.h
    M bolt/include/bolt/Passes/ValidateMemRefs.h
    M bolt/include/bolt/Passes/VeneerElimination.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/ProfileReaderBase.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/include/bolt/Profile/YAMLProfileWriter.h
    M bolt/include/bolt/Rewrite/BinaryPassManager.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/MetadataRewriters.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/include/bolt/Utils/NameShortener.h
    M bolt/include/bolt/Utils/Utils.h
    M bolt/lib/CMakeLists.txt
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryData.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/lib/Core/BinaryFunctionCallGraph.cpp
    M bolt/lib/Core/BinaryFunctionProfile.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/CMakeLists.txt
    A bolt/lib/Core/CallGraph.cpp
    A bolt/lib/Core/CallGraphWalker.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    A bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    A bolt/lib/Core/GDBIndex.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Core/ParallelUtilities.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/AsmDump.cpp
    R bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/CMakeLists.txt
    M bolt/lib/Passes/CacheMetrics.cpp
    R bolt/lib/Passes/CallGraph.cpp
    R bolt/lib/Passes/CallGraphWalker.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameAnalysis.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    R bolt/lib/Passes/HFSortPlus.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/LoopInversionPass.cpp
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/RegAnalysis.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ThreeWayBranch.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Passes/ValidateMemRefs.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    R bolt/lib/Profile/ProfileReaderBase.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    A bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/JITLinkLinker.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.h
    M bolt/lib/Utils/CMakeLists.txt
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/lib/Utils/Utils.cpp
    M bolt/runtime/CMakeLists.txt
    M bolt/runtime/instr.cpp
    M bolt/test/AArch64/Inputs/array_end.lld_script
    A bolt/test/AArch64/Inputs/build_id.ldscript
    R bolt/test/AArch64/Inputs/iplt.ld
    A bolt/test/AArch64/build_id.c
    M bolt/test/AArch64/constant_island_pie_update.s
    A bolt/test/AArch64/dummy-return.s
    M bolt/test/AArch64/exclusive-instrument.s
    R bolt/test/AArch64/ifunc.c
    A bolt/test/AArch64/ifunc.test
    A bolt/test/AArch64/internal-call.s
    M bolt/test/AArch64/lit.local.cfg
    A bolt/test/AArch64/plt-call.test
    A bolt/test/AArch64/test-indirect-branch.s
    M bolt/test/AArch64/update-debug-reloc.test
    A bolt/test/AArch64/update-weak-reference-symbol.s
    M bolt/test/AArch64/veneer-gold.s
    M bolt/test/CMakeLists.txt
    A bolt/test/Inputs/ifunc.c
    A bolt/test/Inputs/iplt.ld
    R bolt/test/Inputs/lsda.ldscript
    A bolt/test/Inputs/plt-tailcall.c
    A bolt/test/RISCV/fake-label-no-entry.c
    M bolt/test/RISCV/relax.s
    R bolt/test/RISCV/unnamed-sym-no-entry.c
    A bolt/test/X86/Inputs/ambiguous_fragment.s
    A bolt/test/X86/Inputs/ambiguous_fragment.script
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
    A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
    A bolt/test/X86/Inputs/blarge_profile_stale_low_matched_blocks.yaml
    A bolt/test/X86/Inputs/build_id.yaml
    A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-helper.s
    A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-main.s
    A bolt/test/X86/Inputs/dwarf4-df-input-lowpc-ranges-other.s
    A bolt/test/X86/Inputs/dwarf4-subprogram-multiple-ranges-other.s
    A bolt/test/X86/Inputs/dwarf5-debug-line-offset-change-after-bolt-main.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-ftu-ltu-mix-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-ftu-ltu-mix-helper1.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-ftu-ltu-mix-main.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-input-lowpc-ranges-other.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-empty-arange-helper.s
    A bolt/test/X86/Inputs/dwarf5-empty-arange-main.s
    A bolt/test/X86/Inputs/dwarf5-subprogram-multiple-ranges-other.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-main.s
    A bolt/test/X86/Inputs/infer_no_exits.s
    A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
    M bolt/test/X86/addr32.s
    A bolt/test/X86/ambiguous_fragment.test
    M bolt/test/X86/asm-func-debug.test
    M bolt/test/X86/avx512-trap.test
    M bolt/test/X86/bb-with-two-tail-calls.s
    M bolt/test/X86/block-reordering.test
    M bolt/test/X86/bolt-address-translation-internal-call.test
    A bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    M bolt/test/X86/branch-data.test
    M bolt/test/X86/broken_dynsym.test
    M bolt/test/X86/bug-function-layout-execount.s
    M bolt/test/X86/bug-reorder-bb-jrcxz.s
    A bolt/test/X86/build_id.test
    M bolt/test/X86/calculate-emitted-block-size.s
    M bolt/test/X86/call-zero.s
    M bolt/test/X86/cdsplit-call-scale.s
    M bolt/test/X86/cdsplit-symbol-names.s
    M bolt/test/X86/cfi-expr-rewrite.s
    M bolt/test/X86/cfi-instrs-count.s
    M bolt/test/X86/cfi-instrs-reordered.s
    M bolt/test/X86/checkvma-large-section.test
    M bolt/test/X86/ctc-and-unreachable.test
    M bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/debug-fission-single.s
    M bolt/test/X86/double-jump.test
    A bolt/test/X86/dwarf-debug-line-stmt-list-offset-change.test
    M bolt/test/X86/dwarf-handle-visit-loclist-error.s
    M bolt/test/X86/dwarf-test-df-logging.test
    M bolt/test/X86/dwarf3-lowpc-highpc-convert.s
    M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
    M bolt/test/X86/dwarf4-cross-cu-forward-different-abbrev.test
    M bolt/test/X86/dwarf4-cross-cu-loclist-dwarf4-loclist--dwarf5-loclist.test
    M bolt/test/X86/dwarf4-df-basic.test
    M bolt/test/X86/dwarf4-df-call-site-change-low-pc.test
    M bolt/test/X86/dwarf4-df-change-in-dw-op-gnu-addr-index-main.test
    M bolt/test/X86/dwarf4-df-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf4-df-dualcu-loclist.test
    M bolt/test/X86/dwarf4-df-dualcu.test
    M bolt/test/X86/dwarf4-df-inlined-subroutine-lowpc-0.test
    A bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
    M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test
    M bolt/test/X86/dwarf4-df-no-base.test
    M bolt/test/X86/dwarf4-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf4-duplicate-types.test
    R bolt/test/X86/dwarf4-ftypes-dwo-input-dwp-output.test
    R bolt/test/X86/dwarf4-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf4-ftypes-dwp-input-dwo-output.test
    M bolt/test/X86/dwarf4-ftypes-dwp-input-dwp-output.test
    M bolt/test/X86/dwarf4-gdb-index-types-gdb-generated.test
    M bolt/test/X86/dwarf4-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf4-invalid-reference-die-offset-no-internal-dwarf-error.s
    M bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-cant-parse-die.s
    M bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-invalid-die.s
    A bolt/test/X86/dwarf4-label-low-pc.s
    A bolt/test/X86/dwarf4-override-comp-dir.test
    M bolt/test/X86/dwarf4-sibling.s
    M bolt/test/X86/dwarf4-size-0-inlined_subroutine.s
    M bolt/test/X86/dwarf4-split-dwarf-no-address.test
    M bolt/test/X86/dwarf4-split-gdb-index-types-gdb-generated.test
    A bolt/test/X86/dwarf4-subprogram-multiple-ranges-cus.test
    M bolt/test/X86/dwarf4-subprogram-multiple-ranges.test
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    M bolt/test/X86/dwarf4-subprogram-single-ranges.test
    M bolt/test/X86/dwarf4-types-dwarf5-types.test
    M bolt/test/X86/dwarf4-types-dwarf5.test
    M bolt/test/X86/dwarf4-types-forward-backward-cross-reference.s
    M bolt/test/X86/dwarf4-types.test
    M bolt/test/X86/dwarf5-addr-section-reuse.s
    M bolt/test/X86/dwarf5-call-pc-function-null-check.test
    M bolt/test/X86/dwarf5-call-pc.test
    M bolt/test/X86/dwarf5-cu-no-debug-addr.test
    M bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s
    M bolt/test/X86/dwarf5-debug-line-not-modified.test
    M bolt/test/X86/dwarf5-debug-line.s
    M bolt/test/X86/dwarf5-debug-loclists.s
    A bolt/test/X86/dwarf5-debug-names-class-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-cross-cu.s
    A bolt/test/X86/dwarf5-debug-names-dw-at-specification.s
    A bolt/test/X86/dwarf5-debug-names-enumeration-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-debug-names-skip-forward-decl.s
    A bolt/test/X86/dwarf5-debug-names-structure-type-decl.s
    A bolt/test/X86/dwarf5-debug-names.test
    M bolt/test/X86/dwarf5-df-call-site-change-low-pc.test
    M bolt/test/X86/dwarf5-df-change-in-dw-op-gnu-addr-index-main.test
    M bolt/test/X86/dwarf5-df-cu-function-gc.test
    A bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names.test
    M bolt/test/X86/dwarf5-df-dualcu-loclist.test
    M bolt/test/X86/dwarf5-df-dualcu.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-range-0.test
    A bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test
    M bolt/test/X86/dwarf5-df-input-lowpc-ranges.test
    A bolt/test/X86/dwarf5-df-larger-batch-size.test
    A bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
    M bolt/test/X86/dwarf5-df-mono-dualcu.test
    A bolt/test/X86/dwarf5-df-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-df-output-dir-same-name.test
    A bolt/test/X86/dwarf5-df-types-debug-names.test
    M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
    A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
    A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
    A bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb11.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb9.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf5-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    A bolt/test/X86/dwarf5-empty-arange.test
    A bolt/test/X86/dwarf5-empty-function-ranges.s
    R bolt/test/X86/dwarf5-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf5-ftypes-dwp-input-dwo-output.test
    M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb11.test
    M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb9.test
    M bolt/test/X86/dwarf5-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf5-label-low-pc.s
    M bolt/test/X86/dwarf5-locaddrx.test
    M bolt/test/X86/dwarf5-locexpr-addrx.s
    M bolt/test/X86/dwarf5-locexpr-referrence.test
    M bolt/test/X86/dwarf5-loclist-offset-form.test
    A bolt/test/X86/dwarf5-loclist-out-of-order.s
    M bolt/test/X86/dwarf5-lowpc-highpc-convert.s
    M bolt/test/X86/dwarf5-multiple-dw-op-addrx-locexpr.s
    A bolt/test/X86/dwarf5-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-one-loclists-two-bases.test
    A bolt/test/X86/dwarf5-override-comp-dir.test
    M bolt/test/X86/dwarf5-rangeoffset-to-rangeindex.s
    M bolt/test/X86/dwarf5-return-pc-form-addr.test
    M bolt/test/X86/dwarf5-return-pc.test
    M bolt/test/X86/dwarf5-shared-str-offset-base.s
    M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-split-gdb-index-types-gdb-generated.test
    A bolt/test/X86/dwarf5-subprogram-multiple-ranges-cus.test
    M bolt/test/X86/dwarf5-subprogram-multiple-ranges.test
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
    M bolt/test/X86/dwarf5-subprogram-single-ranges.test
    M bolt/test/X86/dwarf5-two-cu-str-offset-table.test
    M bolt/test/X86/dwarf5-two-loclists.test
    M bolt/test/X86/dwarf5-two-rnglists.test
    M bolt/test/X86/dwarf5-type-unit-no-cu-str-offset-table.test
    M bolt/test/X86/dwarf5-types-backward-cross-reference.s
    A bolt/test/X86/dwarf5-types-debug-names.test
    M bolt/test/X86/dwarf5-types-forward-cross-reference.s
    A bolt/test/X86/dwarf5-types-one-cu-debug-names.test
    A bolt/test/X86/dynamic-relocs-on-entry.s
    M bolt/test/X86/dynrelocs.s
    M bolt/test/X86/encoding-validation.s
    M bolt/test/X86/end-symbol.test
    M bolt/test/X86/exceptions-args.test
    M bolt/test/X86/fallthrough-to-noop.test
    M bolt/test/X86/false-jump-table.s
    A bolt/test/X86/fatal-error.s
    M bolt/test/X86/fragment-lite-reverse.s
    M bolt/test/X86/fragment-lite.s
    M bolt/test/X86/fragmented-symbols.s
    M bolt/test/X86/frame-opt-lea.s
    M bolt/test/X86/function-order-lite.s
    M bolt/test/X86/gdbindex.test
    M bolt/test/X86/gotpcrelx.s
    A bolt/test/X86/hashing-based-function-matching.test
    M bolt/test/X86/high_pc_udata.s
    M bolt/test/X86/icf-jump-tables.test
    M bolt/test/X86/icp-inline.s
    A bolt/test/X86/ifunc.test
    A bolt/test/X86/ignored-interprocedural-reference.s
    A bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/indirect-goto.test
    A bolt/test/X86/infer-fall-throughs.s
    A bolt/test/X86/infer_no_exits.test
    M bolt/test/X86/inlined-function-mixed.test
    M bolt/test/X86/insert-addr-rnglists_base.s
    M bolt/test/X86/insert-debug-info-entry.test
    M bolt/test/X86/instrumentation-eh_frame_hdr.cpp
    M bolt/test/X86/internal-call-instrument-so.s
    M bolt/test/X86/internal-call-instrument.s
    M bolt/test/X86/interprocedural-ref-entry-point.s
    M bolt/test/X86/is-strip.s
    M bolt/test/X86/issue20.s
    M bolt/test/X86/issue20.test
    M bolt/test/X86/issue26.s
    M bolt/test/X86/issue26.test
    M bolt/test/X86/jmp-optimization.test
    M bolt/test/X86/jmpjmp.test
    M bolt/test/X86/jt-symbol-disambiguation-3.s
    A bolt/test/X86/jt-symbol-disambiguation-4.s
    A bolt/test/X86/jump-table-fixed-ref-pic.test
    M bolt/test/X86/jump-table-footprint-reduction.test
    M bolt/test/X86/jump-table-func-entry.s
    M bolt/test/X86/jump-table-icp.test
    M bolt/test/X86/jump-table-pic-conflict.s
    M bolt/test/X86/jump-table-pic-order.test
    M bolt/test/X86/jump-table-reference.test
    M bolt/test/X86/keep-nops.s
    M bolt/test/X86/layout-heuristic.test
    M bolt/test/X86/line-number.test
    A bolt/test/X86/linux-alt-instruction.s
    A bolt/test/X86/linux-bug-table.s
    A bolt/test/X86/linux-exceptions.s
    A bolt/test/X86/linux-orc.s
    A bolt/test/X86/linux-parainstructions.s
    A bolt/test/X86/linux-pci-fixup.s
    A bolt/test/X86/linux-smp-locks.s
    A bolt/test/X86/linux-static-calls.s
    A bolt/test/X86/linux-static-keys.s
    M bolt/test/X86/lit.local.cfg
    A bolt/test/X86/log.test
    M bolt/test/X86/loop-inversion-pass.s
    M bolt/test/X86/loop-nest.test
    A bolt/test/X86/match-functions-with-call-graph.test
    A bolt/test/X86/match-functions-with-calls-as-anchors.test
    M bolt/test/X86/merge-fdata-bat-mode.test
    A bolt/test/X86/merge-fdata-nobat-mode.test
    M bolt/test/X86/merge-fdata-output.test
    A bolt/test/X86/name-similarity-function-matching.test
    M bolt/test/X86/no-entry-reordering.test
    M bolt/test/X86/no-output.test
    M bolt/test/X86/nolbr.s
    R bolt/test/X86/orc_unwind.s
    M bolt/test/X86/patch-entries.test
    A bolt/test/X86/phdr-out-of-order.test
    A bolt/test/X86/plt-call.test
    M bolt/test/X86/pre-aggregated-perf.test
    A bolt/test/X86/profile-passthrough-block.test
    M bolt/test/X86/pseudoprobe-decoding-inline.test
    M bolt/test/X86/pseudoprobe-decoding-noinline.test
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/reader-stale-yaml-std.test
    M bolt/test/X86/reader-stale-yaml.test
    M bolt/test/X86/reader.test
    A bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/X86/relaxed-tailcall.test
    M bolt/test/X86/remove-unused.test
    M bolt/test/X86/rodata-simpl-loads.test
    M bolt/test/X86/sctc-bug.test
    M bolt/test/X86/sctc-bug2.test
    M bolt/test/X86/sctc-bug3.test
    M bolt/test/X86/sctc-bug4.test
    M bolt/test/X86/shared_object_entry.s
    M bolt/test/X86/shorten-mov.test
    M bolt/test/X86/shrinkwrapping-and-rsp.s
    M bolt/test/X86/shrinkwrapping-critedge.s
    M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
    M bolt/test/X86/shrinkwrapping-insertcfi.s
    M bolt/test/X86/shrinkwrapping-lea.s
    M bolt/test/X86/shrinkwrapping-mov.s
    M bolt/test/X86/shrinkwrapping-pop-order.s
    M bolt/test/X86/shrinkwrapping-popf.s
    M bolt/test/X86/shrinkwrapping-restore-position.s
    M bolt/test/X86/shrinkwrapping.test
    M bolt/test/X86/split-all-lptrampoline.s
    M bolt/test/X86/split-all.s
    M bolt/test/X86/split-func-icf.s
    M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
    M bolt/test/X86/split-func-jump-table-fragment-noparent.s
    M bolt/test/X86/split-func-jump-table-fragment-reverse.s
    M bolt/test/X86/split-func-jump-table-fragment.s
    M bolt/test/X86/split-func-jump-table-unknown.s
    M bolt/test/X86/split-landing-pad.s
    M bolt/test/X86/split-random.s
    A bolt/test/X86/stale-matching-min-matched-block.test
    M bolt/test/X86/static-exe.test
    M bolt/test/X86/symtab-secondary-entries.test
    M bolt/test/X86/tail-duplication-cache.s
    M bolt/test/X86/tail-duplication-cacheline.s
    M bolt/test/X86/tail-duplication-complex.s
    M bolt/test/X86/tail-duplication-jt.s
    M bolt/test/X86/tail-duplication-pass.s
    M bolt/test/X86/tail-duplication-prop-bug.s
    M bolt/test/X86/tailcall-traps.test
    M bolt/test/X86/tailcall.test
    A bolt/test/X86/three-way-split-jt.s
    M bolt/test/X86/unclaimed-jt-entries.s
    M bolt/test/X86/unreachable-jmp.s
    M bolt/test/X86/unreachable.test
    M bolt/test/X86/vararg.test
    M bolt/test/X86/yaml-multiple-profiles.test
    A bolt/test/X86/yaml-non-simple.test
    A bolt/test/X86/yaml-secondary-entry-discriminator.s
    A bolt/test/X86/yaml-unknown-keys.test
    M bolt/test/X86/zero-sized-object.s
    M bolt/test/bad-exe.test
    M bolt/test/bolt-icf.test
    M bolt/test/bolt-info.test
    M bolt/test/heatmap.test
    M bolt/test/invalid-profile.test
    M bolt/test/keep-aranges.test
    M bolt/test/link_fdata.py
    M bolt/test/lit.cfg.py
    M bolt/test/lit.local.cfg
    M bolt/test/lit.site.cfg.py.in
    M bolt/test/lsda-section-name.cpp
    M bolt/test/no-relocs.test
    M bolt/test/non-empty-debug-line.test
    M bolt/test/perf2bolt/lit.local.cfg
    M bolt/test/perf2bolt/perf_test.test
    M bolt/test/permission.test
    M bolt/test/pie.test
    M bolt/test/re-optimize.test
    R bolt/test/runtime/X86/Inputs/indirect_goto.c
    M bolt/test/runtime/X86/asm-dump.c
    M bolt/test/runtime/X86/hot-end-symbol.s
    R bolt/test/runtime/X86/indirect-goto-pie.test
    A bolt/test/runtime/X86/instrument-wrong-target.s
    A bolt/test/runtime/X86/jt-confusion.s
    M bolt/test/runtime/X86/unclaimed-jt-entries.s
    A bolt/test/runtime/bolt-reserved.cpp
    R bolt/test/runtime/instrument-wrong-target.s
    M bolt/test/shared-object.test
    A bolt/test/timers.c
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/CMakeLists.txt
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/utils/docker/Dockerfile
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/CODE_OWNERS.TXT
    M clang-tools-extra/clang-apply-replacements/include/clang-apply-replacements/Tooling/ApplyReplacements.h
    M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
    M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Mapper.h
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/assets/index.js
    M clang-tools-extra/clang-doc/tool/CMakeLists.txt
    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-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
    M clang-tools-extra/clang-include-fixer/tool/clang-include-fixer.el
    M clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/clang-query/tool/ClangQuery.cpp
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.h
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/GlobList.h
    M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
    M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
    M clang-tools-extra/clang-tidy/boost/CMakeLists.txt
    A clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
    A clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.h
    M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.h
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
    M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.cpp
    R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.cpp
    R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
    M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
    M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
    M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
    M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
    M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
    M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
    M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.h
    M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
    M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
    M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
    A clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    A clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
    A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
    A clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.cpp
    A clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.h
    M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
    A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
    A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
    A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
    M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    A clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
    A clang-tools-extra/clang-tidy/utils/DesignatedInitializers.h
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.h
    M clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
    A clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M clang-tools-extra/clangd/CollectMacros.cpp
    M clang-tools-extra/clangd/CollectMacros.h
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Compiler.h
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/DumpAST.cpp
    M clang-tools-extra/clangd/ExpectedTypes.cpp
    M clang-tools-extra/clangd/FS.cpp
    M clang-tools-extra/clangd/Feature.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/Format.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    M clang-tools-extra/clangd/Headers.cpp
    M clang-tools-extra/clangd/HeuristicResolver.cpp
    M clang-tools-extra/clangd/HeuristicResolver.h
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/IncludeCleaner.h
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/JSONTransport.cpp
    A clang-tools-extra/clangd/ModulesBuilder.cpp
    A clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    A clang-tools-extra/clangd/ProjectModules.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    A clang-tools-extra/clangd/ScanningProjectModules.cpp
    A clang-tools-extra/clangd/ScanningProjectModules.h
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/Selection.h
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/SemanticSelection.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/SourceCode.h
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang-tools-extra/clangd/TidyProvider.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
    M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
    M clang-tools-extra/clangd/index/IndexAction.cpp
    M clang-tools-extra/clangd/index/Symbol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/remote/CMakeLists.txt
    M clang-tools-extra/clangd/index/remote/Client.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
    A clang-tools-extra/clangd/support/Bracket.cpp
    A clang-tools-extra/clangd/support/Bracket.h
    M clang-tools-extra/clangd/support/CMakeLists.txt
    A clang-tools-extra/clangd/support/DirectiveTree.cpp
    A clang-tools-extra/clangd/support/DirectiveTree.h
    A clang-tools-extra/clangd/support/Lex.cpp
    M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
    A clang-tools-extra/clangd/support/Token.cpp
    A clang-tools-extra/clangd/support/Token.h
    M clang-tools-extra/clangd/support/Trace.cpp
    M clang-tools-extra/clangd/support/Trace.h
    M clang-tools-extra/clangd/test/CMakeLists.txt
    M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
    M clang-tools-extra/clangd/test/hover.test
    M clang-tools-extra/clangd/test/infinite-instantiation.test
    M clang-tools-extra/clangd/test/initialize-params.test
    M clang-tools-extra/clangd/test/inlayHints.test
    A clang-tools-extra/clangd/test/modules.test
    M clang-tools-extra/clangd/test/rename.test
    M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
    M clang-tools-extra/clangd/test/trace.test
    M clang-tools-extra/clangd/tool/CMakeLists.txt
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/ASTTests.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/ClangdTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.h
    M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    A clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/clangd/unittests/SerializationTests.cpp
    M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TestFS.h
    M clang-tools-extra/clangd/unittests/TestIndex.cpp
    M clang-tools-extra/clangd/unittests/TestIndex.h
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/AddUsingTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
    M clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
    M clang-tools-extra/docs/CMakeLists.txt
    M clang-tools-extra/docs/ReleaseNotes.rst
    R clang-tools-extra/docs/clang-rename.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    A clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
    A clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/dangling-handle.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-include.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/prefer-member-initializer.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
    M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/global-names-in-headers.rst
    A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
    R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/header-guard.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/definitions-in-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/unused-using-decls.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-anonymous-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-swap.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-nested-conditional-operator.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/use-std-min-max.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/docs/index.rst
    M clang-tools-extra/docs/modularize.rst
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/IncludeSpeller.cpp
    M clang-tools-extra/include-cleaner/lib/Record.cpp
    M clang-tools-extra/include-cleaner/lib/Types.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
    M clang-tools-extra/include-cleaner/test/tool.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/CMakeLists.txt
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
    M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/modularize/CoverageChecker.cpp
    M clang-tools-extra/modularize/Modularize.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang-tools-extra/pp-trace/PPCallbacksTracker.h
    R clang-tools-extra/pseudo/CMakeLists.txt
    R clang-tools-extra/pseudo/DesignNotes.md
    R clang-tools-extra/pseudo/Disambiguation.md
    R clang-tools-extra/pseudo/README.md
    R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
    R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
    R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
    R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
    R clang-tools-extra/pseudo/fuzzer/Main.cpp
    R clang-tools-extra/pseudo/gen/CMakeLists.txt
    R clang-tools-extra/pseudo/gen/Main.cpp
    R clang-tools-extra/pseudo/include/CMakeLists.txt
    R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
    R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
    R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
    R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
    R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
    R clang-tools-extra/pseudo/lib/Bracket.cpp
    R clang-tools-extra/pseudo/lib/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
    R clang-tools-extra/pseudo/lib/Disambiguate.cpp
    R clang-tools-extra/pseudo/lib/Forest.cpp
    R clang-tools-extra/pseudo/lib/GLR.cpp
    R clang-tools-extra/pseudo/lib/Lex.cpp
    R clang-tools-extra/pseudo/lib/Token.cpp
    R clang-tools-extra/pseudo/lib/cli/CLI.cpp
    R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
    R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
    R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
    R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
    R clang-tools-extra/pseudo/test/.clang-format
    R clang-tools-extra/pseudo/test/CMakeLists.txt
    R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
    R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
    R clang-tools-extra/pseudo/test/check-cxx-bnf.test
    R clang-tools-extra/pseudo/test/crash/backslashes.c
    R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
    R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
    R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
    R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
    R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
    R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
    R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
    R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
    R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
    R clang-tools-extra/pseudo/test/cxx/keyword.cpp
    R clang-tools-extra/pseudo/test/cxx/literals.cpp
    R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
    R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
    R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
    R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
    R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
    R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
    R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
    R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
    R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
    R clang-tools-extra/pseudo/test/fuzzer.cpp
    R clang-tools-extra/pseudo/test/glr-variant-start.cpp
    R clang-tools-extra/pseudo/test/glr.cpp
    R clang-tools-extra/pseudo/test/html-forest.c
    R clang-tools-extra/pseudo/test/lex.c
    R clang-tools-extra/pseudo/test/lit.cfg.py
    R clang-tools-extra/pseudo/test/lit.local.cfg
    R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
    R clang-tools-extra/pseudo/test/lr-build-basic.test
    R clang-tools-extra/pseudo/test/lr-build-conflicts.test
    R clang-tools-extra/pseudo/test/strip-directives.c
    R clang-tools-extra/pseudo/tool/CMakeLists.txt
    R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
    R clang-tools-extra/pseudo/tool/HTMLForest.cpp
    R clang-tools-extra/pseudo/tool/HTMLForest.css
    R clang-tools-extra/pseudo/tool/HTMLForest.html
    R clang-tools-extra/pseudo/tool/HTMLForest.js
    R clang-tools-extra/pseudo/unittests/BracketTest.cpp
    R clang-tools-extra/pseudo/unittests/CMakeLists.txt
    R clang-tools-extra/pseudo/unittests/CXXTest.cpp
    R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
    R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
    R clang-tools-extra/pseudo/unittests/ForestTest.cpp
    R clang-tools-extra/pseudo/unittests/GLRTest.cpp
    R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
    R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
    R clang-tools-extra/pseudo/unittests/TokenTest.cpp
    M clang-tools-extra/test/CMakeLists.txt
    R clang-tools-extra/test/clang-apply-replacements/ClangRenameClassReplacements.cpp
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.cpp
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.yaml
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.cpp
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.yaml
    A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/basic.h
    A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file1.yml
    A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file2.yml
    A clang-tools-extra/test/clang-apply-replacements/format-header.cpp
    A clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/database_template.json
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Rectangle.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Shape.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
    A clang-tools-extra/test/clang-doc/Inputs/test-assets/test.css
    A clang-tools-extra/test/clang-doc/Inputs/test-assets/test.js
    A clang-tools-extra/test/clang-doc/assets.cpp
    A clang-tools-extra/test/clang-doc/basic-project.test
    A clang-tools-extra/test/clang-doc/enum.cpp
    A clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    A clang-tools-extra/test/clang-doc/test-path-abs.cpp
    A clang-tools-extra/test/clang-query/Inputs/empty.script
    A clang-tools-extra/test/clang-query/Inputs/file.script
    A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
    M clang-tools-extra/test/clang-query/errors.c
    A clang-tools-extra/test/clang-query/file-empty.c
    A clang-tools-extra/test/clang-query/file-query.c
    M clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
    M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/external-file.h
    M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
    A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h
    A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
    A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
    A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/crtp-constructor-accessibility.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-constants.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/lambda-function-name.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/non-zero-enum-to-bool-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-all.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-decl-only.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
    R clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-any-pointer.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics-c11.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-warn-on-sizeof-pointer-to-aggregate.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cert/flp30-c.c
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
    A clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int.cpp
    M clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
    M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func.h
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_cpp.inc
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_h.inc
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/var.h
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.self.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator-cxx23.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
    R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/avoid-endl.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-swap.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation3/.clang-tidy
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/.clang-tidy
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/test.h
    A clang-tools-extra/test/clang-tidy/checkers/readability/avoid-nested-conditional-operator.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx98.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
    R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    A clang-tools-extra/test/clang-tidy/infrastructure/allow-no-checks.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
    M clang-tools-extra/test/lit.site.cfg.py.in
    M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
    M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
    M clang-tools-extra/test/pp-trace/Inputs/module.modulemap
    M clang-tools-extra/test/pp-trace/pp-trace-include.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-macro.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
    M clang-tools-extra/unittests/CMakeLists.txt
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp
    M clang-tools-extra/unittests/clang-tidy/NamespaceAliaserTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
    M clang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
    M clang-tools-extra/unittests/clang-tidy/UsingInserterTest.cpp
    M clang/CMakeLists.txt
    M clang/CodeOwners.rst
    A clang/README.md
    R clang/README.txt
    M clang/bindings/python/README.txt
    M clang/bindings/python/clang/cindex.py
    R clang/bindings/python/clang/enumerations.py
    M clang/bindings/python/tests/CMakeLists.txt
    M clang/bindings/python/tests/cindex/test_code_completion.py
    M clang/bindings/python/tests/cindex/test_comment.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    A clang/bindings/python/tests/cindex/test_enums.py
    M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
    M clang/bindings/python/tests/cindex/test_location.py
    A clang/bindings/python/tests/cindex/test_rewrite.py
    A clang/bindings/python/tests/cindex/test_source_range.py
    M clang/bindings/python/tests/cindex/test_token_kind.py
    M clang/cmake/caches/Apple-stage2.cmake
    M clang/cmake/caches/BOLT.cmake
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/cmake/caches/PGO.cmake
    M clang/cmake/caches/Release.cmake
    M clang/cmake/caches/VectorEngine.cmake
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/APINotes.rst
    M clang/docs/Block-ABI-Apple.rst
    A clang/docs/BoundsSafety.rst
    A clang/docs/BoundsSafetyImplPlans.rst
    M clang/docs/CMakeLists.txt
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangFormattedStatus.rst
    M clang/docs/ClangLinkerWrapper.rst
    A clang/docs/ClangNVLinkWrapper.rst
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/DataFlowSanitizer.rst
    M clang/docs/DebuggingCoroutines.rst
    M clang/docs/ExternalClangExamples.rst
    M clang/docs/HIPSupport.rst
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    A clang/docs/HLSL/ExpectedDifferences.rst
    A clang/docs/HLSL/FunctionCalls.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/HLSL/HLSLIRReference.rst
    M clang/docs/HLSL/HLSLSupport.rst
    M clang/docs/HLSL/ResourceTypes.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/LibASTMatchersTutorial.rst
    M clang/docs/LibTooling.rst
    M clang/docs/MSVCCompatibility.rst
    M clang/docs/MemorySanitizer.rst
    M clang/docs/Multilib.rst
    M clang/docs/OffloadingDesign.rst
    M clang/docs/OpenMPSupport.rst
    A clang/docs/PointerAuthentication.rst
    A clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ShadowCallStack.rst
    M clang/docs/SourceBasedCodeCoverage.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
    A clang/docs/analyzer/images/analyzer_html.png
    A clang/docs/analyzer/images/analyzer_xcode.png
    A clang/docs/analyzer/images/scan_build_cmd.png
    M clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/FilingBugs.rst
    A clang/docs/analyzer/user-docs/Installation.rst
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    A clang/docs/analyzer/user-docs/UsingWithXCode.rst
    M clang/docs/conf.py
    A clang/docs/ghlinks.py
    M clang/docs/index.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/docs/tools/dump_ast_matchers.py
    M clang/docs/tools/dump_format_style.py
    M clang/docs/tools/generate_formatted_state.py
    M clang/examples/Attribute/CMakeLists.txt
    M clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.cpp
    M clang/examples/PrintFunctionNames/PrintFunctionNames.cpp
    M clang/include/clang-c/CXSourceLocation.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    A clang/include/clang/AST/APNumericStorage.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTConsumer.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTImporter.h
    M clang/include/clang/AST/ASTMutationListener.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ASTUnresolvedSet.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/include/clang/AST/AbstractBasicWriter.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
    M clang/include/clang/AST/CommentCommandTraits.h
    M clang/include/clang/AST/CommentCommands.td
    M clang/include/clang/AST/CommentParser.h
    M clang/include/clang/AST/ComparisonCategories.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclAccessPair.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclFriend.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DependenceFlags.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprOpenMP.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/ODRHash.h
    A clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/ParentMapContext.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RawCommentList.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtDataCollectors.td
    M clang/include/clang/AST/StmtObjC.h
    A clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/StmtVisitor.h
    M clang/include/clang/AST/TemplateArgumentVisitor.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TextNodeDumper.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/AST/UnresolvedSet.h
    M clang/include/clang/AST/VTTBuilder.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
    M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/CFG.h
    A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Analysis/FlowSensitive/Formula.h
    M clang/include/clang/Analysis/FlowSensitive/Logger.h
    M clang/include/clang/Analysis/FlowSensitive/MapLattice.h
    M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
    M clang/include/clang/Analysis/FlowSensitive/Solver.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/Value.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Analysis/SelectorExtras.h
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    A clang/include/clang/Basic/AMDGPUTypes.def
    A clang/include/clang/Basic/ASTSourceDescriptor.h
    M clang/include/clang/Basic/AllDiagnostics.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.h
    A clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    R clang/include/clang/Basic/BuiltinsBPF.def
    A clang/include/clang/Basic/BuiltinsBPF.td
    A clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsLoongArchBase.def
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    R clang/include/clang/Basic/BuiltinsRISCV.def
    A clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CharInfo.h
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/CustomizableOptional.h
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCategories.h
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDocs.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    A clang/include/clang/Basic/DiagnosticInstallAPI.h
    A clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticOptions.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/DirectoryEntry.h
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/FileManager.h
    A clang/include/clang/Basic/HLSLIntangibleTypes.def
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Basic/LangStandards.def
    M clang/include/clang/Basic/MSP430Target.def
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/ObjCRuntime.h
    A clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenCLExtensionTypes.def
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/PartialDiagnostic.h
    A clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/RISCVVTypes.def
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/SyncScope.h
    A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetCXXABI.def
    M clang/include/clang/Basic/TargetCXXABI.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TargetOSMacros.def
    M clang/include/clang/Basic/Thunk.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Basic/Visibility.h
    M clang/include/clang/Basic/arm_fp16.td
    A clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    A clang/include/clang/CIR/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    A clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/include/clang/CMakeLists.txt
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/include/clang/CodeGen/CodeGenAction.h
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    R clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
    A clang/include/clang/CodeGen/ObjectFilePCHContainerWriter.h
    M clang/include/clang/Config/config.h.cmake
    M clang/include/clang/Driver/ClangOptionDocs.td
    M clang/include/clang/Driver/Distro.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Multilib.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
    M clang/include/clang/ExtractAPI/API.h
    A clang/include/clang/ExtractAPI/APIRecords.inc
    R clang/include/clang/ExtractAPI/AvailabilityInfo.h
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/FrontendActions.h
    A clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
    R clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Frontend/PrecompiledPreamble.h
    M clang/include/clang/Frontend/PreprocessorOutputOptions.h
    M clang/include/clang/Frontend/SerializedDiagnosticReader.h
    M clang/include/clang/Frontend/TextDiagnostic.h
    M clang/include/clang/Frontend/Utils.h
    M clang/include/clang/Index/DeclOccurrence.h
    A clang/include/clang/InstallAPI/Context.h
    A clang/include/clang/InstallAPI/DirectoryScanner.h
    A clang/include/clang/InstallAPI/DylibVerifier.h
    A clang/include/clang/InstallAPI/FileList.h
    A clang/include/clang/InstallAPI/Frontend.h
    A clang/include/clang/InstallAPI/FrontendRecords.h
    A clang/include/clang/InstallAPI/HeaderFile.h
    A clang/include/clang/InstallAPI/InstallAPIDiagnostic.h
    A clang/include/clang/InstallAPI/Library.h
    A clang/include/clang/InstallAPI/MachO.h
    A clang/include/clang/InstallAPI/Visitor.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Interpreter/Value.h
    M clang/include/clang/Lex/ExternalPreprocessorSource.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/Lexer.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Lex/MacroInfo.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/PPCallbacks.h
    A clang/include/clang/Lex/PPDirectiveParameter.h
    A clang/include/clang/Lex/PPEmbedParameters.h
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Lex/Token.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    R clang/include/clang/Rewrite/Core/DeltaTree.h
    M clang/include/clang/Rewrite/Core/HTMLRewrite.h
    R clang/include/clang/Rewrite/Core/RewriteRope.h
    M clang/include/clang/Rewrite/Core/Rewriter.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.h
    A clang/include/clang/Sema/Attr.h
    M clang/include/clang/Sema/CodeCompleteConsumer.h
    M clang/include/clang/Sema/CodeCompleteOptions.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/DelayedDiagnostic.h
    M clang/include/clang/Sema/ExternalSemaSource.h
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/include/clang/Sema/Initialization.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/ParsedTemplate.h
    A clang/include/clang/Sema/Redeclaration.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaAMDGPU.h
    A clang/include/clang/Sema/SemaARM.h
    A clang/include/clang/Sema/SemaAVR.h
    A clang/include/clang/Sema/SemaBPF.h
    A clang/include/clang/Sema/SemaBase.h
    A clang/include/clang/Sema/SemaCUDA.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaConcept.h
    A clang/include/clang/Sema/SemaHLSL.h
    A clang/include/clang/Sema/SemaHexagon.h
    M clang/include/clang/Sema/SemaInternal.h
    A clang/include/clang/Sema/SemaLoongArch.h
    A clang/include/clang/Sema/SemaM68k.h
    A clang/include/clang/Sema/SemaMIPS.h
    A clang/include/clang/Sema/SemaMSP430.h
    A clang/include/clang/Sema/SemaNVPTX.h
    A clang/include/clang/Sema/SemaObjC.h
    A clang/include/clang/Sema/SemaOpenACC.h
    A clang/include/clang/Sema/SemaOpenCL.h
    A clang/include/clang/Sema/SemaOpenMP.h
    A clang/include/clang/Sema/SemaPPC.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    A clang/include/clang/Sema/SemaRISCV.h
    A clang/include/clang/Sema/SemaSYCL.h
    A clang/include/clang/Sema/SemaSwift.h
    A clang/include/clang/Sema/SemaSystemZ.h
    A clang/include/clang/Sema/SemaWasm.h
    A clang/include/clang/Sema/SemaX86.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Sema/TypoCorrection.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleFileExtension.h
    M clang/include/clang/Serialization/ModuleManager.h
    A clang/include/clang/Serialization/ObjectFilePCHContainerReader.h
    M clang/include/clang/Serialization/PCHContainerOperations.h
    M clang/include/clang/Serialization/SourceLocationEncoding.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugSuppression.h
    A clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicExtent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Testing/CommandLineArgs.h
    M clang/include/clang/Testing/TestAST.h
    M clang/include/clang/Testing/TestClangConfig.h
    M clang/include/clang/Tooling/CommonOptionsParser.h
    M clang/include/clang/Tooling/CompilationDatabase.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/include/clang/Tooling/Refactoring/ASTSelection.h
    M clang/include/clang/Tooling/Syntax/Tokens.h
    M clang/include/clang/Tooling/Transformer/RangeSelector.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/FileRemapper.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/ARCMigrate/TransAPIUses.cpp
    M clang/lib/ARCMigrate/TransGCAttrs.cpp
    M clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
    M clang/lib/ARCMigrate/Transforms.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/AttrDocTable.cpp
    A clang/lib/AST/Availability.cpp
    A clang/lib/AST/ByteCode/Boolean.h
    A clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    A clang/lib/AST/ByteCode/ByteCodeEmitter.h
    A clang/lib/AST/ByteCode/Compiler.cpp
    A clang/lib/AST/ByteCode/Compiler.h
    A clang/lib/AST/ByteCode/Context.cpp
    A clang/lib/AST/ByteCode/Context.h
    A clang/lib/AST/ByteCode/Descriptor.cpp
    A clang/lib/AST/ByteCode/Descriptor.h
    A clang/lib/AST/ByteCode/Disasm.cpp
    A clang/lib/AST/ByteCode/DynamicAllocator.cpp
    A clang/lib/AST/ByteCode/DynamicAllocator.h
    A clang/lib/AST/ByteCode/EvalEmitter.cpp
    A clang/lib/AST/ByteCode/EvalEmitter.h
    A clang/lib/AST/ByteCode/EvaluationResult.cpp
    A clang/lib/AST/ByteCode/EvaluationResult.h
    A clang/lib/AST/ByteCode/Floating.cpp
    A clang/lib/AST/ByteCode/Floating.h
    A clang/lib/AST/ByteCode/Frame.cpp
    A clang/lib/AST/ByteCode/Frame.h
    A clang/lib/AST/ByteCode/Function.cpp
    A clang/lib/AST/ByteCode/Function.h
    A clang/lib/AST/ByteCode/FunctionPointer.cpp
    A clang/lib/AST/ByteCode/FunctionPointer.h
    A clang/lib/AST/ByteCode/Integral.h
    A clang/lib/AST/ByteCode/IntegralAP.h
    A clang/lib/AST/ByteCode/Interp.cpp
    A clang/lib/AST/ByteCode/Interp.h
    A clang/lib/AST/ByteCode/InterpBlock.cpp
    A clang/lib/AST/ByteCode/InterpBlock.h
    A clang/lib/AST/ByteCode/InterpBuiltin.cpp
    A clang/lib/AST/ByteCode/InterpFrame.cpp
    A clang/lib/AST/ByteCode/InterpFrame.h
    A clang/lib/AST/ByteCode/InterpShared.cpp
    A clang/lib/AST/ByteCode/InterpShared.h
    A clang/lib/AST/ByteCode/InterpStack.cpp
    A clang/lib/AST/ByteCode/InterpStack.h
    A clang/lib/AST/ByteCode/InterpState.cpp
    A clang/lib/AST/ByteCode/InterpState.h
    A clang/lib/AST/ByteCode/MemberPointer.cpp
    A clang/lib/AST/ByteCode/MemberPointer.h
    A clang/lib/AST/ByteCode/Opcode.h
    A clang/lib/AST/ByteCode/Opcodes.td
    A clang/lib/AST/ByteCode/Pointer.cpp
    A clang/lib/AST/ByteCode/Pointer.h
    A clang/lib/AST/ByteCode/PrimType.cpp
    A clang/lib/AST/ByteCode/PrimType.h
    A clang/lib/AST/ByteCode/Primitives.h
    A clang/lib/AST/ByteCode/Program.cpp
    A clang/lib/AST/ByteCode/Program.h
    A clang/lib/AST/ByteCode/Record.cpp
    A clang/lib/AST/ByteCode/Record.h
    A clang/lib/AST/ByteCode/Source.cpp
    A clang/lib/AST/ByteCode/Source.h
    A clang/lib/AST/ByteCode/State.cpp
    A clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CommentParser.cpp
    M clang/lib/AST/ComparisonCategories.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/DataCollection.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/FormatString.cpp
    R clang/lib/AST/Interp/Boolean.h
    R clang/lib/AST/Interp/ByteCodeEmitter.cpp
    R clang/lib/AST/Interp/ByteCodeEmitter.h
    R clang/lib/AST/Interp/ByteCodeExprGen.cpp
    R clang/lib/AST/Interp/ByteCodeExprGen.h
    R clang/lib/AST/Interp/ByteCodeGenError.cpp
    R clang/lib/AST/Interp/ByteCodeGenError.h
    R clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    R clang/lib/AST/Interp/ByteCodeStmtGen.h
    R clang/lib/AST/Interp/Context.cpp
    R clang/lib/AST/Interp/Context.h
    R clang/lib/AST/Interp/Descriptor.cpp
    R clang/lib/AST/Interp/Descriptor.h
    R clang/lib/AST/Interp/Disasm.cpp
    R clang/lib/AST/Interp/EvalEmitter.cpp
    R clang/lib/AST/Interp/EvalEmitter.h
    R clang/lib/AST/Interp/Floating.cpp
    R clang/lib/AST/Interp/Floating.h
    R clang/lib/AST/Interp/Frame.cpp
    R clang/lib/AST/Interp/Frame.h
    R clang/lib/AST/Interp/Function.cpp
    R clang/lib/AST/Interp/Function.h
    R clang/lib/AST/Interp/FunctionPointer.h
    R clang/lib/AST/Interp/Integral.h
    R clang/lib/AST/Interp/IntegralAP.h
    R clang/lib/AST/Interp/Interp.cpp
    R clang/lib/AST/Interp/Interp.h
    R clang/lib/AST/Interp/InterpBlock.cpp
    R clang/lib/AST/Interp/InterpBlock.h
    R clang/lib/AST/Interp/InterpBuiltin.cpp
    R clang/lib/AST/Interp/InterpFrame.cpp
    R clang/lib/AST/Interp/InterpFrame.h
    R clang/lib/AST/Interp/InterpStack.cpp
    R clang/lib/AST/Interp/InterpStack.h
    R clang/lib/AST/Interp/InterpState.cpp
    R clang/lib/AST/Interp/InterpState.h
    R clang/lib/AST/Interp/Opcode.h
    R clang/lib/AST/Interp/Opcodes.td
    R clang/lib/AST/Interp/Pointer.cpp
    R clang/lib/AST/Interp/Pointer.h
    R clang/lib/AST/Interp/PrimType.cpp
    R clang/lib/AST/Interp/PrimType.h
    R clang/lib/AST/Interp/Primitives.h
    R clang/lib/AST/Interp/Program.cpp
    R clang/lib/AST/Interp/Program.h
    R clang/lib/AST/Interp/Record.cpp
    R clang/lib/AST/Interp/Record.h
    R clang/lib/AST/Interp/Source.cpp
    R clang/lib/AST/Interp/Source.h
    R clang/lib/AST/Interp/State.cpp
    R clang/lib/AST/Interp/State.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/Linkage.h
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    A clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/ParentMapContext.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/ScanfFormatString.cpp
    M clang/lib/AST/SelectorLocationsKind.cpp
    M clang/lib/AST/Stmt.cpp
    A clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/StmtViz.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTTBuilder.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/CalledOnceCheck.cpp
    M clang/lib/Analysis/Consumed.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.css
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.html
    M clang/lib/Analysis/FlowSensitive/Logger.cpp
    M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
    M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/FlowSensitive/Value.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/lib/Analysis/MacroExpansionContext.cpp
    M clang/lib/Analysis/ObjCNoReturn.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ReachableCode.cpp
    M clang/lib/Analysis/RetainSummaryManager.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UninitializedValues.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/lib/Basic/ASTSourceDescriptor.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/CharInfo.cpp
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/OperatorPrecedence.cpp
    M clang/lib/Basic/Sarif.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    R clang/lib/Basic/Targets/Le64.cpp
    R clang/lib/Basic/Targets/Le64.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Basic/Warnings.cpp
    A clang/lib/CIR/CMakeLists.txt
    A clang/lib/CIR/Dialect/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/ABIInfoImpl.h
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCUDARuntime.cpp
    M clang/lib/CodeGen/CGCUDARuntime.h
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
    A clang/lib/CodeGen/CGPointerAuth.cpp
    A clang/lib/CodeGen/CGPointerAuthInfo.h
    M clang/lib/CodeGen/CGRecordLayout.h
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGVTables.h
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/lib/CodeGen/ConstantEmitter.h
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    M clang/lib/CodeGen/LinkInModulesPass.h
    A clang/lib/CodeGen/MCDCState.h
    M clang/lib/CodeGen/MacroPPCallbacks.cpp
    M clang/lib/CodeGen/MacroPPCallbacks.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    R clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
    A clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/ARC.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/CSKY.cpp
    A clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/Hexagon.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/MSP430.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PNaCl.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Distro.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.h
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.h
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.h
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.h
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.h
    M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
    M clang/lib/Driver/ToolChains/Arch/SystemZ.h
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Clang.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hurd.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    M clang/lib/Driver/ToolChains/MipsLinux.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
    M clang/lib/Driver/ToolChains/RISCVToolchain.h
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    A clang/lib/Driver/ToolChains/UEFI.cpp
    A clang/lib/Driver/ToolChains/UEFI.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/ExtractAPI/API.cpp
    R clang/lib/ExtractAPI/AvailabilityInfo.cpp
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
    M clang/lib/Format/AffectedRangeManager.h
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/BreakableToken.h
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Encoding.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatInternal.h
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/SortJavaScriptImports.h
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineFormatter.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTConsumers.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/ChainedIncludesSource.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/DependencyGraph.cpp
    M clang/lib/Frontend/DiagnosticRenderer.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/FrontendOptions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
    M clang/lib/Frontend/LogDiagnosticPrinter.cpp
    M clang/lib/Frontend/ModuleDependencyCollector.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Frontend/PrecompiledPreamble.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
    M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
    M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/Frontend/TextDiagnosticBuffer.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_device_functions.h
    M clang/lib/Headers/__clang_cuda_intrinsics.h
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/lib/Headers/__clang_hip_cmath.h
    M clang/lib/Headers/__clang_hip_math.h
    A clang/lib/Headers/__stdarg_header_macro.h
    A clang/lib/Headers/__stddef_header_macro.h
    M clang/lib/Headers/__stddef_null.h
    M clang/lib/Headers/__stddef_nullptr_t.h
    M clang/lib/Headers/__stddef_offsetof.h
    M clang/lib/Headers/__stddef_ptrdiff_t.h
    M clang/lib/Headers/__stddef_rsize_t.h
    M clang/lib/Headers/__stddef_size_t.h
    M clang/lib/Headers/__stddef_unreachable.h
    M clang/lib/Headers/__stddef_wchar_t.h
    M clang/lib/Headers/altivec.h
    M clang/lib/Headers/arm_acle.h
    A clang/lib/Headers/avx10_2_512bf16intrin.h
    A clang/lib/Headers/avx10_2_512convertintrin.h
    A clang/lib/Headers/avx10_2_512minmaxintrin.h
    A clang/lib/Headers/avx10_2_512niintrin.h
    A clang/lib/Headers/avx10_2_512satcvtdsintrin.h
    A clang/lib/Headers/avx10_2_512satcvtintrin.h
    A clang/lib/Headers/avx10_2bf16intrin.h
    A clang/lib/Headers/avx10_2convertintrin.h
    A clang/lib/Headers/avx10_2copyintrin.h
    A clang/lib/Headers/avx10_2minmaxintrin.h
    A clang/lib/Headers/avx10_2niintrin.h
    A clang/lib/Headers/avx10_2satcvtdsintrin.h
    A clang/lib/Headers/avx10_2satcvtintrin.h
    M clang/lib/Headers/avx2intrin.h
    M clang/lib/Headers/avx512bitalgintrin.h
    R clang/lib/Headers/avx512erintrin.h
    M clang/lib/Headers/avx512fp16intrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/avx512vlbitalgintrin.h
    M clang/lib/Headers/avx512vpopcntdqintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/avxvnniint16intrin.h
    M clang/lib/Headers/avxvnniint8intrin.h
    M clang/lib/Headers/bmiintrin.h
    M clang/lib/Headers/builtins.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/cuda_wrappers/algorithm
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/float.h
    M clang/lib/Headers/fmaintrin.h
    M clang/lib/Headers/gfniintrin.h
    M clang/lib/Headers/hexagon_types.h
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    A clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/ia32intrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    A clang/lib/Headers/intrin0.h
    M clang/lib/Headers/inttypes.h
    M clang/lib/Headers/iso646.h
    M clang/lib/Headers/keylockerintrin.h
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/limits.h
    M clang/lib/Headers/llvm_libc_wrappers/assert.h
    M clang/lib/Headers/llvm_libc_wrappers/ctype.h
    M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
    M clang/lib/Headers/llvm_libc_wrappers/string.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_device.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_host.h
    M clang/lib/Headers/lsxintrin.h
    M clang/lib/Headers/mm3dnow.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
    M clang/lib/Headers/pmmintrin.h
    M clang/lib/Headers/prfchwintrin.h
    A clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/sifive_vector.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/stdalign.h
    M clang/lib/Headers/stdarg.h
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Headers/stdbool.h
    M clang/lib/Headers/stddef.h
    M clang/lib/Headers/stdint.h
    M clang/lib/Headers/stdnoreturn.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/varargs.h
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Headers/wasm_simd128.h
    M clang/lib/Headers/x86gprintrin.h
    M clang/lib/Headers/x86intrin.h
    M clang/lib/Headers/xmmintrin.h
    A clang/lib/Headers/yvals_core.h
    A clang/lib/Headers/zos_wrappers/builtins.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Index/IndexBody.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Index/IndexSymbol.cpp
    M clang/lib/Index/IndexingAction.cpp
    M clang/lib/Index/USRGeneration.cpp
    A clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
    A clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
    A clang/lib/InstallAPI/DirectoryScanner.cpp
    A clang/lib/InstallAPI/DylibVerifier.cpp
    A clang/lib/InstallAPI/FileList.cpp
    A clang/lib/InstallAPI/Frontend.cpp
    A clang/lib/InstallAPI/HeaderFile.cpp
    A clang/lib/InstallAPI/Library.cpp
    A clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/DeviceOffload.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/InterpreterUtils.cpp
    M clang/lib/Interpreter/InterpreterUtils.h
    A clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/lib/Interpreter/Value.cpp
    A clang/lib/Interpreter/Wasm.cpp
    A clang/lib/Interpreter/Wasm.h
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/MacroInfo.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/PreprocessingRecord.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/TokenConcatenation.cpp
    M clang/lib/Lex/UnicodeCharSets.h
    M clang/lib/Parse/ParseAST.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/ParseHLSL.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Rewrite/CMakeLists.txt
    R clang/lib/Rewrite/DeltaTree.cpp
    M clang/lib/Rewrite/HTMLRewrite.cpp
    R clang/lib/Rewrite/RewriteRope.cpp
    M clang/lib/Rewrite/Rewriter.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/CheckExprLifetime.cpp
    A clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/CodeCompleteConsumer.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Scope.cpp
    M clang/lib/Sema/ScopeInfo.cpp
    M clang/lib/Sema/Sema.cpp
    A clang/lib/Sema/SemaAMDGPU.cpp
    A clang/lib/Sema/SemaAPINotes.cpp
    A clang/lib/Sema/SemaARM.cpp
    A clang/lib/Sema/SemaAVR.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    A clang/lib/Sema/SemaBPF.cpp
    A clang/lib/Sema/SemaBase.cpp
    A clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/lib/Sema/SemaHexagon.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    A clang/lib/Sema/SemaLoongArch.cpp
    A clang/lib/Sema/SemaM68k.cpp
    A clang/lib/Sema/SemaMIPS.cpp
    A clang/lib/Sema/SemaMSP430.cpp
    M clang/lib/Sema/SemaModule.cpp
    A clang/lib/Sema/SemaNVPTX.cpp
    A clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    A clang/lib/Sema/SemaOpenACC.cpp
    A clang/lib/Sema/SemaOpenCL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    A clang/lib/Sema/SemaPPC.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/lib/Sema/SemaSwift.cpp
    A clang/lib/Sema/SemaSystemZ.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/lib/Sema/SemaWasm.cpp
    A clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/CMakeLists.txt
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/ModuleFile.cpp
    M clang/lib/Serialization/ModuleFileExtension.cpp
    M clang/lib/Serialization/MultiOnDiskHashTable.h
    A clang/lib/Serialization/ObjectFilePCHContainerReader.cpp
    M clang/lib/Serialization/PCHContainerOperations.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    R clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
    A clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.h
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/DynamicExtent.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Core/Store.cpp
    M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
    A clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
    M clang/lib/Support/CMakeLists.txt
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Testing/CommandLineArgs.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
    M clang/lib/Tooling/AllTUsExecution.cpp
    M clang/lib/Tooling/ArgumentsAdjusters.cpp
    M clang/lib/Tooling/CMakeLists.txt
    M clang/lib/Tooling/CommonOptionsParser.cpp
    M clang/lib/Tooling/CompilationDatabase.cpp
    M clang/lib/Tooling/Core/Replacement.cpp
    M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/lib/Tooling/Inclusions/IncludeStyle.cpp
    M clang/lib/Tooling/Inclusions/Stdlib/CMakeLists.txt
    A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
    M clang/lib/Tooling/JSONCompilationDatabase.cpp
    A clang/lib/Tooling/LocateToolCompilationDatabase.cpp
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/lib/Tooling/Refactoring/AtomicChange.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/lib/Tooling/Syntax/Tokens.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/lib/Tooling/Transformer/RangeSelector.cpp
    M clang/lib/Tooling/Transformer/SourceCode.cpp
    M clang/lib/Tooling/Transformer/Stencil.cpp
    A clang/test/APINotes/Inputs/APINotes/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders/APINotes.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders/SomeBrokenLib.h
    A clang/test/APINotes/Inputs/BrokenHeaders2/APINotes.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders2/SomeBrokenLib.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Headers/FrameworkWithActualPrivateModule.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Headers/FrameworkWithWrongCase.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/PrivateHeaders/FrameworkWithWrongCase_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Headers/FrameworkWithWrongCasePrivate.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/PrivateHeaders/FrameworkWithWrongCasePrivate_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Headers/LayeredKit.h
    A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.apinotes
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.h
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKitForNullAnnotation.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module_private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_Private.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_PrivateForNullAnnotation.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/APINotes/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.h
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit.h
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.h
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.h
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Headers/APINotes.apinotes
    A clang/test/APINotes/Inputs/Headers/BrokenTypes.apinotes
    A clang/test/APINotes/Inputs/Headers/BrokenTypes.h
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    A clang/test/APINotes/Inputs/Headers/ExternCtx.apinotes
    A clang/test/APINotes/Inputs/Headers/ExternCtx.h
    A clang/test/APINotes/Inputs/Headers/Fields.apinotes
    A clang/test/APINotes/Inputs/Headers/Fields.h
    A clang/test/APINotes/Inputs/Headers/HeaderLib.apinotes
    A clang/test/APINotes/Inputs/Headers/HeaderLib.h
    A clang/test/APINotes/Inputs/Headers/InstancetypeModule.apinotes
    A clang/test/APINotes/Inputs/Headers/InstancetypeModule.h
    A clang/test/APINotes/Inputs/Headers/Methods.apinotes
    A clang/test/APINotes/Inputs/Headers/Methods.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate_Private.apinotes
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase_Private.apinotes
    A clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
    A clang/test/APINotes/Inputs/Headers/Namespaces.h
    A clang/test/APINotes/Inputs/Headers/PrivateLib.apinotes
    A clang/test/APINotes/Inputs/Headers/PrivateLib.h
    A clang/test/APINotes/Inputs/Headers/PrivateLib_private.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    A clang/test/APINotes/Inputs/Headers/Templates.apinotes
    A clang/test/APINotes/Inputs/Headers/Templates.h
    A clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/Inputs/Headers/module.private.modulemap
    A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.apinotes
    A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.h
    A clang/test/APINotes/Inputs/yaml-reader-errors/module.modulemap
    A clang/test/APINotes/availability.m
    A clang/test/APINotes/broken_types.m
    A clang/test/APINotes/case-for-private-apinotes-file.c
    A clang/test/APINotes/export-as.c
    A clang/test/APINotes/extern-context.cpp
    A clang/test/APINotes/fields.cpp
    A clang/test/APINotes/instancetype.m
    A clang/test/APINotes/methods.cpp
    A clang/test/APINotes/module-cache.m
    A clang/test/APINotes/namespaces.cpp
    A clang/test/APINotes/nullability.c
    A clang/test/APINotes/nullability.m
    A clang/test/APINotes/objc-forward-declarations.m
    A clang/test/APINotes/objc_designated_inits.m
    A clang/test/APINotes/properties.m
    A clang/test/APINotes/retain-count-convention.m
    A clang/test/APINotes/search-order.m
    A clang/test/APINotes/swift-import-as.cpp
    A clang/test/APINotes/templates.cpp
    A clang/test/APINotes/top-level-private-modules.c
    A clang/test/APINotes/types.m
    A clang/test/APINotes/versioned-multi.c
    A clang/test/APINotes/versioned.m
    A clang/test/APINotes/yaml-convert-diags.c
    A clang/test/APINotes/yaml-parse-diags.c
    A clang/test/APINotes/yaml-reader-errors.m
    A clang/test/AST/ByteCode/arrays.cpp
    A clang/test/AST/ByteCode/atomic.c
    A clang/test/AST/ByteCode/atomic.cpp
    A clang/test/AST/ByteCode/bitfields.cpp
    A clang/test/AST/ByteCode/builtin-align-cxx.cpp
    A clang/test/AST/ByteCode/builtin-constant-p.cpp
    A clang/test/AST/ByteCode/builtin-functions.cpp
    A clang/test/AST/ByteCode/builtins.cpp
    A clang/test/AST/ByteCode/c.c
    A clang/test/AST/ByteCode/c23.c
    A clang/test/AST/ByteCode/codegen.c
    A clang/test/AST/ByteCode/codegen.cpp
    A clang/test/AST/ByteCode/codegen.m
    A clang/test/AST/ByteCode/comma.cpp
    A clang/test/AST/ByteCode/complex.c
    A clang/test/AST/ByteCode/complex.cpp
    A clang/test/AST/ByteCode/cond.cpp
    A clang/test/AST/ByteCode/const-base-cast.cpp
    A clang/test/AST/ByteCode/const-eval.c
    A clang/test/AST/ByteCode/const-fpfeatures.cpp
    A clang/test/AST/ByteCode/const-temporaries.cpp
    A clang/test/AST/ByteCode/constexpr-frame-describe.cpp
    A clang/test/AST/ByteCode/constexpr-nqueens.cpp
    A clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
    A clang/test/AST/ByteCode/constexpr-vectors.cpp
    A clang/test/AST/ByteCode/crash-GH49103-2.cpp
    A clang/test/AST/ByteCode/cxx03.cpp
    A clang/test/AST/ByteCode/cxx11-pedantic.cpp
    A clang/test/AST/ByteCode/cxx11.cpp
    A clang/test/AST/ByteCode/cxx17.cpp
    A clang/test/AST/ByteCode/cxx20.cpp
    A clang/test/AST/ByteCode/cxx23.cpp
    A clang/test/AST/ByteCode/cxx26.cpp
    A clang/test/AST/ByteCode/cxx2a.cpp
    A clang/test/AST/ByteCode/cxx98.cpp
    A clang/test/AST/ByteCode/depth-limit.cpp
    A clang/test/AST/ByteCode/depth-limit2.cpp
    A clang/test/AST/ByteCode/enums-targets.cpp
    A clang/test/AST/ByteCode/enums.cpp
    A clang/test/AST/ByteCode/eval-order.cpp
    A clang/test/AST/ByteCode/extern.cpp
    A clang/test/AST/ByteCode/floats.cpp
    A clang/test/AST/ByteCode/functions.cpp
    A clang/test/AST/ByteCode/hlsl.hlsl
    A clang/test/AST/ByteCode/if.cpp
    A clang/test/AST/ByteCode/initializer_list.cpp
    A clang/test/AST/ByteCode/intap.cpp
    A clang/test/AST/ByteCode/invalid.cpp
    A clang/test/AST/ByteCode/lambda.cpp
    A clang/test/AST/ByteCode/lifetimes.cpp
    A clang/test/AST/ByteCode/literals.cpp
    A clang/test/AST/ByteCode/loops.cpp
    A clang/test/AST/ByteCode/memberpointers.cpp
    A clang/test/AST/ByteCode/ms.cpp
    A clang/test/AST/ByteCode/mutable.cpp
    A clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/nullable.cpp
    A clang/test/AST/ByteCode/objc.mm
    A clang/test/AST/ByteCode/opencl.cl
    A clang/test/AST/ByteCode/placement-new.cpp
    A clang/test/AST/ByteCode/pointer-addition.c
    A clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/ByteCode/references.cpp
    R clang/test/AST/Interp/cond.cpp
    R clang/test/AST/Interp/const-fpfeatures.cpp
    R clang/test/AST/Interp/constexpr-nqueens.cpp
    R clang/test/AST/Interp/constexpr-subobj-initialization.cpp
    R clang/test/AST/Interp/depth-limit.cpp
    R clang/test/AST/Interp/depth-limit2.cpp
    R clang/test/AST/Interp/enums-targets.cpp
    R clang/test/AST/Interp/enums.cpp
    R clang/test/AST/Interp/floats.cpp
    R clang/test/AST/Interp/loops.cpp

  Log Message:
  -----------
  rebase

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/faf0bcf968a2...9bc6c9ea6290

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list