[all-commits] [llvm/llvm-project] 0ee0ee: [flang] Enhance location information (#95862)

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Jul 25 12:41:16 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpremove-extraargs-from-reductions
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ee0eeb4bb9be6aeef6c84121ca1af463840fb6a
      https://github.com/llvm/llvm-project/commit/0ee0eeb4bb9be6aeef6c84121ca1af463840fb6a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Parser/provenance.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Parser/provenance.cpp
    A flang/test/Lower/location.f90
    A flang/test/Lower/location0.inc
    A flang/test/Lower/location1.inc

  Log Message:
  -----------
  [flang] Enhance location information (#95862)

Add inclusion location information by using FusedLocation with
attribute.

More context here:
https://discourse.llvm.org/t/rfc-enhancing-location-information/79650


  Commit: 1c4091053a61ce1e3df3b3ebbc57064f7262e0cd
      https://github.com/llvm/llvm-project/commit/1c4091053a61ce1e3df3b3ebbc57064f7262e0cd
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port cc7308a1563e5ebab4dffeb85deefdde61e6711a (#100163)


  Commit: e9bb4e303b949f955042158567eb83000a6e7634
      https://github.com/llvm/llvm-project/commit/e9bb4e303b949f955042158567eb83000a6e7634
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/SpecialMath.rst

  Log Message:
  -----------
  [libc++][doc] Update the release notes for LLVM 19. (#99061)

This is a preparation for the upcoming LLVM 19 release.


  Commit: 7395191e0eb07c19ad0023923eade326d3a874df
      https://github.com/llvm/llvm-project/commit/7395191e0eb07c19ad0023923eade326d3a874df
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf16_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp

  Log Message:
  -----------
  [libc] Skip NaN death tests for asan build. (#100161)


  Commit: 3a8a0b8faf86e71ac7ce80a8f6f78d33dd295762
      https://github.com/llvm/llvm-project/commit/3a8a0b8faf86e71ac7ce80a8f6f78d33dd295762
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Update for new deps (#100166)

The config drifted from main in a few places. I didn't track down the
original changes since there were 3 breakages


  Commit: b316cebae1a4de242b6723e1dd8b37b12f72ca8d
      https://github.com/llvm/llvm-project/commit/b316cebae1a4de242b6723e1dd8b37b12f72ca8d
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/MC/AMDGPU/gfx1030_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx12_err.s

  Log Message:
  -----------
  [AMDGPU][MC] Improve error message for missing dim operand (#96588)

For GFX10+, the MIMG instrucitons generally require a dim operand.
However, when dim is missing, the assembler produces the error message
"operands are not valid for this GPU or mode" (See issue
https://github.com/llvm/llvm-project/issues/47585). This patch fixes the
issue by producing a more direct error message.

---------

Co-authored-by: Jun Wang <jun.wang7 at amd.com>


  Commit: 1c9085e37e1eafc5594954636e1a8bf1b3d250c7
      https://github.com/llvm/llvm-project/commit/1c9085e37e1eafc5594954636e1a8bf1b3d250c7
  Author: Ilya Biryukov <ibiryukov at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/lib/AST/DeclTemplate.cpp

  Log Message:
  -----------
  [Sema] Default arguments for template parameters affect ContainsUnexpandedPacks (#99880)

This addresses the FIXME in the code. There will be tests for the new
behavior in an upcoming #86265, which also addresses other bugs that
prevent exposing the wrong results of `ContainsUnexpandedPacks` in the
outputs of the compiler without crashes.


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

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Interpreter/CMakeLists.txt
    A lldb/source/Interpreter/Interfaces/CMakeLists.txt
    A lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
    M lldb/source/Plugins/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb/Commands] Add `scripting template list` command with auto discovery (#97273)

This patch introduces a new `template` multiword sub-command to the
`scripting` top-level command. As the name suggests, this sub-command
operates on scripting templates, and currently has the ability to
automatically discover the various scripting extensions that lldb
supports.

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


  Commit: e59a619acf0b829f34a1c63aab0ad829ca0defc9
      https://github.com/llvm/llvm-project/commit/e59a619acf0b829f34a1c63aab0ad829ca0defc9
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/X86/mmx-inline-asm.c
    M clang/test/CodeGen/asm-inout.c
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/mmx-inlineasm.ll

  Log Message:
  -----------
  Clang: don't unnecessarily convert inline-asm operands to x86mmx in IR. (#98273)

The SelectionDAG asm-lowering code can already handle conversion of
other vector types to MMX if needed.


  Commit: 6cea8189b02be6bf374e51ecbe37e3f0e4c99a42
      https://github.com/llvm/llvm-project/commit/6cea8189b02be6bf374e51ecbe37e3f0e4c99a42
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++][vector] Updates LWG3778 status. (#99818)

The work was done in a8ae392718313e64e2d7bc092b00f51476c074b2 which
implements parts of

  N4258: Cleaning-up noexcept in the Library

However that's paper Summary of Proposed Changes contains
  No change in vector<bool>

This patch updates the status and as a few NFC cleanups. The fixed
version is based on the release page and might be off.

Updates
- LWG3778 vector<bool> missing exception specifications


  Commit: e6388fea3e194b8eabb42f7e26a45f51b7e475d3
      https://github.com/llvm/llvm-project/commit/e6388fea3e194b8eabb42f7e26a45f51b7e475d3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/include/__memory/allocator.h
    M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.verify.cpp
    A libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate_at_least.verify.cpp

  Log Message:
  -----------
  [libc++][memory] Implements LWG3307. (#99776)

As a drive-by added a nodiscard test for allocate_at_least.

Implements
- LWG33307 std::allocator<void>().allocate(n)


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

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

  Log Message:
  -----------
  [SLP] NFC. ShuffleInstructionBuilder::add V1->getType() is always a FixedVectorType. (#99842)

castToScalarTyElem has a cast<VectorType>(V->getType()).


  Commit: 05b586be3d70cd51c809c52a67d36517fb4b8f6f
      https://github.com/llvm/llvm-project/commit/05b586be3d70cd51c809c52a67d36517fb4b8f6f
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [libc][RISCV] Add naked attribute to setjmp/longjmp (#100036)

We want to avoid any possibility that the compiler will insert a
prologue/epilogue violating the calling contracts for these special
functions, potentially clobbering registers that must be preserved. To
do that they should be marked naked, as is already the case on ARM.
See #87837 for further context.


  Commit: 0b262bbb5713ebfdf66f40021711307e9c8d4bf5
      https://github.com/llvm/llvm-project/commit/0b262bbb5713ebfdf66f40021711307e9c8d4bf5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp] Properly reject StmtExprs with Stmt result


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/indirect_byval.ll

  Log Message:
  -----------
  [NVPTX] Fix internal indirect call prototypes not obeying the ABI (#100131)

Summary:
The NVPTX backend optimizes the ABI for functions that are internal,
however, this is not legal for indirect call prototypes. Previously, we
would modify the ABI on an aggregate byval type passed to an indirect
call prototype, which would make PTXAS error. This patch just passes the
function as a nullptr to force strict ABI compliance without
modification in the helper function.

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


  Commit: 1b60c38eee1485c01f60451d9e0ea75a6323ea0f
      https://github.com/llvm/llvm-project/commit/1b60c38eee1485c01f60451d9e0ea75a6323ea0f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/vendor/llvm/default_assertion_handler.in

  Log Message:
  -----------
  [libc++][NFC] Add comment about __builtin_verbose_trap per review comment


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

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h

  Log Message:
  -----------
  [MC] Make *ObjectWriter final

to make it clear that target customization should be done by inheriting
from MCObjectTargetWriter subclasses instead of MCObjectWriter
subclasses.


  Commit: 6a8c5a929599a6d47f62c0f243e379ae68a7e434
      https://github.com/llvm/llvm-project/commit/6a8c5a929599a6d47f62c0f243e379ae68a7e434
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h

  Log Message:
  -----------
  [flang] Fix warning in build (#100134)

After tblah's update #99817, I'm getting a warning about an
unusedvariable. It looks to me like the warning is bogus, possibly due
to a bug in the compiler I'm using (GCC 9.3.0). But adding a
"maybe_unused" clause fixes it and makes my builds clean.


  Commit: c92d9b06d45d437e97b966927aba2de37a5d6e56
      https://github.com/llvm/llvm-project/commit/c92d9b06d45d437e97b966927aba2de37a5d6e56
  Author: Andrii Levytskyi <107996072+aabysswalker at users.noreply.github.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [SPIRV][HLSL] Add lowering of frac to SPIR-V (#97111)

Implements frac lowering to SPIR-V.

Closes #88059


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

  Changed paths:
    M libcxx/include/typeinfo
    M libcxx/src/include/overridable_function.h
    M libcxxabi/src/private_typeinfo.cpp

  Log Message:
  -----------
  [libc++][libc++abi] Minor follow-up changes after ptrauth upstreaming (#87481)

This patch applies the comments provided on #84573. This is done as a
separate PR to avoid merge conflicts with downstreams that already had
ptrauth support.


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

  Changed paths:
    M clang/test/Modules/subdirectory-module-maps-working-dir.m

  Log Message:
  -----------
  [HeaderSearch] Make a test independent of the local environment. (#100011)

Don't ask the driver to inspect the local environment but use `cc1`
directly.


  Commit: 34e67ffe1947b399f57002f8cf60340a391ce8c0
      https://github.com/llvm/llvm-project/commit/34e67ffe1947b399f57002f8cf60340a391ce8c0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb] Drop LOG_CONS from openlog call.

Don't pass `LOG_CONS` to the openlog call.

> Write directly to the system console if there is an error while
> sending to the system logger.

This seemed like a good idea at the time, but it turns out to be
extremely annoying when this happens and LLDB is overwhelmed by log
messages in the console.

rdar://132243490


  Commit: 95ea37cd63f42ca0c0fa71621e75527e88c8b64d
      https://github.com/llvm/llvm-project/commit/95ea37cd63f42ca0c0fa71621e75527e88c8b64d
  Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [scudo] Added LRU eviction policy to secondary cache. (#99409)

The logic for emptying the cache now follows an LRU eviction policy.
When the cache is full on any given free operation, the oldest entry in
the cache is evicted, and the memory associated with that cache entry is
unmapped.

Finding empty cache entries is now a constant operation with the use of
a stack of available cache entries.

Through the LRU structure, the cache retrieval algorithm now only
iterates through valid entries of the cache. Furthermore, the retrieval
algorithm will first search cache entries that have not been decommitted
(i.e. madvise() has not been called on their corresponding memory
chunks) to reduce the likelihood of returning a memory chunk to the user
that would induce a page fault.


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

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

  Log Message:
  -----------
  [SandboxIR] Implement BranchInst (#100063)

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

BranchInst::swapSuccessors() relies on User::swapOperandsInternal() so
this patch also adds Use::swap() and the corresponding tracking code and
test.


  Commit: 735852f5ab9ad8872ded8d6815f309cdec680b1e
      https://github.com/llvm/llvm-project/commit/735852f5ab9ad8872ded8d6815f309cdec680b1e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    A llvm/test/CodeGen/WebAssembly/simd-asm-pred.ll

  Log Message:
  -----------
  [WebAssembly] Enable simd128 when relaxed-simd is set in AsmPrinter (#99803)

Even though in `Subtarget` we defined `SIMDLevel` as a number so
`hasRelaxedSIMD` automatically means `hasSIMD128`,
https://github.com/llvm/llvm-project/blob/0caf0c93e759816663af52e8632d1c3953dbc715/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h#L36-L40
https://github.com/llvm/llvm-project/blob/0caf0c93e759816663af52e8632d1c3953dbc715/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h#L107

specifying only `relaxed-simd` feature on a program that needs `simd128`
instructions to compile fails, because of this query in `AsmPrinter`:
https://github.com/llvm/llvm-project/blob/d0d05aec3b6792136a9f75eb85dd2ea66005ae12/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp#L644-L645

This `verifyInstructionPredicates` function (and other functions called
by this function) is generated by

https://github.com/llvm/llvm-project/blob/main/llvm/utils/TableGen/InstrInfoEmitter.cpp,
and looks like this (you can check it in the
`lib/Target/WebAssembly/WebAssemblyGenInstrInfo.inc` in your build
directory):
```cpp
void verifyInstructionPredicates(
    unsigned Opcode, const FeatureBitset &Features) {
  FeatureBitset AvailableFeatures = computeAvailableFeatures(Features);
  FeatureBitset RequiredFeatures = computeRequiredFeatures(Opcode);
  FeatureBitset MissingFeatures =
      (AvailableFeatures & RequiredFeatures) ^
      RequiredFeatures;
  ...
}
```

And `computeAvailableFeatures` is just a set query, like this:
```cpp
inline FeatureBitset computeAvailableFeatures(const FeatureBitset &FB) {
  FeatureBitset Features;
  if (FB[WebAssembly::FeatureAtomics])
    Features.set(Feature_HasAtomicsBit);
  if (FB[WebAssembly::FeatureBulkMemory])
    Features.set(Feature_HasBulkMemoryBit);
  if (FB[WebAssembly::FeatureExceptionHandling])
    Features.set(Feature_HasExceptionHandlingBit);
  ...
```

So this is how currently `HasSIMD128` is defined:

https://github.com/llvm/llvm-project/blob/0caf0c93e759816663af52e8632d1c3953dbc715/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td#L79-L81

The things being checked in this `computeAvailableFeatures`, and in turn
in `AsmPrinter`, are `AssemblerPredicate`s. These only check which bits
are set in the features set and are different from `Predicate`s, which
can call `Subtarget` functions like `Subtarget->hasSIMD128()`.

But apparently we can use `all_of` and `any_of` directives in
`AssemblerPredicate`, and we can make `simd128`'s `AssemblerPredicate`
set in `relaxed-simd` is set by the condition as an 'or' of the two.

Fixes #98502.


  Commit: c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4
      https://github.com/llvm/llvm-project/commit/c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  Revert "[SandboxIR] Implement BranchInst (#100063)"

This reverts commit 3993da23daa0ae75e9e80def76854534903e3761.


  Commit: 1c3a99c7397ea630949ab65a87fa6dd97609e4b3
      https://github.com/llvm/llvm-project/commit/1c3a99c7397ea630949ab65a87fa6dd97609e4b3
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

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

After we switched to LLVM version 20, some libc++ tests started failing
on Windows. This patch adds the clang-20 condition to XFAIL to fix the
issue. The way that these tests are excluded from Windows are fragile
and need to be updated every time we bump the LLVM version.


  Commit: eb90ac508b2366de38a58ae9e168ed2027d1d943
      https://github.com/llvm/llvm-project/commit/eb90ac508b2366de38a58ae9e168ed2027d1d943
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [MLGO] Bump MLGO utils version to 20

This patch bumps the MLGO utilities python package version to v20 in
sync with the rest of the project. This should be automated later in the
version update script, but this needs to be updated even while a patch
for that lands.


  Commit: 795a47fb66b7479f6da4f8cdfc9f83ea5d654a55
      https://github.com/llvm/llvm-project/commit/795a47fb66b7479f6da4f8cdfc9f83ea5d654a55
  Author: David Benjamin <davidben at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/include/string_view

  Log Message:
  -----------
  Suppress a redundant hardening check in basic_string_view::substr (#91804)

Fixes #91634.

This could alternatively be done with an _LIBCPP_ASSUME, after
https://github.com/llvm/llvm-project/pull/91801 lands, but would also
require https://github.com/llvm/llvm-project/issues/91619 be fixed
first. Given the dependencies, it seemed simplest to just make a private
ctor.


  Commit: c444548bda3979e68e47ee0d0700b752ac6b9757
      https://github.com/llvm/llvm-project/commit/c444548bda3979e68e47ee0d0700b752ac6b9757
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  Reapply "[SandboxIR] Implement BranchInst (#100063)"

This reverts commit c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/linker-wrapper-passes.c
    M clang/test/Driver/nvlink-wrapper.c
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td

  Log Message:
  -----------
  [Clang] Correctly forward `--cuda-path` to the nvlink wrapper (#100170)

Summary:
This was not forwarded properly as it would try to pass it to `nvlink`.

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


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

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

  Log Message:
  -----------
  [MemProf] Reduce cloning overhead by sharing nodes when possible (#99832)

When assigning calls to nodes while building the graph, we can share
nodes between multiple calls in some cases. Specifically, when we
process the list of calls that had the same stack ids (possibly pruned,
because we are looking at the stack ids that actually had nodes in the
graph due to stack ids in the pruned allocation MIBs), for calls that
are located in the same function, we know that they will behave exactly
the same through cloning and function assignment. Therefore, instead of
creating nodes for all of them (requiring context id duplication), keep
a list of additional "matching calls" on the nodes. During function
assignment we simply update all the matching calls the same way as the
primary call.

This change not only reduces the number of nodes (both original and
cloned), but also greatly reduces the number of duplicated context ids
and the time to propagate them.

For a large target, I measured a 25% peak memory reduction and 42% time
reduction.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/linker-wrapper-passes.c
    M clang/test/Driver/nvlink-wrapper.c
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td

  Log Message:
  -----------
  Revert "[Clang] Correctly forward `--cuda-path` to the nvlink wrapper (#100170)"

This reverts commit 7e1fcf5dd657d465c3fc846f56c6f9d3a4560b43.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/linker-wrapper-passes.c
    M clang/test/Driver/nvlink-wrapper.c
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td

  Log Message:
  -----------
  Reapply "[Clang] Correctly forward `--cuda-path` to the nvlink wrapper (#100170)"

This reverts commit 7d388aeabb34cd954aa57e4321ad3aa9f382c557.


  Commit: cb1a3bb29ffcd65c221f017164a83400310a0d4b
      https://github.com/llvm/llvm-project/commit/cb1a3bb29ffcd65c221f017164a83400310a0d4b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/utils/release/bump-version.py

  Log Message:
  -----------
  [MLGO][Infra] Add mlgo-utils to bump-version script (#100186)

This patch adds support in the bump-version script for bumping the
version of the mlgo-utils package. This should hopefully streamline the
processor for that with the rest of the project and prevent having to
manually update this package individually.


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

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    M bolt/test/X86/dwarf5-locexpr-referrence.test

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Split processUnitDIE into two lambdas (#99957)

Split processUnitDIE into two lambdas to separate the processing of DWO
CUs and CUs in the main binary.


  Commit: d19e71db8a3de65de5da5d5bc4e1f9c1020c574c
      https://github.com/llvm/llvm-project/commit/d19e71db8a3de65de5da5d5bc4e1f9c1020c574c
  Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp

  Log Message:
  -----------
  [clang/Lex/DependencyDirectivesScanner] Ignore import/include directives with missing filenames without failing the scan (#100126)

Follow-up to `34ab855826b8cb0c3b46c770b83390bd1fe95c64`:

* Don't fail the scan with an include with missing filename, it may be
inside a skipped preprocessor block. Let the compilation provide any
related error.
* Fix an issue where the lexer was skipping through the next directive,
after ignoring the include with missing filename.


  Commit: 92a9d4831d5e40c286247c30fcd794563adbef6e
      https://github.com/llvm/llvm-project/commit/92a9d4831d5e40c286247c30fcd794563adbef6e
  Author: Ian Anderson <iana at apple.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/lib/Headers/stdarg.h
    M clang/lib/Headers/stddef.h
    M clang/test/Headers/stddefneeds.cpp
    A clang/test/Modules/stddef.cpp

  Log Message:
  -----------
  [clang][headers] Including stddef.h always redefines NULL (#99727)

stddef.h always includes __stddef_null.h. This is fine in modules
because it's not possible to re-include the pcm, and it's necessary to
export the _Builtin_stddef.null submodule. However, without modules it
causes NULL to always get redefined which disrupts some C++ code. Rework
the inclusion of __stddef_null.h so that with not building with modules
it's only included if __need_NULL is set by the includer, or it's the
first time stddef.h is being included.


  Commit: bb60dd391f53fe297d7d1b3e5269f44ab91255cc
      https://github.com/llvm/llvm-project/commit/bb60dd391f53fe297d7d1b3e5269f44ab91255cc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll

  Log Message:
  -----------
  [VPlan] Only use force-target-instruction-cost for recipes with insts.

To match the behavior of the legacy cost model, only apply
-force-target-instruction-cost to recipes with underlying instructions
for now, as only original IR instructions are considered by the legacy
cost model.

This fixes a difference between legacy and VPlan based cost model,
triggering the verification assertion, reported by @JonPsson1.


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

  Changed paths:
    M libc/cmake/modules/LibcConfig.cmake
    M libc/config/config.json
    M libc/src/errno/libc_errno.cpp

  Log Message:
  -----------
  [libc] Fix missing default value for errno config (#100175)

Summary:
The configs all need default values which targets then override. This
one was an empty string which made the logic report an error. The only
reason it wasn't a build failure was because of a stray `:`.


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

  Changed paths:
    M clang/test/Driver/linker-wrapper-passes.c

  Log Message:
  -----------
  [Clang] Add back in REQUIRES lines that were accidentally removed


  Commit: e858a921ac8d898698d3a2746b1c68164075b99f
      https://github.com/llvm/llvm-project/commit/e858a921ac8d898698d3a2746b1c68164075b99f
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll

  Log Message:
  -----------
  [msan] Add more NEON VST tests (#100189)

This includes additional test cases that are currently unsupported by
MSan: VST_{2,3,4} with floating-point parameters, and VST1x_{2,3,4}.


  Commit: 8bdc3d9ebb19e8c455c77241ef52ea74be6acfed
      https://github.com/llvm/llvm-project/commit/8bdc3d9ebb19e8c455c77241ef52ea74be6acfed
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  Revert "[libc][RISCV] Add naked attribute to setjmp/longjmp" (#100193)

Reverts llvm/llvm-project#100036

This caused a failure on bots:
https://lab.llvm.org/buildbot/#/builders/183/builds/1799

We likely need to discuss the particulars here a bit more deeply before
either relanding or choosing an alternate solution.


  Commit: d0c8e268c1ed9bbbd07be0efd93a91737c7bb1fe
      https://github.com/llvm/llvm-project/commit/d0c8e268c1ed9bbbd07be0efd93a91737c7bb1fe
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/vendor/android/run-buildbot-container

  Log Message:
  -----------
  [libc++][Android] Fix Android bugs in the CI Dockerfile (#99623)

The base of android-buildkite-builder is buildkite-builder, not
android-build-base. android-build-base is only used for its /opt/android
directory, so move the Docker installation step into
android-buildkite-builder.

Install bzip2 for extracting ndk_platform.tar.bz2.

Add "set -e" to RUN heredocs to catch failing commands.


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

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    A clang/test/Driver/modulemap-allow-subdirectory-search.c
    A clang/test/Modules/modulemap-allow-subdirectory-search.m

  Log Message:
  -----------
  [Modules] Don't search for modulemaps in the immediate sub-directories of search paths for recent Apple SDKs. (#100005)

Such searches can be costly and non-intuitive. We've seen complaints
from developers that they don't expect clang to find modules on their
own and not in search paths that developers provide. Keeping the search
of modulemaps in subdirectories for code completion as it provides
better user experience.

If you are defining module "UsefulCode" in
"include/UnrelatedName/module.modulemap", it is recommended to rename
the directory "UnrelatedName" to "UsefulCode". If you cannot do so, you
can add to "include/module.modulemap" a line like `extern module
UsefulCode "UnrelatedName/module.modulemap"`, so clang can find module
"UsefulCode" without checking each subdirectory in "include/".

rdar://106677321

---------

Co-authored-by: Jan Svoboda <jan at svoboda.ai>


  Commit: ce811fb6d94e1d4af1fd1f52fbf109bc34834970
      https://github.com/llvm/llvm-project/commit/ce811fb6d94e1d4af1fd1f52fbf109bc34834970
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

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

  Log Message:
  -----------
  [NFCI][scudo] Remove unused variable 'MaxCount' (#100201)

Fixes "error: unused variable 'MaxCount' [-Werror,-Wunused-variable]",
which is no longer used after
https://github.com/llvm/llvm-project/pull/99409


  Commit: 8be1325cb1903797ba3dce67087e395f9e080576
      https://github.com/llvm/llvm-project/commit/8be1325cb1903797ba3dce67087e395f9e080576
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/test/CodeGenCXX/ptrauth-static-destructors.cpp

  Log Message:
  -----------
  [clang][test] Add function type discrimination tests to static destructor tests (#99604)

I accidentally did not include tests for the setting up runtime calls when compiling with -fptrauth-function-pointer-type-discrimination


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

  Changed paths:
    M clang/test/Driver/linker-wrapper-passes.c

  Log Message:
  -----------
  [Clang] Mark test XFAIL until a fix is merged

Summary:
Tracking the issue at
https://github.com/llvm/llvm-project/issues/100212.


  Commit: 5e97bfb098639f458b32961143b6f7a39319a690
      https://github.com/llvm/llvm-project/commit/5e97bfb098639f458b32961143b6f7a39319a690
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll

  Log Message:
  -----------
  [msan] Add baseline output for neon_vst_float.ll (#100210)

Followup to https://github.com/llvm/llvm-project/pull/100189/


  Commit: 0a6a3c152faf56e07dd4f9e89e534d2b97eeab56
      https://github.com/llvm/llvm-project/commit/0a6a3c152faf56e07dd4f9e89e534d2b97eeab56
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp

  Log Message:
  -----------
  [PAC][compiler-rt][UBSan] Strip signed vptr instead of authenticating it (#100153)

vptr cannot be authenticated without knowing the class type if it was
signed with type discrimination.

Co-authored-by: Oliver Hunt <oliver at apple.com>


  Commit: 7868c04d97b4c30b3c23f126ec206e7ece3b8b70
      https://github.com/llvm/llvm-project/commit/7868c04d97b4c30b3c23f126ec206e7ece3b8b70
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp

  Log Message:
  -----------
  [clang-doc] add ftime profiling (#97644)

this patches adds ftime-tracing option for clang-doc which was what I
used to profile the performance problems we had with clang-doc
generating the llvm docs.
- ftime-trace produces a time profiler json file called
clang-doc-tracing.json


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

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

  Log Message:
  -----------
  [RISCV] Replace VNCLIP RISCVISD opcodes with TRUNCATE_VECTOR_VL_SSAT/USAT opcodes (#100173)

These new opcodes drop the shift amount, rounding mode, and passthru.
Making them exactly like TRUNCATE_VECTOR_VL. The shift amount, rounding
mode, and passthru are added in isel patterns similar to how we
translate TRUNCATE_VECTOR_VL to vnsrl with a shift of 0.

This should simplify #99418 a little.


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

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    A libc/cmake/modules/compiler_features/check_builtin_fmax_fmin.cpp
    A libc/cmake/modules/compiler_features/check_builtin_fmaxf16_fminf16.cpp
    A libc/cmake/modules/cpu_features/check_FullFP16.cpp
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/max_min_funcs_perf.cpp

  Log Message:
  -----------
  [libc][math] Optimize maximum and minimum functions using builtins when available (#100002)


  Commit: 7aa6598a244d5b1197725f26d367fb51e6630415
      https://github.com/llvm/llvm-project/commit/7aa6598a244d5b1197725f26d367fb51e6630415
  Author: Reid Kleckner <rnk at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M lld/COFF/Options.td

  Log Message:
  -----------
  [COFF] Add help text for /time flag to make it visible in /? output

Part of #99011


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

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

  Log Message:
  -----------
  [libc][math] Fix use of float16 not guarded by LIBC_TYPES_HAS_FLOAT16 (#100241)


  Commit: 80d1c6acc013ec85d6e1724429a8290f4411f853
      https://github.com/llvm/llvm-project/commit/80d1c6acc013ec85d6e1724429a8290f4411f853
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp

  Log Message:
  -----------
  Revert "[clang-doc] add ftime profiling" (#100251)

This broke the build due to failing some clang-tidy checks:
https://lab.llvm.org/buildbot/#/builders/145/builds/789


  Commit: fb55db5482dd5bee1c8d78cc1b0ddd9517e97e17
      https://github.com/llvm/llvm-project/commit/fb55db5482dd5bee1c8d78cc1b0ddd9517e97e17
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp

  Log Message:
  -----------
  [clang-doc] fix broken tests (#100260)

This patch fixes the broken test caused by clang-doc which was caused by
https://github.com/llvm/llvm-project/pull/100251

https://lab.llvm.org/buildbot/#/builders/144/builds/3080


  Commit: 25f0381ba128e012e494701286450a374bf366a8
      https://github.com/llvm/llvm-project/commit/25f0381ba128e012e494701286450a374bf366a8
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libc/src/__support/block.h

  Log Message:
  -----------
  [libc][malloc] Reduce block overhead by 4 bytes plus alignment effects (#99945)

The unused padding and alignment fields were removed. The used and last
bits were stashed into the lower two bits of the next chunk offset.
(This is a very typical trick for Knuth boundary tags.) The chunk
offsets were recast as counting bytes rather than multiples of the
alignment. To ensure that the lowest two bits are not significant, the
minimum alignment was bumped to 4. This shouldn't affect anything in
practice, since alignof(max_align_t) is overwhelmingly likely to be 8.

See #98096


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

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    R lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Interpreter/CMakeLists.txt
    R lldb/source/Interpreter/Interfaces/CMakeLists.txt
    R lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
    M lldb/source/Plugins/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  Revert "[lldb/Commands] Add `scripting template list` command with auto discovery" (#100273)

Reverts llvm/llvm-project#97273 since it broke the windows bot:

https://lab.llvm.org/buildbot/#/builders/141/builds/1025/steps/4/logs/stdio


  Commit: 2bf71b8bc851b49745b795f228037db159005570
      https://github.com/llvm/llvm-project/commit/2bf71b8bc851b49745b795f228037db159005570
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll

  Log Message:
  -----------
  [WebAssembly] Fix phi handling for Wasm SjLj (#99730)

In Wasm SjLj, longjmpable `call`s that in functions that call `setjmp`
are converted into `invoke`s. Those `invoke`s are meant to unwind to
`catch.dispatch.longjmp` to figure out which `setjmp` those `longjmp`
buffers belong to:

https://github.com/llvm/llvm-project/blob/fada9227325b3eaa0bdc09a486f29a7f08b7b3fb/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L250-L260

But in case a longjmpable call is within another `catchpad` or
`cleanuppad` scope, to maintain the nested scope structure, we should
make them unwind to the scope's next unwind destination and not directly
to `catch.dispatch.longjmp`:

https://github.com/llvm/llvm-project/blob/fada9227325b3eaa0bdc09a486f29a7f08b7b3fb/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L1698-L1727
In this case the longjmps will eventually unwind to
`catch.dispatch.longjmp` and be handled there.

In this case, it is possible that the unwind destination (which is an
existing `catchpad` or `cleanuppad`) may already have `phi`s. And
because the unwind destinations get new predecessors because of the
newly created `invoke`s, those `phi`s need to have new entries for those
new predecessors.

This adds new preds as new incoming blocks to those `phi`s, and we use a
separate `SSAUpdater` to calculate the correct incoming values to those
blocks.

I have assumed `SSAUpdaterBulk` used in `rebuildSSA` would take care of
these things, but apparently it doesn't. It takes available defs and
adds `phi`s in the defs' dominance frontiers, i.e., where each def's
dominance ends, and rewrites other uses based on the newly added `phi`s.
But it doesn't add entries to existing `phi`s, and the case in this bug
may not even involve dominance frontiers; this bug is simply about
existing `phis`s that have gained new preds need new entries for them.
It is kind of surprising that this bug was only reported recently, given
that this pass has not been changed much in years.

Fixes #97496 and fixes
https://github.com/emscripten-core/emscripten/issues/22170.


  Commit: 51507046c0e35eb04bbd90c79f6f3e5f31fe3dad
      https://github.com/llvm/llvm-project/commit/51507046c0e35eb04bbd90c79f6f3e5f31fe3dad
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/AST/ast-dump-openmp-for-simd.c
    M clang/test/AST/ast-dump-openmp-simd.c
    M clang/test/AST/ast-dump-openmp-taskloop-simd.c

  Log Message:
  -----------
  [clang][OpenMP] Mark all SIMD regions as non-throwing (#100162)

[4.5:75:19], [5.0:114:3], [5.1:137:21], [5.2:235:30]
"No exception can be raised in the **simd** region."


  Commit: 3a51788b68015901995fc7b528eb5749e8af0602
      https://github.com/llvm/llvm-project/commit/3a51788b68015901995fc7b528eb5749e8af0602
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d64eccf4335e


  Commit: adc59f4c58ddc81b078b0b2007b7b15a924ed8c2
      https://github.com/llvm/llvm-project/commit/adc59f4c58ddc81b078b0b2007b7b15a924ed8c2
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h

  Log Message:
  -----------
  [Frontend][OpenMP] Fix typo in comment, NFC


  Commit: 4f516aa04be616f3ad2929b275e7dc7da9b90d0a
      https://github.com/llvm/llvm-project/commit/4f516aa04be616f3ad2929b275e7dc7da9b90d0a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-23 (Tue, 23 Jul 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

  Log Message:
  -----------
  [Clang] Make the GPU toolchains implicitly link `-lm` and `-lc` (#98170)

Summary:
The previous patches (The other commits in this chain) allow the
offloading toolchain to directly invoke the device linker. Because of
this, we can now just have the toolchain implicitly include `-lc` and
`-lm` like a standard target does. This removes the old handling that
went through the fat binary `-lcgpu`.


  Commit: ef8de68faebee0226b4836e66574f225f724e768
      https://github.com/llvm/llvm-project/commit/ef8de68faebee0226b4836e66574f225f724e768
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][DebugInfo] Enable the use of DILocalVariable DIFlags (#100190)

This patch enables the use of flags for local variables in debug info.
They were defaulted as always zero, but allowing them is pretty trivial.


  Commit: 73ac9536268f21149e29601da31e3415725b0a17
      https://github.com/llvm/llvm-project/commit/73ac9536268f21149e29601da31e3415725b0a17
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/cpu_model/riscv.c
    R compiler-rt/lib/builtins/riscv/feature_bits.c

  Log Message:
  -----------
  [RISCV][compiler-rt] Small fixes for __riscv_feature_bits (#100158)

Changes included:

- Adding CONSTRUCTOR_ATTRIBUTE so that the static data is setup early on
in process lifetime. This is required by gcc docs for
__builtin_cpu_supports which we hope to implement in terms of this.
- Move the length initialization outside of the #if defined(linux) block
so that the length field always reflects the size of the structures even
if non of the feature bits are non-zero.
- Change the __riscv_vendor_feature_bits.length field to match the
length of the actual structure.

Note: Copy from https://github.com/llvm/llvm-project/pull/99958

---------

Co-authored-by: Philip Reames <preames at rivosinc.com>


  Commit: f3f0d9928f982cfd302351f418bcc5b63cc1bb9d
      https://github.com/llvm/llvm-project/commit/f3f0d9928f982cfd302351f418bcc5b63cc1bb9d
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    R llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Fix phi handling for Wasm SjLj (#99730)"

This reverts commit 2bf71b8bc851b49745b795f228037db159005570.
This broke the builbot at
https://lab.llvm.org/buildbot/#/builders/110/builds/474.


  Commit: f9cf5393dc9bc5e01f53e7906e7bebc3f3f30382
      https://github.com/llvm/llvm-project/commit/f9cf5393dc9bc5e01f53e7906e7bebc3f3f30382
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libc/src/__support/block.h

  Log Message:
  -----------
  [libc][malloc] Align blocks to max_align_t. (#100279)

Since there are two offsets from block start to usable area, this
ensures that the usable area is maximally aligned, so long as the offset
type size is no less than half the max alignment. This is true on at
least typical 32-bit and 64-bit targets.

Previously, there was a roughly 50-50 chance a given block's usable area
would be misaligned for a malloc on a 32-bit system. The half that were
misaligned would require at least one block of additional padding,
costing 12 bytes. With this change, the only cost is 0-4 bytes at the
beginning of the heap to reach an initial 8-byte alignment.

See #98096


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

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Move initialization of DWOName outside of lambda (#99728)

Followup to the splitting of processUnitDIE, moves code that accesses
common resource to be outside of the function that will be parallelized.

Followup to #99957


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

  Changed paths:
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  [Flang] Remove tests checking now removed 'libc-gpu.a`

Summary:
These tests were removed in a previous patch.

The linker wrapper now just extracts the device inputs and forwards them
directly to the device's link job. This is the job that occurs when you
do `clang --target=amdgcn-amd-amdhsa foo.o` or similar. Because this can
handle LTO we no longer do LTO in the linker wrapper. This has some
fallout, because we now require `ld.lld` to be built with a compatible
version, but I think we always expected that.

I made the decision to remove this `libc-gpu.a` library because it was
unnecessary and complicated things. Now I simply have the link job
implicitly link `-lc` if it exists. Users can also now pass
`-Xoffload-linker=amdgcn-amd-amdhsa -lc` or similar to pass it. Because
of this, these tests need to be removed. I forgot that Fortran also had
these.


  Commit: 56535a090d91ff10a60c884bacbd314dcf9659db
      https://github.com/llvm/llvm-project/commit/56535a090d91ff10a60c884bacbd314dcf9659db
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectProcess.cpp

  Log Message:
  -----------
  [lldb] Don't crash when attaching to pid and no binaries found (#100287)

There is a narrow window during process launch on macOS where lldb can
attach and no binaries will be seen as loaded in the process (none
reported by libdyld SPI). A year ago I made changes to set the
new-binary-loaded breakpoint correctly despite this. But we've seen a
crash when this combination is seen, where
CommandObjectProcessAttach::DoExecute assumed there was at least one
binary registered in the Target. Fix that.

Also fix two FileSpec API uses from when we didn't have a GetPath()
method that returned a std::string, and was copying the filepaths into
fixed length buffers. All of this code was from ~14 years ago when we
didn't have that API.

rdar://131631627


  Commit: 52ebd8d0577e07be9c25b56656d1974a84c40bf7
      https://github.com/llvm/llvm-project/commit/52ebd8d0577e07be9c25b56656d1974a84c40bf7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  [tsan] Enable test on linux (#99659)

It passes as-is on my system.


  Commit: 4f79ef4efff432a93005b156726587c8c5a5ac17
      https://github.com/llvm/llvm-project/commit/4f79ef4efff432a93005b156726587c8c5a5ac17
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/include/__utility/pair.h
    M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
    M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivially_copyable.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Revert "Make std::pair trivially copyable if its members are (#89652)" (#100184)

This reverts commit f9dd885cb6e6b. We're not certain yet whether the
patch has issues, so we are reverting until we've had time to
investigate.


  Commit: 26fa399012da00fbf806f50ad72a3b5f0ee63eab
      https://github.com/llvm/llvm-project/commit/26fa399012da00fbf806f50ad72a3b5f0ee63eab
  Author: Stefan Pintilie <stefanp at ca.ibm.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/PowerPC/subreg-coalescer.mir
    A llvm/test/CodeGen/X86/subreg-fail.mir

  Log Message:
  -----------
  [RegisterCoalescer] Fix SUBREG_TO_REG handling in the RegisterCoalescer. (#96839)

The issue with the handling of the SUBREG_TO_REG is that we don't join
the subranges correctly when we join live ranges across the
SUBREG_TO_REG. For example when joining across this:
```
32B	  %2:gr64_nosp = SUBREG_TO_REG 0, %0:gr32, %subreg.sub_32bit
```
we want to join these live ranges:
```
%0 [16r,32r:0) 0 at 16r  weight:0.000000e+00
%2 [32r,112r:0) 0 at 32r  weight:0.000000e+00
```
Before the fix the range for the resulting merged `%2` is:
```
%2 [16r,112r:0) 0 at 16r  weight:0.000000e+00
```
After the fix it is now this: 
```
%2 [16r,112r:0) 0 at 16r  L000000000000000F [16r,112r:0) 0 at 16r  weight:0.000000e+00
```

Two tests are added to this fix. The X86 test fails without the patch.
The PowerPC test passes with and without the patch but is added as a way
track future possible failures when register classes are changed in a
future patch.


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/docs/configure.rst

  Log Message:
  -----------
  [libc] Fix leftover debug commandline argument

Summary:
Fixes https://github.com/llvm/llvm-project/issues/100289


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

  Changed paths:
    M llvm/test/CodeGen/LoongArch/rotl-rotr.ll

  Log Message:
  -----------
  [LoongArch][test] Pre-commit for fix codegen for ISD::ROTR. NFC


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

  Changed paths:
    M llvm/test/CodeGen/LoongArch/rotl-rotr.ll

  Log Message:
  -----------
  [LoongArch][test] Revert "Pre-commit for fix codegen for ISD::ROTR". NFC

This reverts commit bc829b501d0ffa93019d29b0294e998d3dbb3d7a.


  Commit: 785d376d1231167688dd12f93c5c0a5d46cd4086
      https://github.com/llvm/llvm-project/commit/785d376d1231167688dd12f93c5c0a5d46cd4086
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s

  Log Message:
  -----------
  [ORC][JITLink] Treat common symbols as weak definitions.

Duplicate common definitions should be coaleseced, rather than being treated as
duplicate definitions. Strong definitions should override common definitions.

rdar://132314264


  Commit: 690dc4eff19c85d0afaa9e189cf7e40fe3d1ff76
      https://github.com/llvm/llvm-project/commit/690dc4eff19c85d0afaa9e189cf7e40fe3d1ff76
  Author: quartersdg <sdgoglin at gmail.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/lib/AsmParser/AsmParserImpl.h
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/AsmParser/Parser.h
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/mlir-tblgen/testdialect-attrdefs.mlir

  Log Message:
  -----------
  Add AsmParser::parseDecimalInteger. (#96255)

An attribute parser needs to parse lists of possibly negative integers
separated by x in a way which is foiled by parseInteger handling hex
formats and parseIntegerInDimensionList does not allow negatives.

---------

Co-authored-by: Jacques Pienaar <jpienaar at google.com>


  Commit: c49837f5f688ff2cd70ecc6d5aefd71af2afb22b
      https://github.com/llvm/llvm-project/commit/c49837f5f688ff2cd70ecc6d5aefd71af2afb22b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    R llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
    R llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
    R llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s

  Log Message:
  -----------
  Revert "[ORC][JITLink] Treat common symbols as weak definitions."

This reverts commit 785d376d1231167688dd12f93c5c0a5d46cd4086 while I
investigate some bot failures (e.g.
https://lab.llvm.org/buildbot/#/builders/3/builds/1983).


  Commit: b91c75fcaeea47d54ac5d15b45f079bf44681dc4
      https://github.com/llvm/llvm-project/commit/b91c75fcaeea47d54ac5d15b45f079bf44681dc4
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-out-arguments.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll

  Log Message:
  -----------
  [RISCV] Add unit strided load/store to whole register peephole (#100116)

This adds a new vector peephole that converts unmasked, VLMAX
vleN.v/vseN.v to their whole register equivalents.

It replaces the existing tablegen patterns on ISD::LOAD/ISD::STORE and
is a bit more general since it also catches VP loads and stores and
@llvm.riscv intrinsics.

The heavy lifting of detecting a VLMAX AVL and an all-ones mask is
already taken care of by existing peepholes.


  Commit: 599f8e1120db8c8c7a5e42134ea52650e8fb0f1c
      https://github.com/llvm/llvm-project/commit/599f8e1120db8c8c7a5e42134ea52650e8fb0f1c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  Reland "[compiler-rt][X86] Use functions in cpuid.h instead of inline assembly (#97877)"

This reverts commit f1905f064451bf688577976a13000c9c47e58452.

This relands commit 19cf8deabe1124831164987f1b9bf2f806c0a875.

There were issues with the preprocessor includes that should have
excluded MSVC still including clang functions building on windows and
using intrin.h. This relanding fixes this behavior by additionally
wrapping the uses of __get_cpuid and __get_cpuid_count in _MSC_VER so
that clang in MSVC mode, which includes intrin.h, does not have any
conflicts.


  Commit: d27ee36cdef28845b4aba4f438c7d8bef4be4da7
      https://github.com/llvm/llvm-project/commit/d27ee36cdef28845b4aba4f438c7d8bef4be4da7
  Author: Kai Yan <aklkaiyan at tencent.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/WindowScheduler.cpp
    A llvm/test/CodeGen/Hexagon/swp-ws-zero-cost.mir

  Log Message:
  -----------
  [llvm][CodeGen] Fixed max cycle calculation with zero-cost instructions for window scheduler (#99454)

We discovered some scheduling failures occurring when zero-cost
instructions were involved. This issue will be addressed by this patch.


  Commit: 2d6ff0c533aa1b0fe6d91764846f636c4a4e911c
      https://github.com/llvm/llvm-project/commit/2d6ff0c533aa1b0fe6d91764846f636c4a4e911c
  Author: Kai Yan <aklkaiyan at tencent.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/WindowScheduler.cpp
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir

  Log Message:
  -----------
  [llvm][CodeGen] Added missing initialization failure information for window scheduler (#99449)

Added missing initialization failure information for window scheduler.


  Commit: e386aacb747b4512dedf481ad83e054d3dd641e6
      https://github.com/llvm/llvm-project/commit/e386aacb747b4512dedf481ad83e054d3dd641e6
  Author: hev <wangrui at loongson.cn>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/rotl-rotr.ll

  Log Message:
  -----------
  [LoongArch] Fix codegen for ISD::ROTR (#100292)

This patch fixes the code generation for IR:

sext i32 (trunc i64 (rotr i64 %x, i64 %y) to i32) to i64


  Commit: 6810c05ccaeea318bc06076680a9a843b02a1881
      https://github.com/llvm/llvm-project/commit/6810c05ccaeea318bc06076680a9a843b02a1881
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/pr99782.ll

  Log Message:
  -----------
  [RISCV] Update test for #99821 after #100116. NFC


  Commit: cd1a2ede2f6a741adf34fc5b57eb73aa149b515c
      https://github.com/llvm/llvm-project/commit/cd1a2ede2f6a741adf34fc5b57eb73aa149b515c
  Author: Kai Yan <aklkaiyan at tencent.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    A llvm/test/CodeGen/Hexagon/swp-ws-pragma-initiation-interval-fail.mir

  Log Message:
  -----------
  [llvm][CodeGen] Added a new restriction for II by pragma in window scheduler (#99448)

Added a new restriction for window scheduling.
Window scheduling is disabled when llvm.loop.pipeline.initiationinterval
is set.


  Commit: 2ca300f914b1bdeef5f08415bbcbf1803c186401
      https://github.com/llvm/llvm-project/commit/2ca300f914b1bdeef5f08415bbcbf1803c186401
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp

  Log Message:
  -----------
  [GlobalIsel][NFC] Move cast code (#100196)

Preparation for more cast combines


  Commit: 6942f1d5aa232face8269ce78c4de7d45571a8e9
      https://github.com/llvm/llvm-project/commit/6942f1d5aa232face8269ce78c4de7d45571a8e9
  Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
    M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_2d.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Scalable Vectorization of Reduction on the Trailing Dimension (#97788)

Allow scalable vectorization of linalg::reduce and linalg::generic that has
reduction iterator(s) with two restrictions:
1. The reduction dim is the last (innermost) dim of the op; and
2. Only the reduction dim is requested for scalable vectorization.

One exception is that scalable vectorization of the reduction dim in
Matmul-like ops are not supported even above restrictions are met.

Allowed combinations of scalable flags and iterator types:
Matmul:
        Iterators: ["parallel", "parallel", "reduction"]
Scalable Flags: ["true",     "true",     "false"]
                       ["false",    "true",     "false"]
Matvec:
        Iterators: ["parallel", "reduction"]
Scalable Flags: ["false",    "true"]
                       ["true",     "false"]


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/warn-fsyntax-only.c

  Log Message:
  -----------
  [Driver] Don't claim -c/-S

Remove the TODO I left in commit
a07b135ce0c0111bd83450b5dc29ef0381cdbc39.

We will now warn about `-c/-S` with `-fsyntax-only`. This relands #98607
with a specific target triple.


  Commit: 2ae862b74b3b132b6682350d47a095e733c337ce
      https://github.com/llvm/llvm-project/commit/2ae862b74b3b132b6682350d47a095e733c337ce
  Author: Hongyu Chen <hongyc4 at uci.edu>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M lld/ELF/ScriptLexer.cpp
    M lld/ELF/ScriptLexer.h
    M lld/ELF/ScriptParser.cpp

  Log Message:
  -----------
  [ELF] Remove `consumeLabel` in ScriptLexer (#99567)

This commit removes `consumeLabel` since we can just use consume
function to have the same functionalities.


  Commit: 7b619730d9e2bcc2ab1588574ed94ae19c4b8654
      https://github.com/llvm/llvm-project/commit/7b619730d9e2bcc2ab1588574ed94ae19c4b8654
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp][test] Try to make a test case work on Windows


  Commit: 9d45b450f26a1ad669d4ceaac2c36aff4b80bfde
      https://github.com/llvm/llvm-project/commit/9d45b450f26a1ad669d4ceaac2c36aff4b80bfde
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/remquo.ll
    A llvm/test/Transforms/InstCombine/remquol-fp128.ll
    A llvm/test/Transforms/InstCombine/remquol-fp80.ll
    A llvm/test/Transforms/InstCombine/remquol-ppc-fp128.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Constant fold `remquo` (#99647)

This patch adds constant folding support for `remquo`.
Reference: https://en.cppreference.com/w/cpp/numeric/math/remquo

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


  Commit: f4e8fbc5e90a4f2959a0eb6d7b01e7e279fb693b
      https://github.com/llvm/llvm-project/commit/f4e8fbc5e90a4f2959a0eb6d7b01e7e279fb693b
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M compiler-rt/test/nsan/CMakeLists.txt
    A compiler-rt/test/nsan/alloca.cpp
    A compiler-rt/test/nsan/helpers.h
    M compiler-rt/test/nsan/lit.cfg.py
    M compiler-rt/test/nsan/lit.site.cfg.py.in
    A compiler-rt/test/nsan/sum.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Add lit config for tests (#100286)

Initial setup for tests.

Test plan: ninja check-nsan


  Commit: 63ae1e955007287ecf048d706ce3e025d20f52b8
      https://github.com/llvm/llvm-project/commit/63ae1e955007287ecf048d706ce3e025d20f52b8
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    R llvm/test/CodeGen/RISCV/pr89833.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
    R llvm/test/CodeGen/RISCV/rvv/strided-load-store-intrinsics.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Emit VP strided loads/stores in RISCVGatherScatterLowering (#98111)

RISCVGatherScatterLowering is the last user of
riscv_masked_strided_{load,store} after #98131 and #98112, this patch
changes it to emit the VP equivalent instead. This allows us to remove
the masked_strided intrinsics so we have only have one lowering path.

riscv_masked_strided_{load,store} didn't have AVL operands and were
always VLMAX, so this passes in the fixed or scalable element count to
the EVL instead, which RISCVVectorPeephole should now convert to VLMAX
after #97800.
For loads we also use a vp_select to get passthru (mask undisturbed)
behaviour


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx2b.cpp
    M clang/test/SemaCXX/cxx23-invalid-constexpr.cpp

  Log Message:
  -----------
  [clang][ExprConst] Allow non-literal types in C++23 (#100062)

Instead of diagnosing non-literal types in C++23, allow them and later
diagnose them differently, e.g. because they have a non-constexpr
constructor, destructor, etc.

For this test:
```c++
struct NonLiteral {
  NonLiteral() {}
};
constexpr int foo() {
  NonLiteral L;
  return 1;
}

// static_assert(foo() == 1);
```
The current diagnostics with c++20/c++23 are:
```console
~/code/llvm-project/build » clang -c array.cpp -std=c++20
array.cpp:91:14: error: variable of non-literal type 'NonLiteral' cannot be defined in a constexpr function before C++23
   91 |   NonLiteral L;
      |              ^
array.cpp:87:8: note: 'NonLiteral' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
   87 | struct NonLiteral {
      |        ^
1 error generated.
------------------------------------------------------------
~/code/llvm-project/build » clang -c array.cpp -std=c++23
(no output)
```

With the `static_assert` enabled, compiling with `-std=c++23` prints:
```console
array.cpp:95:15: error: static assertion expression is not an integral constant expression
   95 | static_assert(foo() == 1);
      |               ^~~~~~~~~~
array.cpp:91:14: note: non-literal type 'NonLiteral' cannot be used in a constant expression
   91 |   NonLiteral L;
      |              ^
array.cpp:95:15: note: in call to 'foo()'
   95 | static_assert(foo() == 1);
      |               ^~~~~
1 error generated.
```

As mentioned in #60311, this is confusing. The output with c++20
suggests that using c++23 will make the problem go away, but it's
diagnosed the same when running the function.

With this commit, the output instead diagnoses _why_ the non-literal
type can't be used:
```console
array.cpp:95:15: error: static assertion expression is not an integral constant expression
   95 | static_assert(foo() == 1);
      |               ^~~~~~~~~~
array.cpp:91:14: note: non-constexpr constructor 'NonLiteral' cannot be used in a constant expression
   91 |   NonLiteral L;
      |              ^
array.cpp:95:15: note: in call to 'foo()'
   95 | static_assert(foo() == 1);
      |               ^~~~~
array.cpp:88:3: note: declared here
   88 |   NonLiteral() {}
      |   ^
1 error generated.

``` 




Fixes #60311


  Commit: e7698a13e319a9919af04d3d693a6f6ea7168a44
      https://github.com/llvm/llvm-project/commit/e7698a13e319a9919af04d3d693a6f6ea7168a44
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s

  Log Message:
  -----------
  Re-apply "[ORC][JITLink] Treat common symbols as weak definitions." with fixes.

This reapplies 785d376d123, which was reverted in c49837f5f68 due to bot
failures. The fix was to relax some asserts to allow common symbols to be
resolved with either common or weak flags, rather than requiring one or the
other.


  Commit: 63e179929e2c31426717f841e786f1a035bed934
      https://github.com/llvm/llvm-project/commit/63e179929e2c31426717f841e786f1a035bed934
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s

  Log Message:
  -----------
  [ORC] Re-add test files that were accidentally left out of e7698a13e31.


  Commit: 455990d18fe488ff6c8e3b161434e35d412b43a2
      https://github.com/llvm/llvm-project/commit/455990d18fe488ff6c8e3b161434e35d412b43a2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  Reland "SelectionDAG: Avoid using MachineFunction::getMMI" (#99779)

Reverts llvm/llvm-project#99777

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: ddb75ca6062c9312896647c206f8b96574bef11d
      https://github.com/llvm/llvm-project/commit/ddb75ca6062c9312896647c206f8b96574bef11d
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.cpp
    A llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt

  Log Message:
  -----------
  [AMDGPU] Utilities to asan instrument memory instructions. (#98863)

This change adds the utilities required to asan instrument memory
instructions. In "amdgpu-sw-lower-lds" pass #87265, during lowering from
LDS to global memory, new instructions in global memory would be created 
which need to be asan instrumented.


  Commit: ef1c70d26b7e84a6f47c0c6a868b769935b2b008
      https://github.com/llvm/llvm-project/commit/ef1c70d26b7e84a6f47c0c6a868b769935b2b008
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

  Log Message:
  -----------
  [compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#99613)

Examples of the output:

ARM:
```
# ./a.out 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==122==ERROR: AddressSanitizer: SEGV on unknown address 0x0000007a (pc 0x76e13ac0 bp 0x7eb7fd00 sp 0x7eb7fcc8 T0)
==122==The signal is caused by a READ memory access.
==122==Hint: address points to the zero page.
    #0 0x76e13ac0  (/lib/libc.so.6+0x7cac0)
    #1 0x76dce680 in gsignal (/lib/libc.so.6+0x37680)
    #2 0x005c2250  (/root/a.out+0x145250)
    #3 0x76db982c  (/lib/libc.so.6+0x2282c)
    #4 0x76db9918 in __libc_start_main (/lib/libc.so.6+0x22918)

==122==Register values:
 r0 = 0x00000000   r1 = 0x0000007a   r2 = 0x0000000b   r3 = 0x76d95020  
 r4 = 0x0000007a   r5 = 0x00000001   r6 = 0x005dcc5c   r7 = 0x0000010c  
 r8 = 0x0000000b   r9 = 0x76f9ece0  r10 = 0x00000000  r11 = 0x7eb7fd00  
r12 = 0x76dce670   sp = 0x7eb7fcc8   lr = 0x76e13ab4   pc = 0x76e13ac0  
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib/libc.so.6+0x7cac0) 
==122==ABORTING
```

AArch64:
```
# ./a.out 
UndefinedBehaviorSanitizer:DEADLYSIGNAL
==99==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x000000000063 (pc 0x007fbbbc5860 bp 0x007fcfdcb700 sp 0x007fcfdcb700 T99)
==99==The signal is caused by a UNKNOWN memory access.
==99==Hint: address points to the zero page.
    #0 0x007fbbbc5860  (/lib64/libc.so.6+0x82860)
    #1 0x007fbbb81578  (/lib64/libc.so.6+0x3e578)
    #2 0x00556051152c  (/root/a.out+0x3152c)
    #3 0x007fbbb6e268  (/lib64/libc.so.6+0x2b268)
    #4 0x007fbbb6e344  (/lib64/libc.so.6+0x2b344)
    #5 0x0055604e45ec  (/root/a.out+0x45ec)

==99==Register values:
 x0 = 0x0000000000000000   x1 = 0x0000000000000063   x2 = 0x000000000000000b   x3 = 0x0000007fbbb41440  
 x4 = 0x0000007fbbb41580   x5 = 0x3669288942d44cce   x6 = 0x0000000000000000   x7 = 0x00000055605110b0  
 x8 = 0x0000000000000083   x9 = 0x0000000000000000  x10 = 0x0000000000000000  x11 = 0x0000000000000000  
x12 = 0x0000007fbbdb3360  x13 = 0x0000000000010000  x14 = 0x0000000000000039  x15 = 0x00000000004113a0  
x16 = 0x0000007fbbb81560  x17 = 0x0000005560540138  x18 = 0x000000006474e552  x19 = 0x0000000000000063  
x20 = 0x0000000000000001  x21 = 0x000000000000000b  x22 = 0x0000005560511510  x23 = 0x0000007fcfdcb918  
x24 = 0x0000007fbbdb1b50  x25 = 0x0000000000000000  x26 = 0x0000007fbbdb2000  x27 = 0x000000556053f858  
x28 = 0x0000000000000000   fp = 0x0000007fcfdcb700   lr = 0x0000007fbbbc584c   sp = 0x0000007fcfdcb700  
UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV (/lib64/libc.so.6+0x82860) 
==99==ABORTING
```


  Commit: fad17b43dbc09ac7e0a95535459845f72c2b739a
      https://github.com/llvm/llvm-project/commit/fad17b43dbc09ac7e0a95535459845f72c2b739a
  Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Lex/PPMacroExpansion.cpp

  Log Message:
  -----------
  [clang] replaced the usage of `asctime` with `std::put_time` (#99075)

In `clang/lib/Lex/PPMacroExpansion.cpp`, replaced the usage of the
obsolete `asctime` function with `std::put_time` for generating
timestamp strings.

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


  Commit: d09fc8f0b7875a4dadb50aae5f47788124d6b526
      https://github.com/llvm/llvm-project/commit/d09fc8f0b7875a4dadb50aae5f47788124d6b526
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c

  Log Message:
  -----------
  [compiler-rt][builtins] Fix `-Werror` build problem (#100312)

GCC-14.1.1 emit an error due to uninitialized variables
x86.c:303:17: error: ‘EAX’ may be used uninitialized
[-Werror=maybe-uninitialized]
x86.c:970:35: error: ‘MaxLevel’ may be used uninitialized
[-Werror=maybe-uninitialized]
x86.c:987:48: error: ‘MaxExtLevel’ may be used uninitialized
[-Werror=maybe-uninitialized]
It doesn't handle properly that these variables initialized indirectly
in functions that takes pointers to them


  Commit: c34d673b02ead039acd107f096c1f32c16b61e07
      https://github.com/llvm/llvm-project/commit/c34d673b02ead039acd107f096c1f32c16b61e07
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/test/asan/Unit/lit.site.cfg.py.in

  Log Message:
  -----------
  [asan][cmake][test] Fix finding dynamic asan runtime lib (#100083)

In a `runtimes` build on Solaris/amd64, there are two failues:
```
  AddressSanitizer-Unit :: ./Asan-i386-calls-Dynamic-Test/failed_to_discover_tests_from_gtest
  AddressSanitizer-Unit :: ./Asan-i386-inline-Dynamic-Test/failed_to_discover_tests_from_gtest
```
This happens when `lit` enumerates the tests with `--gtest_list_tests
--gtest_filter=-*DISABLED_*`. The error is twofold:

- The `LD_LIBRARY_PATH*` variables point at the 64-bit directory
(`lib/clang/19/lib/x86_64-pc-solaris2.11`) for a 32-bit test:
  ``` 
ld.so.1: Asan-i386-calls-Dynamic-Test: fatal:
/var/llvm/local-amd64-release-stage2-A-flang-clang18-runtimes/tools/clang/stage2-bins/./lib/../lib/clang/19/lib/x86_64-pc-solaris2.11/libclang_rt.asan.so:
wrong ELF class: ELFCLASS64
  ```
- While the tests are linked with `-Wl,-rpath`, that path always is the
64-bit directory again.

Accordingly, the fix consists of two parts:
- The code in `compiler-rt/test/asan/Unit/lit.site.cfg.py.in` to adjust
the `LD_LIBRARY_PATH*` variables is guarded by a `config.target_arch !=
config.host_arch` condition. This is wrong in two ways:
- The adjustment is always needed independent of the host arch. This is
what `compiler-rt/test/lit.common.cfg.py` already does.
- Besides, `config.host_arch` is ultimately set from
`CMAKE_HOST_SYSTEM_PROCESSOR`. On Linux/x86_64, this is `x86_64` (`uname
-m`) while on Solaris/amd64 it's `i386` (`uname -p`), explaining why the
transformation is skipped on Solaris, but not on Linux.
- Besides, `RPATH` needs to be set to the correct subdirectory, so
instead of using the default arch in `compiler-rt/CMakeLists.txt`, this
patch moves the code to a function which takes the test's arch into
account.

Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.


  Commit: 3993a47bb58f7b6da9940d084e62e54a821e81fc
      https://github.com/llvm/llvm-project/commit/3993a47bb58f7b6da9940d084e62e54a821e81fc
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/lto-jobs.c
    M clang/test/Driver/ps4-linker.c
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.test
    M llvm/test/DebugInfo/debuglineinfo-path.ll

  Log Message:
  -----------
  [PS4/PS5][Driver][DWARF] Always emit .debug_aranges for SCE tuning (#100160)

Some of SIE's post-mortem analysis infrastructure currently makes use of
.debug_aranges, so we'd like to ensure the section's presence in
PlayStation binaries. The simplest way to do this is to force emission
when the debugger tuning is set to SCE (which is in turn typically
initialized from the target triple). This also simplifies the driver.

llvm/test/DebugInfo/debuglineinfo-path.ll has been marked as UNSUPPORTED
on PlayStation. When aranges are emitted, the DWARF in the test case is
such that relocations need to be applied to the aranges section in order
for symbolization to work. An alternative approach would be to implement
the application of relocations in DWARFDebugArangeSet. While experiments
show that this can be made to work with a modest patch, the test cases
would be rather contrived. Since I expect the only utility for such a
change would be to make this test case pass for PlayStation targets, and
few - if any - outside of PlayStation care about aranges, UNSUPPORTED
would seem to be a more practical option.

This was originally commited as 22eb290a96 (#99629) and later reverted
at 84658fb82b (#99711) due to test failures on SIE built bots. These
failures shouldn't recur due to 3b24e5d450 (#99897) and the
aforementioned change to debuglineinfo-path.ll.

SIE tracker: TOOLCHAIN-16951


  Commit: ddf5725ef180692b60962ae56e352a7af6fc5919
      https://github.com/llvm/llvm-project/commit/ddf5725ef180692b60962ae56e352a7af6fc5919
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll

  Log Message:
  -----------
  [nsan] Emit calls to optimized functions (#98900)

As previously noted in nsan.cpp we can implement
optimized variants of `__nsan_copy_values` and
`__nsan_set_value_unknown` if a memory operation
size is known.
Now the instrumentation creates calls to optimized functions if there is
4, 8 or 16-byte memory operation like
`memset(X, value, 4/8/16)` or `memcpy(dst, src, 4/8/16)`
nsan.cpp provides definitions of the optimized functions.


  Commit: a3de21cac1fb8f1dd98cfe1d1443e2d3f0a97351
      https://github.com/llvm/llvm-project/commit/a3de21cac1fb8f1dd98cfe1d1443e2d3f0a97351
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/simd-arith.ll
    M llvm/test/CodeGen/WebAssembly/vector-reduce.ll

  Log Message:
  -----------
  [WebAssembly] Ofast pmin/pmax pattern matchers (#100107)

With fast-math, the ordered setcc nodes are converted to setcc nodes
which do not care about NaNs, so add patterns that use setlt, setle,
setgt and setge.


  Commit: 1ead51a86c6c746a1b9948ca1ee142df223ffebd
      https://github.com/llvm/llvm-project/commit/1ead51a86c6c746a1b9948ca1ee142df223ffebd
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/test/Fir/abstract-results.fir

  Log Message:
  -----------
  [flang] fix C_PTR function result lowering (#100082)

Functions returning C_PTR were lowered to function returning intptr (i64
on 64bit arch). This caused conflicts when these functions were defined
as returning !fir.ref<none>/llvm.ptr in other compiler generated
contexts (e.g., malloc).

Lower them to return !fir.ref<none>.

This should deal with https://github.com/llvm/llvm-project/issues/97325
and https://github.com/llvm/llvm-project/issues/98644.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRPrinter.h
    M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MIRPrintingPass.cpp
    M llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp

  Log Message:
  -----------
  CodeGen: Avoid using MachineFunction::getMMI in MachineModuleSlotTracker (#100310)


  Commit: ba8126b6fef79bd344a247f6291aaec7b67bdff0
      https://github.com/llvm/llvm-project/commit/ba8126b6fef79bd344a247f6291aaec7b67bdff0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll

  Log Message:
  -----------
  [LV] Mark dead instructions in loop as free.

Update collectValuesToIgnore to also ignore dead instructions in the
loop. Such instructions will be removed by VPlan-based DCE and won't be
considered by the VPlan-based cost model.

This closes a gap between the legacy and VPlan-based cost model. In
practice with the default pipelines, there shouldn't be any dead
instructions in loops reaching LoopVectorize, but it is easy to generate
such cases by hand or automatically via fuzzers.

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


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

  Changed paths:
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp

  Log Message:
  -----------
  M68k: Remove hasDebugInfo check

Follow up to a03935b9841c4e30b27dd9399e0b93191ad443f3


  Commit: 666e3326fedfb6a033494c36c36aa95c4124d642
      https://github.com/llvm/llvm-project/commit/666e3326fedfb6a033494c36c36aa95c4124d642
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/CodeGenCXX/mangle-fail.cpp
    M clang/test/Sema/ptrauth-intrinsics-macro.c
    A clang/test/SemaCXX/ptrauth-type-discriminator.cpp

  Log Message:
  -----------
  [PAC] Define __builtin_ptrauth_type_discriminator (#100204)

The builtin computes the discriminator for a type, which can be used to
sign/authenticate function pointers and member function pointers.

If the type passed to the builtin is a C++ member function pointer type,
the result is the discriminator used to signed member function pointers
of that type. If the type is a function, function pointer, or function
reference type, the result is the discriminator used to sign functions
of that type. It is ill-formed to use this builtin with any other type.

A call to this function is an integer constant expression.

Co-Authored-By: John McCall rjmccall at apple.com


  Commit: 6a1b119035bd329c54f6b5438e6989e49dcb0adb
      https://github.com/llvm/llvm-project/commit/6a1b119035bd329c54f6b5438e6989e49dcb0adb
  Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll

  Log Message:
  -----------
  [AMDGPU] Add intrinsics for atomic struct buffer loads (#100140)

Mark these intrinsics as atomic loads within LLVM to prevent hoisting
out of loops in cases where
the load is considered invariant.

Similar to https://github.com/llvm/llvm-project/pull/97707, but for
struct buffer loads.


  Commit: 7fad04e94b7b594389111ae7eca0883ef18dc90b
      https://github.com/llvm/llvm-project/commit/7fad04e94b7b594389111ae7eca0883ef18dc90b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  [LSR] Fix matching vscale immediates (#100080)

Somewhat confusingly a `SCEVMulExpr` is a `SCEVNAryExpr`, so can have
> 2 operands. Previously, the vscale immediate matching did not check
the number of operands of the `SCEVMulExpr`, so would ignore any
operands after the first two.

This led to incorrect codegen (and results) for ArmSME in IREE
(https://github.com/iree-org/iree), which sometimes addresses things
that are a `vscale * vscale` multiple away. The test added with this
change shows an example reduced from IREE. The second write should
be offset from the first `16 * vscale * vscale` (* 4 bytes), however,
previously LSR dropped the second vscale and instead offset the write by
`#4, mul vl`, which is an offset of `16 * vscale` (* 4 bytes).


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  MachineOutliner: Use PM to query MachineModuleInfo (#99688)

Avoid getting this from the MachineFunction


  Commit: cd82fee3918c4244777310cb97cd02e1ddcbfcf0
      https://github.com/llvm/llvm-project/commit/cd82fee3918c4244777310cb97cd02e1ddcbfcf0
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [nsan] Fix `Wstring-conversion` error (#100328)

Fix error: implicit conversion turns string literal into bool: 'const
char[46]' to 'bool' [-Werror,-Wstring-conversion]


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

  Changed paths:
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Update picolib xfails (#99631)

clang_modules_include.gen.py works now, and I added some background to
classic_table.pass.cpp.

Opened https://github.com/picolibc/picolibc/issues/778 to see if that
one is possible to fix.


  Commit: f0bd705c9b6bd59496b44934a893a5b74085a376
      https://github.com/llvm/llvm-project/commit/f0bd705c9b6bd59496b44934a893a5b74085a376
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    A llvm/test/CodeGen/ARM/block-order.mir

  Log Message:
  -----------
  [CodeGen] Restore MachineBlockPlacement block ordering (#99351)

PR #91843 changed the algorithm used to find the next unplaced block so
that it iterates through the blocks in BlockFilter instead of iterating
through the blocks in the function and checking if they are in the block
filter. Unfortunately this sometimes results in a different block
ordering being chosen, as the order of blocks in BlockFilter comes from
the order in MachineLoopInfo, and in some cases this differs from the
order they are in the function. This can also give an end result that
has worse performance.

Fix this by making collectLoopBlockSet place blocks in its output in the
order that they are in the function.


  Commit: d36edf8146cfea9f0407e2fb26283297eb6a6ac4
      https://github.com/llvm/llvm-project/commit/d36edf8146cfea9f0407e2fb26283297eb6a6ac4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp] Bail out on value dependent variable initializers


  Commit: aa53f0d6fd3ec9b4cec9dd14d4c1d1a6c4d7838c
      https://github.com/llvm/llvm-project/commit/aa53f0d6fd3ec9b4cec9dd14d4c1d1a6c4d7838c
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [ASTContext] Make the end of the switch case unreachable in `encodeTypeForFunctionPointerAuth` (#99763)

This prevent the warning from compiler.


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

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][OpenMP] Keep -verify-openmp-ops output as dependency (#99638)

Currently, the `mlir-tblgen -verify-openmp-ops` pseudo-backend, which
only performs an OpenMP dialect-specific set of checks and produces no
output, is prevented from being added as a dependency to the
`MLIROpenMPOpsIncGen` tablegen target.

However, a consequence of this is that it is not triggered with every
modification of the OpenMPOps.td file it's intended to check, although
it should. This patch fixes the issue by letting the empty output file
to be added to the `TABLEGEN_OUTPUT` CMake variable used by the
`add_public_tablegen_target` command below to set up dependencies.


  Commit: 05e95067eeaaf4bac820d10abe146db49925a195
      https://github.com/llvm/llvm-project/commit/05e95067eeaaf4bac820d10abe146db49925a195
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    R llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll

  Log Message:
  -----------
  [RISCV] Update combine-vmv.ll to have more foldable cases. NFC

A lot of cases have differing AVLs which aren't foldable, update them so the peephole triggers on them and add explicit cases for non-foldable AVLs.

Also rename it to vmv.v.v-peephole.ll since it's not actually a DAG combine.

And remove a TODO, it's correct to fold if the two passthrus are the same.


  Commit: 893a303962608469ec5bd01fe44e82c935152e9c
      https://github.com/llvm/llvm-project/commit/893a303962608469ec5bd01fe44e82c935152e9c
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
    M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
    M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
    M clang/test/Analysis/NewDelete-intersections.mm
    M clang/test/Analysis/free.c
    M clang/test/Analysis/free.cpp
    M clang/test/Analysis/getline-alloc.c
    M clang/test/Analysis/kmalloc-linux.c
    M clang/test/Analysis/malloc-fnptr-plist.c
    M clang/test/Analysis/malloc-std-namespace.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.mm
    M clang/test/Analysis/plist-macros.cpp
    M clang/test/Analysis/weak-functions.c
    M clang/test/Sema/attr-ownership.c

  Log Message:
  -----------
  [clang][analyzer] Support `ownership_{returns,takes}` attributes (#98941)

Add support for checking mismatched ownership_returns/ownership_takes attributes.

Closes #76861


  Commit: 1031335f2ee1879737576fde3a3425ce0046e773
      https://github.com/llvm/llvm-project/commit/1031335f2ee1879737576fde3a3425ce0046e773
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libcxx/include/__math/hypot.h
    M libcxx/include/cmath
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp
    M libcxx/test/support/fp_compare.h

  Log Message:
  -----------
  Revert "[libc++][math] Fix undue overflowing of `std::hypot(x,y,z)` (#93350)"

This reverts commit 9628777479a970db5d0c2d0b456dac6633864760.

More details in https://github.com/llvm/llvm-project/pull/93350, but
this broke the PowerPC sanitizer bots.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  ARM: Avoid using MachineFunction::getMMI


  Commit: 68a0d0c76223736351fd7c452bca3ba9d80ca342
      https://github.com/llvm/llvm-project/commit/68a0d0c76223736351fd7c452bca3ba9d80ca342
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90

  Log Message:
  -----------
  [flang][OpenMP] Handle common blocks in delayed privatization (#100317)

Adds proper mapping of common block elements to block arguments in
parallel regions when delayed privatization is enabled.


  Commit: a5bc549c5058cb75d5dab44422a055ab06580766
      https://github.com/llvm/llvm-project/commit/a5bc549c5058cb75d5dab44422a055ab06580766
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn] port 73ac9536268f


  Commit: 559be8e2b55afbf6736fed646542fb25793f0f7e
      https://github.com/llvm/llvm-project/commit/559be8e2b55afbf6736fed646542fb25793f0f7e
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll

  Log Message:
  -----------
  Reapply "[FunctionAttrs] Determine underlying object by `getUnderlyingObjectAggressive` (#100102)"

Added handling for `AllocaInst`.

This reverts commit 1ee686a55aa6365eff39bbd1dc2059b16be6c2f1.


  Commit: 59eae919c938f890e9b9b4be8a3fa3cb1b11ed89
      https://github.com/llvm/llvm-project/commit/59eae919c938f890e9b9b4be8a3fa3cb1b11ed89
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/pr100298.ll

  Log Message:
  -----------
  [ValueTracking] Don't use CondContext in dataflow analysis of phi nodes (#100316)

See the following case:
```
define i16 @pr100298() {
entry:
  br label %for.inc

for.inc:
  %indvar = phi i32 [ -15, %entry ], [ %mask, %for.inc ]
  %add = add nsw i32 %indvar, 9
  %mask = and i32 %add, 65535
  %cmp1 = icmp ugt i32 %mask, 5
  br i1 %cmp1, label %for.inc, label %for.end

for.end:
  %conv = trunc i32 %add to i16
  %cmp2 = icmp ugt i32 %mask, 3
  %shl = shl nuw i16 %conv, 14
  %res = select i1 %cmp2, i16 %conv, i16 %shl
  ret i16 %res
}
```

When computing knownbits of `%shl` with `%cmp2=false`, we cannot use
this condition in the analysis of `%mask (%for.inc -> %for.inc)`.
 
Fixes https://github.com/llvm/llvm-project/issues/100298.


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/using.rst
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Remove 'packaged' GPU build support (#100208)

Summary:
Previously, the GPU built the `libc` in a fat binary version that was
used to pass this to the link job in offloading languages like CUDA or
OpenMP. This was mostly required because NVIDIA couldn't consume the
standard static library version. Recent patches have now created the
`clang-nvlink-wrapper` which lets us do that. Now, the C library is just
included implicitly by the toolchain (or passed with -Xoffload-linker
-lc).

This code can be fully removed, which will heavily simplify the build
(and removed some bugs and garbage files I've encoutnered).


  Commit: 99c5140bb2b025cb91029792941e819bb30b39a0
      https://github.com/llvm/llvm-project/commit/99c5140bb2b025cb91029792941e819bb30b39a0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2ca300f914b1


  Commit: 48e1eb4e6b0721488b0d07efab82bf12720186cb
      https://github.com/llvm/llvm-project/commit/48e1eb4e6b0721488b0d07efab82bf12720186cb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port ddb75ca6062c


  Commit: e6c20e11e7bcd8d6916317888f95d98c13fdc21d
      https://github.com/llvm/llvm-project/commit/e6c20e11e7bcd8d6916317888f95d98c13fdc21d
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    R llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.cpp
    R llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt

  Log Message:
  -----------
  [AMDGPU] Move AMDGPUAsanInstrumentation outside of utils (#100323)

#98863 merged AMDGPUAsanInstrumentation module which missed
TransformUtils to be linked to AMDGPUUtils.
This PR moves AMDGPUAsanInstrumentation files outside utils folder and
adds them to AMDGPUCodegen lib.


  Commit: e1052faaf81b4cb3d1fe2f32aa09d2dbcfabee23
      https://github.com/llvm/llvm-project/commit/e1052faaf81b4cb3d1fe2f32aa09d2dbcfabee23
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopk.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
    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_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt

  Log Message:
  -----------
  [AMDGPU][MC][NFC] Drop remaining -wavesize32/64 attributes in tests. (#100339)

Those are not needed now that
<https://github.com/llvm/llvm-project/pull/98400> is submitted.


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  [libc] Enable 'sscanf' on the GPU (#100211)

Summary:
We can enable the `sscanf` function on the GPU now.


  Commit: 404071b059818ba51b6a832e5e09a93a4a8b579e
      https://github.com/llvm/llvm-project/commit/404071b059818ba51b6a832e5e09a93a4a8b579e
  Author: Matt Davis <mattd at nvidia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/bitcast-vector-extract.ll
    M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    M llvm/test/CodeGen/AMDGPU/mem-builtins.ll
    M llvm/test/CodeGen/NVPTX/store-undef.ll

  Log Message:
  -----------
  [SelectionDAG] Preserve volatile undef stores. (#99918)

This patch preserves `undef` SDNodes that are `volatile` qualified.
Previously, these nodes would be discarded. The motivation behind this
change is to adhere to the
[LangRef](https://llvm.org/docs/LangRef.html#volatile-memory-accesses),
even though that doc is mostly in terms of LLVM-IR, it seems reasonable
to imply that the volatile constraints also imply to SDNodes.

> Certain memory accesses, such as
[load](https://llvm.org/docs/LangRef.html#i-load)’s,
[store](https://llvm.org/docs/LangRef.html#i-store)’s, and
[llvm.memcpy](https://llvm.org/docs/LangRef.html#int-memcpy)’s may be
marked volatile. The optimizers must not change the number of volatile
operations or change their order of execution relative to other volatile
operations. The optimizers may change the order of volatile operations
relative to non-volatile operations. This is not Java’s “volatile” and
has no cross-thread synchronization behavior.

Source: https://llvm.org/docs/LangRef.html#volatile-memory-accesses


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

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

  Log Message:
  -----------
  [libcxx][test] Explain picolib unsupported in sort.pass.cpp

This is not a hidden bug, it's just a very slow test under emulation.


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  Revert "[libc] Enable 'sscanf' on the GPU (#100211)"

Summary:
This fails tests in some situations, revert until it can be fixed.
This reverts commit 445bb35f954ecd5c60ced71523f6b32fc306d557.


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/using.rst
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libc] Remove 'packaged' GPU build support (#100208)"

Summary:
I forgot that the OpenMP tests still look for this, reverting for now
until I can make a fix.

This reverts commit c1c6ed83e9ac13c511961e5f5791034a63168e7e.


  Commit: 4bb3a1e16f3a854d05bc0b8c5b6f8f78effb1d93
      https://github.com/llvm/llvm-project/commit/4bb3a1e16f3a854d05bc0b8c5b6f8f78effb1d93
  Author: Chris Copeland <chris at chrisnc.net>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/stdatomic.h
    M clang/test/Headers/stdatomic.c

  Log Message:
  -----------
  [clang] Define `ATOMIC_FLAG_INIT` correctly for C++. (#97534)


  Commit: 20957d20913be92f9d88ea5ce862d898a386dad2
      https://github.com/llvm/llvm-project/commit/20957d20913be92f9d88ea5ce862d898a386dad2
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    A clang/test/CodeGen/PowerPC/save-reg-params.c
    A clang/test/Driver/aix-save-reg-params.c
    M clang/test/Driver/ppc-unsupported.c
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/save-reg-params.ll

  Log Message:
  -----------
  [AIX] Add -msave-reg-params to save arguments to stack (#97524)

In PowerPC ABI, a few initial arguments are passed through registers,
but their places in parameter save area are reserved, arguments passed
by memory goes after the reserved location.

For debugging purpose, we may want to save copy of the pass-by-reg
arguments into correct places on stack. The new option achieves by
adding new function level attribute and make argument lowering part
aware of it.


  Commit: 558a8953680fd03bdd49a6708f3ea82d82328769
      https://github.com/llvm/llvm-project/commit/558a8953680fd03bdd49a6708f3ea82d82328769
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [compiler-rt] Move `endif` to correct place (#100342)

A couple of previous commits leaded to wrong endif placement inside the
source that caused build problem in
https://lab.llvm.org/buildbot/#/builders/13/builds/1020

See #99613 #99049


  Commit: 2bb18e27b62c5b92fb704d4af373eca99c95e11b
      https://github.com/llvm/llvm-project/commit/2bb18e27b62c5b92fb704d4af373eca99c95e11b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port e6c20e11e7bc


  Commit: b9995a14f5dee5620163e83468d3be4fcd3e67d0
      https://github.com/llvm/llvm-project/commit/b9995a14f5dee5620163e83468d3be4fcd3e67d0
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    A llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir

  Log Message:
  -----------
  [MachineLoopInfo] Fix assertion failure on undef use operands (#100137)

Fixes #100115


  Commit: 6da6772bf0a33131aa8540c9d4f60d5db75c32b5
      https://github.com/llvm/llvm-project/commit/6da6772bf0a33131aa8540c9d4f60d5db75c32b5
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S

  Log Message:
  -----------
  [AArch64][SME] Rewrite __arm_get_current_vg to preserve required registers (#100143)

The documentation for the __arm_get_current_vg support routine specifies
that the following registers are call-preserved:
 - X1-X15, X19-X29 and SP
 - Z0-Z31
 - P0-P15

This patch rewrites the implementation of this routine in compiler-rt,
as the current version does not guarantee that these registers will be
preserved.


  Commit: 07688d13414d08a1bea3cecf6607f93e4334222e
      https://github.com/llvm/llvm-project/commit/07688d13414d08a1bea3cecf6607f93e4334222e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  Revert "[LV] Add option to still enable the legacy cost model. (#99536)"

This reverts commit 9ba524427321b931bad156860755adf420aeec6a.

Remove the recently added temporary option vectorize-use-legacy-cost-model
as discussed on the PR adding it, now that we branched for 19.x.


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

  Changed paths:
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/var-permute-256.ll

  Log Message:
  -----------
  [X86] Add 'clamp out of range index' variable shuffles test coverage from #96754


  Commit: de8c4bef3329ce0045b8167cdb96d53b2a1509df
      https://github.com/llvm/llvm-project/commit/de8c4bef3329ce0045b8167cdb96d53b2a1509df
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  [tsan] Include unistd.h to declare gettid()

Try to fix https://lab.llvm.org/buildbot/#/builders/176/builds/14400.


  Commit: 1f5807eb359fb172575e18bb063fd85e4dc836e9
      https://github.com/llvm/llvm-project/commit/1f5807eb359fb172575e18bb063fd85e4dc836e9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector][nfc] Simplify `in_bounds` attr update (#100334)

Since the `in_bounds` attribute is mandatory, there's no need for logic
like this (`readOp.getInBounds()` is guaranteed to return a non-empty
ArrayRef):

```cpp
ArrayAttr inBoundsAttr = readOp.getInBounds()
    ? rewriter.getArrayAttr( readOp.getInBoundsAttr().getValue().drop_back(dimsToDrop))
    : ArrayAttr();
```

Instead, we can do this:
```cpp
ArrayAttr inBoundsAttr = rewriter.getArrayAttr(
    readOp.getInBoundsAttr().getValue().drop_back(dimsToDrop));
```

This is a small follow-up for #97049 - this change should've been
included there.


  Commit: 5b15d9c441810121c23f9f421bbb007fd4c448e8
      https://github.com/llvm/llvm-project/commit/5b15d9c441810121c23f9f421bbb007fd4c448e8
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang][OpenMP] Propoagate debug location to OMPIRBuilder reduction codegen (#100358)

This patch propagates the debug location from Clang to the
OpenMPIRBuilder.

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


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

  Changed paths:
    M libc/test/src/math/smoke/TotalOrderMagTest.h
    M libc/test/src/math/smoke/TotalOrderTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix totalorder and totalordermag smoke tests (#100354)

FPBits::signaling_nan() defaults to setting the MSB of the payload to 1.
The tests also used signaling NaNs with a payload of 0x123. With
float16, the 1 in 0x123 aligns to the MSB of the payload, therefore
0x123 is greater than the default payload. However, that is not the case
with more precise floating-point types.


  Commit: 1feef92a775daf8818faf766e0b1332421b48c5f
      https://github.com/llvm/llvm-project/commit/1feef92a775daf8818faf766e0b1332421b48c5f
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  Fix lifetimebound for field access (#100197)

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

There is no way to switch this off without  `-Wno-dangling`.


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

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/Exceptions.cpp

  Log Message:
  -----------
  [BOLT][NFC] Track fragment relationships using EquivalenceClasses

Three-way splitting can create references between split fragments (warm
to cold or vice versa) that are not handled by
`isChildOf/isParentOf/isChildOrParentOf`. Generalize fragment
relationships to allow checking if two functions belong to one group,
potentially in presence of ICF which can join multiple groups.

Test Plan: NFC for existing tests

Reviewers: maksfb, ayermolo, rafaelauler, dcci

Reviewed By: rafaelauler

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


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

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    A bolt/test/X86/three-way-split-jt.s

  Log Message:
  -----------
  [BOLT] Support more than two jump table parents

Multi-way splitting can cause multiple fragments to access the same jump
table. Relax the assumption that a jump table can only have up to two
parents.

Test Plan: added bolt/test/X86/three-way-split-jt.s

Reviewers: ayermolo, dcci, rafaelauler, maksfb

Reviewed By: rafaelauler, dcci

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


  Commit: c4b66bf4d065d3bbc2e2fac8512a6df8e013c704
      https://github.com/llvm/llvm-project/commit/c4b66bf4d065d3bbc2e2fac8512a6df8e013c704
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/README.txt
    M compiler-rt/lib/builtins/trampoline_setup.c
    M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/trampoline.ll

  Log Message:
  -----------
  [AArch64] Implement INIT/ADJUST_TRAMPOLINE (#70267)

Add support for llvm.init.trampoline and llvm.adjust.trampoline
intrinsics for AArch64.

Fixes https://github.com/llvm/llvm-project/issues/65573
Fixes https://github.com/llvm/llvm-project/issues/76927
Fixes https://github.com/llvm/llvm-project/issues/83555
Updates https://github.com/llvm/llvm-project/pull/66157


  Commit: 6c23f974d6fe43d8e5c0adbc4a4f89fbabc9d9ea
      https://github.com/llvm/llvm-project/commit/6c23f974d6fe43d8e5c0adbc4a4f89fbabc9d9ea
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [libc] Enable bind test for riscv (#100132)

The bind test was failing in the rv32 build bot because of how the build bot was set to run the tests: we were using shared directories between the host and qemu and the bind function was trying to create a file in this directory, thus creating it in the host machine.

The OS was returning "-1 ENXIO (No such device or address)", so we changed the rv32 buildbot to copy the binaries to qemu and dropped the shared directories feature.


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

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/test/X86/pseudoprobe-decoding-inline.test

  Log Message:
  -----------
  [BOLT] Add profile-use-pseudo-probes option

Move pseudo probe profile generation under --profile-use-pseudo-probes
option. Note that updating pseudo probes is independent from this flag.

Test Plan: updated pseudoprobe-decoding-inline.test

Reviewers: maksfb, rafaelauler, ayermolo, dcci, WenleiHe

Reviewed By: WenleiHe

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


  Commit: f2b6f0b5868d052ef03431405b1053be18a36d75
      https://github.com/llvm/llvm-project/commit/f2b6f0b5868d052ef03431405b1053be18a36d75
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  Revert "[tsan] Enable test on linux (#99659)"

This reverts commit 52ebd8d0577e07be9c25b56656d1974a84c40bf7.

Missing declaration for gettid() on the buildbot
(https://lab.llvm.org/buildbot/#/builders/72/builds/1592) and unfortunately
a fix-forward attempt for unistd.h didn't work
(de8c4bef3329ce0045b8167cdb96d53b2a1509df). Reverting for now.


  Commit: 374bbc93bcb34268f175405a71806c4580495c6d
      https://github.com/llvm/llvm-project/commit/374bbc93bcb34268f175405a71806c4580495c6d
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  Revert "[tsan] Include unistd.h to declare gettid()"

This reverts commit de8c4bef3329ce0045b8167cdb96d53b2a1509df.

Unfortunately the fix-forward didn't work. Reverting both and will have
Vitaly re-submit.


  Commit: f83950ab8dfda1da882a6ef7b508639df251621a
      https://github.com/llvm/llvm-project/commit/f83950ab8dfda1da882a6ef7b508639df251621a
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    A mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
    A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVVectorUnrolling.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][spirv] Implement vector unrolling for `convert-to-spirv` pass (#100138)

### Description
This PR builds on #99872. It implements a minimal version of function
body vector unrolling to convert vector types into 1D and with a size
supported by SPIR-V (2, 3 or 4 depending on the original dimension). The
ops that are currently supported include those with elementwise traits
(e.g. `arith.addi`), `vector.reduction` and `vector.transpose`. This PR
also includes new LIT tests that only check for vector unrolling.

### Future Plans
- Support more ops

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>


  Commit: e7a3aeb1f86b8d45815b834e4e20b1fc7e71705d
      https://github.com/llvm/llvm-project/commit/e7a3aeb1f86b8d45815b834e4e20b1fc7e71705d
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  Revert "[compiler-rt] Move `endif` to correct place (#100342)"

This reverts commit 558a8953680fd03bdd49a6708f3ea82d82328769.

This was a fix-forward for
https://github.com/llvm/llvm-project/pull/99613 that unfortunately
didn't work for the Android sanitizer buildbot. More information in that
pull request.


  Commit: 59e1c6cd63eb9287df6516f9a5ae564075e9c218
      https://github.com/llvm/llvm-project/commit/59e1c6cd63eb9287df6516f9a5ae564075e9c218
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    R compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    R compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#99613)"

This reverts commit ef1c70d26b7e84a6f47c0c6a868b769935b2b008.

Unfortunately broke the sanitizer buildbot(s), and the fix-forward
didn't work. More details in
https://github.com/llvm/llvm-project/pull/99613


  Commit: 9f08ae8d2dd1ff9ec3b033d099282dee05528413
      https://github.com/llvm/llvm-project/commit/9f08ae8d2dd1ff9ec3b033d099282dee05528413
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Fix getting the record decl from a pointer type


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/var-permute-128.ll

  Log Message:
  -----------
  [DAG] combineAndnp - fold ANDNP(x,PSHUFB(y,z)) -> PSHUFB(y,OR(z,x))

Based off #96754 - if we are zeroing out whole elements, then fold into the PSHUFB mask instead (if MSB is set the element is zero).

Allows us to replace the non-commutative ANDNP with a much simpler OR node.

Move this after ANDNP shuffle combining as that can do a better job of this for constant ANDNP + PSHUFB masks.


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

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  [libc] Make the libc files always available to clang for the GPU (#100396)

Summary:
The GPU build always wants these to be exported to `clang`. These will
be neccesary for setting up tests or using the `libc` from the clang
binary. This will cover the standard 'runtimes' build. If the user is
doing a direct compilation, we will just leave it as-is and assume they
know what they're doing.


  Commit: 338c35aabfbede9ba10a4f48a13e63f37d6f8c7c
      https://github.com/llvm/llvm-project/commit/338c35aabfbede9ba10a4f48a13e63f37d6f8c7c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix calling variadic call operators


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/using.rst
    M libc/lib/CMakeLists.txt
    M offload/test/libc/assert.c
    M offload/test/lit.cfg

  Log Message:
  -----------
  Reapply "[libc] Remove 'packaged' GPU build support (#100208)"

This reverts commit 550b83d658755664a7f0f93b36242e885743a91b.


  Commit: 7d787df5b932b73aae6532d1e981152f103f9244
      https://github.com/llvm/llvm-project/commit/7d787df5b932b73aae6532d1e981152f103f9244
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [Clang][NFC] Simplify initialization of `OverloadCandidate` objects. (#100318)

Initialize some fields of OverloadCandidate in its constructor. The goal
here is try to fix read of uninitialized variable (which I was not able
to reproduce)
https://github.com/llvm/llvm-project/pull/93430#issuecomment-2187544278

We should certainly try to improve the construction of
`OverloadCandidate` further as it can be quite britle.


  Commit: 8a77961280536b680c404a49002a00b988ca45fc
      https://github.com/llvm/llvm-project/commit/8a77961280536b680c404a49002a00b988ca45fc
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A flang/test/Driver/Inputs/config-1.cfg
    A flang/test/Driver/Inputs/config-2.cfg
    A flang/test/Driver/Inputs/config-2a.cfg
    A flang/test/Driver/Inputs/config-6.cfg
    A flang/test/Driver/Inputs/config/config-4.cfg
    A flang/test/Driver/Inputs/config2/config-4.cfg
    A flang/test/Driver/config-file.f90

  Log Message:
  -----------
  [Flang][Driver] Enable config file options (#100343)

Config files provide a facility to invoke the compiler with a predefined
set of options. The patch only enables these options in the flang
driver. Functionality was always there.


  Commit: dd82a84e0eeafb017c7220c4a9fbd0a8a407f8a9
      https://github.com/llvm/llvm-project/commit/dd82a84e0eeafb017c7220c4a9fbd0a8a407f8a9
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang] Fix an assertion failure introduced by #93430 (#100313)

The PR #93430 introduced an assertion that did not make any sense. and
caused a regression. The fix is to simply remove the assertion.

No changelog. the intent is to backport this fix to clang 19.


  Commit: e1a3aa8c0fb0103427c45a5c861fc98aa44a4821
      https://github.com/llvm/llvm-project/commit/e1a3aa8c0fb0103427c45a5c861fc98aa44a4821
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  LV/Legality: fix style after cursory reading (NFC) (#100363)


  Commit: 4e28d30e335e6e075f4624ae8d5782fef6d3f1ed
      https://github.com/llvm/llvm-project/commit/4e28d30e335e6e075f4624ae8d5782fef6d3f1ed
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h

  Log Message:
  -----------
  LV/Legality: update outdated comment for isInvariant (NFC) (#100366)


  Commit: 0c03b4ce1081383b7649ac0f5ba3cbaffaf5bf28
      https://github.com/llvm/llvm-project/commit/0c03b4ce1081383b7649ac0f5ba3cbaffaf5bf28
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Infer sub nuw from dominating conditions (#100164)

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


  Commit: 5bae81ba9e6db16fac3cc0ee96b134f3f588c8f4
      https://github.com/llvm/llvm-project/commit/5bae81ba9e6db16fac3cc0ee96b134f3f588c8f4
  Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll

  Log Message:
  -----------
  [CodeGen] Add an option to skip extTSP BB placement for huge functions. (#99310)

The extTSP-based basic block layout algorithm improves the performance
of the generated code, but unfortunately it has a super-linear time
complexity. This leads to extremely long compilation times for certain
relatively rare kinds of autogenerated code.

This patch adds an `-mllvm` flag to optionally restrict extTSP only to
functions smaller than a specified threshold. While commit
bcdc0477319a26fd8dcdde5ace3bdd6743599f44 added a knob to to limit the
maximum chain size, it's still possible that for certain huge functions
the number of chains is very large, leading to a quadratic behaviour in
ExtTSPImpl::mergeChainPairs.


  Commit: c5abcb0521dd81bfd8b736c5d03177cc3a2d0fe3
      https://github.com/llvm/llvm-project/commit/c5abcb0521dd81bfd8b736c5d03177cc3a2d0fe3
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    R llvm/test/CodeGen/X86/GlobalISel/phi.ll
    A llvm/test/CodeGen/X86/isel-phi.ll

  Log Message:
  -----------
  [X86][GlobalISel] Reorganize tests for G_PHI and support fp80 (#100047)

* Verified scalar support of G_PHI
* Added cases with i1, ptr and x86_fp80 types
* Added phi inputs variability

We don't enable tests for i686 due to lack of float/integer types in
legalizer. We don't distinguish between illegal 64 bit integer G_LOAD
and legal double load using X87. It leads to artificial G_MERGE_VALUES
of floats into a single double.


  Commit: 2754c083cba1798b335947ad5e4f0d654b013904
      https://github.com/llvm/llvm-project/commit/2754c083cba1798b335947ad5e4f0d654b013904
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  LAA: mark LoopInfo pointer const (NFC) (#100373)


  Commit: 8c20d715c0989eb3a9e253a53ce9d25ad6e5ee10
      https://github.com/llvm/llvm-project/commit/8c20d715c0989eb3a9e253a53ce9d25ad6e5ee10
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [Bazel][mlir] Fix Bazel for f83950ab8dfda1da882a6ef7b508639df251621a


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

  Changed paths:
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Fix `-Xoffload-linker a=b` in offloading (#100270)

Summary:
We have the `-Xoffload-linker=triple=arg` syntax that split the argument
meant only for a single toolchain. However this borke if it was an `a=b`
type argument. Make it only treat it like a triple if it's a valid
triple.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-pmadd.ll

  Log Message:
  -----------
  [X86] canCreateUndefOrPoisonForTargetNode - PMADDWD/PMADDUBSW intrinsics don't create poison

Fix regression introduced by #84924


  Commit: 073c199ae79f4bf9a89fcbf103cbdd6333c8512b
      https://github.com/llvm/llvm-project/commit/073c199ae79f4bf9a89fcbf103cbdd6333c8512b
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/test/SemaCXX/decltype.cpp
    A clang/test/SemaCXX/typeof.cpp
    R clang/test/SemaCXX/typeof_unqual.cpp

  Log Message:
  -----------
  [Clang][AST] Don't use canonical type when checking dependence in Type::isOverloadable (#98563)

Fixes #97646.


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

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/docs/BuildingLibcxx.rst

  Log Message:
  -----------
  [libc++] Improve behavior when using relative path for LIBCXX_ASSERTION_HANDLER_FILE (#100157)

Fixes #80696


  Commit: 5898a7f4954e13cabc694a44e293d9040a09b9f4
      https://github.com/llvm/llvm-project/commit/5898a7f4954e13cabc694a44e293d9040a09b9f4
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [mlir][spirv] Update dependencies for #100138 (#100397)

This PR updates CMake and Bazel dependencies for #100138.


  Commit: 5a53add85a6d5be2d15eea32a3d06fec35e2c699
      https://github.com/llvm/llvm-project/commit/5a53add85a6d5be2d15eea32a3d06fec35e2c699
  Author: Finlay <finlay.marno at codeplay.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

  Log Message:
  -----------
  [mlir] Add optimization attrs for gpu-to-llvmspv function declarations and calls (#99301)

Adds the attributes nounwind and willreturn to all function
declarations. Adds `memory(none)` equivalent to the id/dimension
function declarations. The function declaration attributes are copied to
the function calls.
`nounwind` is legal because there are no exception in SPIR-V. I also do
not see any reason why any of these functions would not return when used
correctly.
I'm confident that the get id/dim functions will have no externally
observable memory effects, but think the convergent functions will have
effects.


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

  Changed paths:
    M offload/cmake/OpenMPTesting.cmake
    M offload/include/PluginManager.h
    M offload/src/PluginManager.cpp
    M offload/src/interface.cpp
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/llvm-omp-device-info.c
    M offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-offload-device-info.cpp
    R offload/tools/deviceinfo/llvm-omp-device-info.cpp

  Log Message:
  -----------
  [Offload] Repair and rename `llvm-omp-device-info` (to `-offload-`) (#100309)

The `llvm-omp-device-info` tool is very handy, but broke due to the lazy
evaluation of devices. This repairs the functionality and adds a test.
The tool is also renamed into `llvm-offload-device-info` as `-omp-` is
going away.


  Commit: 83fb0643f7148499eb6ed19155ab69bfd8096ed7
      https://github.com/llvm/llvm-project/commit/83fb0643f7148499eb6ed19155ab69bfd8096ed7
  Author: memory-thrasher <39869500+memory-thrasher at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp
    A clang/test/CodeGen/ms_mangler_templatearg_opte.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp

  Log Message:
  -----------
  Adds a pseudonym to clang's windows mangler... (#97792)

…to handle template argument values that are pointers one-past-the-end
of a non-array symbol. Also improves error messages in other template
argument scenarios where clang bails.

https://github.com/llvm/llvm-project/issues/97756

I don't think I hooked up the unit test right. I'm not sure one is
really needed for what boils down to a tweaked if statement. Please
advise.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll

  Log Message:
  -----------
  [RISCV][TTI] Add coverage of odd sized vector loads and stores


  Commit: cdc193459d90fad83d2eafaccfe03368a9a8a160
      https://github.com/llvm/llvm-project/commit/cdc193459d90fad83d2eafaccfe03368a9a8a160
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  Update the backporting docs (#100401)

The documentation implies the special commands only work with issues,
but they also work directly from a pull request.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll

  Log Message:
  -----------
  [RISCV][CostModel] Test default lowering strategy for vector LD/ST

Remove two options from the test command line:

* -riscv-v-vector-bits-min=128 -- This has no effect as v implied zvl128b,
  which provides the same minimum.
* -riscv-v-fixed-length-vector-lmul-max=1 -- This one forced the backend
  to split as if LMUL>m1 were illegal.  This diverges significantly from
  default behavior (where all LMUL are legal).  Note that we do still
  have splitting test coverage after this change.  Look at e.g. 32 x i64.


  Commit: bb0300cf7ce54bfbb1607348c89cb0525e12076b
      https://github.com/llvm/llvm-project/commit/bb0300cf7ce54bfbb1607348c89cb0525e12076b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix initializing array subobjects with This pointers

We need to select the right array element once we see the CXXThisExpr.


  Commit: ea222be0d9266d9d5c100496f8c9606f213454ee
      https://github.com/llvm/llvm-project/commit/ea222be0d9266d9d5c100496f8c9606f213454ee
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M lld/test/COFF/lto-cpu-string.ll
    M lld/test/ELF/lto/cpu-string.ll
    M lld/test/ELF/lto/mllvm.ll
    M lld/test/MachO/lto-cpu-string.ll
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/MC/MCParser/AsmParser.cpp
    A llvm/test/MC/AArch64/align-fill-byte-zero.s
    A llvm/test/MC/ARM/align-fill-byte-zero.s
    M llvm/test/MC/AsmParser/directive_align.s
    M llvm/test/MC/COFF/align-nops.s
    M llvm/test/MC/ELF/align-nops.s
    M llvm/test/MC/MachO/x86_32-optimal_nop.s
    A llvm/test/MC/RISCV/align-fill-byte-zero.s
    M llvm/test/MC/X86/code16gcc-align.s

  Log Message:
  -----------
  [MC] Honour alignment directive fill value for non-intel (#100136)

As reported in https://llvm.org/PR30955, `.balign` with a fill-value of 0 did
not actually align using zeroes, on non-x86 targets.

This is because the check of whether to use the code alignment routines
or whether to just use the fill value was checking whether the fill
value was equal to `TextAlignFillValue`, which has not been changed from
its default of 0 on most targets (it has been changed for x86). However,
most targets do not set the fill value because it doesn't entirely make
sense -- i.e. on AArch64 there's no reasonable byte value to use for
alignment, as instructions are word-sized and have to be well-aligned.

I think the check at the end `AsmParser::parseDirectiveAlign` is
suspicious even on x86 - if you use `.balign <align>, 0x90` in a code
section, you don't end up with a block of `0x90` repeated, you end up
with a block of NOPs of various widths. This functionality is never
tested.

The fix here is to modify the check to ignore the default text align
fill value when choosing to do code alignment or not.

Fixes #30303


  Commit: 97839a8862bde89f07060ff0aa4993a868a501cd
      https://github.com/llvm/llvm-project/commit/97839a8862bde89f07060ff0aa4993a868a501cd
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fp-contract.c
    M clang/test/Driver/fp-model.c

  Log Message:
  -----------
  [Driver] Clean up fp-contract handling in clang driver (#99723)

This change refactors the fp-contract handling in
RenderFloatingPointOptions in the clang driver code and fixes some
inconsistencies in the way warnings are reported for changes in the
fp-contract behavior.


  Commit: 2e57e6366677390110f5382894c8afeba8da7419
      https://github.com/llvm/llvm-project/commit/2e57e6366677390110f5382894c8afeba8da7419
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M openmp/runtime/src/kmp_tasking.cpp
    A openmp/runtime/test/tasking/issue-94260-1.cpp
    A openmp/runtime/test/tasking/issue-94260-2.c

  Log Message:
  -----------
  [OpenMP][libomp] Fix tasking debug assert (#95823)

The debug assert is meant to check that the index is a valid which means
the runtime needs to check against the size of the array instead of the
number of threads. A free()-ed thread put back in the thread pool may
index into anywhere inside the task team's available array from 0 to
tt_max_threads potentially.

Fixes: #94260


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

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

  Log Message:
  -----------
  [Clang] Prevent null pointer dereference in designated initializer check (#97220)

This patch adds an assertion in clang::SemaObjC::BuildInstanceMessage()
to ensure getCurMethodDecl() returns a valid method declaration,
addressing a static analyzer finding.


  Commit: 8d3252a8987818171878a26e4298b4b5dbf2a7e9
      https://github.com/llvm/llvm-project/commit/8d3252a8987818171878a26e4298b4b5dbf2a7e9
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/include/__bit_reference
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/deque
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
    A libcxx/test/std/containers/views/views.span/span.iterators/iterator.pass.cpp
    A libcxx/test/std/strings/string.view/string.view.iterators/iterators.pass.cpp
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++][spaceship] Implements X::iterator container requirements. (#99343)

This implements the requirements for the container iterator requirements
for array, deque, vector, and `vector<bool>`.

Implements:
- LWG3352 strong_equality isn't a thing

Implements parts of:
- P1614R2 The Mothership has Landed

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


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

  Changed paths:
    M clang/lib/Basic/Targets/NVPTX.h

  Log Message:
  -----------
  [NVPTX] Restore old va_list builtin type (#100438)

Summary:
This was changed to `void *` from `char *` unintentionally, put it back.


  Commit: 3902710a447cd0dc39cc61f001fb023a502db499
      https://github.com/llvm/llvm-project/commit/3902710a447cd0dc39cc61f001fb023a502db499
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/fence.ll

  Log Message:
  -----------
  [NVPTX] Support fence instruction (#99649)


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

  Changed paths:
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MachObjectWriter.cpp

  Log Message:
  -----------
  MC: Inline createMachObjectWriter into MCAsmBackend

We could do the same to COFF once WinCOFFObjectWriter is cleaned up
(#100303).


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

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp

  Log Message:
  -----------
  Mark assert-used-only variable as [[maybe_unused]]

Seemed nicer than inlining, given the complexities of flag checking and
the multiple uses.


  Commit: 0891ccc0c68c35e17562c752955788f08054bcdb
      https://github.com/llvm/llvm-project/commit/0891ccc0c68c35e17562c752955788f08054bcdb
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h

  Log Message:
  -----------
  [Frontend][OpenMP] Apply ompx_attribute to all allowing leaf constructs (#100370)

By default, in a compound directive, a clause will apply to the unique
leaf construct that allows it. Clauses that could apply to multiple leaf
constructs follow different rules.

For ompx_attribute, apply it to all leaf constructs that allow it.


  Commit: 0760aec54ca6f680f4786c4fc3bbae8f500deeab
      https://github.com/llvm/llvm-project/commit/0760aec54ca6f680f4786c4fc3bbae8f500deeab
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  MTM: fix issues after cursory reading (#100404)


  Commit: 3db78fa1dd639ba5db761023e04f97418cfcd00e
      https://github.com/llvm/llvm-project/commit/3db78fa1dd639ba5db761023e04f97418cfcd00e
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 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/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll

  Log Message:
  -----------
  [NVPTX] Add Volta Load/Store Atomics (.relaxed, .acquire, .release) and Volatile (.mmio/.volatile) support  (#99709)

Followup to https://github.com/llvm/llvm-project/pull/98022 which broke
support for LLVM `unordered` atomic ordering.

This PR lowers `atomic unordered` to PTX volatile operations to preserve
atomicity, and adds a bunch of tests for this ordering to the NVPTX
backend (we had none).


  Commit: 0dbd72d6abfd390fc62eab43e195c21feb5e9bd0
      https://github.com/llvm/llvm-project/commit/0dbd72d6abfd390fc62eab43e195c21feb5e9bd0
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins-wasm.c
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/MC/WebAssembly/simd-encodings.s

  Log Message:
  -----------
  [WebAssembly] Implement f16x8.replace_lane instruction. (#99388)

Use a builtin and intrinsic until half types are better supported for
instruction selection.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll

  Log Message:
  -----------
  [RISCV] Add test cases for failures to form widening FMA instructions. NFC

If the fp_extend is in the scalar domain before the shuffle, we
won't recognize the widening opportunity.


  Commit: 59e07f34bdbd463254b0b2744bd0a587d2cd6438
      https://github.com/llvm/llvm-project/commit/59e07f34bdbd463254b0b2744bd0a587d2cd6438
  Author: Gang Chen <gangc at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU][GlobaISel] wrap the load-splitting code in RegBank selection with condition (#98966)

The load-splitting code in RegBank selection is only relevant to those
listed address-spaces because there are cases in those address-spaces in
which we are not sure how far to split during legalization

---------

Signed-off-by: gangc <gangc at amd.com>


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sscanf_test.cpp

  Log Message:
  -----------
  [libc] Enable 'sscanf' on the GPU #100211

Summary:
We can enable the sscanf function on the GPU now. This required adding
the configs to the scanf list so that the GPU build didn't do float
conversions.


  Commit: 8c7188aa4c1468971d18e9dff8f2b85aa7e9bfd9
      https://github.com/llvm/llvm-project/commit/8c7188aa4c1468971d18e9dff8f2b85aa7e9bfd9
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    A llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll

  Log Message:
  -----------
  Update NVVM ldu/ldg intrinsics with IntrWillReturn and test for DCE (#98968)

Dead calls to these intrinsics were not being deleted at the IR level as
they were not marked `IntrWillReturn`, though they were being deleted
when building the SDAG. This fixes that and adds a test to confirm they
are deleted during `opt`


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll

  Log Message:
  -----------
  [RISCV] Add missing CHECK prefix to fixed-vectors-vfw-web-simplification.ll. NFC

The FOLDING prefix was ambiguous on one of the test cases. It would be
nice if the update script reported this.


  Commit: 0ee32c45730c94be1b7d5fa60a0e8dff5751d014
      https://github.com/llvm/llvm-project/commit/0ee32c45730c94be1b7d5fa60a0e8dff5751d014
  Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    A llvm/test/CodeGen/AMDGPU/lrint.ll

  Log Message:
  -----------
  [AMDGPU] Implement llvm.lrint intrinsic lowering (#98931)

This patch enabled the target-independent lowering of llvm.lrint via
GlobalISel.
For SelectionDAG, the instrinsic is custom lowered for AMDGPU.


  Commit: 20eff684203287828d6722fc860b9d3621429542
      https://github.com/llvm/llvm-project/commit/20eff684203287828d6722fc860b9d3621429542
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CXX/basic/basic.types/p10.cpp
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/SemaCXX/class.cpp
    M clang/test/SemaCXX/enum.cpp

  Log Message:
  -----------
  [ExprConstant] Handle shift overflow the same way as other kinds of overflow (#99579)

We have a mechanism to allow folding expressions that aren't ICEs as an
extension; use it more consistently.

This ends up causing bad effects on diagnostics in a few cases, but
that's not specific to shifts; it's a general issue with the way those
uses handle overflow diagnostics.


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

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

  Log Message:
  -----------
  [llvm][MachineLICM] Fix a comment typo. NFC


  Commit: bfcfb0fd2dea5e06f74e49ff8b4e1dc10c9acf6a
      https://github.com/llvm/llvm-project/commit/bfcfb0fd2dea5e06f74e49ff8b4e1dc10c9acf6a
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir

  Log Message:
  -----------
  [GlobalIsel] Modernize truncate of ext. (#100338)

Credits:
https://github.com/llvm/llvm-project/pull/90964
https://reviews.llvm.org/D87050

combine-trunc.mir

Functional changes intended.


  Commit: 10ff2bcb5eaf169b0d9f6f12851ccae339a54aaf
      https://github.com/llvm/llvm-project/commit/10ff2bcb5eaf169b0d9f6f12851ccae339a54aaf
  Author: Narayan <32898329+vortex73 at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [Clang] Refactor uses of  `Cand->Function` in SemaOverload.cpp (#98965)

- [ ] adds checks to called functions containing `Cand->Function` as an
argument.
- [ ] Assigned `Cand->Function` as a `FunctionDecl*` to enhance
readablity.
Solves: #98769 and #98942


  Commit: 0431d6dab40b05d9f4a312a9c170c81a889bfb49
      https://github.com/llvm/llvm-project/commit/0431d6dab40b05d9f4a312a9c170c81a889bfb49
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Sema/SemaX86.cpp
    M clang/test/CodeGen/X86/mmx-builtins.c
    M clang/test/CodeGen/X86/mmx-inline-asm.c
    M clang/test/CodeGen/X86/mmx-shift-with-immediate.c
    M clang/test/CodeGen/attr-target-x86-mmx.c
    M clang/test/CodeGen/builtins-x86.c
    M clang/test/CodeGen/palignr.c
    R clang/test/CodeGen/pr26099.c
    M clang/test/Headers/xmmintrin.c
    M clang/test/Sema/x86-builtin-palignr.c
    M clang/www/builtins.py
    M llvm/include/llvm/IR/IntrinsicsX86.td

  Log Message:
  -----------
  Clang: convert `__m64` intrinsics to unconditionally use SSE2 instead of MMX. (#96540)

The MMX instruction set is legacy, and the SSE2 variants are in every
way superior, when they are available -- and they have been available
since the Pentium 4 was released, 20 years ago.

Therefore, we are switching the "MMX" intrinsics to depend on SSE2,
unconditionally. This change entirely drops the ability to generate
vectorized code using compiler intrinsics for chips with MMX but without
SSE2: the Intel Pentium MMX, Pentium, II, and Pentium III (released
1997-1999), as well as AMD K6 and K7 series chips of around the same
timeframe. Targeting these older CPUs remains supported -- simply
without the ability to use MMX compiler intrinsics.

Migrating away from the use of MMX registers also fixes a rather
non-obvious requirement. The long-standing programming model for these
MMX intrinsics requires that the programmer be aware of the x87/MMX
mode-switching semantics, and manually call `_mm_empty()` between using
any MMX instruction and any x87 FPU instruction. If you neglect to, then
every future x87 operation will return a NaN result. This requirement is
not at all obvious to users of these these intrinsic functions, and
causes very difficult to detect bugs.

Worse, even if the user did write code that correctly calls
`_mm_empty()` in the right places, LLVM may sometimes reorder x87 and
mmx operations around each-other, unaware of this mode switching issue.

Eliminating the use of MMX registers eliminates this problem.

This change also deletes the now-unnecessary MMX `__builtin_ia32_*`
functions from Clang. Only 3 MMX-related builtins remain in use --
`__builtin_ia32_emms`, used by `_mm_empty`, and
`__builtin_ia32_vec_{ext,set}_v4si`, used by `_mm_insert_pi16` and
`_mm_extract_pi16`. Note particularly that the latter two lower to
generic, non-MMX, IR. Support for the LLVM intrinsics underlying these
removed builtins still remains, for the moment.

The file `clang/www/builtins.py` has been updated with mappings from the
newly-removed `__builtin_ia32` functions to the still-supported
equivalents in `mmintrin.h`.

(Originally uploaded at https://reviews.llvm.org/D86855 and
https://reviews.llvm.org/D94252)

Fixes issue #41665
Works towards #98272


  Commit: c6e69b041a7e6d18463f6cf684b10fd46a62c496
      https://github.com/llvm/llvm-project/commit/c6e69b041a7e6d18463f6cf684b10fd46a62c496
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/docs/InternalProcedureTrampolines.md

  Log Message:
  -----------
  [Flang][Docs] Update information about AArch64 trampolines (#100391)

Commits c4b66bf and 7647174 add support for AArch64 trampolines. Updated
documentation to reflect the changes.


  Commit: 70c6e79e6d3e897418f3556a25e22e66ff018dc4
      https://github.com/llvm/llvm-project/commit/70c6e79e6d3e897418f3556a25e22e66ff018dc4
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/CodeGen/ubsan-function.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/Driver/aarch64-ptrauth.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Sema/ptrauth-indirect-goto.c

  Log Message:
  -----------
  [PAC][clang][test] Implement missing tests for some PAuth features (#100206)

Implement tests for the following PAuth-related features:

- driver, preprocessor and ELF codegen tests for type_info vtable
pointer discrimination #99726;

- driver, preprocessor, and ELF codegen (emitting function attributes) +
sema (emitting errors) tests for indirect gotos signing #97647;

- ELF codegen tests for ubsan type checks + auth #99590;

- ELF codegen tests for constant global init with polymorphic MI #99741;

- ELF codegen tests for C++ member function pointers auth #99576.


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

  Changed paths:
    M lld/test/MachO/objc-category-merging-erase-objc-name-test.s

  Log Message:
  -----------
  Fix test to write to %T instead of the current working directory (which may not be writeable)


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

  Changed paths:
    M libc/docs/dev/header_generation.rst

  Log Message:
  -----------
  [libc][newheadergen]: PyYaml Version Update (#100463)

- a lot of builds had an issue using new headergen because they do not
have PyYaml installed.


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

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
   [lldb] Prevent passing a nullptr to std::string in ObjectFileMachO (#100421)

Prevent passing a nullptr to std::string::insert in
ObjectFileMachO::GetDependentModules. Calling GetCString on an empty
ConstString will return a nullptr, which is undefined behavior. Instead,
use the GetString helper which will return an empty string in that case.

rdar://132388027


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

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/resolve-directives.cpp
    R flang/test/Semantics/OpenMP/copyprivate04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Fix copyprivate semantic checks" (#100478)

Reverts llvm/llvm-project#95799

This caused errors in some internal test suites.


  Commit: b79568654e38a14ef921af932ed96abd8961b1ed
      https://github.com/llvm/llvm-project/commit/b79568654e38a14ef921af932ed96abd8961b1ed
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Clang: adjust MMX instrinsics release note.


  Commit: 3f6eb13abf643afec17a73448ede380606531226
      https://github.com/llvm/llvm-project/commit/3f6eb13abf643afec17a73448ede380606531226
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [PAC][clang] Enable `-fptrauth-indirect-gotos` as part of pauthtest ABI (#100480)


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

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/totalordermag.cpp
    A libc/src/math/generic/totalordermagf.cpp
    A libc/src/math/generic/totalordermagf128.cpp
    A libc/src/math/generic/totalordermagl.cpp
    A libc/src/math/totalordermag.h
    A libc/src/math/totalordermagf.h
    A libc/src/math/totalordermagf128.h
    A libc/src/math/totalordermagl.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/totalordermag_test.cpp
    A libc/test/src/math/smoke/totalordermagf128_test.cpp
    A libc/test/src/math/smoke/totalordermagf_test.cpp
    A libc/test/src/math/smoke/totalordermagl_test.cpp

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

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


  Commit: 393a957d1c9303b87361dfdc3b8e504ba435ea8e
      https://github.com/llvm/llvm-project/commit/393a957d1c9303b87361dfdc3b8e504ba435ea8e
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependency after 74a1ca504bf60f02431140ee72dbe1c158556237


  Commit: 0af754213507972a0d0301bc195d65414d8dc193
      https://github.com/llvm/llvm-project/commit/0af754213507972a0d0301bc195d65414d8dc193
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll

  Log Message:
  -----------
  Reapply "[WebAssembly] Fix phi handling for Wasm SjLj (#99730)"

This reapplies #99730. #99730 contained a nondeterministic iteration
which failed the reverse-iteration bot
(https://lab.llvm.org/buildbot/#/builders/110/builds/474) and reverted
in
https://github.com/llvm/llvm-project/commit/f3f0d9928f982cfd302351f418bcc5b63cc1bb9d.

The fix is make the order of iteration of new predecessors
determintistic by using `SmallSetVector`.
```diff
--- a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
@@ -1689,7 +1689,7 @@ void WebAssemblyLowerEmscriptenEHSjLj::handleLongjmpableCallsForWasmSjLj(
     }
   }

-  SmallDenseMap<BasicBlock *, SmallPtrSet<BasicBlock *, 4>, 4>
+  SmallDenseMap<BasicBlock *, SmallSetVector<BasicBlock *, 4>, 4>
       UnwindDestToNewPreds;
   for (auto *CI : LongjmpableCalls) {
     // Even if the callee function has attribute 'nounwind', which is true for
```


  Commit: 115c89b94cb8af10c2029001a1dd28154d948a37
      https://github.com/llvm/llvm-project/commit/115c89b94cb8af10c2029001a1dd28154d948a37
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll

  Log Message:
  -----------
  [msan] Enable and update neon_vst_float test case (#100435)

This enables the neon_vst_float test case
(https://github.com/llvm/llvm-project/pull/100210). Although MSan does
not yet generate useful IR, since opt is run with -disable-verify, the
test case should still run successfully.
    
This patch also makes minor fixes to the test case:
- 'ptr %a' is renamed to 'ptr %p' because update_test_checks.py is
case-insensitive, and was unexpectedly aliasing the %A and %a in the
expected output ('<1 x double> [[A]], <1 x double> [[B]], ptr [[A]]').
- The sample output for st1x{2,3,4} was previously accidentally
generated using a prototype version of MSan rather than trunk; these
instructions are not yet instrumented.
- Changes the comment on how the test case was generated, because '; |
sed -r 's/^\/\/ CHECK:[ ]*//'' was being interpreted by FileCheck to be
a CHECK: command.


  Commit: e894df6392beea3723627329009f3e6d51d16f47
      https://github.com/llvm/llvm-project/commit/e894df6392beea3723627329009f3e6d51d16f47
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

  Log Message:
  -----------
  [compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#100398)

Reland with a couple of build fixes

#100337 #100342 #99613


  Commit: 2ba1aeed2efd8156717886f89f6d4270b1df7a18
      https://github.com/llvm/llvm-project/commit/2ba1aeed2efd8156717886f89f6d4270b1df7a18
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/source/Expression/IRMemoryMap.cpp

  Log Message:
  -----------
  [lldb] Don't use a vm addr range starting at 0 for local memory (#100288)

When an inferior stub cannot allocate memory for lldb, and lldb needs to
store the result of expressions, it will do it in lldb's own memory
range ("host memory"). But it needs to find a virtual address range that
is not used in the inferior process. It tries to use the
qMemoryRegionInfo gdb remote serial protocol packet to find a range that
is inaccessible, starting at address 0 and moving up the size of each
region.

If the first region found at address 0 is inaccessible, lldb will use
the address range starting at 0 to mean "read lldb's host memory, not
the process memory", and programs that crash with a null dereference
will have poor behavior.

This patch skips consideration of a memory region that starts at address
0.

I also clarified the documentation of qMemoryRegionInfo to make it clear
that the stub is required to provide permissions for a memory range that
is accessable, it is not an optional key in this response. This issue
was originally found by a stub that did not list permissions in its
response, and lldb treated the first region returned as the one it would
use. (the stub also didn't support the memory-allocate packet)


  Commit: ac1a1e5797388598201511d17f05aa088ef4a2e2
      https://github.com/llvm/llvm-project/commit/ac1a1e5797388598201511d17f05aa088ef4a2e2
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp

  Log Message:
  -----------
  [ThinLTO][TypeProf] Import local-linkage global var for mod1:func_foo-> mod2:local-var edge (#100448)

VTable value profiling can create reference edges from `mod1:func_foo`
to `mod2:local-vtable`. Indirect call profiling can create reference
edges from `mod1:func_foo` to `mod2:local_func_bar`.

Given a ref chain `mod1:func_foo -> mod2:local-var`,`local-var` doesn't
get imported by default.

Compiler checks / requires the module of 'local-var' is the same as the
function that referenced it(`mod1:func_foo`). This is to prevent
mis-compilation when both `mod1` and `mod2` has `local-var` of the same
name, and cpp files are compiled without full path.

This patch allows the import when one of the following conditions
happen:
1) Introduce an option `import-assume-local-unique`. When the compiler
user can guarantee that all files are compiled with full paths, they can
set this option.
2) When there is one instance of value summary.

Test:
* A/B testing this option alone gives -0.16% statistically consistent
cpu cycle reduction on one search workload (no throughput increase)
* Testing it together with existing more-efficient ICP bumps the
throughput increase by a margin (0.05%~0.1%)
* No regressions observed.


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake

  Log Message:
  -----------
  [libc] Only add '-fno-builtin-*' on the entrypoints that use them (#100481)

Summary:
The GPU build needs to be able to inline stuff in LTO. Builtin
transformations cause problems on the functions that the optimizer does
heavy libcall recognition on. Previously we moved to using
`-fno-builtin-*` to allow us to only disable the problematic ones.
However, this still didn't allow inlining because each function had the
attribute that told the inliner not to inlining a nobuiltin function
into a non-nobuiltin function

This patch fixes that by only applying these attributes to the
entrypoints that define them. That is enough to prevent recursive calls
within the definitoins themselves.


  Commit: 7e7a9069d4240d2ae619cb50eba09f948c537ce3
      https://github.com/llvm/llvm-project/commit/7e7a9069d4240d2ae619cb50eba09f948c537ce3
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  Revert "[clang-format] Fix a bug in annotating `*` in `#define`s (#99433)"

This reverts commit ce1a87437cc143889665c41046107e84cdf6246e.

Closes #100304.


  Commit: ccae7b461be339e717d02f99ac857cf0bc7d17fc
      https://github.com/llvm/llvm-project/commit/ccae7b461be339e717d02f99ac857cf0bc7d17fc
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [clang-format] Improve BlockIndent at ColumnLimit (#93140)

Fixes #55731

The reported formatting problems were related to ignoring deep nesting
of "simple" functions (causing #54808) and to allowing the trailing
annotation to become separated from the closing parens, which allowed a
break to occur between the closing parens and the trailing annotation.
The fix for the nesting of "simple" functions is to detect them more
carefully. "Simple" was defined in a comment as being a single
non-expression argument. I tried to stay as close to the original intent
of the implementation while fixing the various bad formatting reports.

In the process of fixing these bugs, some latent bugs were discovered
related to how JavaScript Template Strings are handled. Those are also
fixed here.

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: ba8883c46e3cb1782f66774a116bc0364ea68ce0
      https://github.com/llvm/llvm-project/commit/ba8883c46e3cb1782f66774a116bc0364ea68ce0
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  Fix buildbot failure by fixing the base pointer type (#100508)

This should fix buildbot failures like
https://lab.llvm.org/buildbot/#/builders/169/builds/1448


  Commit: 8608cc1c89640bd3d8120f24c964af21310253b6
      https://github.com/llvm/llvm-project/commit/8608cc1c89640bd3d8120f24c964af21310253b6
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix array element This chains

The previous test was too minimal. If we actually do something after
initializing the nested array element, we end up causing a stack element
type mismatch.


  Commit: 25482b356e51de1f259b3ac7c785ab34977781b4
      https://github.com/llvm/llvm-project/commit/25482b356e51de1f259b3ac7c785ab34977781b4
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/CodeGen/aix-builtin-cpu-is.c
    M clang/test/CodeGen/builtin-cpu-supports.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/include/llvm/TargetParser/PPCTargetParser.def
    A llvm/include/llvm/TargetParser/PPCTargetParser.h
    M llvm/lib/TargetParser/CMakeLists.txt
    A llvm/lib/TargetParser/PPCTargetParser.cpp
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn

  Log Message:
  -----------
  [PowerPC] add TargetParser for PPC target (#97541)

For now only focus on the CPU type, will work on the CPU features part
later.

With the CPU handling in TargetParser, clang and llc/opt are able to
query common interfaces.

So we can set same default CPU and CPU features with same interfaces.


  Commit: fe8d1e61ac4104f48bbefc6959a084a8e16927e9
      https://github.com/llvm/llvm-project/commit/fe8d1e61ac4104f48bbefc6959a084a8e16927e9
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Use GFX940 prefix in dpp64_combine test (#100459)


  Commit: 1b7631a699e6af7f497548a1ceb5be0570c60ed0
      https://github.com/llvm/llvm-project/commit/1b7631a699e6af7f497548a1ceb5be0570c60ed0
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Mapper.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp

  Log Message:
  -----------
  [clang-doc] Improve clang-doc performance through memoization (#96809)


  Commit: 26b70707fc2cc0ab8883e6492a4808401a6a4bad
      https://github.com/llvm/llvm-project/commit/26b70707fc2cc0ab8883e6492a4808401a6a4bad
  Author: Shivam Gupta <shivam98.tkg at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [Clang] Remove some dead code in getNumTeamsExprForTargetDirective (#95695)

This was reported in https://pvs-studio.com/en/blog/posts/cpp/1126/,
fragment N9.

V523 The 'then' statement is equivalent to the subsequent code fragment.
CGOpenMPRuntime.cpp:6040, 6036

---------

Co-authored-by: Shivam Gupta <shivma98.tkg at gmail.com>


  Commit: 2e0c2154a8dc5d8ab2a8cf360aa0184fb58c0860
      https://github.com/llvm/llvm-project/commit/2e0c2154a8dc5d8ab2a8cf360aa0184fb58c0860
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/test/MC/X86/apx/ctest-att.s
    M llvm/test/MC/X86/apx/ctest-intel.s

  Log Message:
  -----------
  [X86][MC] Support 'ctestX <reg>, <mem>' and 'ctextX <mem>, <reg>' as synonyms. (#97985)

relate gas discussion:
https://sourceware.org/pipermail/binutils/2024-July/135349.html


  Commit: 74fcb6aafddd56df1bd6d6841b2e0f289f8e54b0
      https://github.com/llvm/llvm-project/commit/74fcb6aafddd56df1bd6d6841b2e0f289f8e54b0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/TargetParser/PPCTargetParser.cpp

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

This patch fixes:

  llvm/include/llvm/TargetParser/PPCTargetParser.def:109:9: error:
  suggest braces around initialization of subobject
  [-Werror,-Wmissing-braces]

  llvm/lib/TargetParser/PPCTargetParser.cpp:96:16: error: address of
  stack memory associated with local variable 'CPU' returned
  [-Werror,-Wreturn-stack-address]


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

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Interpreter/CMakeLists.txt
    A lldb/source/Interpreter/Interfaces/CMakeLists.txt
    A lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb/Commands] Add `scripting template list` command with auto discovery

This patch introduces a new `template` multiword sub-command to the
`scripting` top-level command. As the name suggests, this sub-command
operates on scripting templates, and currently has the ability to
automatically discover the various scripting extensions that lldb
supports.

This was previously reviewed in #97273.

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


  Commit: 693d757b63e5020e0fa78bb71fc16acdad5f8232
      https://github.com/llvm/llvm-project/commit/693d757b63e5020e0fa78bb71fc16acdad5f8232
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Sarif.cpp

  Log Message:
  -----------
  Internalize a clang Sarif function


  Commit: 6d12b3f67df429bffff6e1953d9f55867d7e2469
      https://github.com/llvm/llvm-project/commit/6d12b3f67df429bffff6e1953d9f55867d7e2469
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/VectorBuilder.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/VectorBuilder.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/unittests/IR/VPIntrinsicTest.cpp

  Log Message:
  -----------
  [VP] Refactor VectorBuilder to avoid layering violation. NFC (#99276)

This patch refactors the handling of reduction to eliminate layering
violations.

* Introduced `getReductionIntrinsicID` in LoopUtils.h for mapping
recurrence kinds to llvm.vector.reduce.* intrinsic IDs.
* Updated `VectorBuilder::createSimpleTargetReduction` to accept
llvm.vector.reduce.* intrinsic directly.
* New function `VPIntrinsic::getForIntrinsic` for mapping intrinsic ID
to the same functional VP intrinsic ID.


  Commit: 73d862e478738675f5d919c6a196429acd7b5f50
      https://github.com/llvm/llvm-project/commit/73d862e478738675f5d919c6a196429acd7b5f50
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  Revert "[LLVM] Silence compiler-rt warning in runtimes build (#99525)"

This patch broke LLVM Flang build on Windows. PR #100202
This reverts commit f6f88f4b99638821af803d1911ab6a7dac04880b.


  Commit: dfe650cdc884af3298cb3378aa1631545a13b720
      https://github.com/llvm/llvm-project/commit/dfe650cdc884af3298cb3378aa1631545a13b720
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/struct-assign-tbaa-2.ll

  Log Message:
  -----------
  [TBAA] Introduce test for PR96483 (NFC)


  Commit: 6ce7b1f86115f475ee00003ee04833781a675e3e
      https://github.com/llvm/llvm-project/commit/6ce7b1f86115f475ee00003ee04833781a675e3e
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa-2.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    R llvm/test/Transforms/SROA/tbaa-struct.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll

  Log Message:
  -----------
  [TBAA] Do not rewrite TBAA if exists, always null out `!tbaa.struct`

Retrieve `!tbaa` metadata via `!tbaa.struct` in `adjustForAccess`
unless it already exists, as struct-path aware `MDNodes` emitted
via `new-struct-path-tbaa` may be leveraged. As `!tbaa.struct`
carries memcpy padding semantics among struct fields and `!tbaa`
is already meant to aid to alias semantics, it should be possible
to zero out `!tbaa.struct` once the memcpy has been simplified.
`SROA/tbaa-struct.ll` test has gone out of scope, as `!tbaa` has
already replaced `!tbaa.struct` in SROA.

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


  Commit: 91450f1b57b34034376662dae5452af8c992c103
      https://github.com/llvm/llvm-project/commit/91450f1b57b34034376662dae5452af8c992c103
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/assets/index.js
    A clang-tools-extra/test/clang-doc/test-path-abs.cpp

  Log Message:
  -----------
  [clang-doc] switched from using relative to absolute paths (#93281)

fixes https://github.com/llvm/llvm-project/issues/92867

This patches changes the way clang-doc index navigation works,
previously it was based a relative path approach, this approach is error
prone and lead to wrong paths for the anchor tag. The new navigation way
is based on absolute paths and should work and be less confusing
codewise.
Because the differences with serving over a http server and viewing via
file system I also added export a RootPath variable to the index_json.js
file


  Commit: dc1c00f6b13f724154f9883990f8b21fb8dcccef
      https://github.com/llvm/llvm-project/commit/dc1c00f6b13f724154f9883990f8b21fb8dcccef
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
    M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll

  Log Message:
  -----------
  [StackFrameLayoutAnalysis] Use target-specific hook for SP offsets (#100386)

StackFrameLayoutAnalysis currently calculates SP-relative offsets in a
target-independent way via MachineFrameInfo offsets. This is incorrect
for some Targets, e.g. AArch64, when there are scalable vector stack
slots.

This patch adds a virtual function to TargetFrameLowering to provide
offsets from SP, with a default implementation matching what is
currently used in StackFrameLayoutAnalysis, and refactors
StackFrameLayoutAnalysis to use this function. Only non-zero scalable
offsets are output by the analysis pass.

An implementation of this function is added for AArch64 targets, which
aims to provide correct SP offsets in most cases.


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

  Changed paths:
    M lldb/source/Host/linux/Host.cpp

  Log Message:
  -----------
  [lldb][Linux] Parse, but don't store "comm" from /proc/stat file (#100387)

As reported in https://github.com/llvm/llvm-project/issues/89710, the %s
code used for `comm` could and probably does, overflow the buffer.
Likely we haven't seen it cause problems because the following data is
overwritten right afterwards.

Also scanf isn't a great choice here as this `comm` can include many
characters that might trip up %s.

We don't actually use `comm`, so parse but don't store it so we're not
overflowing anything.


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

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h

  Log Message:
  -----------
  [lldb/Plugins] Fix build failure on windows following 2914a4b88837

This patch tries to fix the following build failure on windows:

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

This started happening following 2914a4b88837, and it seems to be caused
by some special `#include` ordering for the lldb-python header on Windows.

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


  Commit: 6a5a64c56bc6c7183935367d3cf915ccdd103882
      https://github.com/llvm/llvm-project/commit/6a5a64c56bc6c7183935367d3cf915ccdd103882
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
    M mlir/test/Dialect/Linalg/detensorize_entry_block.mlir
    M mlir/test/Dialect/Linalg/detensorize_if.mlir
    M mlir/test/Dialect/Linalg/detensorize_while.mlir
    M mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
    M mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
    M mlir/test/Transforms/canonicalize-block-merge.mlir
    M mlir/test/Transforms/canonicalize-dce.mlir
    M mlir/test/Transforms/make-isolated-from-above.mlir
    R mlir/test/Transforms/test-canonicalize-merge-large-blocks.mlir

  Log Message:
  -----------
  Revert "[mlir] Fix block merging" (#100510)

Reverts llvm/llvm-project#97697

This commit introduced non-trivial bugs related to type consistency.


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

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

  Log Message:
  -----------
  [PS4/PS5][Driver] Always pass LTO options to the linker (#100423)

The driver doesn't know if LTO will occur at link time. That's
determined by the presence or absence of LLVM bitcode objects among
those ingested by the linker.

For this reason, LTO options for codegen etc must be passed to the
linker unconditionally. If LTO does not occur, these options have no
effect.

Also simplify the way LTO options are supplied to the PS4 linker.
`-lto-debug-options` and `-lto-thin-debug-options` are combined and
routed to the same place. So, always use the former, regardless of
full/thin LTO mode.

SIE tracker: TOOLCHAIN-16575


  Commit: c7a3346ab6a8fbd551a80bd4028ec8624daa35e4
      https://github.com/llvm/llvm-project/commit/c7a3346ab6a8fbd551a80bd4028ec8624daa35e4
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix scalable vectorisation of tensor.extract (#100325)

This PR fixes one very specific aspect of vectorising `tensor.extract`
Ops when targeting scalable vectors. Namely, it makes sure that the
scalable flag is correctly propagated when creating
`vector::ShapeCastOp`.

BEFORE:
```mlir
vector.shape_cast %idx_vec : vector<1x1x[4]xindex> to vector<4xindex>
```

AFTER:
```mlir
vector.shape_cast %idx_vec : vector<1x1x[4]xindex> to vector<[4]xindex>
```

This particular ShapeCastOp is created when generating an index for
`vector.transfer_read` operations. Strictly speaking, casting is not
really required. However, it makes the subsequent address calculation
much simpler (*).

The following test is updated to demonstrate the use of
`vector.shape_cast` by the vectoriser:
*
@masked_static_vectorize_nd_tensor_extract_with_affine_apply_contiguous

Similar test with scalable vectors is also added.

(*) At this point in the vectoriser it is known
that all leading dims in the index vector are "1").


  Commit: 98c73d5df7ff0b5d9c10bc9d44a584d631def1e6
      https://github.com/llvm/llvm-project/commit/98c73d5df7ff0b5d9c10bc9d44a584d631def1e6
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Restrict vector.shape_cast (scalable vectors) (#100331)

Updates the verifier for `vector.shape_cast` so that incorrect cases
where "scalability" is dropped are immediately rejected. For example:
```mlir
  vector.shape_cast %vec : vector<1x1x[4]xindex> to vector<4xindex>
```

Also, as a separate PR, I've prepared a fix for the Linalg vectorizer to
avoid generating such shape casts (*):
* https://github.com/llvm/llvm-project/pull/100325

(*) Note, that's just one specific case that I've identified so far.


  Commit: 4ca1a901dc6ca1926a594f57e6c4997ea9d185a4
      https://github.com/llvm/llvm-project/commit/4ca1a901dc6ca1926a594f57e6c4997ea9d185a4
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/unittests/Tooling/ToolingTest.cpp

  Log Message:
  -----------
  [clang][CUDA] Assume unknown emission status for skipped function definitions (#100124)

Emission status seems to be only used by cuda/openmp/hip compiles, to
figure out
when to emit diagnostics. Current logic emits "uknown" when definition
is
missing, so i extended that to skipped-function-bodies as well.


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

  Changed paths:
    M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
    M libcxx/utils/ci/build-picolibc.sh

  Log Message:
  -----------
  [libcxx][test] Update picolibc version (#100348)

This is the latest as of today, and it fixes one of the xfails.

Since
https://github.com/picolibc/picolibc/commit/5e4d0c80f49b4efe8be85e36b5e85d65bd343214,
TIME_UTC is defined.


  Commit: 456c5121f8e6f37881f236bdf573ef29cad5af1e
      https://github.com/llvm/llvm-project/commit/456c5121f8e6f37881f236bdf573ef29cad5af1e
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/test/Frontend/skip-function-bodies.cpp

  Log Message:
  -----------
  [clang][Driver] Add cc1 flag for setting SkipFunctionBodies (#100135)

This is an option set by certain tools (clangd and ASTUnit). Sometimes
there are crashes in clang, unique to this configuration and it's really
hard to provide reproducers without invoking the tool.


  Commit: 74e964c7c17cae6fd523bc93b3644893853989fc
      https://github.com/llvm/llvm-project/commit/74e964c7c17cae6fd523bc93b3644893853989fc
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.prim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll

  Log Message:
  -----------
  [AMDGPU] Add GFX12 test coverage for export instructions (#100415)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll

  Log Message:
  -----------
  AMDGPU: Fix asserting in DAG kernel argument lowering on v6i32 (#100528)

Remove this pointless assertion for the number of vector elements.


  Commit: 6f37d42a33ba09add14a9a1f422cb489ba02336e
      https://github.com/llvm/llvm-project/commit/6f37d42a33ba09add14a9a1f422cb489ba02336e
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    M llvm/test/CodeGen/AArch64/neon-mov.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Reland Make G_DUP immediate 32-bits or larger (#96780) (#99014)

Immediate operand gets extended in RegBankSelect to at least 32 bits to
allow for better pattern matching in TableGen

The previous patch was erasing a constant without checking if it has
more than one use

Changes:
 - Does not erase the constant
 - Added @v_dup16_const test


  Commit: ba461f8c6278a7b2fd7695454c1f184c38897ecd
      https://github.com/llvm/llvm-project/commit/ba461f8c6278a7b2fd7695454c1f184c38897ecd
  Author: Him188 <tguan at nvidia.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
    A llvm/test/CodeGen/AArch64/fcmp-fp128.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize fp128 types as libcalls for G_FCMP (#98452)

- Generate libcall for supported predicates.
- Generate unsupported predicates as combinations of supported
predicates.
- Vectors are scalarized, however some cases like `v3f128_fp128` are still failing, because we failed to legalize G_OR for these types.

GISel now generates the same code as SDAG, however, note the difference
in the `one` case.


  Commit: b72689a5cbd8645c183476cd87e32948308c5b64
      https://github.com/llvm/llvm-project/commit/b72689a5cbd8645c183476cd87e32948308c5b64
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll

  Log Message:
  -----------
  [LV] Ignore live-out users in cost model if scalar epilogue is required.

Follow-up to ba8126b6fef79.

If a scalar epilogue is required, users outside the loop won't use
live-outs from the vector loop but from the scalar epilogue. Ignore them if
that is the case.

This fixes another case where the VPlan-based cost-model more accurately
computes cost.

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


  Commit: 91073380ac5a0dceebdd09f360a1dc194d7ee93f
      https://github.com/llvm/llvm-project/commit/91073380ac5a0dceebdd09f360a1dc194d7ee93f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/pr98978.ll

  Log Message:
  -----------
  [BasicAA] Fix handling of indirect assumption based results (#100130)

If a result is potentially based on a not yet proven assumption,
BasicAA will remember it inside AssumptionBasedResults and remove
the cache entry if an assumption higher up is later disproved.
However, we currently miss the case where another cache entry ends
up depending on such an AssumptionBased result.

Fix this by introducing an additional AssumptionBased state for
cache entries. If such a result is used, we'll still increment
AAQI.NumAssumptionUses, which means that the using entry will
also become AssumptionBased and be cleared if the assumption is
disproved.

At the end of the root query, convert remaining AssumptionBased
results into definitive results.

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


  Commit: ca69444cef0858ad4facecbfc2232a02422aca9f
      https://github.com/llvm/llvm-project/commit/ca69444cef0858ad4facecbfc2232a02422aca9f
  Author: Shivam Gupta <shivam98.tkg at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/MapLattice.h

  Log Message:
  -----------
  [Clang] Fix a variable shadowing in MapLattice (NFC) (#95697)

Reported in https://pvs-studio.com/en/blog/posts/cpp/1126/, fragment
N10.

The PVS-Studio warning:
V570 The 'C' variable is assigned to itself. MapLattice.h:52


  Commit: 90a997988279ecd0e9aefcf14ee0642093b03398
      https://github.com/llvm/llvm-project/commit/90a997988279ecd0e9aefcf14ee0642093b03398
  Author: Kai Yan <aklkaiyan at tencent.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/WindowScheduler.cpp
    A llvm/test/CodeGen/Hexagon/swp-ws-stall-cycle.mir

  Log Message:
  -----------
  [llvm][CodeGen] Fixed a bug in stall cycle calculation for window scheduler (#99451)

Fixed a bug in stall cycle calculation.
When a register defined by an instruction in the current iteration is
used by an instruction in the next iteration, we have modified the
number of stall cycle that need to be inserted.


  Commit: 72532c921989990180b11d46e38a92874008f51a
      https://github.com/llvm/llvm-project/commit/72532c921989990180b11d46e38a92874008f51a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll

  Log Message:
  -----------
  [LV] Don't predicate divs with invariant divisor when folding tail (#98904)

When folding the tail, at least one of the lanes must execute
unconditionally. If the divisor is loop-invariant no predication is
needed, as predication would not prevent the divide-by-0 on the executed
lane.

Depends on https://github.com/llvm/llvm-project/pull/98892.

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


  Commit: f8006a5932b1ccdf3a1eed7b20b5cb608c0a020c
      https://github.com/llvm/llvm-project/commit/f8006a5932b1ccdf3a1eed7b20b5cb608c0a020c
  Author: Kristóf Umann <dkszelethus at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h

  Log Message:
  -----------
  [analyzer][NFC] Add some docs for LazyCompoundValue (#97407)

Yes, I basically copy-pasted some posts from discord and Artem's book,
but these make for a rather decent docs.

---------

Co-authored-by: Artem Dergachev <noqnoqneo at gmail.com>
Co-authored-by: Donát Nagy <donat.nagy at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 2ba3fe7356f065757a2279f65e4ef5c8f1476293
      https://github.com/llvm/llvm-project/commit/2ba3fe7356f065757a2279f65e4ef5c8f1476293
  Author: Shivam Gupta <shivam98.tkg at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h

  Log Message:
  -----------
  [lldb] Fix incorrect uses of logical operator in 'if' condition check (NFC) (#94779)

The condition checking for missing class name, interpreter dictionary,
and script object incorrectly used logical AND (&&), which could never
be true to enter the 'if' block.

This commit uses separate if conditions for each class name, interpreter
dictionary, and script object.

Cought by cppcheck -

lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h:89:11:
warning: Identical inner 'if' condition is always true.
[identicalInnerCondition]

lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h:91:16:
warning: Identical inner 'if' condition is always true.
[identicalInnerCondition]

Fix #89195

---------

Co-authored-by: Shivam Gupta <shivma98.tkg at gmail.com>


  Commit: 90929dd97a8f2c00148bee676bf8b44bec063d9b
      https://github.com/llvm/llvm-project/commit/90929dd97a8f2c00148bee676bf8b44bec063d9b
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/test/Analysis/call-invalidation.cpp

  Log Message:
  -----------
  [analyzer] Don't invalidate the super region when a std object ctor runs (#100405)

CPP-5269


  Commit: 534e2dd29f252cc13b94312895d2f4b39b54b9d4
      https://github.com/llvm/llvm-project/commit/534e2dd29f252cc13b94312895d2f4b39b54b9d4
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/SemaCXX/cxx1z-decomposition.cpp

  Log Message:
  -----------
  [Clang][Interp] Visit `DecompositionDecl` and create a local variable (#100400)

The following code should be well-formed:
```C++
float decompose_complex(_Complex float cf) {
  static _Complex float scf;
  auto &[sre, sim] = scf;
  // ok, this is references initialized by constant expressions all the way down
  static_assert(&sre == &__real scf);
  static_assert(&sim == &__imag scf);

  auto [re, im] = cf;
  return re*re + im*im;
}

```
We should visit `DecompositionDecl` and create a local variable but not
a create a dummy value directly.

---------

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


  Commit: f6431f0c52689be4d6a4753d261cb6c415eff5a1
      https://github.com/llvm/llvm-project/commit/f6431f0c52689be4d6a4753d261cb6c415eff5a1
  Author: runseny <145632023+runseny at users.noreply.github.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [MLIR][GPUToNVVM] support fastMath and other non-supported mathOp (#99890)

Support fastMath and other non-supported mathOp which only require float
operands and call libdevice function directly to nvvm.

1. lowering mathOp with fastMath attribute to correct libdevice
intrinsic.
2. some mathOp in math dialect has been lowered to libdevice now, but it
doesn't cover all mathOp. so this mr lowers all the remaining mathOp
which only require float operands.


  Commit: fc9b9e809381cf9232e5c81439f693d4db47efb3
      https://github.com/llvm/llvm-project/commit/fc9b9e809381cf9232e5c81439f693d4db47efb3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  Revert "MTM: fix issues after cursory reading" (#100559)

Reverts llvm/llvm-project#100404

This broke the gcc7 build here:
https://lab.llvm.org/buildbot/#/builders/116/builds/1724


  Commit: f916cb6184fb04b27ae7b867edcfd162c3a49694
      https://github.com/llvm/llvm-project/commit/f916cb6184fb04b27ae7b867edcfd162c3a49694
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp

  Log Message:
  -----------
  [Clang] fix assertion failure in invalid delete operator declaration check (#99308)

Fixes #96191


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

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h

  Log Message:
  -----------
  Revert "[lldb] Fix incorrect logical operator in 'if' condition check (NFC)" (#100561)

Reverts llvm/llvm-project#94779

Due to bot failures:
https://lab.llvm.org/buildbot/#/builders/18/builds/1371


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

  Changed paths:
    M llvm/lib/CodeGen/MachineModuleInfo.cpp
    R llvm/test/CodeGen/Generic/disable-debug-info-print.ll
    R llvm/test/CodeGen/X86/disable-debug-info-print-codeview.ll
    M llvm/test/CodeGen/X86/frame-order.ll

  Log Message:
  -----------
  CodeGen: Remove -disable-debug-info-print cl::opt (#100319)

This was first introduced way back in in 2010 by
6c74a872a8d34d41b751efb68e335cbe91b5a5cc, and has little evidence
of use. Only one test attempts to make use of this, but it's
also redundant since it's also using strip to drop debug info anyway
(and that also makes the test buggy, since it's intended to test
with and without debug info).

The other tests using it were only added to test the option after
discovering it was untested and moved, in later commits.


  Commit: bf76290de48512f59f62eff20d28135c3f918ea5
      https://github.com/llvm/llvm-project/commit/bf76290de48512f59f62eff20d28135c3f918ea5
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [flang][debug] Set scope of internal functions correctly. (#99531)

The functions internal to subroutine should have the scope set to the
parent function. This allows a user to evaluate local variables of
parent function when control is stopped in the child.

Fixes #96314


  Commit: 0fedfd83d75415837eb91f56ec24f4b392bf6c57
      https://github.com/llvm/llvm-project/commit/0fedfd83d75415837eb91f56ec24f4b392bf6c57
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Protect getPtrBase{,Pop} ops from past-end ptrs


  Commit: dfeb3991fb489a703f631ab0c34b58f80568038d
      https://github.com/llvm/llvm-project/commit/dfeb3991fb489a703f631ab0c34b58f80568038d
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/BitCodeFormat.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/Type.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    R llvm/test/Assembler/x86mmx.ll
    M llvm/test/Bitcode/bcanalyzer-types.ll
    M llvm/test/Bitcode/compatibility-3.6.ll
    M llvm/test/Bitcode/compatibility-3.7.ll
    M llvm/test/Bitcode/compatibility-3.8.ll
    M llvm/test/Bitcode/compatibility-3.9.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/CodeGen/X86/2008-09-05-sinttofp-2xi32.ll
    M llvm/test/CodeGen/X86/avx-vbroadcast.ll
    M llvm/test/CodeGen/X86/avx2-vbroadcast.ll
    M llvm/test/CodeGen/X86/fast-isel-bc.ll
    M llvm/test/CodeGen/X86/mmx-arg-passing-x86-64.ll
    M llvm/test/CodeGen/X86/mmx-arg-passing.ll
    M llvm/test/CodeGen/X86/mmx-arith.ll
    M llvm/test/CodeGen/X86/mmx-bitcast-fold.ll
    M llvm/test/CodeGen/X86/mmx-bitcast.ll
    M llvm/test/CodeGen/X86/mmx-cvt.ll
    M llvm/test/CodeGen/X86/mmx-fold-load.ll
    M llvm/test/CodeGen/X86/mmx-intrinsics.ll
    M llvm/test/CodeGen/X86/pr23246.ll
    M llvm/test/CodeGen/X86/pr29222.ll
    M llvm/test/CodeGen/X86/select-mmx.ll
    M llvm/test/CodeGen/X86/stack-folding-mmx.ll
    M llvm/test/CodeGen/X86/vec_extract-mmx.ll
    M llvm/test/CodeGen/X86/vec_insert-7.ll
    M llvm/test/CodeGen/X86/vec_insert-mmx.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_arith.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_pack.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_shift.ll
    M llvm/test/Transforms/InstCombine/X86/x86-movmsk.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
    R llvm/test/Transforms/LoopUnroll/X86/mmx.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bad_types.ll
    M llvm/test/Transforms/SROA/pr57796.ll
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M mlir/docs/Dialects/LLVM.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
    M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
    M mlir/test/Dialect/LLVMIR/types.mlir
    M mlir/test/Target/LLVMIR/llvmir-types.mlir

  Log Message:
  -----------
  Remove the `x86_mmx` IR type. (#98505)

It is now translated to `<1 x i64>`, which allows the removal of a bunch
of special casing.

This _incompatibly_ changes the ABI of any LLVM IR function with
`x86_mmx` arguments or returns: instead of passing in mmx registers,
they will now be passed via integer registers. However, the real-world
incompatibility caused by this is expected to be minimal, because Clang
never uses the x86_mmx type -- it lowers `__m64` to either `<1 x i64>`
or `double`, depending on ABI.

This change does _not_ eliminate the SelectionDAG `MVT::x86mmx` type.
That type simply no longer corresponds to an IR type, and is used only
by MMX intrinsics and inline-asm operands.

Because SelectionDAGBuilder only knows how to generate the
operands/results of intrinsics based on the IR type, it thus now
generates the intrinsics with the type MVT::v1i64, instead of
MVT::x86mmx. We need to fix this before the DAG LegalizeTypes, and thus
have the X86 backend fix them up in DAGCombine. (This may be a
short-lived hack, if all the MMX intrinsics can be removed in upcoming
changes.)

Works towards issue #98272.


  Commit: fd17064dfa08c252c12b71167bc588f57e6a082c
      https://github.com/llvm/llvm-project/commit/fd17064dfa08c252c12b71167bc588f57e6a082c
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp

  Log Message:
  -----------
  Fix fs.op.copy_file/copy_file_large.pass.cpp on z/OS (#100382)

This PR is required to fix copy_file_large.pass.cpp which is failing on
z/OS in all ASCII variations. The problem is that a destination file is
opened in binary mode and auto-conversion does not happen when this lit
is compiled with -fzos-le-char-mode=ascii.

In addition opening a destination file will match a text mode of
`fopen()` of a source file.


  Commit: ca00cec997c2a22dd6603cddb8bab789e1b01d34
      https://github.com/llvm/llvm-project/commit/ca00cec997c2a22dd6603cddb8bab789e1b01d34
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/mul.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange] Infer nonnegative for mul nuw nsw (#100554)

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


  Commit: 63a7ed45e89799adcca5c0493e184ed946c4a470
      https://github.com/llvm/llvm-project/commit/63a7ed45e89799adcca5c0493e184ed946c4a470
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/SemaCXX/new-delete-0x.cpp

  Log Message:
  -----------
  [clang][Interp] Reject non-literal values


  Commit: 430cf6537b1e872faabf7b6859b1f7d556dc0da9
      https://github.com/llvm/llvm-project/commit/430cf6537b1e872faabf7b6859b1f7d556dc0da9
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU][NFCI] Declare offset0/1 operands to be i32. (#100560)

Being of type i8 makes them signed, which they aren't, and requires
extra work masking them on verbalisation.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll

  Log Message:
  -----------
  [SLP][X86] Update add/sub sat test checks to share common SSE prefixes


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/arith-ssat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll

  Log Message:
  -----------
  [CostModel][X86] Add add/sat sat intrinsic costs

Fixes regressions from #97463 due to missing costs for custom lowered ops


  Commit: a79db96ec0decca4fe45579e039cf5589345b3ed
      https://github.com/llvm/llvm-project/commit/a79db96ec0decca4fe45579e039cf5589345b3ed
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.h
    M llvm/lib/Target/M68k/GISel/M68kRegisterBankInfo.cpp
    M llvm/lib/Target/M68k/GISel/M68kRegisterBankInfo.h
    M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
    M llvm/lib/Target/Mips/MipsRegisterBankInfo.h
    M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
    M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.h
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.h
    M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
    A llvm/test/TableGen/RegBankFromRegClass.td
    M llvm/utils/TableGen/RegisterBankEmitter.cpp

  Log Message:
  -----------
  [GISel][TableGen] Generate getRegBankFromRegClass (#99896)

Generating the mapping from a register class to a register bank is
complex:
 - there can be lots of register classes
 - the mapping may be ambiguos
- a register class can span several register banks (e.g. a register
class containing all registers)
- the type information is not enough to decide which register bank to
map to (e.g. a register class containing floating point and vector
registers, and all register can represent a f64 value)

The approach taken here is to encode the register banks in an array
indexed by the ID of the register class. To save space, the entries are
packed into chunks of size 2^n.


  Commit: d311edd0eff2095b1e5e73b4e612e7ddd8d93d70
      https://github.com/llvm/llvm-project/commit/d311edd0eff2095b1e5e73b4e612e7ddd8d93d70
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/TargetParser/PPCTargetParser.cpp

  Log Message:
  -----------
  [PowerPC] fix default cpu setting

for platform that returns nothing for getHostCPUName()
For example for target ARM on windows. For this case, -mcpu=native
should set CPU to the default according to triple instead of setting
CPU to "native"

Fixes https://lab.llvm.org/buildbot/#/builders/161/builds/873 caused by
https://github.com/llvm/llvm-project/pull/97541


  Commit: 9ad92c476907451bdc95a6c2b6a6bbba03815b4b
      https://github.com/llvm/llvm-project/commit/9ad92c476907451bdc95a6c2b6a6bbba03815b4b
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/test/Analysis/ctor-array.cpp
    M clang/test/Analysis/ctor.mm

  Log Message:
  -----------
  [analyzer][NFC] Minor cleanup in two test files. (#100570)

This commit contains two unrelated trivial changes:

(1) Three unused variables are removed from `ctor.mm`.
(2) A FIXME block is removed from `ctor-array.cpp` because it described
    an issue that was resolved since then.


  Commit: 12dba4d48461c571cb5bdb7c3ac6078b9a357a02
      https://github.com/llvm/llvm-project/commit/12dba4d48461c571cb5bdb7c3ac6078b9a357a02
  Author: weiwei chen <weiwei.chen at modular.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M mlir/docs/Diagnostics.md
    M mlir/include/mlir/IR/Diagnostics.h
    A mlir/test/IR/diagnostic-handler-metadata.mlir
    M mlir/test/lib/IR/CMakeLists.txt
    A mlir/test/lib/IR/TestDiagnosticsMetadata.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] Add metadata to Diagnostic. (#99398)

Add metadata to Diagnostic. 

Motivation: we have a use case where we want to do some filtering in our
customized Diagnostic Handler based on some customized info that is not
`location` or `severity` or `diagnostic arguments` that are member
variables of `Diagnostic`. Specifically, we want to add a unique ID to
the `Diagnostic` for the handler to filter in a compiler pass that emits
errors in async tasks with multithreading and the diagnostic handling is
associated to the task.

This patch adds a field of `metadata` to `mlir::Diagnostics` as a
general solution. `metadata` is of type `SmallVector<DiagnosticArgument,
0>` to save memory size and reuse existing `DiagnosticArgument` for
metadata type.


  Commit: daf9d7f3881e4ffd1fd5988dc1b6223c733b6bef
      https://github.com/llvm/llvm-project/commit/daf9d7f3881e4ffd1fd5988dc1b6223c733b6bef
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/test/Sema/builtin-cpu-supports.c

  Log Message:
  -----------
  [PowerPC] add testcaseis for PPC, NFC

For builtin __builtin_cpu_is and __builtin_cpu_supports


  Commit: a0c590795eae48903a013699fe84db335854fa80
      https://github.com/llvm/llvm-project/commit/a0c590795eae48903a013699fe84db335854fa80
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Allow implicit clauses to fail to apply (#100460)

The `linear(x)` clause implies `firstprivate(x)` on the compound
construct if `x` is not an induction variable. With more construct
combinations coming in OpenMP 6.0, the `firstprivate` clause may not be
possible to apply, e.g. in "masked simd".
An additional benefit from this change is that it allows treating leaf
constructs as combined constructs with a single constituent. Otherwise,
a `linear` clause on a lone `simd` construct could imply a
`firstprivate` clause that can't be applied.


  Commit: 8758091a70393f71c5a75805f5cbde556f6dce22
      https://github.com/llvm/llvm-project/commit/8758091a70393f71c5a75805f5cbde556f6dce22
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-lto-defaults.ll
    A llvm/test/Transforms/PhaseOrdering/varargs.ll

  Log Message:
  -----------
  [LLVM] Add 'ExpandVariadicsPass' to LTO default pipeline (#100479)

Summary:
This pass expands variadic functions into non-variadic function calls
according to the target ABI. Currently, this is used as the lowering for
the NVPTX and AMDGPU targets.

This pass is currently only run late in the target's backend. However,
during LTO we want to run it before the inliner pass so that the
expanded functions can be inlined using standard heuristics. This pass
is a no-op for unsupported targets, so this won't apply to any code that
isn't already using it.


  Commit: 4db37a49a72bb9cff7a78e77439008c058383099
      https://github.com/llvm/llvm-project/commit/4db37a49a72bb9cff7a78e77439008c058383099
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/varargs.ll

  Log Message:
  -----------
  [LLVM] Only run vararg test with the amdgpu target


  Commit: 010dcfd85fb8b8c8826f25f27324e3a958dba5f8
      https://github.com/llvm/llvm-project/commit/010dcfd85fb8b8c8826f25f27324e3a958dba5f8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/arith-overflow.ll
    M llvm/test/Analysis/CostModel/X86/costmodel.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll

  Log Message:
  -----------
  [CostModel][X86] Improve add/sub/mul overflow intrinsic costs

Noticed due to x86 changes in #97463


  Commit: 51d4980a133db12888207698e39c469cb7055cac
      https://github.com/llvm/llvm-project/commit/51d4980a133db12888207698e39c469cb7055cac
  Author: Mike Rice <michael.p.rice at intel.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [clang][NFC] remove unneeded nullptr checks after dereference (#100489)

Fix static verifer concerns of null pointer checks after dereferencing  
the pointer. Update the assert to make it super clear it is not null and
remove the checks.


  Commit: abc2eae68290c453e1899a94eccc4ed5ea3b69c1
      https://github.com/llvm/llvm-project/commit/abc2eae68290c453e1899a94eccc4ed5ea3b69c1
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/lib/CMakeLists.txt
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Utils/CMakeLists.txt
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/CMakeLists.txt
    M bolt/test/lit.cfg.py
    M bolt/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [BOLT] Enable standalone build (#97130)

Continue from #87196 as author did not have much time, I have taken over
working on this PR. We would like to have this so it'll be easier to
package for Nix.

Can be tested by copying cmake, bolt, third-party, and llvm directories
out into their own directory with this PR applied and then build bolt.

---------

Co-authored-by: pca006132 <john.lck40 at gmail.com>


  Commit: ffd624024865cf98644c4f9357ef369327ac0995
      https://github.com/llvm/llvm-project/commit/ffd624024865cf98644c4f9357ef369327ac0995
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M bolt/utils/docker/Dockerfile

  Log Message:
  -----------
  [BOLT] Update Docker to use Ubuntu 24.04 (#99421)

Updates the Dockerfile to use Ubuntu 24.04 due to CMake wanting a newer
version. Can be tested by trying to build the Docker image currently in
main and then try building the Docker image in this PR.


  Commit: 0762db6533eda3453158c7b9b0631542c47093a8
      https://github.com/llvm/llvm-project/commit/0762db6533eda3453158c7b9b0631542c47093a8
  Author: Nathan James <n.james93 at hotmail.co.uk>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h

  Log Message:
  -----------
  [clang-tidy] Fix crash in modernize-use-ranges (#100427)

Crash seems to be caused by the check function not handling inline
namespaces correctly for some instances. Changed how the Replacer is got
from the MatchResult now which should alleviate any potential issues

Fixes #100406


  Commit: a27f816fe56af9cc7f4f296ad6c577f6ea64349f
      https://github.com/llvm/llvm-project/commit/a27f816fe56af9cc7f4f296ad6c577f6ea64349f
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c

  Log Message:
  -----------
  [clang-tidy] Fix crash in C language in readability-non-const-parameter (#100461)

Fix crash that happen when redeclaration got
different number of parameters than definition.

Fixes #100340


  Commit: 24a18aafa337b70a5a6c30f077bddc64e8677b48
      https://github.com/llvm/llvm-project/commit/24a18aafa337b70a5a6c30f077bddc64e8677b48
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll

  Log Message:
  -----------
  [AMDGPU] Simplify printing row/bank_mask modifiers. (#100575)

And fix a codegen test to use mask values that fit their encoding
fields.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: 98e733eaf2af1a5c1d9392e279d21182ffdf560d
      https://github.com/llvm/llvm-project/commit/98e733eaf2af1a5c1d9392e279d21182ffdf560d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/test/Lower/OpenMP/private-derived-type.f90

  Log Message:
  -----------
  [flang][OpenMP] Initialize privatised derived type variables (#100417)

Fixes #91928


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

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

  Log Message:
  -----------
  Fix unused variable warning. NFC.


  Commit: 9398cc2ec57721a57af98f6206c816038375ac6e
      https://github.com/llvm/llvm-project/commit/9398cc2ec57721a57af98f6206c816038375ac6e
  Author: Acim Maravic <Acim.Maravic at Syrmia.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  [LLVM][AMDGPU] Copy isConvergent from Pseudo to Real instructions (#99658)

This patch copies the flag isConvergent from pseudo instructions to the
corresponding real instructions, so that isConvergent flag is also
defined for real instructions.

Flags are not required by the compiler, but for consistency it would be
nice to have them.

Co-authored-by: Acim Maravic <Acim.Maravic at amd.com>


  Commit: d8b672dac9f8945ab35cffaa4e196e3d3e61da1f
      https://github.com/llvm/llvm-project/commit/d8b672dac9f8945ab35cffaa4e196e3d3e61da1f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp

  Log Message:
  -----------
  [flang][NFC] rename fircg op operand index accessors (#100584)

fircg operations have xxxOffset members to give the operand index of
operand xxx. This is a bit weird when looking at usage (e.g.
`arrayCoor.shiftOffset` reads like it is shifting some offset). Rename
them to getXxxOperandIndex.


  Commit: 3295d377f37a60597321f502d164b5d6b1948e28
      https://github.com/llvm/llvm-project/commit/3295d377f37a60597321f502d164b5d6b1948e28
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [clang] Remove `__is_layout_compatible` from revertible type traits list (#100572)

`__is_layout_compatible` was added in Clang 19 (#81506), and at that
time it wasn't entirely clear whether it should be a revertible type
trait or not. We decided to follow the example of other type traits.
Since then #95969 happened, and now we know that we don't want new
revertible type traits.

This patch removes `__is_layout_compatible` from revertible type traits
list, and leaves a comment what revertible type traits are, and that new
type traits should not be added there.

The intention is to also cherry-pick this to 19 branch.


  Commit: 817cd726454f01e990cd84e5e1d339b120b5ebaa
      https://github.com/llvm/llvm-project/commit/817cd726454f01e990cd84e5e1d339b120b5ebaa
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    A llvm/test/CodeGen/AMDGPU/si-fold-scalar-clamp.mir

  Log Message:
  -----------
  [AMDGPU] Fix folding clamp into pseudo scalar instructions (#100568)

Clamp is canonically a v_max* instruction with a VGPR dst. Folding clamp
into a pseudo scalar instruction can cause issues due to a change in
regbank. We fix this with a copy.


  Commit: e90d552c77428b93b435eaafa81e396cdaf60694
      https://github.com/llvm/llvm-project/commit/e90d552c77428b93b435eaafa81e396cdaf60694
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libc/docs/date_and_time.rst
    M libc/docs/math/index.rst

  Log Message:
  -----------
  [libc][NFC] Update riscv documentation (#100578)

This adds linux-riscv32 to the documentation and fixes riscv's
entrypoint broken link.


  Commit: 1db7d2ae226c96e0243309e1688c6e0cfb9236bd
      https://github.com/llvm/llvm-project/commit/1db7d2ae226c96e0243309e1688c6e0cfb9236bd
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Object/ELF.h

  Log Message:
  -----------
  [ELF] Add missing `static` decl on several helpers; NFC


  Commit: 342328db6b2a69cf59c01a6115b1baab925c0736
      https://github.com/llvm/llvm-project/commit/342328db6b2a69cf59c01a6115b1baab925c0736
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Headers/float.c
    M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp

  Log Message:
  -----------
  [CLANG] Emit warning in finite math mode when INF and NAN are used. (#99672)

In finite math mode when special math builtins `__builtin_inf` and
`__builtin_nan` are used a warning is emitted when the builtin is
expanded and at call point.
This warning at call point was missing for` __builtin_inf` and this
patch fixes the issue
(https://github.com/llvm/llvm-project/issues/98018).


  Commit: 3ce6f68ee736e2e6afaa2fe5fcde71f26b21d0cf
      https://github.com/llvm/llvm-project/commit/3ce6f68ee736e2e6afaa2fe5fcde71f26b21d0cf
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/SpaceshipPapers.csv
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][spaceship] Marks P1614 as complete. (#99375)

Implements parts of:
- P1902R1 Missing feature-test macros 2017-2019

Completes:
- P1614R2 The Mothership has Landed

Fixes #100018


  Commit: 06134540126e3b82b66e82d577ac194584e76153
      https://github.com/llvm/llvm-project/commit/06134540126e3b82b66e82d577ac194584e76153
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMP] Fix OpenMPIRBuilder generating incorrect duplicate SrcLocInfo (#100364)

This should further fix some of the incorrect debug info being generated
related to #97458


  Commit: f67fa3be4db68afc08c7f3d9523f1533fa5687b7
      https://github.com/llvm/llvm-project/commit/f67fa3be4db68afc08c7f3d9523f1533fa5687b7
  Author: David Green <david.green at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
    M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll

  Log Message:
  -----------
  [AArch64] Remove special-case inserted shuffle cost.

This special case tried to measure if the shuffle vector will be multiple
inserts into an existing vector, with one of the lanes already in-place. If so
it reduces the cost by 1 to to represent it will can insert n-1 vector lanes.
This isn't always true though as the original vector may need to be moved to a
new value to start inserting new values into it, if other values from the
original are still needed.

This didn't effect performance much when I tried it, but should hopefully start
to address a regression we see from differences in SLP vectorization lane
orders.


  Commit: 7304936479a7eb61adc9edcaf6ce56e4792590ad
      https://github.com/llvm/llvm-project/commit/7304936479a7eb61adc9edcaf6ce56e4792590ad
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    A clang/test/AST/Interp/builtin-constant-p.cpp

  Log Message:
  -----------
  [clang][Interp] Add preliminary __builtin_constant_p implementation

This is not perfect or complete, but it helps us pass the simple tests
and those tests where __builtin_constant_p is not the main subject of
testing.


  Commit: 3eaf9f7237b088e9382739808d4f723b2c11dd8c
      https://github.com/llvm/llvm-project/commit/3eaf9f7237b088e9382739808d4f723b2c11dd8c
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  LAA: fix style after cursory reading (NFC) (#100447)


  Commit: 99bb9a719cec9513e72ad275c1c0302b76b6c408
      https://github.com/llvm/llvm-project/commit/99bb9a719cec9513e72ad275c1c0302b76b6c408
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M compiler-rt/test/profile/ContinuousSyncMode/darwin-proof-of-concept.c

  Log Message:
  -----------
  [compiler-rt][Profile][Darwin] Fix a test that expected an alignment … (#100469)

…greater than the maximum for a segment

This test was failing with:
```
--
Exit Code: 1

Command Output (stderr):
--
ld: warning: reducing alignment of section __DATA,__pcnts from 0x4000 to 0x1000 because it exceeds segment maximum alignment ld: warning: reducing alignment of section __DATA,__pdata from 0x4000 to 0x1000 because it exceeds segment maximum alignment __pdata not ordered after __pcnts.

--
```


  Commit: c194bc77a21d68dd321588c9d726ef2d6c556a30
      https://github.com/llvm/llvm-project/commit/c194bc77a21d68dd321588c9d726ef2d6c556a30
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Add rewrite to handle unsupported SVE transposes via SME/ZA (#98620)

This adds a workaround rewrite that allows stores of unsupported SVE
transposes such as:

```mlir
%tr = vector.transpose %vec, [1, 0]
  : vector<2x[4]xf32> to vector<[4]x2xf32>
vector.transfer_write %tr, %dest[%i, %j] {in_bounds = [true, true]}
  : vector<[4]x2xf32>,  memref<?x?xf32>
```

To use SME tiles, which are possible to lower (when SME is available):

```mlir
// Insert vector<2x[4]xf32> into an SME tile:
%0 = arm_sme.get_tile : vector<[4]x[4]xf32>
%1 = vector.extract %vec[0] : vector<[4]xf32> from vector<2x[4]xf32>
%2 = vector.insert %1, %0 [0] : vector<[4]xf32> into vector<[4]x[4]xf32>
%3 = vector.extract %vec[1] : vector<[4]xf32> from vector<2x[4]xf32>
%4 = vector.insert %3, %2 [1] : vector<[4]xf32> into vector<[4]x[4]xf32>
// Store the tile with a transpose + mask:
%c4_vscale = arith.muli %vscale, %c4 : index
%mask = vector.create_mask %c4_vscale, %c2 : vector<[4]x[4]xi1>
vector.transfer_write %4, %arg1[%arg2, %arg3], %mask
   {permutation_map = affine_map<(d0, d1) -> (d1, d0)>}
   : vector<[4]x[4]xf32>, memref<?x?xf32>
```


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

  Changed paths:
    M libcxx/include/locale

  Log Message:
  -----------
  [libc++] Add missing xlocale.h include on Apple and FreeBSD (#99689)

The `<locale>` header uses `strtoll_l` and friends which are defined in
`<xlocale.h>` on these platforms. While this works via transitive
includes when modules are disabled, this doesn't work anymore if the
platforms are modularized properly.


  Commit: db8c84fc7a75dd60bcfff7160b51e1a55e7e0f73
      https://github.com/llvm/llvm-project/commit/db8c84fc7a75dd60bcfff7160b51e1a55e7e0f73
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll

  Log Message:
  -----------
  [GlobalIsel] Push cast through select. (#100539)


  Commit: edf9756e2e658ac8faa8635e15acb428d5b103f6
      https://github.com/llvm/llvm-project/commit/edf9756e2e658ac8faa8635e15acb428d5b103f6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/bolt/lib/RuntimeLibs/BUILD.gn
    M llvm/utils/gn/secondary/bolt/lib/Utils/BUILD.gn
    M llvm/utils/gn/secondary/bolt/test/BUILD.gn

  Log Message:
  -----------
  [gn] port abc2eae6829 (bolt standalone)


  Commit: 08b3556c2ff8948932bcbbc77781fe41388e4e63
      https://github.com/llvm/llvm-project/commit/08b3556c2ff8948932bcbbc77781fe41388e4e63
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Interpreter/BUILD.gn
    A llvm/utils/gn/secondary/lldb/source/Interpreter/Interfaces/BUILD.gn

  Log Message:
  -----------
  [gn] port enough of 2914a4b88837 (lldb Interfaces)

gn's lldb does not have the Python plugin, so most of the changes
from 2914a4b88837 aren't necessary here.


  Commit: 319d29d21ea9f04cd8530c77b558796bf5db0197
      https://github.com/llvm/llvm-project/commit/319d29d21ea9f04cd8530c77b558796bf5db0197
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  [Sema] Fix a warning

This patch fixes:

  clang/lib/Sema/SemaChecking.cpp:8220:3: error: default label in
  switch which covers all enumeration values
  [-Werror,-Wcovered-switch-default]


  Commit: e31794f99d72dd764c4bc5c5583a0a4c89df22c3
      https://github.com/llvm/llvm-project/commit/e31794f99d72dd764c4bc5c5583a0a4c89df22c3
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll

  Log Message:
  -----------
  [StackFrameLayoutAnalysis] Support more SlotTypes (#100562)

Add new SlotTypes to StackFrameLayoutAnalysis to disambiguate Fixed and
Variable-Sized stack slots from Variable slots. As Offsets are
unreliable for VLA-area objects, sort these to the end of the list -
using the Frame Index to ensure a deterministic order when Offsets are
equal.


  Commit: 88fb56ebf25de6288510364a4be3fbd7ae9a7246
      https://github.com/llvm/llvm-project/commit/88fb56ebf25de6288510364a4be3fbd7ae9a7246
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libc/docs/date_and_time.rst

  Log Message:
  -----------
  [libc] Fix broken table introduced by PR #100578


  Commit: b365dbbd8dcc8cd3732995dd95b380f77b3337e3
      https://github.com/llvm/llvm-project/commit/b365dbbd8dcc8cd3732995dd95b380f77b3337e3
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    A llvm/include/llvm/Analysis/DXILResource.h
    R llvm/include/llvm/Transforms/Utils/DXILResource.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    R llvm/lib/Transforms/Utils/DXILResource.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    A llvm/unittests/Analysis/DXILResourceTest.cpp
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    R llvm/unittests/Transforms/Utils/DXILResourceTest.cpp

  Log Message:
  -----------
  [DXIL][Analysis] Move dxil::ResourceInfo to the Analysis library. NFC

I had put this in Transforms/Utils, but that doesn't actually make
sense if we want to populate these structures via an analysis pass.

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


  Commit: 3c210740649a538d2fc2432395f2ef41c56dc8b6
      https://github.com/llvm/llvm-project/commit/3c210740649a538d2fc2432395f2ef41c56dc8b6
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libc/src/__support/block.h
    M libc/src/__support/freelist_heap.h
    M libc/test/src/__support/block_test.cpp

  Log Message:
  -----------
  [NFC][libc][malloc] Refactor Block (#100445)

This decreases the surface area of the block implementation in
preparation for deeper changes to its implementation.

See #98096 

- Remove dead member functions.
- Remove last() check from next(), as described in its comment.
- Rework object lifetimes such that only block headers are actually
considered live. This simplifies their implementation.
- The allocated storage becomes live at the outer call to malloc-family
functions via a special case in the C++ standard.
- Add asserts for flag properties required by the implementation.
- Remove static from member functions that don't invalidate the block.


  Commit: 792b673d36a86ab9d45ed3b259a3fc7020826b76
      https://github.com/llvm/llvm-project/commit/792b673d36a86ab9d45ed3b259a3fc7020826b76
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M lldb/test/API/assert_messages_test/TestAssertMessages.py

  Log Message:
  -----------
  [lldb][test] Mark TestAssertMessages.py as passing remotely on Linux target. (#100586)

It has been markad as XFAIL here
de2ddc8f3146bd87152ea86b533541039541efe1, but I haven't found the reason
for that, and apparently, it passes against the Linux target.


  Commit: 82c21f085a10e64fc5c21683224714be03e8506f
      https://github.com/llvm/llvm-project/commit/82c21f085a10e64fc5c21683224714be03e8506f
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp

  Log Message:
  -----------
  [DXIL][Analysis] Replace #include with forward declaration. NFC

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


  Commit: 4f8050806e14d9f7791bfaa33681cacb1ac02549
      https://github.com/llvm/llvm-project/commit/4f8050806e14d9f7791bfaa33681cacb1ac02549
  Author: Scott Todd <scott.todd0 at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp

  Log Message:
  -----------
  [lld] Add explicit conversion for enum to Twine. (#100627)

This fixes `error: ambiguous conversion for functional-style cast from
'lld::macho::InputSection::Kind' to 'llvm::Twine'`, observed when
building with clang-9 and reported here:
https://github.com/llvm/llvm-project/pull/96268#discussion_r1691909931.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c

  Log Message:
  -----------
  [NVPTX] Correctly forward the PTX feature to the nvlink wrapper (#100607)

Summary:
This is necessary for LTO when the user specifies it or has a CUDA
version that supports a sufficiently high version. Previously it would
default.

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


  Commit: 0307dd0d5dea6fbc3b218850e7061cd40a80fc58
      https://github.com/llvm/llvm-project/commit/0307dd0d5dea6fbc3b218850e7061cd40a80fc58
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libcxx/test/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Remove unnecessary check for LIBCXX_INCLUDE_TESTS (#100573)

This whole CMakeLists.txt is only included from the parent directory if
LIBCXX_INCLUDE_TESTS is true.


  Commit: 52b6b1eb976341956c9c75f6572c37d445fcb332
      https://github.com/llvm/llvm-project/commit/52b6b1eb976341956c9c75f6572c37d445fcb332
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/src/CMakeLists.txt
    M libcxx/test/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Remove unmaintained LIBCXX_CONFIGURE_IDE (#100574)

The premise of LIBCXX_CONFIGURE_IDE is nice, however in practice this
setting has not been maintained and as a result it basically doesn't
work properly. For example, it doesn't take into account the headers we
generate, and its handling of the tests is too naive for it to be really
helpful.

This patch removes the setting in order to simplify the CMake setup a
bit, but most importantly to remove unnecessary interactions between our
main CMake build of the library and the test suite.


  Commit: 6618eca5f506ca1bde3c7cf43a91dd5121d12e8b
      https://github.com/llvm/llvm-project/commit/6618eca5f506ca1bde3c7cf43a91dd5121d12e8b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b365dbbd8dcc


  Commit: cc4f98979b079b517edd8a71f56a8975f436e63d
      https://github.com/llvm/llvm-project/commit/cc4f98979b079b517edd8a71f56a8975f436e63d
  Author: Anton Korobeynikov <anton at korobeynikov.info>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

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

  Log Message:
  -----------
  Normalize ptrauth handling in sanitizer runtime (#100483)

1. Include `ptrauth.h` if `ptrauth_intrinsics` language feature is specified (per ptrauth spec, this is what enables `ptrauh.h` usage and functions like `ptrauth_strip`)
 2. For PAC-RET fallback implement two changes:
    1. Switch to macro, so we can ignore key argument
    2. Ensure the unsigned value is erased from LR, so the possibility of gadget reuse is reduced.

Fixes #100467


  Commit: 81ce796095c8e2ededa5d9df1c963cf08a75a6f1
      https://github.com/llvm/llvm-project/commit/81ce796095c8e2ededa5d9df1c963cf08a75a6f1
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/config/gpu/entrypoints.txt
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ceilf16.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

  Log Message:
  -----------
  [libc][math][c23] Enable C23 _Float16 math functions on GPUs (#99248)


  Commit: 9709df1deb6048badb66af5183ba2dbf94865c77
      https://github.com/llvm/llvm-project/commit/9709df1deb6048badb66af5183ba2dbf94865c77
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/lib/CMakeLists.txt
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Utils/CMakeLists.txt
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/CMakeLists.txt
    M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    M bolt/test/X86/dwarf5-locexpr-referrence.test
    M bolt/test/X86/pseudoprobe-decoding-inline.test
    A bolt/test/X86/three-way-split-jt.s
    M bolt/test/lit.cfg.py
    M bolt/test/lit.site.cfg.py.in
    M bolt/utils/docker/Dockerfile
    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/assets/index.js
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    A clang-tools-extra/test/clang-doc/test-path-abs.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    A clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Analysis/FlowSensitive/MapLattice.h
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/Basic/Sarif.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/stdarg.h
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Headers/stddef.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    A clang/test/AST/Interp/builtin-constant-p.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/ast-dump-openmp-for-simd.c
    M clang/test/AST/ast-dump-openmp-simd.c
    M clang/test/AST/ast-dump-openmp-taskloop-simd.c
    A clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
    M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
    M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
    M clang/test/Analysis/NewDelete-intersections.mm
    M clang/test/Analysis/call-invalidation.cpp
    M clang/test/Analysis/ctor-array.cpp
    M clang/test/Analysis/ctor.mm
    M clang/test/Analysis/free.c
    M clang/test/Analysis/free.cpp
    M clang/test/Analysis/getline-alloc.c
    M clang/test/Analysis/kmalloc-linux.c
    M clang/test/Analysis/malloc-fnptr-plist.c
    M clang/test/Analysis/malloc-std-namespace.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.mm
    M clang/test/Analysis/plist-macros.cpp
    M clang/test/Analysis/weak-functions.c
    M clang/test/CXX/basic/basic.types/p10.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    A clang/test/CodeGen/PowerPC/save-reg-params.c
    M clang/test/CodeGen/X86/mmx-builtins.c
    M clang/test/CodeGen/X86/mmx-inline-asm.c
    M clang/test/CodeGen/X86/mmx-shift-with-immediate.c
    M clang/test/CodeGen/aix-builtin-cpu-is.c
    M clang/test/CodeGen/asm-inout.c
    M clang/test/CodeGen/attr-target-x86-mmx.c
    M clang/test/CodeGen/builtin-cpu-supports.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/builtins-x86.c
    A clang/test/CodeGen/ms_mangler_templatearg_opte.cpp
    M clang/test/CodeGen/palignr.c
    R clang/test/CodeGen/pr26099.c
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/CodeGen/ubsan-function.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
    M clang/test/CodeGenCXX/mangle-fail.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    M clang/test/Driver/aarch64-ptrauth.c
    A clang/test/Driver/aix-save-reg-params.c
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/fp-contract.c
    M clang/test/Driver/fp-model.c
    M clang/test/Driver/linker-wrapper-passes.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/lto-jobs.c
    A clang/test/Driver/modulemap-allow-subdirectory-search.c
    M clang/test/Driver/nvlink-wrapper.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/ppc-unsupported.c
    M clang/test/Driver/ps4-linker.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/unified-lto.c
    A clang/test/Driver/warn-fsyntax-only.c
    A clang/test/Frontend/skip-function-bodies.cpp
    M clang/test/Headers/float.c
    M clang/test/Headers/stdatomic.c
    M clang/test/Headers/stddefneeds.cpp
    M clang/test/Headers/xmmintrin.c
    M clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Modules/modulemap-allow-subdirectory-search.m
    A clang/test/Modules/stddef.cpp
    M clang/test/Modules/subdirectory-module-maps-working-dir.m
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Sema/attr-ownership.c
    M clang/test/Sema/builtin-cpu-supports.c
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/Sema/ptrauth-indirect-goto.c
    M clang/test/Sema/ptrauth-intrinsics-macro.c
    M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
    M clang/test/Sema/x86-builtin-palignr.c
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/class.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx2b.cpp
    M clang/test/SemaCXX/cxx1z-decomposition.cpp
    M clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/decltype.cpp
    M clang/test/SemaCXX/enum.cpp
    M clang/test/SemaCXX/new-delete-0x.cpp
    A clang/test/SemaCXX/ptrauth-type-discriminator.cpp
    A clang/test/SemaCXX/typeof.cpp
    R clang/test/SemaCXX/typeof_unqual.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M clang/www/builtins.py
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/README.txt
    M compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    A compiler-rt/lib/builtins/cpu_model/riscv.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    R compiler-rt/lib/builtins/riscv/feature_bits.c
    M compiler-rt/lib/builtins/trampoline_setup.c
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_ptrauth.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp
    M compiler-rt/test/asan/Unit/lit.site.cfg.py.in
    M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
    M compiler-rt/test/nsan/CMakeLists.txt
    A compiler-rt/test/nsan/alloca.cpp
    A compiler-rt/test/nsan/helpers.h
    M compiler-rt/test/nsan/lit.cfg.py
    M compiler-rt/test/nsan/lit.site.cfg.py.in
    A compiler-rt/test/nsan/sum.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/darwin-proof-of-concept.c
    M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp
    M flang/docs/InternalProcedureTrampolines.md
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Parser/provenance.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Parser/provenance.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Driver/Inputs/config-1.cfg
    A flang/test/Driver/Inputs/config-2.cfg
    A flang/test/Driver/Inputs/config-2a.cfg
    A flang/test/Driver/Inputs/config-6.cfg
    A flang/test/Driver/Inputs/config/config-4.cfg
    A flang/test/Driver/Inputs/config2/config-4.cfg
    A flang/test/Driver/config-file.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Fir/abstract-results.fir
    M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    A flang/test/Lower/OpenMP/private-derived-type.f90
    A flang/test/Lower/location.f90
    A flang/test/Lower/location0.inc
    A flang/test/Lower/location1.inc
    R flang/test/Semantics/OpenMP/copyprivate04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    A flang/test/Transforms/debug-96314.fir
    M libc/CMakeLists.txt
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/LibcConfig.cmake
    A libc/cmake/modules/compiler_features/check_builtin_fmax_fmin.cpp
    A libc/cmake/modules/compiler_features/check_builtin_fmaxf16_fminf16.cpp
    A libc/cmake/modules/cpu_features/check_FullFP16.cpp
    M libc/config/config.json
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/date_and_time.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/support.rst
    M libc/docs/gpu/using.rst
    M libc/docs/math/index.rst
    M libc/lib/CMakeLists.txt
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/block.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ceilf16.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
    A libc/src/math/generic/totalordermag.cpp
    A libc/src/math/generic/totalordermagf.cpp
    A libc/src/math/generic/totalordermagf128.cpp
    A libc/src/math/generic/totalordermagl.cpp
    M libc/src/math/generic/truncf16.cpp
    A libc/src/math/totalordermag.h
    A libc/src/math/totalordermagf.h
    A libc/src/math/totalordermagf128.h
    A libc/src/math/totalordermagl.h
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/max_min_funcs_perf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/TotalOrderMagTest.h
    M libc/test/src/math/smoke/TotalOrderTest.h
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf16_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp
    A libc/test/src/math/smoke/totalordermag_test.cpp
    A libc/test/src/math/smoke/totalordermagf128_test.cpp
    A libc/test/src/math/smoke/totalordermagf_test.cpp
    A libc/test/src/math/smoke/totalordermagl_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sscanf_test.cpp
    M libcxx/CMakeLists.txt
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx20.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/SpaceshipPapers.csv
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/docs/Status/SpecialMath.rst
    M libcxx/include/__bit_reference
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__math/hypot.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/cmath
    M libcxx/include/deque
    M libcxx/include/locale
    M libcxx/include/string_view
    M libcxx/include/typeinfo
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/src/CMakeLists.txt
    M libcxx/src/include/overridable_function.h
    M libcxx/test/CMakeLists.txt
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/fuzzing/random.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
    M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivially_copyable.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
    A libcxx/test/std/containers/views/views.span/span.iterators/iterator.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp
    A libcxx/test/std/strings/string.view/string.view.iterators/iterators.pass.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.verify.cpp
    A libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate_at_least.verify.cpp
    M libcxx/test/support/fp_compare.h
    M libcxx/test/support/test_iterators.h
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/build-picolibc.sh
    M libcxx/utils/ci/vendor/android/run-buildbot-container
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/vendor/llvm/default_assertion_handler.in
    M libcxxabi/src/private_typeinfo.cpp
    M lld/COFF/Options.td
    M lld/ELF/ScriptLexer.cpp
    M lld/ELF/ScriptLexer.h
    M lld/ELF/ScriptParser.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/test/COFF/lto-cpu-string.ll
    M lld/test/ELF/lto/cpu-string.ll
    M lld/test/ELF/lto/mllvm.ll
    M lld/test/MachO/lto-cpu-string.ll
    M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Expression/IRMemoryMap.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Interpreter/CMakeLists.txt
    A lldb/source/Interpreter/Interfaces/CMakeLists.txt
    A lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/test/API/assert_messages_test/TestAssertMessages.py
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/docs/BitCodeFormat.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    A llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/MIRPrinter.h
    M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/IR/VectorBuilder.h
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/SandboxIR/Use.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/TargetParser/PPCTargetParser.def
    A llvm/include/llvm/TargetParser/PPCTargetParser.h
    R llvm/include/llvm/Transforms/Utils/DXILResource.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/ConstantFolding.cpp
    A llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MIRPrintingPass.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineModuleInfo.cpp
    M llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
    M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/CodeGen/WindowScheduler.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/VectorBuilder.cpp
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/M68k/GISel/M68kRegisterBankInfo.cpp
    M llvm/lib/Target/M68k/GISel/M68kRegisterBankInfo.h
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp
    M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
    M llvm/lib/Target/Mips/MipsRegisterBankInfo.h
    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/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
    M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.h
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/TargetParser/CMakeLists.txt
    M llvm/lib/TargetParser/Host.cpp
    A llvm/lib/TargetParser/PPCTargetParser.cpp
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    R llvm/lib/Transforms/Utils/DXILResource.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
    M llvm/test/Analysis/CostModel/X86/arith-overflow.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-ssat.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-usat.ll
    M llvm/test/Analysis/CostModel/X86/costmodel.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    R llvm/test/Assembler/x86mmx.ll
    M llvm/test/Bitcode/bcanalyzer-types.ll
    M llvm/test/Bitcode/compatibility-3.6.ll
    M llvm/test/Bitcode/compatibility-3.7.ll
    M llvm/test/Bitcode/compatibility-3.8.ll
    M llvm/test/Bitcode/compatibility-3.9.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
    M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    A llvm/test/CodeGen/AArch64/fcmp-fp128.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/neon-mov.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    A llvm/test/CodeGen/AArch64/trampoline.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/bitcast-vector-extract.ll
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
    M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.prim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    A llvm/test/CodeGen/AMDGPU/lrint.ll
    A llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/mem-builtins.ll
    A llvm/test/CodeGen/AMDGPU/si-fold-scalar-clamp.mir
    A llvm/test/CodeGen/ARM/block-order.mir
    R llvm/test/CodeGen/Generic/disable-debug-info-print.ll
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir
    A llvm/test/CodeGen/Hexagon/swp-ws-pragma-initiation-interval-fail.mir
    A llvm/test/CodeGen/Hexagon/swp-ws-stall-cycle.mir
    A llvm/test/CodeGen/Hexagon/swp-ws-zero-cost.mir
    M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
    A llvm/test/CodeGen/NVPTX/fence.ll
    A llvm/test/CodeGen/NVPTX/indirect_byval.ll
    A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll
    M llvm/test/CodeGen/NVPTX/store-undef.ll
    A llvm/test/CodeGen/PowerPC/save-reg-params.ll
    A llvm/test/CodeGen/PowerPC/subreg-coalescer.mir
    R llvm/test/CodeGen/RISCV/pr89833.ll
    R llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
    M llvm/test/CodeGen/RISCV/rvv/pr99782.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-out-arguments.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
    R llvm/test/CodeGen/RISCV/rvv/strided-load-store-intrinsics.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
    M llvm/test/CodeGen/WebAssembly/simd-arith.ll
    A llvm/test/CodeGen/WebAssembly/simd-asm-pred.ll
    M llvm/test/CodeGen/WebAssembly/vector-reduce.ll
    M llvm/test/CodeGen/X86/2008-09-05-sinttofp-2xi32.ll
    R llvm/test/CodeGen/X86/GlobalISel/phi.ll
    M llvm/test/CodeGen/X86/avx-vbroadcast.ll
    M llvm/test/CodeGen/X86/avx2-vbroadcast.ll
    M llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
    M llvm/test/CodeGen/X86/combine-pmadd.ll
    R llvm/test/CodeGen/X86/disable-debug-info-print-codeview.ll
    M llvm/test/CodeGen/X86/fast-isel-bc.ll
    M llvm/test/CodeGen/X86/frame-order.ll
    A llvm/test/CodeGen/X86/isel-phi.ll
    M llvm/test/CodeGen/X86/mmx-arg-passing-x86-64.ll
    M llvm/test/CodeGen/X86/mmx-arg-passing.ll
    M llvm/test/CodeGen/X86/mmx-arith.ll
    M llvm/test/CodeGen/X86/mmx-bitcast-fold.ll
    M llvm/test/CodeGen/X86/mmx-bitcast.ll
    M llvm/test/CodeGen/X86/mmx-cvt.ll
    M llvm/test/CodeGen/X86/mmx-fold-load.ll
    A llvm/test/CodeGen/X86/mmx-inlineasm.ll
    M llvm/test/CodeGen/X86/mmx-intrinsics.ll
    M llvm/test/CodeGen/X86/pr23246.ll
    M llvm/test/CodeGen/X86/pr29222.ll
    M llvm/test/CodeGen/X86/select-mmx.ll
    M llvm/test/CodeGen/X86/stack-folding-mmx.ll
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll
    A llvm/test/CodeGen/X86/subreg-fail.mir
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/var-permute-256.ll
    M llvm/test/CodeGen/X86/vec_extract-mmx.ll
    M llvm/test/CodeGen/X86/vec_insert-7.ll
    M llvm/test/CodeGen/X86/vec_insert-mmx.ll
    A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.test
    M llvm/test/DebugInfo/debuglineinfo-path.ll
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_arith.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_pack.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector_shift.ll
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll
    A llvm/test/MC/AArch64/align-fill-byte-zero.s
    M llvm/test/MC/AMDGPU/gfx1030_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    A llvm/test/MC/ARM/align-fill-byte-zero.s
    M llvm/test/MC/AsmParser/directive_align.s
    M llvm/test/MC/COFF/align-nops.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopk.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
    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_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
    M llvm/test/MC/ELF/align-nops.s
    M llvm/test/MC/MachO/x86_32-optimal_nop.s
    A llvm/test/MC/RISCV/align-fill-byte-zero.s
    M llvm/test/MC/WebAssembly/simd-encodings.s
    M llvm/test/MC/X86/apx/ctest-att.s
    M llvm/test/MC/X86/apx/ctest-intel.s
    M llvm/test/MC/X86/code16gcc-align.s
    M llvm/test/Other/new-pm-lto-defaults.ll
    A llvm/test/TableGen/RegBankFromRegClass.td
    M llvm/test/Transforms/CorrelatedValuePropagation/mul.ll
    A llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
    M llvm/test/Transforms/InstCombine/X86/x86-movmsk.ll
    M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
    A llvm/test/Transforms/InstCombine/pr100298.ll
    A llvm/test/Transforms/InstCombine/remquo.ll
    A llvm/test/Transforms/InstCombine/remquol-fp128.ll
    A llvm/test/Transforms/InstCombine/remquol-fp80.ll
    A llvm/test/Transforms/InstCombine/remquol-ppc-fp128.ll
    A llvm/test/Transforms/InstCombine/struct-assign-tbaa-2.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
    R llvm/test/Transforms/LoopUnroll/X86/mmx.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    A llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    A llvm/test/Transforms/PhaseOrdering/varargs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bad_types.ll
    A llvm/test/Transforms/SLPVectorizer/X86/pr98978.ll
    M llvm/test/Transforms/SROA/pr57796.ll
    R llvm/test/Transforms/SROA/tbaa-struct.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    A llvm/unittests/Analysis/DXILResourceTest.cpp
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
    M llvm/unittests/IR/ConstantRangeTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VPIntrinsicTest.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    R llvm/unittests/Transforms/Utils/DXILResourceTest.cpp
    M llvm/utils/TableGen/RegisterBankEmitter.cpp
    M llvm/utils/gn/secondary/bolt/lib/RuntimeLibs/BUILD.gn
    M llvm/utils/gn/secondary/bolt/lib/Utils/BUILD.gn
    M llvm/utils/gn/secondary/bolt/test/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Interpreter/BUILD.gn
    A llvm/utils/gn/secondary/lldb/source/Interpreter/Interfaces/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn
    M llvm/utils/mlgo-utils/mlgo/__init__.py
    M llvm/utils/release/bump-version.py
    M mlir/docs/Diagnostics.md
    M mlir/docs/Dialects/LLVM.md
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/Diagnostics.h
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/lib/AsmParser/AsmParserImpl.h
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/AsmParser/Parser.h
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
    M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    A mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir
    M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
    M mlir/test/Dialect/LLVMIR/types.mlir
    M mlir/test/Dialect/Linalg/detensorize_entry_block.mlir
    M mlir/test/Dialect/Linalg/detensorize_if.mlir
    M mlir/test/Dialect/Linalg/detensorize_while.mlir
    M mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
    M mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
    M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    A mlir/test/IR/diagnostic-handler-metadata.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_2d.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/llvmir-types.mlir
    M mlir/test/Transforms/canonicalize-block-merge.mlir
    M mlir/test/Transforms/canonicalize-dce.mlir
    M mlir/test/Transforms/make-isolated-from-above.mlir
    R mlir/test/Transforms/test-canonicalize-merge-large-blocks.mlir
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
    A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVVectorUnrolling.cpp
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/IR/CMakeLists.txt
    A mlir/test/lib/IR/TestDiagnosticsMetadata.cpp
    M mlir/test/mlir-tblgen/testdialect-attrdefs.mlir
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M offload/cmake/OpenMPTesting.cmake
    M offload/include/PluginManager.h
    M offload/src/PluginManager.cpp
    M offload/src/interface.cpp
    M offload/test/libc/assert.c
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/llvm-omp-device-info.c
    M offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-offload-device-info.cpp
    R offload/tools/deviceinfo/llvm-omp-device-info.cpp
    M openmp/runtime/src/kmp_tasking.cpp
    A openmp/runtime/test/tasking/issue-94260-1.cpp
    A openmp/runtime/test/tasking/issue-94260-2.c
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/c1cb80b80fab...9709df1deb60

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