[all-commits] [llvm/llvm-project] d5285f: [flang] Downgrade error message to a portability w...

Jorge Gorbe Moya via All-commits all-commits at lists.llvm.org
Fri Jul 19 13:59:29 PDT 2024


  Branch: refs/heads/users/shawbyoung/spr/main.bolt-match-functions-with-call-graph
  Home:   https://github.com/llvm/llvm-project
  Commit: d5285fef00f6c5a725a515118192dd117fc3c665
      https://github.com/llvm/llvm-project/commit/d5285fef00f6c5a725a515118192dd117fc3c665
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-deallocate.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-nullify.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/definable02.f90
    M flang/test/Semantics/final03.f90

  Log Message:
  -----------
  [flang] Downgrade error message to a portability warning (#98368)

f18 current emits an error when an assignment is made to an array
section with a vector subscript, and the array is finalized with a
non-elemental final subroutine. Some other compilers emit this error
because (I think) they want variables to only be finalized in place, not
by a subroutine call involving copy-in & copy-out of the finalized
elements.

Since many other Fortran compilers can handle this case, and there's
nothing in the standards to preclude it, let's downgrade this error
message to a portability warning.

This patch got complicated because the API for the WhyNotDefinable()
utility routine was such that it would return a message only in error
cases, and there was no provision for returning non-fatal messages. It
now returns either nothing, a fatal message, or a non-fatal warning
message, and all of its call sites have been modified to cope.


  Commit: d6f314ce870266a051a659d09938d8ceb34e36f1
      https://github.com/llvm/llvm-project/commit/d6f314ce870266a051a659d09938d8ceb34e36f1
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/ignore_tkr01.f90

  Log Message:
  -----------
  [flang] Accept IGNORE_TKR in separate module procedure interface (#98374)

We emit an incorrect error message when !DIR$ IGNORE_TKR appears in a
separate module procedure's interface declaration.

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


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

  Changed paths:
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
    M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp

  Log Message:
  -----------
  [libc] Update libc namespace clang-tidy checks (#98424)

This patch updates the clang-tidy checks for llvm-libc to ensure that
the namespace macro used to declare the libc namespace is updated from
LIBC_NAMESPACE to LIBC_NAMESPACE_DECL which by default has hidden
visibility.

Co-authored-by: Prabhu Rajesakeran <prabhukr at google.com>


  Commit: eb9a78bb542434258f4f06097a0a336a055847a3
      https://github.com/llvm/llvm-project/commit/eb9a78bb542434258f4f06097a0a336a055847a3
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Fix bad parse tree rewrite into a substring (#98407)

Data designators like "a(j:k)" are parsed into array section references,
but once rank and type information is in hand, some of them turn out to
actually be substring references. The code that recognizes these cases
was suffering from a "false positive" in the case of a construct entity
in a SELECT RANK construct due to the use of a predicate member function
(Symbol::IsObjectArray) that only works on ObjectEntityDetails symbols.
Fix the test to use the more general Symbol::Rank() member function.


  Commit: 6f04f46927cf54d19cc2a1470f47d5db4b3b96bb
      https://github.com/llvm/llvm-project/commit/6f04f46927cf54d19cc2a1470f47d5db4b3b96bb
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Headers/avx512fp16intrin.h

  Log Message:
  -----------
  [clang] [Headers] Don't use unreserved names in avx512fp16intrin.h (#98478)

This can cause breakage with user code that does "#define A ...".


  Commit: 657dbc3febb92d8e675b601d127b071c5ba61028
      https://github.com/llvm/llvm-project/commit/657dbc3febb92d8e675b601d127b071c5ba61028
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Reorder shuffle operands if one side is an identity (#98534)

Doing so allows one side to fold entirely into the mask applied to the
other recursive call (or a vmerge.vv at worst). This is a generalization
of the existing IsSelect case (both operands are selects), so I removed
that code in the process.

This actually started as an attempt to remove the IsSelect bit as I'd
thought it was fully redundant
with the recursive formulation, but digging into test deltas revealed
that we depended on that
to catch the majority of the identity cases, and that in turn we were
missing some cases where only RHS was an identity.


  Commit: c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
      https://github.com/llvm/llvm-project/commit/c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/safestack/CMakeLists.txt
    M compiler-rt/lib/safestack/safestack.cpp
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/test/safestack/lit.cfg.py

  Log Message:
  -----------
  Revert "[safestack] Various Solaris fixes" (#98541)

Reverts llvm/llvm-project#98469

We can't add this dependency

```
   OBJECT_LIBS RTSanitizerCommon
                RTSanitizerCommonLibc
```

safestack is security hardening, and RTSanitizerCommon is too fat for
that.


  Commit: 65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
      https://github.com/llvm/llvm-project/commit/65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/semantics.cpp
    A flang/test/Semantics/modfile65.f90

  Log Message:
  -----------
  [flang] Add -fhermetic-module-files (#98083)

Module files emitted by this Fortran compiler are valid Fortran source
files. Symbols that are USE-associated into modules are represented in
their module files with USE statements and special comments with hash
codes in them to ensure that those USE statements resolve to the same
modules that were used to build the module when its module file was
generated.

This scheme prevents unchecked module file growth in large applications
by not emitting USE-associated symbols redundantly. This problem can be
especially bad when derived type definitions must be repeated in the
module files of their clients, and the clients of those modules, and so
on. However, this scheme has the disadvantage that clients of modules
must be compiled with dependent modules in the module search path.

This new -fhermetic-module-files option causes module file output to be
free of dependences on any non-intrinsic module files; dependent modules
are instead emitted as part of the module file, rather than being
USE-associated. It is intended for top level library module files that
are shipped with binary libraries when it is not convenient to collect
and ship their dependent module files as well.

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


  Commit: 7a49d80f587eff76d29d1770b1e90e9e13bc5759
      https://github.com/llvm/llvm-project/commit/7a49d80f587eff76d29d1770b1e90e9e13bc5759
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll

  Log Message:
  -----------
  [VPlan] Skip users outside loop in check for exit pre-compute candidates

When collecting candidates to pre-compute cost for operands of exit
conditions, skip users outside the loop when checking if they are in
ExistInstrs. The users outside the loop should be ignored, as they won't
make a value live in the VPlan.

This fixes a failure when building for X86 with sanitizers on macOS
after b841e2eca3b5c
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-cmake-RgSan/287/)


  Commit: 8901c1c2801018ec3efa042a3acc8bada7b790e3
      https://github.com/llvm/llvm-project/commit/8901c1c2801018ec3efa042a3acc8bada7b790e3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix atexit not getting linked on linux (#98537)

Atexit needs to be linked into exit on linux since atexit defines
__cxa_finalize. This should probably be fixed a different way but this
works for now.


  Commit: 92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
      https://github.com/llvm/llvm-project/commit/92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/test/CodeGenHLSL/loops/unroll.hlsl
    A clang/test/SemaHLSL/Loops/unroll.hlsl

  Log Message:
  -----------
  [HLSL] add loop unroll (#93879)

spec: https://github.com/microsoft/hlsl-specs/pull/263

- `Attr.td` - Define the HLSL loop attribute hints (unroll and loop)
- `AttrDocs.td` - Add documentation for unroll and loop
- `CGLoopInfo.cpp` - Add codegen for HLSL unroll that maps to clang
unroll expectations
- `ParseStmt.cpp` - For statements if HLSL define DeclSpecAttrs via
MaybeParseMicrosoftAttributes
- `SemaStmtAttr.cpp` - Add the HLSL loop unroll handeling

resolves #70114

dxc examples: 
- for loop: https://hlsl.godbolt.org/z/8EK6Pa139
- while loop:  https://hlsl.godbolt.org/z/ebr5MvEcK
- do while: https://hlsl.godbolt.org/z/be8cedoTs 

Documentation:

![Screenshot_20240531_143000](https://github.com/llvm/llvm-project/assets/1802579/9da9df9b-68a6-49eb-9d4f-e080aa2eff7f)


  Commit: cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
      https://github.com/llvm/llvm-project/commit/cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/test/Lower/Intrinsics/atan_real16.f90

  Log Message:
  -----------
  [flang] Fix broken atan_real16 test (#98499)

The names in the `end function` were incorrect. Those have been removed.


  Commit: 6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
      https://github.com/llvm/llvm-project/commit/6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-macros.h

  Log Message:
  -----------
  [libc] Define `HUGE_VALF` in math.h (#98522)

This is analogous to `HUGE_VAL`.


  Commit: 53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
      https://github.com/llvm/llvm-project/commit/53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/src/__support/macros/config.h

  Log Message:
  -----------
  [libc] Disable hidden visibility for LIBC_NAMESPACE with GCC (#98549)

GCC emits a warning when using the visibility attribute which needs to
be diagnosed and addressed, but this change should unbreak the GCC build
as a temporary workaround.

The issue is tracked as #98548.


  Commit: 7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
      https://github.com/llvm/llvm-project/commit/7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/test/src/math/performance_testing/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add missing dependency on `src.__support.macros.config` (#98552)

We automatically inject this dependency into all object libraries that
use the libc CMake functions, but `libc_diff_test_utils` uses `add_library`
so we need to add this dependency manually.


  Commit: 6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
      https://github.com/llvm/llvm-project/commit/6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lld/test/ELF/basic-sparcv9.s
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/test/MC/ELF/osabi.s

  Log Message:
  -----------
  [MC] set OpenBSD's ELFOSABI by default (#98158) (#98553)

This matches what is done for FreeBSD.

OpenBSD has a few special program header types, and other such ELF
extensions. Setting the ELFOSABI like so will allow LLD to support them
without needlessly impacting non-OpenBSD ELFs.

Testing strategy matches 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd.

Take two of #98158 / b64c1de714c50bec7493530446ebf5e540d5f96a, which was
reverted in #98494 / c0261351136e4a826be697e5ebb5fa638abe7485.
Preexisting test is fixed now.


  Commit: 280d82e8ad7ee8c6600772ace5345b26f2da8bc0
      https://github.com/llvm/llvm-project/commit/280d82e8ad7ee8c6600772ace5345b26f2da8bc0
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lld/test/ELF/basic-sparcv9.s

  Log Message:
  -----------
  Small fix of `lld/test/ELF/basic-sparcv9.s` (#98555)

I made a mistake in https://github.com/llvm/llvm-project/pull/98553.
Sorry.


  Commit: 9c1861bd5de0174fded95ea76c46ad7c7175af8b
      https://github.com/llvm/llvm-project/commit/9c1861bd5de0174fded95ea76c46ad7c7175af8b
  Author: Pranav Kant <prka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][NFC] Remove unused includes (#98557)

Adding dep to TosaDialect increases binary size unnecessarily


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

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    M llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    M llvm/test/CodeGen/X86/exp10-libcall-names.ll

  Log Message:
  -----------
  [Darwin] Fix availability of exp10 for watchOS, tvOS, xROS. (#98542)

Update availability information added in 1eb7f055d9a. exp10 is available
on iOS >= 7.0 and macOS >= 10.9. On all other platforms, it is available
on any version. Also drop the x86 check, as the availability only
depends on the OS version, not the target platform.

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


  Commit: ac304d5ffdea7676582e987f75caeba33355a5dd
      https://github.com/llvm/llvm-project/commit/ac304d5ffdea7676582e987f75caeba33355a5dd
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M libc/newhdrgen/header.py
    M libc/newhdrgen/tests/expected_output/test_header.h
    M libc/newhdrgen/tests/input/test_small.yaml

  Log Message:
  -----------
  [libc] newheadergen: quick fixes to tests (#98561)

- if there is an object made there is a space after
- fixed tests.yaml -- spacing between characters issue


  Commit: ce4aada6e2135e29839f672a6599db628b53295d
      https://github.com/llvm/llvm-project/commit/ce4aada6e2135e29839f672a6599db628b53295d
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    A clang/test/CXX/temp/temp.names/p3-23.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/FixIt/fixit.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
    M clang/test/SemaCXX/pseudo-destructors.cpp
    M clang/test/SemaCXX/static-assert-cxx17.cpp
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M libcxx/include/regex
    M llvm/include/llvm/ADT/ArrayRef.h

  Log Message:
  -----------
  Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (#98547)

Reapplies #92957, fixing an instance where the `template` keyword was
missing prior to a dependent name in `llvm/ADT/ArrayRef.h`. An
_alias-declaration_ is used to work around a bug affecting GCC releases
before 11.1 (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799) which
rejects the use of the `template` keyword prior to the
_nested-name-specifier_ in the class member access.


  Commit: 1cafde234865cdcd37311dcd77d3ef9a3e12f177
      https://github.com/llvm/llvm-project/commit/1cafde234865cdcd37311dcd77d3ef9a3e12f177
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M clang/lib/Headers/cpuid.h
    A clang/test/Headers/__cpuidex_conflict.c
    M clang/test/Headers/cpuid.c

  Log Message:
  -----------
  [clang][X86] Add __cpuidex function to cpuid.h (#97785)

MSVC has a __cpuidex function implemented to call the underlying cpuid
instruction which accepts a leaf, subleaf, and data array that the
output data is written into. This patch adds this functionality into
clang under the cpuid.h header. This also makes clang match GCC's
behavior. GCC has had __cpuidex in its cpuid.h since 2020.

This is another attempt to land https://reviews.llvm.org/D158348.


  Commit: 9f8205d9d8ddccd5c821c2a654805434706a43c2
      https://github.com/llvm/llvm-project/commit/9f8205d9d8ddccd5c821c2a654805434706a43c2
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll

  Log Message:
  -----------
  [MemProf] Track and report profiled sizes through cloning (#98382)

If requested, via the -memprof-report-hinted-sizes option, track the
total profiled size of each MIB through the thin link, then report on
the corresponding allocation coldness after all cloning is complete.

To save size, a different bitcode record type is used for the allocation
info when the option is specified, and the sizes are kept separate from
the MIBs in the index.


  Commit: 46307f1a84bf832f32938c8ad2dc0605441a5319
      https://github.com/llvm/llvm-project/commit/46307f1a84bf832f32938c8ad2dc0605441a5319
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Manually port 90ccf21


  Commit: 6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
      https://github.com/llvm/llvm-project/commit/6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [ProfileData] Take ArrayRef<InstrProfValueData> in addValueData (NFC) (#97363)

This patch fixes another place in ProfileData where we have a pointer
to an array of InstrProfValueData and its length separately.

addValueData is a bit unique in that it remaps incoming values in
place before adding them to ValueSites.  AFAICT, no caller of
addValueData uses updated incoming values.  With this patch, we add
value data to ValueSites first and then remaps values there.  This
way, we can take ArrayRef<InstrProfValueData> as a parameter.


  Commit: 1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
      https://github.com/llvm/llvm-project/commit/1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py

  Log Message:
  -----------
  [lldb] [NFC] Update TestEarlyProcessLaunch to work on macOS 15

This test sets a breakpoint on malloc, as a way to stop early in
dyld's setting up code, before the system libraries are initialized
so we can confirm that we don't fetch the Objective-C class table
before it's initialized.

In macOS 15 (macOS Sonoma), dyld doesn't call malloc any longer,
so this heuristic/trick isn't working.  It does call other things
called *alloc though, so I'm changing this to use a regex breakpoint
on that, to keep the test working.


  Commit: 9b6504e98359f5d14fdaa353b2789e7e95239f96
      https://github.com/llvm/llvm-project/commit/9b6504e98359f5d14fdaa353b2789e7e95239f96
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Make sure to issue freemem for the allocated temp (#98078)

When implicit data transfer is created, make sure we generate the
`freemem` op on the `allocmem` result value and not the declare op
value.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with minnum/maxnum patterns, NFC.


  Commit: ce2b28055330b37e67ece18bd42d13beb537955d
      https://github.com/llvm/llvm-project/commit/ce2b28055330b37e67ece18bd42d13beb537955d
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  [BitcodeReader] Remove dead increment (#98412)

This was found by the Clang Static Analyzer.


  Commit: db3d3378ba751337c12147d11367006f23becc0c
      https://github.com/llvm/llvm-project/commit/db3d3378ba751337c12147d11367006f23becc0c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_linux.cpp

  Log Message:
  -----------
  [NFC][hwasan] Print after protecting gaps

PrintAddressSpaceLayout can accidentally
mmap into the gap.


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

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/riscv-tlsdesc.s

  Log Message:
  -----------
  [ELF,RISCV] Fix TLSDESC=>IE when there is no TLS section

See the comment in handleTlsRelocation. For TLSDESC=>IE (the TLS symbol
is defined in another DSO), R_RISCV_TLSDESC_{LOAD_LO12,ADD_LO12_I,CALL}
referencing a non-preemptible label uses the `R_RELAX_TLS_GD_TO_LE` code
path.

If there is no TLS section, `getTlsTpOffset` will be called with null
`Out::tlsPhdr`, leading to a null pointer dereference. Since the return
value is used by `RISCV::relocateAlloc` and ignored there, just return
0.

LoongArch TLSDESC doesn't use STT_NOTYPE labels. The `if (..) return 0;`
is a no-op for LoongArch.

This patch is a follow-up to #79239 and fixes some comments.

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


  Commit: 941f794e492bddf82b01dd4b0cb3475a67dc3b1f
      https://github.com/llvm/llvm-project/commit/941f794e492bddf82b01dd4b0cb3475a67dc3b1f
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll

  Log Message:
  -----------
  [AArch64][PAC] Reduce the size of synchronous CFI (#96377)

For synchronous unwind tables, the call frame information can be
slightly reduced by bundling the `.cfi_negate_ra_state` instruction with
other CFI instructions in the prolog, saving 1 byte per function used
for `DW_CFA_advance_loc`.

This was suggested in
[D156428](https://reviews.llvm.org/D156428#4554317).


  Commit: 1bafe77d773e6cb32243fabbef2c71b4516896fb
      https://github.com/llvm/llvm-project/commit/1bafe77d773e6cb32243fabbef2c71b4516896fb
  Author: Allen <zhongyunde at huawei.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/sdivpow2.ll

  Log Message:
  -----------
  [AArch64] Improve the codegen for sdiv 2 (#98324)

Same as X86, , if X's size is BitWidth, then X sdiv 2 can be
expressived as
```
  X += X >> (BitWidth - 1)
  X = X >> 1
```

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


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

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan.h
    A compiler-rt/lib/nsan/nsan_preinit.cpp
    M compiler-rt/lib/nsan/tests/CMakeLists.txt

  Log Message:
  -----------
  [nsan] Add nsan_preinit.cpp and make it static library only

#94322 defines .preinit_array to initialize nsan early.
DT_PREINIT_ARRAY can only be used with the main executable. GNU ld would
complain when a DSO has .preinit_array. Therefore,
nsan_preinit.cpp cannot be linked into `libclang_rt.nsan.so` (#98415).

Working with @alexander-shaposhnikov, we noticed that `Nsan-x86_64-Test
--gtest_output=json` without `.preinit_array` will sigsegv. This is
because googletest with the JSON output calls `localtime_r` , which
calls `free(0)` and fails when `REAL(free)` remains uninitialized
(nullptr). This is benign with the default output because malloc/free
are all paired and `REAL(free)(ptr)` is not called.

To fix the unittest failure, `__nsan_init` needs to be called early
(.preinit_array).
`asan/tests/CMakeLists.txt:ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS` ues
`-fsanitize=address` to ensure `asan_preinit.cpp.o` is linked into the
unittest executable. Port the approach and remove
`NSAN_TEST_RUNTIME_OBJECTS`.

Fix #98523

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


  Commit: 79bd6287a9075efd6ef18755d27c540e744a892c
      https://github.com/llvm/llvm-project/commit/79bd6287a9075efd6ef18755d27c540e744a892c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [NFC][msan] Mention sanitizer in error messages

And remove spaces around '-' printing ranges.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Fix coalesced vsetvli's AVL LiveInterval not always being shrunk (#98286)

Most of the time when we coalesce and delete a vsetvli, we shrink the
LiveInterval of its AVL register now that there is one less use. However
there's one edge case we were missing where if we have two vsetvlis with
no users of vl or vtype in between, we coalesced a vsetvli without
shrinking it's AVL.

This fixes it by shrinking the LiveInterval whenever we delete a
vsetvli, and also makes the LiveIntervals consistent in-situ by not
removing the use before shrinking.

This fixes a -verify-machineinstrs assertion in an MIR test case I found
while investigating
https://github.com/llvm/llvm-project/pull/97264#issuecomment-2218036877.
I couldn't recreate this at the LLVM IR level, seemingly because
RISCVInsertVSETVLI will just avoid inserting extra vsetvlis that don't
need coalesced.


  Commit: 6dd1f080e16e44cdda1ac72b24e563a3a274d094
      https://github.com/llvm/llvm-project/commit/6dd1f080e16e44cdda1ac72b24e563a3a274d094
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [NFC][msan] Use %p to print addresses


  Commit: f52a4679e683807d699e105a6139a5a91401667f
      https://github.com/llvm/llvm-project/commit/f52a4679e683807d699e105a6139a5a91401667f
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp

  Log Message:
  -----------
  [Clang] Ensure the method scope at the late parsing of noexcept specifiers (#98023)

Previously, we only pushed the function scope once we entered the
function definition, whereas tryCaptureVariable() requires at least one
function scope available when ParmVarDecls being captured have been
owned by a function. This led to problems parsing the noexcept
specifiers, as the DeclRefExprs inside them were improperly computed.

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


  Commit: 90abdf83e273586a43e1270e5f0a11de5cc35383
      https://github.com/llvm/llvm-project/commit/90abdf83e273586a43e1270e5f0a11de5cc35383
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [CUDA][HIP][NFC] add CodeGenModule::shouldEmitCUDAGlobalVar (#98543)

Extract the logic whether to emit a global var based on CUDA/HIP
host/device related attributes to CodeGenModule::shouldEmitCUDAGlobalVar
to be used by other places.


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

  Changed paths:
    M compiler-rt/lib/memprof/memprof_allocator.h

  Log Message:
  -----------
  [memprof] Switch allocator to dynamic base address (#98510)

memprof_rtl.cpp calls InitializeShadowMemory() - which
dynamically/"randomly" chooses a base address for the shadow mapping -
prior to InitializeAllocator(). If we are unlucky, the shadow memory may
be mapped in the same region where the allocator wants to be.

This patch fixes the issue by changing the allocator to dynamically
choosing a base address, as suggested by Vitaly. For comparison, HWASan
already dynamically chooses the base addresses for the shadow mapping
and allocator.

The "unlucky" failure was observed on a new buildbot:
https://lab.llvm.org/buildbot/#/builders/66/builds/1361/steps/17/logs/stdio

---------

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: 56b73f2a73b082c7b6a17cad37799fc218436be1
      https://github.com/llvm/llvm-project/commit/56b73f2a73b082c7b6a17cad37799fc218436be1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [msan] Fix compilation broken by invalid conflict resolution


  Commit: dcf6b7a8ea9a9be04dd66d20e4a7c55cd0f50a11
      https://github.com/llvm/llvm-project/commit/dcf6b7a8ea9a9be04dd66d20e4a7c55cd0f50a11
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in TCAS_Leave using tabs for indentation (#98427)

Fixes #92530.


  Commit: 4f1de83d537f62070cde85e09e88bc229316b3e1
      https://github.com/llvm/llvm-project/commit/4f1de83d537f62070cde85e09e88bc229316b3e1
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Clang][NFC][Coroutine] Do not leave dangling pointers after removing CoroBegin (#98546)


  Commit: 062844615db5e141da118c1ad780bf102537f40a
      https://github.com/llvm/llvm-project/commit/062844615db5e141da118c1ad780bf102537f40a
  Author: Garvit Gupta <quic_garvgupt at quicinc.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td

  Log Message:
  -----------
  [RISCV] Enable framework to resolve encoding conflicts among vendor-specific CSRs (#97287)

This PR is a follow-up of PR #96174 which added the framework to resolve
encoding conflicts among vendor specific CSRs. This PR explicitly
enables this only for the RISCV target.


  Commit: 9818ba29b91479e8f484455f36ca9f1b9a845bd1
      https://github.com/llvm/llvm-project/commit/9818ba29b91479e8f484455f36ca9f1b9a845bd1
  Author: Guillaume Belz <gbdivers.spam at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp

  Log Message:
  -----------
  fix assert in AArch64Arm64ECCallLowering.cpp (#98408)

The precedence of `==` operator is superior to `?:` operator. This line
is evaluated as:

```cpp
assert((ArgTranslations.size() == F->isVarArg()) ? 5 : PassthroughArgSize);
```
I guess this is not what is wanted. This causes a warning with gcc:
```
[131/602] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64Arm64ECCallLowering.cpp.o
In file included from /usr/include/c++/11/cassert:44,
                 from /home/linux/dev/llvm-project/llvm/include/llvm/Support/CommandLine.h:33,
                 from /home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp:31:
/home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp: In member function ‘llvm::Function* {anonymous}::AArch64Arm64ECCallLowering::buildEntryThunk(llvm::Function*)’:
/home/linux/dev/llvm-project/llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp:528:50: warning: ‘?:’ using integer constants in boolean context [-Wint-in-bool-context]
  528 |   assert(ArgTranslations.size() == F->isVarArg() ? 5 : PassthroughArgSize);
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
```
Add parenthesis to fix the problem.


  Commit: 076ae5821671aa7911b0eba6636e844381115237
      https://github.com/llvm/llvm-project/commit/076ae5821671aa7911b0eba6636e844381115237
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    R llvm/test/MC/AsmParser/altmacro-arg.s

  Log Message:
  -----------
  Revert "[MCParser] .altmacro: Support argument expansion not preceded by \"

This reverts commit f8b1ca4992a22b4b65282c09dd6f07a1a2839070.
It incorrectly replaces `t` in `blt` to `h`.

```
.altmacro
.macro gen t
  blt 2f
2:
.endm

gen h
```

Fix #98558


  Commit: 144dae207a3b1750ec94553248bf44c359b6d452
      https://github.com/llvm/llvm-project/commit/144dae207a3b1750ec94553248bf44c359b6d452
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c

  Log Message:
  -----------
  [hwasan] Report unavalible fixed shadow range (#98574)

Before the patch `fixed-shadow.c` test died with an obscure SEGV, 
because shadow was mapped over libc.so.

Note, FindDynamicShadowStart is expected to select in available region.


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

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

  Log Message:
  -----------
  [SandboxIR] Add setOperand() and RAUW,RUWIf,RUOW (#98410)

This patch adds the following member functions:
- User::setOperand()
- User::replaceUsesOfWith()
- Value::replaceAllUsesWith()
- Value::replaceUsesWithIf()


  Commit: 0d9d5f7ea282f938e39a9b319076ef84c45ee482
      https://github.com/llvm/llvm-project/commit/0d9d5f7ea282f938e39a9b319076ef84c45ee482
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineCSE.cpp
    A llvm/test/CodeGen/AMDGPU/copyprop_regsequence_with_undef.mir

  Log Message:
  -----------
  [CodeGen] Guard copy propagation in machine CSE against undefs (#97413)


  Commit: 8698160d1dedfb8bfa9dae094c14443c43b32a31
      https://github.com/llvm/llvm-project/commit/8698160d1dedfb8bfa9dae094c14443c43b32a31
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_rtl.cpp

  Log Message:
  -----------
  [NFC][memprof] Use %p to print addresses (#98577)


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

  Changed paths:
    A llvm/test/MC/AsmParser/altmacro-arg.s

  Log Message:
  -----------
  [MC,test] Improve .altmacro test


  Commit: ec50f5828f25ae8b494475c6e151d9849800da7c
      https://github.com/llvm/llvm-project/commit/ec50f5828f25ae8b494475c6e151d9849800da7c
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    A mlir/include/mlir/Support/CyclicReplacerCache.h
    M mlir/unittests/Support/CMakeLists.txt
    A mlir/unittests/Support/CyclicReplacerCacheTest.cpp

  Log Message:
  -----------
  [MLIR][Support] A cache for cyclical replacers/maps (#98202)

This is a support data structure that acts as a cache for replacer-like
functions that map values between two domains. The difference compared
to just using a map to cache in-out pairs is that this class is able to
handle replacer logic that is self-recursive (and thus may cause
infinite recursion in the naive case).

This class provides a hook for the user to perform cycle pruning when a
cycle is identified, and is able to perform context-sensitive caching so
that the replacement result for an input that is part of a pruned cycle
can be distinct from the replacement result for the same input when it
is not part of a cycle.

In addition, this class allows deferring cycle pruning until specific
inputs are repeated. This is useful for cases where not all elements in
a cycle can perform pruning. The user still must guarantee that at least
one element in any given cycle can perform pruning. Even if not, an
assertion will eventually be tripped instead of infinite recursion (the
run-time is linearly bounded by the maximum cycle length of its input).


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

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/altmacro-arg.s

  Log Message:
  -----------
  [MCParser] .altmacro: Support argument expansion not preceded by \

In the .altmacro mode, an argument can be expanded even if not preceded
by \. This behavior is not enabled for Darwin, which uses $
(`isIdentifierChar('$')` is true) for macro expansion.

This is f8b1ca4992a22b4b65282c09dd6f07a1a2839070 with a fix.


  Commit: 51b22f95b8083c764fe39fd95e43f04bfa4be2c1
      https://github.com/llvm/llvm-project/commit/51b22f95b8083c764fe39fd95e43f04bfa4be2c1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [LoopDist] Fix copy/paste mistake that said vectorize instead of distribute. NFC

Remove mention of sharing with new and old PM. The old PM code is gone.


  Commit: 10df988e486061178034b4f41ec574f68170b887
      https://github.com/llvm/llvm-project/commit/10df988e486061178034b4f41ec574f68170b887
  Author: Vedant Paranjape <vedant.paranjape at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    A llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
    A llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
    A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-arg-position-pr1259.ll
    A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
    A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
    A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-same-arg-twice-pr1259.ll

  Log Message:
  -----------
  [ArgPromotion] Handle pointer arguments of recursive calls (#78735)

Argument promotion doesn't handle recursive function calls to promote
arguments. This patch adds functionality to handle self recursive
function calls, i.e. whose SCC size is 1. Due to complexity of
ValueTracking in recursive calls with SCC size greater than 1, we bail
out in such cases.


  Commit: 870eee464b336cc42e3e1883e5402675be180eec
      https://github.com/llvm/llvm-project/commit/870eee464b336cc42e3e1883e5402675be180eec
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_descriptions.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/test/asan/TestCases/debug_mapping.cpp

  Log Message:
  -----------
  [NFC][asan] Use %p to print addresses (#98575)

Co-authored-by: vporpo <vporpodas at google.com>


  Commit: d384267ad0d5494832f7f53b888c3968b7e688a8
      https://github.com/llvm/llvm-project/commit/d384267ad0d5494832f7f53b888c3968b7e688a8
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [NFC] [Modules] Introduce 'DeclBase::isInNamedModule' interface

This patch introduces DeclBase::isInNamedModule API to ease the use
of modules slightly.


  Commit: c9df9565ea43930706f8a57418efc03b64988455
      https://github.com/llvm/llvm-project/commit/c9df9565ea43930706f8a57418efc03b64988455
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp

  Log Message:
  -----------
  [NFC][hwasan] Use %p to print addresses (#98576)


  Commit: a00754bb2a98ff0ba45fb0c34e55d1c14e24f9af
      https://github.com/llvm/llvm-project/commit/a00754bb2a98ff0ba45fb0c34e55d1c14e24f9af
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll

  Log Message:
  -----------
  [LV] Fix the cost of min/max reductions. (#98453)

This patch updates the function `getReductionPatternCost` to handle the
cost of min/max reductions by `TTI.getMinMaxReductionCost`.


  Commit: 9c9227686bb052eec60ab95a4bd99c629cce22f6
      https://github.com/llvm/llvm-project/commit/9c9227686bb052eec60ab95a4bd99c629cce22f6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

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

  Log Message:
  -----------
  [ArgumentPromotion] Fix -Wunused-but-set-variable after #78735


  Commit: e0d66c242462d63d99a5324f9799ae5f84f2d84f
      https://github.com/llvm/llvm-project/commit/e0d66c242462d63d99a5324f9799ae5f84f2d84f
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Modules/export-redecl-in-language-linkage.cppm

  Log Message:
  -----------
  [C++20] [Modules] Allow export redeclarations within language linkage

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

Currently, clang will reject the following code:

```
export module mod;
extern "C++" void func();
export extern "C++" {
    void func();
}
```

while both MSVC and GCC accept it. Although clang's behavior matches the
current wording, from the discussion, the consensus is that we should
accept the above example from the intention. Since the intention to not
allow export redeclaration which is not exported is to make the linkage
clear. But it doesn't matter with the declarations within global module.


  Commit: ee42234b6f7b61598a074db761c95acc5c6d2c1f
      https://github.com/llvm/llvm-project/commit/ee42234b6f7b61598a074db761c95acc5c6d2c1f
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Support/CyclicReplacerCache.h

  Log Message:
  -----------
  [mlir] Remove unused includes in CyclicReplacerCache.h, NFC


  Commit: c9680bcdc537eeaf09b886107804460905188cd9
      https://github.com/llvm/llvm-project/commit/c9680bcdc537eeaf09b886107804460905188cd9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp

  Log Message:
  -----------
  [compiler-rt] Fix a warning

This patch fixes:

  compiler-rt/lib/hwasan/hwasan_report.cpp:331:57: error: format
  specifies type 'void *' but the argument has type 'const uptr *'
  (aka 'const unsigned long *') [-Werror,-Wformat-pedantic]


  Commit: d5c89cc81148eedfdb5cf0086da6230ff936e389
      https://github.com/llvm/llvm-project/commit/d5c89cc81148eedfdb5cf0086da6230ff936e389
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [DeadStoreElimination] Refactor out `pushMemUses`, drop dead check (NFC)


  Commit: d601ca3cb6a277a7750b74f51c959bbfba8c5756
      https://github.com/llvm/llvm-project/commit/d601ca3cb6a277a7750b74f51c959bbfba8c5756
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Support/CyclicReplacerCache.h
    M mlir/unittests/Support/CyclicReplacerCacheTest.cpp

  Log Message:
  -----------
  Fix the broken build for ee42234b6f7b61598a074db761c95acc5c6d2c1f


  Commit: cbc96b9ef9260e4ebc61e376e97b5b8cb1299c2b
      https://github.com/llvm/llvm-project/commit/cbc96b9ef9260e4ebc61e376e97b5b8cb1299c2b
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll

  Log Message:
  -----------
  Reapply "[LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy" (#98482)

Reverts llvm/llvm-project#98295, which reverted llvm/llvm-project#97998

The failure in the "InOneWeekend" test of the HIP test suite on
clang-hip-vega20
(https://lab.llvm.org/buildbot/#/builders/123/builds/1498) seems to be
unrelated; I observed it (and a similar failure for the "TheNextWeek"
test in the same suite) intermittently on my system, with and without
the patch applied. (It occurred in 2 out of 50 repeated runs without the
patch and in 1 out of 50 runs with the patch.)


  Commit: db27905a0b630bc574f44c5b1f0d054c9c573239
      https://github.com/llvm/llvm-project/commit/db27905a0b630bc574f44c5b1f0d054c9c573239
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Remove trailing spaces in AMDGPUUsage.rst


  Commit: ef8819e2567e81d8583756187ab5dcf06911fa69
      https://github.com/llvm/llvm-project/commit/ef8819e2567e81d8583756187ab5dcf06911fa69
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/transform-op-tile.mlir

  Log Message:
  -----------
  [mlir] Extend `tile_using_for` verifier to fix a crash (#98366)

This patch adds a check for the correct number of `loops` results of the
`transform.structured.tile_using_for` Op to the verifier, fixing a
crash.

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


  Commit: 37d3f44a58d0a2a2e8782266acd66a6733984842
      https://github.com/llvm/llvm-project/commit/37d3f44a58d0a2a2e8782266acd66a6733984842
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Utils/CloneModule.cpp

  Log Message:
  -----------
  [Transforms] Use range-based for loops (NFC) (#98465)


  Commit: ce9035f5bd3aa09cbd899489cdbc7f6c18acf1e3
      https://github.com/llvm/llvm-project/commit/ce9035f5bd3aa09cbd899489cdbc7f6c18acf1e3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/benchmarks/LibcDefaultImplementations.cpp
    M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
    M libc/benchmarks/automemcpy/lib/CodeGen.cpp
    M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.h
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/timing/amdgpu/timing.h
    M libc/benchmarks/gpu/timing/nvptx/timing.h
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/linux/app.h
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/CPP/array.h
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/bitset.h
    M libc/src/__support/CPP/cstddef.h
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/CPP/functional.h
    M libc/src/__support/CPP/iterator.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/mutex.h
    M libc/src/__support/CPP/new.h
    M libc/src/__support/CPP/optional.h
    M libc/src/__support/CPP/span.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/CPP/stringstream.h
    M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/aligned_storage.h
    M libc/src/__support/CPP/type_traits/always_false.h
    M libc/src/__support/CPP/type_traits/bool_constant.h
    M libc/src/__support/CPP/type_traits/conditional.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/enable_if.h
    M libc/src/__support/CPP/type_traits/false_type.h
    M libc/src/__support/CPP/type_traits/integral_constant.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/type_traits/invoke_result.h
    M libc/src/__support/CPP/type_traits/is_arithmetic.h
    M libc/src/__support/CPP/type_traits/is_array.h
    M libc/src/__support/CPP/type_traits/is_base_of.h
    M libc/src/__support/CPP/type_traits/is_class.h
    M libc/src/__support/CPP/type_traits/is_const.h
    M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/__support/CPP/type_traits/is_convertible.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_enum.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_integral.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_member_pointer.h
    M libc/src/__support/CPP/type_traits/is_null_pointer.h
    M libc/src/__support/CPP/type_traits/is_object.h
    M libc/src/__support/CPP/type_traits/is_pointer.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_same.h
    M libc/src/__support/CPP/type_traits/is_scalar.h
    M libc/src/__support/CPP/type_traits/is_signed.h
    M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/is_union.h
    M libc/src/__support/CPP/type_traits/is_unsigned.h
    M libc/src/__support/CPP/type_traits/is_void.h
    M libc/src/__support/CPP/type_traits/make_signed.h
    M libc/src/__support/CPP/type_traits/make_unsigned.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/CPP/type_traits/remove_cv.h
    M libc/src/__support/CPP/type_traits/remove_cvref.h
    M libc/src/__support/CPP/type_traits/remove_extent.h
    M libc/src/__support/CPP/type_traits/remove_reference.h
    M libc/src/__support/CPP/type_traits/true_type.h
    M libc/src/__support/CPP/type_traits/type_identity.h
    M libc/src/__support/CPP/type_traits/void_t.h
    M libc/src/__support/CPP/utility/declval.h
    M libc/src/__support/CPP/utility/forward.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/integer_sequence.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/PolyEval.h
    M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/aarch64/nearest_integer.h
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    M libc/src/__support/FPUtil/arm/FEnvImpl.h
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/fpbits_str.h
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/README.md
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/div.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/FPUtil/nearest_integer.h
    M libc/src/__support/FPUtil/riscv/FEnvImpl.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/rounding_mode.h
    M libc/src/__support/FPUtil/triple_double.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/__support/FPUtil/x86_64/nearest_integer.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/File/dir.cpp
    M libc/src/__support/File/dir.h
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/dir.cpp
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/File/linux/stderr.cpp
    M libc/src/__support/File/linux/stdin.cpp
    M libc/src/__support/File/linux/stdout.cpp
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/GPU/allocator.h
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/HashTable/randomness.h
    M libc/src/__support/HashTable/sse2/bitmask_impl.inc
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/OSUtil/baremetal/exit.cpp
    M libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/__support/OSUtil/darwin/arm/syscall.h
    M libc/src/__support/OSUtil/darwin/io.h
    M libc/src/__support/OSUtil/darwin/syscall.h
    M libc/src/__support/OSUtil/exit.h
    M libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/__support/OSUtil/gpu/io.h
    M libc/src/__support/OSUtil/linux/aarch64/syscall.h
    M libc/src/__support/OSUtil/linux/arm/syscall.h
    M libc/src/__support/OSUtil/linux/exit.cpp
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/__support/OSUtil/linux/io.h
    M libc/src/__support/OSUtil/linux/riscv/syscall.h
    M libc/src/__support/OSUtil/linux/syscall.h
    M libc/src/__support/OSUtil/linux/x86_64/syscall.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_client.cpp
    M libc/src/__support/RPC/rpc_client.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/StringUtil/error_to_string.cpp
    M libc/src/__support/StringUtil/error_to_string.h
    M libc/src/__support/StringUtil/message_mapper.h
    M libc/src/__support/StringUtil/signal_to_string.cpp
    M libc/src/__support/StringUtil/signal_to_string.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_extension_signals.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_signals.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/posix_signals.h
    M libc/src/__support/StringUtil/tables/signal_table.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/__support/StringUtil/tables/stdc_signals.h
    M libc/src/__support/arg_list.h
    M libc/src/__support/big_int.h
    M libc/src/__support/block.h
    M libc/src/__support/blockstore.h
    M libc/src/__support/c_string.h
    M libc/src/__support/char_vector.h
    M libc/src/__support/common.h
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/detailed_powers_of_ten.h
    M libc/src/__support/endian.h
    M libc/src/__support/error_or.h
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/freelist.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/hash.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_operations.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/intrusive_list.h
    M libc/src/__support/libc_assert.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/number_pair.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/str_to_num_result.h
    M libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/callonce.h
    M libc/src/__support/threads/fork_callbacks.cpp
    M libc/src/__support/threads/fork_callbacks.h
    M libc/src/__support/threads/gpu/mutex.h
    M libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/__support/threads/linux/callonce.cpp
    M libc/src/__support/threads/linux/callonce.h
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/threads/linux/futex_word.h
    M libc/src/__support/threads/linux/mutex.h
    M libc/src/__support/threads/linux/raw_mutex.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/mutex_common.h
    M libc/src/__support/threads/sleep.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread.h
    M libc/src/__support/time/linux/abs_timeout.h
    M libc/src/__support/time/linux/clock_conversion.h
    M libc/src/__support/time/linux/clock_gettime.h
    M libc/src/__support/time/linux/monotonicity.h
    M libc/src/__support/time/units.h
    M libc/src/__support/wctype_utils.h
    M libc/src/assert/__assert_fail.h
    M libc/src/assert/generic/__assert_fail.cpp
    M libc/src/assert/gpu/__assert_fail.cpp
    M libc/src/ctype/isalnum.cpp
    M libc/src/ctype/isalnum.h
    M libc/src/ctype/isalpha.cpp
    M libc/src/ctype/isalpha.h
    M libc/src/ctype/isascii.cpp
    M libc/src/ctype/isascii.h
    M libc/src/ctype/isblank.cpp
    M libc/src/ctype/isblank.h
    M libc/src/ctype/iscntrl.cpp
    M libc/src/ctype/iscntrl.h
    M libc/src/ctype/isdigit.cpp
    M libc/src/ctype/isdigit.h
    M libc/src/ctype/isgraph.cpp
    M libc/src/ctype/isgraph.h
    M libc/src/ctype/islower.cpp
    M libc/src/ctype/islower.h
    M libc/src/ctype/isprint.cpp
    M libc/src/ctype/isprint.h
    M libc/src/ctype/ispunct.cpp
    M libc/src/ctype/ispunct.h
    M libc/src/ctype/isspace.cpp
    M libc/src/ctype/isspace.h
    M libc/src/ctype/isupper.cpp
    M libc/src/ctype/isupper.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit.h
    M libc/src/ctype/toascii.cpp
    M libc/src/ctype/toascii.h
    M libc/src/ctype/tolower.cpp
    M libc/src/ctype/tolower.h
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper.h
    M libc/src/dirent/closedir.cpp
    M libc/src/dirent/closedir.h
    M libc/src/dirent/dirfd.cpp
    M libc/src/dirent/dirfd.h
    M libc/src/dirent/opendir.cpp
    M libc/src/dirent/opendir.h
    M libc/src/dirent/readdir.cpp
    M libc/src/dirent/readdir.h
    M libc/src/dlfcn/dlclose.cpp
    M libc/src/dlfcn/dlclose.h
    M libc/src/dlfcn/dlerror.cpp
    M libc/src/dlfcn/dlerror.h
    M libc/src/dlfcn/dlopen.cpp
    M libc/src/dlfcn/dlopen.h
    M libc/src/dlfcn/dlsym.cpp
    M libc/src/dlfcn/dlsym.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h
    M libc/src/fcntl/creat.h
    M libc/src/fcntl/fcntl.h
    M libc/src/fcntl/linux/creat.cpp
    M libc/src/fcntl/linux/fcntl.cpp
    M libc/src/fcntl/linux/open.cpp
    M libc/src/fcntl/linux/openat.cpp
    M libc/src/fcntl/open.h
    M libc/src/fcntl/openat.h
    M libc/src/fenv/feclearexcept.cpp
    M libc/src/fenv/feclearexcept.h
    M libc/src/fenv/fedisableexcept.cpp
    M libc/src/fenv/fedisableexcept.h
    M libc/src/fenv/feenableexcept.cpp
    M libc/src/fenv/feenableexcept.h
    M libc/src/fenv/fegetenv.cpp
    M libc/src/fenv/fegetenv.h
    M libc/src/fenv/fegetexcept.cpp
    M libc/src/fenv/fegetexcept.h
    M libc/src/fenv/fegetexceptflag.cpp
    M libc/src/fenv/fegetexceptflag.h
    M libc/src/fenv/fegetround.cpp
    M libc/src/fenv/fegetround.h
    M libc/src/fenv/feholdexcept.cpp
    M libc/src/fenv/feholdexcept.h
    M libc/src/fenv/feraiseexcept.cpp
    M libc/src/fenv/feraiseexcept.h
    M libc/src/fenv/fesetenv.cpp
    M libc/src/fenv/fesetenv.h
    M libc/src/fenv/fesetexcept.cpp
    M libc/src/fenv/fesetexcept.h
    M libc/src/fenv/fesetexceptflag.cpp
    M libc/src/fenv/fesetexceptflag.h
    M libc/src/fenv/fesetround.cpp
    M libc/src/fenv/fesetround.h
    M libc/src/fenv/fetestexcept.cpp
    M libc/src/fenv/fetestexcept.h
    M libc/src/fenv/fetestexceptflag.cpp
    M libc/src/fenv/fetestexceptflag.h
    M libc/src/fenv/feupdateenv.cpp
    M libc/src/fenv/feupdateenv.h
    M libc/src/gpu/rpc_fprintf.cpp
    M libc/src/gpu/rpc_fprintf.h
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/gpu/rpc_host_call.h
    M libc/src/inttypes/imaxabs.cpp
    M libc/src/inttypes/imaxabs.h
    M libc/src/inttypes/imaxdiv.cpp
    M libc/src/inttypes/imaxdiv.h
    M libc/src/inttypes/strtoimax.cpp
    M libc/src/inttypes/strtoimax.h
    M libc/src/inttypes/strtoumax.cpp
    M libc/src/inttypes/strtoumax.h
    M libc/src/math/aarch64/ceil.cpp
    M libc/src/math/aarch64/ceilf.cpp
    M libc/src/math/aarch64/floor.cpp
    M libc/src/math/aarch64/floorf.cpp
    M libc/src/math/aarch64/round.cpp
    M libc/src/math/aarch64/roundf.cpp
    M libc/src/math/aarch64/trunc.cpp
    M libc/src/math/aarch64/truncf.cpp
    M libc/src/math/acos.h
    M libc/src/math/acosf.h
    M libc/src/math/acosh.h
    M libc/src/math/acoshf.h
    M libc/src/math/amdgpu/acos.cpp
    M libc/src/math/amdgpu/acosf.cpp
    M libc/src/math/amdgpu/acosh.cpp
    M libc/src/math/amdgpu/acoshf.cpp
    M libc/src/math/amdgpu/asin.cpp
    M libc/src/math/amdgpu/asinf.cpp
    M libc/src/math/amdgpu/asinh.cpp
    M libc/src/math/amdgpu/asinhf.cpp
    M libc/src/math/amdgpu/atan.cpp
    M libc/src/math/amdgpu/atan2.cpp
    M libc/src/math/amdgpu/atan2f.cpp
    M libc/src/math/amdgpu/atanf.cpp
    M libc/src/math/amdgpu/atanh.cpp
    M libc/src/math/amdgpu/atanhf.cpp
    M libc/src/math/amdgpu/ceil.cpp
    M libc/src/math/amdgpu/ceilf.cpp
    M libc/src/math/amdgpu/copysign.cpp
    M libc/src/math/amdgpu/copysignf.cpp
    M libc/src/math/amdgpu/cos.cpp
    M libc/src/math/amdgpu/cosf.cpp
    M libc/src/math/amdgpu/cosh.cpp
    M libc/src/math/amdgpu/coshf.cpp
    M libc/src/math/amdgpu/declarations.h
    M libc/src/math/amdgpu/erf.cpp
    M libc/src/math/amdgpu/erff.cpp
    M libc/src/math/amdgpu/exp.cpp
    M libc/src/math/amdgpu/exp10.cpp
    M libc/src/math/amdgpu/exp10f.cpp
    M libc/src/math/amdgpu/exp2.cpp
    M libc/src/math/amdgpu/exp2f.cpp
    M libc/src/math/amdgpu/expf.cpp
    M libc/src/math/amdgpu/expm1.cpp
    M libc/src/math/amdgpu/expm1f.cpp
    M libc/src/math/amdgpu/fabs.cpp
    M libc/src/math/amdgpu/fabsf.cpp
    M libc/src/math/amdgpu/fdim.cpp
    M libc/src/math/amdgpu/fdimf.cpp
    M libc/src/math/amdgpu/floor.cpp
    M libc/src/math/amdgpu/floorf.cpp
    M libc/src/math/amdgpu/fma.cpp
    M libc/src/math/amdgpu/fmaf.cpp
    M libc/src/math/amdgpu/fmax.cpp
    M libc/src/math/amdgpu/fmaxf.cpp
    M libc/src/math/amdgpu/fmin.cpp
    M libc/src/math/amdgpu/fminf.cpp
    M libc/src/math/amdgpu/fmod.cpp
    M libc/src/math/amdgpu/fmodf.cpp
    M libc/src/math/amdgpu/frexp.cpp
    M libc/src/math/amdgpu/frexpf.cpp
    M libc/src/math/amdgpu/hypot.cpp
    M libc/src/math/amdgpu/hypotf.cpp
    M libc/src/math/amdgpu/ilogb.cpp
    M libc/src/math/amdgpu/ilogbf.cpp
    M libc/src/math/amdgpu/ldexp.cpp
    M libc/src/math/amdgpu/ldexpf.cpp
    M libc/src/math/amdgpu/llrint.cpp
    M libc/src/math/amdgpu/llrintf.cpp
    M libc/src/math/amdgpu/log.cpp
    M libc/src/math/amdgpu/log10.cpp
    M libc/src/math/amdgpu/log10f.cpp
    M libc/src/math/amdgpu/log1p.cpp
    M libc/src/math/amdgpu/log1pf.cpp
    M libc/src/math/amdgpu/log2.cpp
    M libc/src/math/amdgpu/log2f.cpp
    M libc/src/math/amdgpu/logb.cpp
    M libc/src/math/amdgpu/logbf.cpp
    M libc/src/math/amdgpu/logf.cpp
    M libc/src/math/amdgpu/lrint.cpp
    M libc/src/math/amdgpu/lrintf.cpp
    M libc/src/math/amdgpu/nearbyint.cpp
    M libc/src/math/amdgpu/nearbyintf.cpp
    M libc/src/math/amdgpu/nextafter.cpp
    M libc/src/math/amdgpu/nextafterf.cpp
    M libc/src/math/amdgpu/platform.h
    M libc/src/math/amdgpu/pow.cpp
    M libc/src/math/amdgpu/powf.cpp
    M libc/src/math/amdgpu/powi.cpp
    M libc/src/math/amdgpu/powif.cpp
    M libc/src/math/amdgpu/remainder.cpp
    M libc/src/math/amdgpu/remainderf.cpp
    M libc/src/math/amdgpu/remquo.cpp
    M libc/src/math/amdgpu/remquof.cpp
    M libc/src/math/amdgpu/rint.cpp
    M libc/src/math/amdgpu/rintf.cpp
    M libc/src/math/amdgpu/round.cpp
    M libc/src/math/amdgpu/roundf.cpp
    M libc/src/math/amdgpu/scalbn.cpp
    M libc/src/math/amdgpu/scalbnf.cpp
    M libc/src/math/amdgpu/sin.cpp
    M libc/src/math/amdgpu/sincos.cpp
    M libc/src/math/amdgpu/sincosf.cpp
    M libc/src/math/amdgpu/sinf.cpp
    M libc/src/math/amdgpu/sinh.cpp
    M libc/src/math/amdgpu/sinhf.cpp
    M libc/src/math/amdgpu/sqrt.cpp
    M libc/src/math/amdgpu/sqrtf.cpp
    M libc/src/math/amdgpu/tan.cpp
    M libc/src/math/amdgpu/tanf.cpp
    M libc/src/math/amdgpu/tanh.cpp
    M libc/src/math/amdgpu/tanhf.cpp
    M libc/src/math/amdgpu/tgamma.cpp
    M libc/src/math/amdgpu/tgammaf.cpp
    M libc/src/math/amdgpu/trunc.cpp
    M libc/src/math/amdgpu/truncf.cpp
    M libc/src/math/asin.h
    M libc/src/math/asinf.h
    M libc/src/math/asinh.h
    M libc/src/math/asinhf.h
    M libc/src/math/atan.h
    M libc/src/math/atan2.h
    M libc/src/math/atan2f.h
    M libc/src/math/atanf.h
    M libc/src/math/atanh.h
    M libc/src/math/atanhf.h
    M libc/src/math/canonicalize.h
    M libc/src/math/canonicalizef.h
    M libc/src/math/canonicalizef128.h
    M libc/src/math/canonicalizef16.h
    M libc/src/math/canonicalizel.h
    M libc/src/math/cbrtf.h
    M libc/src/math/ceil.h
    M libc/src/math/ceilf.h
    M libc/src/math/ceilf128.h
    M libc/src/math/ceilf16.h
    M libc/src/math/ceill.h
    M libc/src/math/copysign.h
    M libc/src/math/copysignf.h
    M libc/src/math/copysignf128.h
    M libc/src/math/copysignf16.h
    M libc/src/math/copysignl.h
    M libc/src/math/cos.h
    M libc/src/math/cosf.h
    M libc/src/math/cosh.h
    M libc/src/math/coshf.h
    M libc/src/math/cospif.h
    M libc/src/math/erf.h
    M libc/src/math/erff.h
    M libc/src/math/exp.h
    M libc/src/math/exp10.h
    M libc/src/math/exp10f.h
    M libc/src/math/exp2.h
    M libc/src/math/exp2f.h
    M libc/src/math/exp2m1f.h
    M libc/src/math/expf.h
    M libc/src/math/expm1.h
    M libc/src/math/expm1f.h
    M libc/src/math/f16add.h
    M libc/src/math/f16addf.h
    M libc/src/math/f16addf128.h
    M libc/src/math/f16addl.h
    M libc/src/math/f16div.h
    M libc/src/math/f16divf.h
    M libc/src/math/f16divf128.h
    M libc/src/math/f16divl.h
    M libc/src/math/f16fma.h
    M libc/src/math/f16fmaf.h
    M libc/src/math/f16fmaf128.h
    M libc/src/math/f16fmal.h
    M libc/src/math/f16sqrt.h
    M libc/src/math/f16sqrtf.h
    M libc/src/math/f16sqrtf128.h
    M libc/src/math/f16sqrtl.h
    M libc/src/math/f16sub.h
    M libc/src/math/f16subf.h
    M libc/src/math/f16subf128.h
    M libc/src/math/f16subl.h
    M libc/src/math/fabs.h
    M libc/src/math/fabsf.h
    M libc/src/math/fabsf128.h
    M libc/src/math/fabsf16.h
    M libc/src/math/fabsl.h
    M libc/src/math/fdim.h
    M libc/src/math/fdimf.h
    M libc/src/math/fdimf128.h
    M libc/src/math/fdimf16.h
    M libc/src/math/fdiml.h
    M libc/src/math/floor.h
    M libc/src/math/floorf.h
    M libc/src/math/floorf128.h
    M libc/src/math/floorf16.h
    M libc/src/math/floorl.h
    M libc/src/math/fma.h
    M libc/src/math/fmaf.h
    M libc/src/math/fmax.h
    M libc/src/math/fmaxf.h
    M libc/src/math/fmaxf128.h
    M libc/src/math/fmaxf16.h
    M libc/src/math/fmaximum.h
    M libc/src/math/fmaximum_mag.h
    M libc/src/math/fmaximum_mag_num.h
    M libc/src/math/fmaximum_mag_numf.h
    M libc/src/math/fmaximum_mag_numf128.h
    M libc/src/math/fmaximum_mag_numf16.h
    M libc/src/math/fmaximum_mag_numl.h
    M libc/src/math/fmaximum_magf.h
    M libc/src/math/fmaximum_magf128.h
    M libc/src/math/fmaximum_magf16.h
    M libc/src/math/fmaximum_magl.h
    M libc/src/math/fmaximum_num.h
    M libc/src/math/fmaximum_numf.h
    M libc/src/math/fmaximum_numf128.h
    M libc/src/math/fmaximum_numf16.h
    M libc/src/math/fmaximum_numl.h
    M libc/src/math/fmaximumf.h
    M libc/src/math/fmaximumf128.h
    M libc/src/math/fmaximumf16.h
    M libc/src/math/fmaximuml.h
    M libc/src/math/fmaxl.h
    M libc/src/math/fmin.h
    M libc/src/math/fminf.h
    M libc/src/math/fminf128.h
    M libc/src/math/fminf16.h
    M libc/src/math/fminimum.h
    M libc/src/math/fminimum_mag.h
    M libc/src/math/fminimum_mag_num.h
    M libc/src/math/fminimum_mag_numf.h
    M libc/src/math/fminimum_mag_numf128.h
    M libc/src/math/fminimum_mag_numf16.h
    M libc/src/math/fminimum_mag_numl.h
    M libc/src/math/fminimum_magf.h
    M libc/src/math/fminimum_magf128.h
    M libc/src/math/fminimum_magf16.h
    M libc/src/math/fminimum_magl.h
    M libc/src/math/fminimum_num.h
    M libc/src/math/fminimum_numf.h
    M libc/src/math/fminimum_numf128.h
    M libc/src/math/fminimum_numf16.h
    M libc/src/math/fminimum_numl.h
    M libc/src/math/fminimumf.h
    M libc/src/math/fminimumf128.h
    M libc/src/math/fminimumf16.h
    M libc/src/math/fminimuml.h
    M libc/src/math/fminl.h
    M libc/src/math/fmod.h
    M libc/src/math/fmodf.h
    M libc/src/math/fmodf128.h
    M libc/src/math/fmodf16.h
    M libc/src/math/fmodl.h
    M libc/src/math/fmul.h
    M libc/src/math/frexp.h
    M libc/src/math/frexpf.h
    M libc/src/math/frexpf128.h
    M libc/src/math/frexpf16.h
    M libc/src/math/frexpl.h
    M libc/src/math/fromfp.h
    M libc/src/math/fromfpf.h
    M libc/src/math/fromfpf128.h
    M libc/src/math/fromfpf16.h
    M libc/src/math/fromfpl.h
    M libc/src/math/fromfpx.h
    M libc/src/math/fromfpxf.h
    M libc/src/math/fromfpxf128.h
    M libc/src/math/fromfpxf16.h
    M libc/src/math/fromfpxl.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/canonicalize.cpp
    M libc/src/math/generic/canonicalizef.cpp
    M libc/src/math/generic/canonicalizef128.cpp
    M libc/src/math/generic/canonicalizef16.cpp
    M libc/src/math/generic/canonicalizel.cpp
    M libc/src/math/generic/cbrtf.cpp
    M libc/src/math/generic/ceil.cpp
    M libc/src/math/generic/ceilf.cpp
    M libc/src/math/generic/ceilf128.cpp
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/ceill.cpp
    M libc/src/math/generic/common_constants.cpp
    M libc/src/math/generic/common_constants.h
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp10f.cpp
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/exp2m1f.cpp
    M libc/src/math/generic/exp_utils.cpp
    M libc/src/math/generic/exp_utils.h
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/explogxf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/f16add.cpp
    M libc/src/math/generic/f16addf.cpp
    M libc/src/math/generic/f16addf128.cpp
    M libc/src/math/generic/f16addl.cpp
    M libc/src/math/generic/f16div.cpp
    M libc/src/math/generic/f16divf.cpp
    M libc/src/math/generic/f16divf128.cpp
    M libc/src/math/generic/f16divl.cpp
    M libc/src/math/generic/f16fma.cpp
    M libc/src/math/generic/f16fmaf.cpp
    M libc/src/math/generic/f16fmaf128.cpp
    M libc/src/math/generic/f16fmal.cpp
    M libc/src/math/generic/f16sqrt.cpp
    M libc/src/math/generic/f16sqrtf.cpp
    M libc/src/math/generic/f16sqrtf128.cpp
    M libc/src/math/generic/f16sqrtl.cpp
    M libc/src/math/generic/f16sub.cpp
    M libc/src/math/generic/f16subf.cpp
    M libc/src/math/generic/f16subf128.cpp
    M libc/src/math/generic/f16subl.cpp
    M libc/src/math/generic/fabs.cpp
    M libc/src/math/generic/fabsf.cpp
    M libc/src/math/generic/fabsf128.cpp
    M libc/src/math/generic/fabsf16.cpp
    M libc/src/math/generic/fabsl.cpp
    M libc/src/math/generic/fdim.cpp
    M libc/src/math/generic/fdimf.cpp
    M libc/src/math/generic/fdimf128.cpp
    M libc/src/math/generic/fdimf16.cpp
    M libc/src/math/generic/fdiml.cpp
    M libc/src/math/generic/floor.cpp
    M libc/src/math/generic/floorf.cpp
    M libc/src/math/generic/floorf128.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/floorl.cpp
    M libc/src/math/generic/fma.cpp
    M libc/src/math/generic/fmaf.cpp
    M libc/src/math/generic/fmax.cpp
    M libc/src/math/generic/fmaxf.cpp
    M libc/src/math/generic/fmaxf128.cpp
    M libc/src/math/generic/fmaxf16.cpp
    M libc/src/math/generic/fmaximum.cpp
    M libc/src/math/generic/fmaximum_mag.cpp
    M libc/src/math/generic/fmaximum_mag_num.cpp
    M libc/src/math/generic/fmaximum_mag_numf.cpp
    M libc/src/math/generic/fmaximum_mag_numf128.cpp
    M libc/src/math/generic/fmaximum_mag_numf16.cpp
    M libc/src/math/generic/fmaximum_mag_numl.cpp
    M libc/src/math/generic/fmaximum_magf.cpp
    M libc/src/math/generic/fmaximum_magf128.cpp
    M libc/src/math/generic/fmaximum_magf16.cpp
    M libc/src/math/generic/fmaximum_magl.cpp
    M libc/src/math/generic/fmaximum_num.cpp
    M libc/src/math/generic/fmaximum_numf.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fmaximum_numf16.cpp
    M libc/src/math/generic/fmaximum_numl.cpp
    M libc/src/math/generic/fmaximumf.cpp
    M libc/src/math/generic/fmaximumf128.cpp
    M libc/src/math/generic/fmaximumf16.cpp
    M libc/src/math/generic/fmaximuml.cpp
    M libc/src/math/generic/fmaxl.cpp
    M libc/src/math/generic/fmin.cpp
    M libc/src/math/generic/fminf.cpp
    M libc/src/math/generic/fminf128.cpp
    M libc/src/math/generic/fminf16.cpp
    M libc/src/math/generic/fminimum.cpp
    M libc/src/math/generic/fminimum_mag.cpp
    M libc/src/math/generic/fminimum_mag_num.cpp
    M libc/src/math/generic/fminimum_mag_numf.cpp
    M libc/src/math/generic/fminimum_mag_numf128.cpp
    M libc/src/math/generic/fminimum_mag_numf16.cpp
    M libc/src/math/generic/fminimum_mag_numl.cpp
    M libc/src/math/generic/fminimum_magf.cpp
    M libc/src/math/generic/fminimum_magf128.cpp
    M libc/src/math/generic/fminimum_magf16.cpp
    M libc/src/math/generic/fminimum_magl.cpp
    M libc/src/math/generic/fminimum_num.cpp
    M libc/src/math/generic/fminimum_numf.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/math/generic/fminimum_numf16.cpp
    M libc/src/math/generic/fminimum_numl.cpp
    M libc/src/math/generic/fminimumf.cpp
    M libc/src/math/generic/fminimumf128.cpp
    M libc/src/math/generic/fminimumf16.cpp
    M libc/src/math/generic/fminimuml.cpp
    M libc/src/math/generic/fminl.cpp
    M libc/src/math/generic/fmod.cpp
    M libc/src/math/generic/fmodf.cpp
    M libc/src/math/generic/fmodf128.cpp
    M libc/src/math/generic/fmodf16.cpp
    M libc/src/math/generic/fmodl.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/frexp.cpp
    M libc/src/math/generic/frexpf.cpp
    M libc/src/math/generic/frexpf128.cpp
    M libc/src/math/generic/frexpf16.cpp
    M libc/src/math/generic/frexpl.cpp
    M libc/src/math/generic/fromfp.cpp
    M libc/src/math/generic/fromfpf.cpp
    M libc/src/math/generic/fromfpf128.cpp
    M libc/src/math/generic/fromfpf16.cpp
    M libc/src/math/generic/fromfpl.cpp
    M libc/src/math/generic/fromfpx.cpp
    M libc/src/math/generic/fromfpxf.cpp
    M libc/src/math/generic/fromfpxf128.cpp
    M libc/src/math/generic/fromfpxf16.cpp
    M libc/src/math/generic/fromfpxl.cpp
    M libc/src/math/generic/getpayloadf16.cpp
    M libc/src/math/generic/hypot.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    M libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbf16.cpp
    M libc/src/math/generic/ilogbl.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/math/generic/isnan.cpp
    M libc/src/math/generic/isnanf.cpp
    M libc/src/math/generic/isnanl.cpp
    M libc/src/math/generic/ldexp.cpp
    M libc/src/math/generic/ldexpf.cpp
    M libc/src/math/generic/ldexpf128.cpp
    M libc/src/math/generic/ldexpf16.cpp
    M libc/src/math/generic/ldexpl.cpp
    M libc/src/math/generic/llogb.cpp
    M libc/src/math/generic/llogbf.cpp
    M libc/src/math/generic/llogbf128.cpp
    M libc/src/math/generic/llogbf16.cpp
    M libc/src/math/generic/llogbl.cpp
    M libc/src/math/generic/llrint.cpp
    M libc/src/math/generic/llrintf.cpp
    M libc/src/math/generic/llrintf128.cpp
    M libc/src/math/generic/llrintf16.cpp
    M libc/src/math/generic/llrintl.cpp
    M libc/src/math/generic/llround.cpp
    M libc/src/math/generic/llroundf.cpp
    M libc/src/math/generic/llroundf128.cpp
    M libc/src/math/generic/llroundf16.cpp
    M libc/src/math/generic/llroundl.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log_range_reduction.h
    M libc/src/math/generic/logb.cpp
    M libc/src/math/generic/logbf.cpp
    M libc/src/math/generic/logbf128.cpp
    M libc/src/math/generic/logbf16.cpp
    M libc/src/math/generic/logbl.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/lrint.cpp
    M libc/src/math/generic/lrintf.cpp
    M libc/src/math/generic/lrintf128.cpp
    M libc/src/math/generic/lrintf16.cpp
    M libc/src/math/generic/lrintl.cpp
    M libc/src/math/generic/lround.cpp
    M libc/src/math/generic/lroundf.cpp
    M libc/src/math/generic/lroundf128.cpp
    M libc/src/math/generic/lroundf16.cpp
    M libc/src/math/generic/lroundl.cpp
    M libc/src/math/generic/modf.cpp
    M libc/src/math/generic/modff.cpp
    M libc/src/math/generic/modff128.cpp
    M libc/src/math/generic/modff16.cpp
    M libc/src/math/generic/modfl.cpp
    M libc/src/math/generic/nan.cpp
    M libc/src/math/generic/nanf.cpp
    M libc/src/math/generic/nanf128.cpp
    M libc/src/math/generic/nanf16.cpp
    M libc/src/math/generic/nanl.cpp
    M libc/src/math/generic/nearbyint.cpp
    M libc/src/math/generic/nearbyintf.cpp
    M libc/src/math/generic/nearbyintf128.cpp
    M libc/src/math/generic/nearbyintf16.cpp
    M libc/src/math/generic/nearbyintl.cpp
    M libc/src/math/generic/nextafter.cpp
    M libc/src/math/generic/nextafterf.cpp
    M libc/src/math/generic/nextafterf128.cpp
    M libc/src/math/generic/nextafterf16.cpp
    M libc/src/math/generic/nextafterl.cpp
    M libc/src/math/generic/nextdown.cpp
    M libc/src/math/generic/nextdownf.cpp
    M libc/src/math/generic/nextdownf128.cpp
    M libc/src/math/generic/nextdownf16.cpp
    M libc/src/math/generic/nextdownl.cpp
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardf16.cpp
    M libc/src/math/generic/nexttowardl.cpp
    M libc/src/math/generic/nextup.cpp
    M libc/src/math/generic/nextupf.cpp
    M libc/src/math/generic/nextupf128.cpp
    M libc/src/math/generic/nextupf16.cpp
    M libc/src/math/generic/nextupl.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/range_reduction_double_fma.h
    M libc/src/math/generic/range_reduction_double_nofma.h
    M libc/src/math/generic/range_reduction_fma.h
    M libc/src/math/generic/remainder.cpp
    M libc/src/math/generic/remainderf.cpp
    M libc/src/math/generic/remainderf16.cpp
    M libc/src/math/generic/remainderl.cpp
    M libc/src/math/generic/remquo.cpp
    M libc/src/math/generic/remquof.cpp
    M libc/src/math/generic/remquof128.cpp
    M libc/src/math/generic/remquof16.cpp
    M libc/src/math/generic/remquol.cpp
    M libc/src/math/generic/rint.cpp
    M libc/src/math/generic/rintf.cpp
    M libc/src/math/generic/rintf128.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/rintl.cpp
    M libc/src/math/generic/round.cpp
    M libc/src/math/generic/roundeven.cpp
    M libc/src/math/generic/roundevenf.cpp
    M libc/src/math/generic/roundevenf128.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundevenl.cpp
    M libc/src/math/generic/roundf.cpp
    M libc/src/math/generic/roundf128.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/roundl.cpp
    M libc/src/math/generic/scalblnf16.cpp
    M libc/src/math/generic/scalbn.cpp
    M libc/src/math/generic/scalbnf.cpp
    M libc/src/math/generic/scalbnf128.cpp
    M libc/src/math/generic/scalbnf16.cpp
    M libc/src/math/generic/scalbnl.cpp
    M libc/src/math/generic/setpayloadf16.cpp
    M libc/src/math/generic/setpayloadsigf16.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincos_eval.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sincosf_utils.h
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinhf.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sqrt.cpp
    M libc/src/math/generic/sqrtf.cpp
    M libc/src/math/generic/sqrtf128.cpp
    M libc/src/math/generic/sqrtl.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanhf.cpp
    M libc/src/math/generic/totalorderf16.cpp
    M libc/src/math/generic/totalordermagf16.cpp
    M libc/src/math/generic/trunc.cpp
    M libc/src/math/generic/truncf.cpp
    M libc/src/math/generic/truncf128.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/src/math/generic/truncl.cpp
    M libc/src/math/generic/ufromfp.cpp
    M libc/src/math/generic/ufromfpf.cpp
    M libc/src/math/generic/ufromfpf128.cpp
    M libc/src/math/generic/ufromfpf16.cpp
    M libc/src/math/generic/ufromfpl.cpp
    M libc/src/math/generic/ufromfpx.cpp
    M libc/src/math/generic/ufromfpxf.cpp
    M libc/src/math/generic/ufromfpxf128.cpp
    M libc/src/math/generic/ufromfpxf16.cpp
    M libc/src/math/generic/ufromfpxl.cpp
    M libc/src/math/getpayloadf16.h
    M libc/src/math/hypot.h
    M libc/src/math/hypotf.h
    M libc/src/math/ilogb.h
    M libc/src/math/ilogbf.h
    M libc/src/math/ilogbf128.h
    M libc/src/math/ilogbf16.h
    M libc/src/math/ilogbl.h
    M libc/src/math/isnan.h
    M libc/src/math/isnanf.h
    M libc/src/math/isnanl.h
    M libc/src/math/ldexp.h
    M libc/src/math/ldexpf.h
    M libc/src/math/ldexpf128.h
    M libc/src/math/ldexpf16.h
    M libc/src/math/ldexpl.h
    M libc/src/math/llogb.h
    M libc/src/math/llogbf.h
    M libc/src/math/llogbf128.h
    M libc/src/math/llogbf16.h
    M libc/src/math/llogbl.h
    M libc/src/math/llrint.h
    M libc/src/math/llrintf.h
    M libc/src/math/llrintf128.h
    M libc/src/math/llrintf16.h
    M libc/src/math/llrintl.h
    M libc/src/math/llround.h
    M libc/src/math/llroundf.h
    M libc/src/math/llroundf128.h
    M libc/src/math/llroundf16.h
    M libc/src/math/llroundl.h
    M libc/src/math/log.h
    M libc/src/math/log10.h
    M libc/src/math/log10f.h
    M libc/src/math/log1p.h
    M libc/src/math/log1pf.h
    M libc/src/math/log2.h
    M libc/src/math/log2f.h
    M libc/src/math/logb.h
    M libc/src/math/logbf.h
    M libc/src/math/logbf128.h
    M libc/src/math/logbf16.h
    M libc/src/math/logbl.h
    M libc/src/math/logf.h
    M libc/src/math/lrint.h
    M libc/src/math/lrintf.h
    M libc/src/math/lrintf128.h
    M libc/src/math/lrintf16.h
    M libc/src/math/lrintl.h
    M libc/src/math/lround.h
    M libc/src/math/lroundf.h
    M libc/src/math/lroundf128.h
    M libc/src/math/lroundf16.h
    M libc/src/math/lroundl.h
    M libc/src/math/modf.h
    M libc/src/math/modff.h
    M libc/src/math/modff128.h
    M libc/src/math/modff16.h
    M libc/src/math/modfl.h
    M libc/src/math/nan.h
    M libc/src/math/nanf.h
    M libc/src/math/nanf128.h
    M libc/src/math/nanf16.h
    M libc/src/math/nanl.h
    M libc/src/math/nearbyint.h
    M libc/src/math/nearbyintf.h
    M libc/src/math/nearbyintf128.h
    M libc/src/math/nearbyintf16.h
    M libc/src/math/nearbyintl.h
    M libc/src/math/nextafter.h
    M libc/src/math/nextafterf.h
    M libc/src/math/nextafterf128.h
    M libc/src/math/nextafterf16.h
    M libc/src/math/nextafterl.h
    M libc/src/math/nextdown.h
    M libc/src/math/nextdownf.h
    M libc/src/math/nextdownf128.h
    M libc/src/math/nextdownf16.h
    M libc/src/math/nextdownl.h
    M libc/src/math/nexttoward.h
    M libc/src/math/nexttowardf.h
    M libc/src/math/nexttowardf16.h
    M libc/src/math/nexttowardl.h
    M libc/src/math/nextup.h
    M libc/src/math/nextupf.h
    M libc/src/math/nextupf128.h
    M libc/src/math/nextupf16.h
    M libc/src/math/nextupl.h
    M libc/src/math/nvptx/acos.cpp
    M libc/src/math/nvptx/acosf.cpp
    M libc/src/math/nvptx/acosh.cpp
    M libc/src/math/nvptx/acoshf.cpp
    M libc/src/math/nvptx/asin.cpp
    M libc/src/math/nvptx/asinf.cpp
    M libc/src/math/nvptx/asinh.cpp
    M libc/src/math/nvptx/asinhf.cpp
    M libc/src/math/nvptx/atan.cpp
    M libc/src/math/nvptx/atan2.cpp
    M libc/src/math/nvptx/atan2f.cpp
    M libc/src/math/nvptx/atanf.cpp
    M libc/src/math/nvptx/atanh.cpp
    M libc/src/math/nvptx/atanhf.cpp
    M libc/src/math/nvptx/ceil.cpp
    M libc/src/math/nvptx/ceilf.cpp
    M libc/src/math/nvptx/copysign.cpp
    M libc/src/math/nvptx/copysignf.cpp
    M libc/src/math/nvptx/cos.cpp
    M libc/src/math/nvptx/cosf.cpp
    M libc/src/math/nvptx/cosh.cpp
    M libc/src/math/nvptx/coshf.cpp
    M libc/src/math/nvptx/declarations.h
    M libc/src/math/nvptx/erf.cpp
    M libc/src/math/nvptx/erff.cpp
    M libc/src/math/nvptx/exp.cpp
    M libc/src/math/nvptx/exp10.cpp
    M libc/src/math/nvptx/exp10f.cpp
    M libc/src/math/nvptx/exp2.cpp
    M libc/src/math/nvptx/exp2f.cpp
    M libc/src/math/nvptx/expf.cpp
    M libc/src/math/nvptx/expm1.cpp
    M libc/src/math/nvptx/expm1f.cpp
    M libc/src/math/nvptx/fabs.cpp
    M libc/src/math/nvptx/fabsf.cpp
    M libc/src/math/nvptx/fdim.cpp
    M libc/src/math/nvptx/fdimf.cpp
    M libc/src/math/nvptx/floor.cpp
    M libc/src/math/nvptx/floorf.cpp
    M libc/src/math/nvptx/fma.cpp
    M libc/src/math/nvptx/fmaf.cpp
    M libc/src/math/nvptx/fmax.cpp
    M libc/src/math/nvptx/fmaxf.cpp
    M libc/src/math/nvptx/fmin.cpp
    M libc/src/math/nvptx/fminf.cpp
    M libc/src/math/nvptx/fmod.cpp
    M libc/src/math/nvptx/fmodf.cpp
    M libc/src/math/nvptx/frexp.cpp
    M libc/src/math/nvptx/frexpf.cpp
    M libc/src/math/nvptx/hypot.cpp
    M libc/src/math/nvptx/hypotf.cpp
    M libc/src/math/nvptx/ilogb.cpp
    M libc/src/math/nvptx/ilogbf.cpp
    M libc/src/math/nvptx/ldexp.cpp
    M libc/src/math/nvptx/ldexpf.cpp
    M libc/src/math/nvptx/llrint.cpp
    M libc/src/math/nvptx/llrintf.cpp
    M libc/src/math/nvptx/log.cpp
    M libc/src/math/nvptx/log10.cpp
    M libc/src/math/nvptx/log10f.cpp
    M libc/src/math/nvptx/log1p.cpp
    M libc/src/math/nvptx/log1pf.cpp
    M libc/src/math/nvptx/log2.cpp
    M libc/src/math/nvptx/log2f.cpp
    M libc/src/math/nvptx/logb.cpp
    M libc/src/math/nvptx/logbf.cpp
    M libc/src/math/nvptx/logf.cpp
    M libc/src/math/nvptx/lrint.cpp
    M libc/src/math/nvptx/lrintf.cpp
    M libc/src/math/nvptx/nearbyint.cpp
    M libc/src/math/nvptx/nearbyintf.cpp
    M libc/src/math/nvptx/nextafter.cpp
    M libc/src/math/nvptx/nextafterf.cpp
    M libc/src/math/nvptx/nvptx.h
    M libc/src/math/nvptx/pow.cpp
    M libc/src/math/nvptx/powf.cpp
    M libc/src/math/nvptx/powi.cpp
    M libc/src/math/nvptx/powif.cpp
    M libc/src/math/nvptx/remainder.cpp
    M libc/src/math/nvptx/remainderf.cpp
    M libc/src/math/nvptx/remquo.cpp
    M libc/src/math/nvptx/remquof.cpp
    M libc/src/math/nvptx/rint.cpp
    M libc/src/math/nvptx/rintf.cpp
    M libc/src/math/nvptx/round.cpp
    M libc/src/math/nvptx/roundf.cpp
    M libc/src/math/nvptx/scalbn.cpp
    M libc/src/math/nvptx/scalbnf.cpp
    M libc/src/math/nvptx/sin.cpp
    M libc/src/math/nvptx/sincos.cpp
    M libc/src/math/nvptx/sincosf.cpp
    M libc/src/math/nvptx/sinf.cpp
    M libc/src/math/nvptx/sinh.cpp
    M libc/src/math/nvptx/sinhf.cpp
    M libc/src/math/nvptx/sqrt.cpp
    M libc/src/math/nvptx/sqrtf.cpp
    M libc/src/math/nvptx/tan.cpp
    M libc/src/math/nvptx/tanf.cpp
    M libc/src/math/nvptx/tanh.cpp
    M libc/src/math/nvptx/tanhf.cpp
    M libc/src/math/nvptx/tgamma.cpp
    M libc/src/math/nvptx/tgammaf.cpp
    M libc/src/math/nvptx/trunc.cpp
    M libc/src/math/nvptx/truncf.cpp
    M libc/src/math/pow.h
    M libc/src/math/powf.h
    M libc/src/math/powi.h
    M libc/src/math/powif.h
    M libc/src/math/remainder.h
    M libc/src/math/remainderf.h
    M libc/src/math/remainderf16.h
    M libc/src/math/remainderl.h
    M libc/src/math/remquo.h
    M libc/src/math/remquof.h
    M libc/src/math/remquof128.h
    M libc/src/math/remquof16.h
    M libc/src/math/remquol.h
    M libc/src/math/rint.h
    M libc/src/math/rintf.h
    M libc/src/math/rintf128.h
    M libc/src/math/rintf16.h
    M libc/src/math/rintl.h
    M libc/src/math/round.h
    M libc/src/math/roundeven.h
    M libc/src/math/roundevenf.h
    M libc/src/math/roundevenf128.h
    M libc/src/math/roundevenf16.h
    M libc/src/math/roundevenl.h
    M libc/src/math/roundf.h
    M libc/src/math/roundf128.h
    M libc/src/math/roundf16.h
    M libc/src/math/roundl.h
    M libc/src/math/scalblnf16.h
    M libc/src/math/scalbn.h
    M libc/src/math/scalbnf.h
    M libc/src/math/scalbnf128.h
    M libc/src/math/scalbnf16.h
    M libc/src/math/scalbnl.h
    M libc/src/math/setpayloadf16.h
    M libc/src/math/setpayloadsigf16.h
    M libc/src/math/sin.h
    M libc/src/math/sincos.h
    M libc/src/math/sincosf.h
    M libc/src/math/sinf.h
    M libc/src/math/sinh.h
    M libc/src/math/sinhf.h
    M libc/src/math/sinpif.h
    M libc/src/math/sqrt.h
    M libc/src/math/sqrtf.h
    M libc/src/math/sqrtf128.h
    M libc/src/math/sqrtl.h
    M libc/src/math/tan.h
    M libc/src/math/tanf.h
    M libc/src/math/tanh.h
    M libc/src/math/tanhf.h
    M libc/src/math/tgamma.h
    M libc/src/math/tgammaf.h
    M libc/src/math/totalorderf16.h
    M libc/src/math/totalordermagf16.h
    M libc/src/math/trunc.h
    M libc/src/math/truncf.h
    M libc/src/math/truncf128.h
    M libc/src/math/truncf16.h
    M libc/src/math/truncl.h
    M libc/src/math/ufromfp.h
    M libc/src/math/ufromfpf.h
    M libc/src/math/ufromfpf128.h
    M libc/src/math/ufromfpf16.h
    M libc/src/math/ufromfpl.h
    M libc/src/math/ufromfpx.h
    M libc/src/math/ufromfpxf.h
    M libc/src/math/ufromfpxf128.h
    M libc/src/math/ufromfpxf16.h
    M libc/src/math/ufromfpxl.h
    M libc/src/network/htonl.cpp
    M libc/src/network/htonl.h
    M libc/src/network/htons.cpp
    M libc/src/network/htons.h
    M libc/src/network/ntohl.cpp
    M libc/src/network/ntohl.h
    M libc/src/network/ntohs.cpp
    M libc/src/network/ntohs.h
    M libc/src/pthread/pthread_atfork.cpp
    M libc/src/pthread/pthread_atfork.h
    M libc/src/pthread/pthread_attr_destroy.cpp
    M libc/src/pthread/pthread_attr_destroy.h
    M libc/src/pthread/pthread_attr_getdetachstate.cpp
    M libc/src/pthread/pthread_attr_getdetachstate.h
    M libc/src/pthread/pthread_attr_getguardsize.cpp
    M libc/src/pthread/pthread_attr_getguardsize.h
    M libc/src/pthread/pthread_attr_getstack.cpp
    M libc/src/pthread/pthread_attr_getstack.h
    M libc/src/pthread/pthread_attr_getstacksize.cpp
    M libc/src/pthread/pthread_attr_getstacksize.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_attr_init.h
    M libc/src/pthread/pthread_attr_setdetachstate.cpp
    M libc/src/pthread/pthread_attr_setdetachstate.h
    M libc/src/pthread/pthread_attr_setguardsize.cpp
    M libc/src/pthread/pthread_attr_setguardsize.h
    M libc/src/pthread/pthread_attr_setstack.cpp
    M libc/src/pthread/pthread_attr_setstack.h
    M libc/src/pthread/pthread_attr_setstacksize.cpp
    M libc/src/pthread/pthread_attr_setstacksize.h
    M libc/src/pthread/pthread_condattr_destroy.cpp
    M libc/src/pthread/pthread_condattr_destroy.h
    M libc/src/pthread/pthread_condattr_getclock.cpp
    M libc/src/pthread/pthread_condattr_getclock.h
    M libc/src/pthread/pthread_condattr_getpshared.cpp
    M libc/src/pthread/pthread_condattr_getpshared.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_init.h
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/pthread/pthread_condattr_setclock.h
    M libc/src/pthread/pthread_condattr_setpshared.cpp
    M libc/src/pthread/pthread_condattr_setpshared.h
    M libc/src/pthread/pthread_create.cpp
    M libc/src/pthread/pthread_create.h
    M libc/src/pthread/pthread_detach.cpp
    M libc/src/pthread/pthread_detach.h
    M libc/src/pthread/pthread_equal.cpp
    M libc/src/pthread/pthread_equal.h
    M libc/src/pthread/pthread_exit.cpp
    M libc/src/pthread/pthread_exit.h
    M libc/src/pthread/pthread_getname_np.cpp
    M libc/src/pthread/pthread_getname_np.h
    M libc/src/pthread/pthread_getspecific.cpp
    M libc/src/pthread/pthread_getspecific.h
    M libc/src/pthread/pthread_join.cpp
    M libc/src/pthread/pthread_join.h
    M libc/src/pthread/pthread_key_create.cpp
    M libc/src/pthread/pthread_key_create.h
    M libc/src/pthread/pthread_key_delete.cpp
    M libc/src/pthread/pthread_key_delete.h
    M libc/src/pthread/pthread_mutex_destroy.cpp
    M libc/src/pthread/pthread_mutex_destroy.h
    M libc/src/pthread/pthread_mutex_init.cpp
    M libc/src/pthread/pthread_mutex_init.h
    M libc/src/pthread/pthread_mutex_lock.cpp
    M libc/src/pthread/pthread_mutex_lock.h
    M libc/src/pthread/pthread_mutex_unlock.cpp
    M libc/src/pthread/pthread_mutex_unlock.h
    M libc/src/pthread/pthread_mutexattr.h
    M libc/src/pthread/pthread_mutexattr_destroy.cpp
    M libc/src/pthread/pthread_mutexattr_destroy.h
    M libc/src/pthread/pthread_mutexattr_getpshared.cpp
    M libc/src/pthread/pthread_mutexattr_getpshared.h
    M libc/src/pthread/pthread_mutexattr_getrobust.cpp
    M libc/src/pthread/pthread_mutexattr_getrobust.h
    M libc/src/pthread/pthread_mutexattr_gettype.cpp
    M libc/src/pthread/pthread_mutexattr_gettype.h
    M libc/src/pthread/pthread_mutexattr_init.cpp
    M libc/src/pthread/pthread_mutexattr_init.h
    M libc/src/pthread/pthread_mutexattr_setpshared.cpp
    M libc/src/pthread/pthread_mutexattr_setpshared.h
    M libc/src/pthread/pthread_mutexattr_setrobust.cpp
    M libc/src/pthread/pthread_mutexattr_setrobust.h
    M libc/src/pthread/pthread_mutexattr_settype.cpp
    M libc/src/pthread/pthread_mutexattr_settype.h
    M libc/src/pthread/pthread_once.cpp
    M libc/src/pthread/pthread_once.h
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_destroy.h
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_init.h
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.h
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.h
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.h
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.h
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.h
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.h
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.h
    M libc/src/pthread/pthread_rwlockattr_destroy.cpp
    M libc/src/pthread/pthread_rwlockattr_destroy.h
    M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_getkind_np.h
    M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_getpshared.h
    M libc/src/pthread/pthread_rwlockattr_init.cpp
    M libc/src/pthread/pthread_rwlockattr_init.h
    M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_setkind_np.h
    M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/src/pthread/pthread_self.cpp
    M libc/src/pthread/pthread_self.h
    M libc/src/pthread/pthread_setname_np.cpp
    M libc/src/pthread/pthread_setname_np.h
    M libc/src/pthread/pthread_setspecific.cpp
    M libc/src/pthread/pthread_setspecific.h
    M libc/src/sched/linux/sched_get_priority_max.cpp
    M libc/src/sched/linux/sched_get_priority_min.cpp
    M libc/src/sched/linux/sched_getaffinity.cpp
    M libc/src/sched/linux/sched_getcpucount.cpp
    M libc/src/sched/linux/sched_getparam.cpp
    M libc/src/sched/linux/sched_getscheduler.cpp
    M libc/src/sched/linux/sched_rr_get_interval.cpp
    M libc/src/sched/linux/sched_setaffinity.cpp
    M libc/src/sched/linux/sched_setparam.cpp
    M libc/src/sched/linux/sched_setscheduler.cpp
    M libc/src/sched/linux/sched_yield.cpp
    M libc/src/sched/sched_get_priority_max.h
    M libc/src/sched/sched_get_priority_min.h
    M libc/src/sched/sched_getaffinity.h
    M libc/src/sched/sched_getcpucount.h
    M libc/src/sched/sched_getparam.h
    M libc/src/sched/sched_getscheduler.h
    M libc/src/sched/sched_rr_get_interval.h
    M libc/src/sched/sched_setaffinity.h
    M libc/src/sched/sched_setparam.h
    M libc/src/sched/sched_setscheduler.h
    M libc/src/sched/sched_yield.h
    M libc/src/search/hcreate.cpp
    M libc/src/search/hcreate.h
    M libc/src/search/hcreate_r.cpp
    M libc/src/search/hcreate_r.h
    M libc/src/search/hdestroy.cpp
    M libc/src/search/hdestroy.h
    M libc/src/search/hdestroy_r.cpp
    M libc/src/search/hdestroy_r.h
    M libc/src/search/hsearch.cpp
    M libc/src/search/hsearch.h
    M libc/src/search/hsearch/global.cpp
    M libc/src/search/hsearch/global.h
    M libc/src/search/hsearch_r.cpp
    M libc/src/search/hsearch_r.h
    M libc/src/search/insque.cpp
    M libc/src/search/insque.h
    M libc/src/search/remque.cpp
    M libc/src/search/remque.h
    M libc/src/setjmp/arm/longjmp.cpp
    M libc/src/setjmp/arm/setjmp.cpp
    M libc/src/setjmp/longjmp.h
    M libc/src/setjmp/riscv/longjmp.cpp
    M libc/src/setjmp/riscv/setjmp.cpp
    M libc/src/setjmp/setjmp_impl.h
    M libc/src/setjmp/x86_64/longjmp.cpp
    M libc/src/setjmp/x86_64/setjmp.cpp
    M libc/src/signal/kill.h
    M libc/src/signal/linux/__restore.cpp
    M libc/src/signal/linux/kill.cpp
    M libc/src/signal/linux/raise.cpp
    M libc/src/signal/linux/sigaction.cpp
    M libc/src/signal/linux/sigaddset.cpp
    M libc/src/signal/linux/sigaltstack.cpp
    M libc/src/signal/linux/sigdelset.cpp
    M libc/src/signal/linux/sigemptyset.cpp
    M libc/src/signal/linux/sigfillset.cpp
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    M libc/src/signal/raise.h
    M libc/src/signal/sigaction.h
    M libc/src/signal/sigaddset.h
    M libc/src/signal/sigaltstack.h
    M libc/src/signal/sigdelset.h
    M libc/src/signal/sigemptyset.h
    M libc/src/signal/sigfillset.h
    M libc/src/signal/signal.h
    M libc/src/signal/sigprocmask.h
    M libc/src/spawn/file_actions.h
    M libc/src/spawn/linux/posix_spawn.cpp
    M libc/src/spawn/posix_spawn.h
    M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
    M libc/src/spawn/posix_spawn_file_actions_addclose.h
    M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
    M libc/src/spawn/posix_spawn_file_actions_adddup2.h
    M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
    M libc/src/spawn/posix_spawn_file_actions_addopen.h
    M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
    M libc/src/spawn/posix_spawn_file_actions_destroy.h
    M libc/src/spawn/posix_spawn_file_actions_init.cpp
    M libc/src/spawn/posix_spawn_file_actions_init.h
    M libc/src/stdbit/stdc_bit_ceil_uc.cpp
    M libc/src/stdbit/stdc_bit_ceil_uc.h
    M libc/src/stdbit/stdc_bit_ceil_ui.cpp
    M libc/src/stdbit/stdc_bit_ceil_ui.h
    M libc/src/stdbit/stdc_bit_ceil_ul.cpp
    M libc/src/stdbit/stdc_bit_ceil_ul.h
    M libc/src/stdbit/stdc_bit_ceil_ull.cpp
    M libc/src/stdbit/stdc_bit_ceil_ull.h
    M libc/src/stdbit/stdc_bit_ceil_us.cpp
    M libc/src/stdbit/stdc_bit_ceil_us.h
    M libc/src/stdbit/stdc_bit_floor_uc.cpp
    M libc/src/stdbit/stdc_bit_floor_uc.h
    M libc/src/stdbit/stdc_bit_floor_ui.cpp
    M libc/src/stdbit/stdc_bit_floor_ui.h
    M libc/src/stdbit/stdc_bit_floor_ul.cpp
    M libc/src/stdbit/stdc_bit_floor_ul.h
    M libc/src/stdbit/stdc_bit_floor_ull.cpp
    M libc/src/stdbit/stdc_bit_floor_ull.h
    M libc/src/stdbit/stdc_bit_floor_us.cpp
    M libc/src/stdbit/stdc_bit_floor_us.h
    M libc/src/stdbit/stdc_bit_width_uc.cpp
    M libc/src/stdbit/stdc_bit_width_uc.h
    M libc/src/stdbit/stdc_bit_width_ui.cpp
    M libc/src/stdbit/stdc_bit_width_ui.h
    M libc/src/stdbit/stdc_bit_width_ul.cpp
    M libc/src/stdbit/stdc_bit_width_ul.h
    M libc/src/stdbit/stdc_bit_width_ull.cpp
    M libc/src/stdbit/stdc_bit_width_ull.h
    M libc/src/stdbit/stdc_bit_width_us.cpp
    M libc/src/stdbit/stdc_bit_width_us.h
    M libc/src/stdbit/stdc_count_ones_uc.cpp
    M libc/src/stdbit/stdc_count_ones_uc.h
    M libc/src/stdbit/stdc_count_ones_ui.cpp
    M libc/src/stdbit/stdc_count_ones_ui.h
    M libc/src/stdbit/stdc_count_ones_ul.cpp
    M libc/src/stdbit/stdc_count_ones_ul.h
    M libc/src/stdbit/stdc_count_ones_ull.cpp
    M libc/src/stdbit/stdc_count_ones_ull.h
    M libc/src/stdbit/stdc_count_ones_us.cpp
    M libc/src/stdbit/stdc_count_ones_us.h
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_uc.h
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.h
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.h
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.h
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_count_zeros_us.h
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.h
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.h
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.h
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.h
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.h
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.h
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.h
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.h
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.h
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.h
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.h
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.h
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.h
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.h
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.h
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.h
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.h
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.h
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.h
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/src/stdbit/stdc_has_single_bit_uc.cpp
    M libc/src/stdbit/stdc_has_single_bit_uc.h
    M libc/src/stdbit/stdc_has_single_bit_ui.cpp
    M libc/src/stdbit/stdc_has_single_bit_ui.h
    M libc/src/stdbit/stdc_has_single_bit_ul.cpp
    M libc/src/stdbit/stdc_has_single_bit_ul.h
    M libc/src/stdbit/stdc_has_single_bit_ull.cpp
    M libc/src/stdbit/stdc_has_single_bit_ull.h
    M libc/src/stdbit/stdc_has_single_bit_us.cpp
    M libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/src/stdbit/stdc_leading_ones_uc.cpp
    M libc/src/stdbit/stdc_leading_ones_uc.h
    M libc/src/stdbit/stdc_leading_ones_ui.cpp
    M libc/src/stdbit/stdc_leading_ones_ui.h
    M libc/src/stdbit/stdc_leading_ones_ul.cpp
    M libc/src/stdbit/stdc_leading_ones_ul.h
    M libc/src/stdbit/stdc_leading_ones_ull.cpp
    M libc/src/stdbit/stdc_leading_ones_ull.h
    M libc/src/stdbit/stdc_leading_ones_us.cpp
    M libc/src/stdbit/stdc_leading_ones_us.h
    M libc/src/stdbit/stdc_leading_zeros_uc.cpp
    M libc/src/stdbit/stdc_leading_zeros_uc.h
    M libc/src/stdbit/stdc_leading_zeros_ui.cpp
    M libc/src/stdbit/stdc_leading_zeros_ui.h
    M libc/src/stdbit/stdc_leading_zeros_ul.cpp
    M libc/src/stdbit/stdc_leading_zeros_ul.h
    M libc/src/stdbit/stdc_leading_zeros_ull.cpp
    M libc/src/stdbit/stdc_leading_zeros_ull.h
    M libc/src/stdbit/stdc_leading_zeros_us.cpp
    M libc/src/stdbit/stdc_leading_zeros_us.h
    M libc/src/stdbit/stdc_trailing_ones_uc.cpp
    M libc/src/stdbit/stdc_trailing_ones_uc.h
    M libc/src/stdbit/stdc_trailing_ones_ui.cpp
    M libc/src/stdbit/stdc_trailing_ones_ui.h
    M libc/src/stdbit/stdc_trailing_ones_ul.cpp
    M libc/src/stdbit/stdc_trailing_ones_ul.h
    M libc/src/stdbit/stdc_trailing_ones_ull.cpp
    M libc/src/stdbit/stdc_trailing_ones_ull.h
    M libc/src/stdbit/stdc_trailing_ones_us.cpp
    M libc/src/stdbit/stdc_trailing_ones_us.h
    M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
    M libc/src/stdbit/stdc_trailing_zeros_uc.h
    M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ui.h
    M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ul.h
    M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ull.h
    M libc/src/stdbit/stdc_trailing_zeros_us.cpp
    M libc/src/stdbit/stdc_trailing_zeros_us.h
    M libc/src/stdfix/abshk.cpp
    M libc/src/stdfix/abshk.h
    M libc/src/stdfix/abshr.cpp
    M libc/src/stdfix/abshr.h
    M libc/src/stdfix/absk.cpp
    M libc/src/stdfix/absk.h
    M libc/src/stdfix/abslk.cpp
    M libc/src/stdfix/abslk.h
    M libc/src/stdfix/abslr.cpp
    M libc/src/stdfix/abslr.h
    M libc/src/stdfix/absr.cpp
    M libc/src/stdfix/absr.h
    M libc/src/stdfix/exphk.cpp
    M libc/src/stdfix/exphk.h
    M libc/src/stdfix/expk.cpp
    M libc/src/stdfix/expk.h
    M libc/src/stdfix/roundhk.cpp
    M libc/src/stdfix/roundhk.h
    M libc/src/stdfix/roundhr.cpp
    M libc/src/stdfix/roundhr.h
    M libc/src/stdfix/roundk.cpp
    M libc/src/stdfix/roundk.h
    M libc/src/stdfix/roundlk.cpp
    M libc/src/stdfix/roundlk.h
    M libc/src/stdfix/roundlr.cpp
    M libc/src/stdfix/roundlr.h
    M libc/src/stdfix/roundr.cpp
    M libc/src/stdfix/roundr.h
    M libc/src/stdfix/rounduhk.cpp
    M libc/src/stdfix/rounduhk.h
    M libc/src/stdfix/rounduhr.cpp
    M libc/src/stdfix/rounduhr.h
    M libc/src/stdfix/rounduk.cpp
    M libc/src/stdfix/rounduk.h
    M libc/src/stdfix/roundulk.cpp
    M libc/src/stdfix/roundulk.h
    M libc/src/stdfix/roundulr.cpp
    M libc/src/stdfix/roundulr.h
    M libc/src/stdfix/roundur.cpp
    M libc/src/stdfix/roundur.h
    M libc/src/stdfix/sqrtuhk.cpp
    M libc/src/stdfix/sqrtuhk.h
    M libc/src/stdfix/sqrtuhr.cpp
    M libc/src/stdfix/sqrtuhr.h
    M libc/src/stdfix/sqrtuk.cpp
    M libc/src/stdfix/sqrtuk.h
    M libc/src/stdfix/sqrtulr.cpp
    M libc/src/stdfix/sqrtulr.h
    M libc/src/stdfix/sqrtur.cpp
    M libc/src/stdfix/sqrtur.h
    M libc/src/stdfix/uhksqrtus.cpp
    M libc/src/stdfix/uhksqrtus.h
    M libc/src/stdfix/uksqrtui.cpp
    M libc/src/stdfix/uksqrtui.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/putchar.cpp
    M libc/src/stdio/baremetal/puts.cpp
    M libc/src/stdio/baremetal/remove.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/clearerr.h
    M libc/src/stdio/clearerr_unlocked.h
    M libc/src/stdio/fclose.h
    M libc/src/stdio/fdopen.h
    M libc/src/stdio/feof.h
    M libc/src/stdio/feof_unlocked.h
    M libc/src/stdio/ferror.h
    M libc/src/stdio/ferror_unlocked.h
    M libc/src/stdio/fflush.h
    M libc/src/stdio/fgetc.h
    M libc/src/stdio/fgetc_unlocked.h
    M libc/src/stdio/fgets.h
    M libc/src/stdio/fileno.h
    M libc/src/stdio/flockfile.cpp
    M libc/src/stdio/flockfile.h
    M libc/src/stdio/fopen.h
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/fopencookie.h
    M libc/src/stdio/fprintf.cpp
    M libc/src/stdio/fprintf.h
    M libc/src/stdio/fputc.h
    M libc/src/stdio/fputs.h
    M libc/src/stdio/fread.h
    M libc/src/stdio/fread_unlocked.h
    M libc/src/stdio/fscanf.cpp
    M libc/src/stdio/fscanf.h
    M libc/src/stdio/fseek.h
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftell.h
    M libc/src/stdio/ftello.h
    M libc/src/stdio/funlockfile.cpp
    M libc/src/stdio/funlockfile.h
    M libc/src/stdio/fwrite.h
    M libc/src/stdio/fwrite_unlocked.h
    M libc/src/stdio/generic/clearerr.cpp
    M libc/src/stdio/generic/clearerr_unlocked.cpp
    M libc/src/stdio/generic/fclose.cpp
    M libc/src/stdio/generic/feof.cpp
    M libc/src/stdio/generic/feof_unlocked.cpp
    M libc/src/stdio/generic/ferror.cpp
    M libc/src/stdio/generic/ferror_unlocked.cpp
    M libc/src/stdio/generic/fflush.cpp
    M libc/src/stdio/generic/fgetc.cpp
    M libc/src/stdio/generic/fgetc_unlocked.cpp
    M libc/src/stdio/generic/fgets.cpp
    M libc/src/stdio/generic/fileno.cpp
    M libc/src/stdio/generic/fopen.cpp
    M libc/src/stdio/generic/fputc.cpp
    M libc/src/stdio/generic/fputs.cpp
    M libc/src/stdio/generic/fread.cpp
    M libc/src/stdio/generic/fread_unlocked.cpp
    M libc/src/stdio/generic/fseek.cpp
    M libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    M libc/src/stdio/generic/ftello.cpp
    M libc/src/stdio/generic/fwrite.cpp
    M libc/src/stdio/generic/fwrite_unlocked.cpp
    M libc/src/stdio/generic/getc.cpp
    M libc/src/stdio/generic/getc_unlocked.cpp
    M libc/src/stdio/generic/getchar.cpp
    M libc/src/stdio/generic/getchar_unlocked.cpp
    M libc/src/stdio/generic/printf.cpp
    M libc/src/stdio/generic/putc.cpp
    M libc/src/stdio/generic/putchar.cpp
    M libc/src/stdio/generic/puts.cpp
    M libc/src/stdio/generic/ungetc.cpp
    M libc/src/stdio/generic/vprintf.cpp
    M libc/src/stdio/getc.h
    M libc/src/stdio/getc_unlocked.h
    M libc/src/stdio/getchar.h
    M libc/src/stdio/getchar_unlocked.h
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgetc.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fputc.cpp
    M libc/src/stdio/gpu/fputs.cpp
    M libc/src/stdio/gpu/fread.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/fwrite.cpp
    M libc/src/stdio/gpu/getc.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/putc.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/stderr.cpp
    M libc/src/stdio/gpu/stdin.cpp
    M libc/src/stdio/gpu/stdout.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/linux/fdopen.cpp
    M libc/src/stdio/linux/remove.cpp
    M libc/src/stdio/linux/rename.cpp
    M libc/src/stdio/printf.h
    M libc/src/stdio/printf_core/char_converter.h
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_main.cpp
    M libc/src/stdio/printf_core/printf_main.h
    M libc/src/stdio/printf_core/ptr_converter.h
    M libc/src/stdio/printf_core/string_converter.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/src/stdio/printf_core/writer.cpp
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/putc.h
    M libc/src/stdio/putchar.h
    M libc/src/stdio/puts.h
    M libc/src/stdio/remove.h
    M libc/src/stdio/rename.h
    M libc/src/stdio/scanf.cpp
    M libc/src/stdio/scanf.h
    M libc/src/stdio/scanf_core/converter.cpp
    M libc/src/stdio/scanf_core/converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/core_structs.h
    M libc/src/stdio/scanf_core/current_pos_converter.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/float_converter.h
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.h
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.h
    M libc/src/stdio/scanf_core/reader.cpp
    M libc/src/stdio/scanf_core/reader.h
    M libc/src/stdio/scanf_core/scanf_main.cpp
    M libc/src/stdio/scanf_core/scanf_main.h
    M libc/src/stdio/scanf_core/string_converter.cpp
    M libc/src/stdio/scanf_core/string_converter.h
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    M libc/src/stdio/setbuf.cpp
    M libc/src/stdio/setbuf.h
    M libc/src/stdio/setvbuf.cpp
    M libc/src/stdio/setvbuf.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/snprintf.h
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/sprintf.h
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/sscanf.h
    M libc/src/stdio/ungetc.h
    M libc/src/stdio/vfprintf.cpp
    M libc/src/stdio/vfprintf.h
    M libc/src/stdio/vprintf.h
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsnprintf.h
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdio/vsprintf.h
    M libc/src/stdlib/_Exit.cpp
    M libc/src/stdlib/_Exit.h
    M libc/src/stdlib/abort.h
    M libc/src/stdlib/abs.cpp
    M libc/src/stdlib/abs.h
    M libc/src/stdlib/aligned_alloc.h
    M libc/src/stdlib/at_quick_exit.cpp
    M libc/src/stdlib/at_quick_exit.h
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/atexit.h
    M libc/src/stdlib/atof.cpp
    M libc/src/stdlib/atof.h
    M libc/src/stdlib/atoi.cpp
    M libc/src/stdlib/atoi.h
    M libc/src/stdlib/atol.cpp
    M libc/src/stdlib/atol.h
    M libc/src/stdlib/atoll.cpp
    M libc/src/stdlib/atoll.h
    M libc/src/stdlib/baremetal/abort.cpp
    M libc/src/stdlib/bsearch.cpp
    M libc/src/stdlib/bsearch.h
    M libc/src/stdlib/calloc.h
    M libc/src/stdlib/div.cpp
    M libc/src/stdlib/div.h
    M libc/src/stdlib/exit.cpp
    M libc/src/stdlib/exit.h
    M libc/src/stdlib/exit_handler.cpp
    M libc/src/stdlib/exit_handler.h
    M libc/src/stdlib/free.h
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/src/stdlib/getenv.cpp
    M libc/src/stdlib/getenv.h
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/src/stdlib/labs.cpp
    M libc/src/stdlib/labs.h
    M libc/src/stdlib/ldiv.cpp
    M libc/src/stdlib/ldiv.h
    M libc/src/stdlib/linux/abort.cpp
    M libc/src/stdlib/llabs.cpp
    M libc/src/stdlib/llabs.h
    M libc/src/stdlib/lldiv.cpp
    M libc/src/stdlib/lldiv.h
    M libc/src/stdlib/malloc.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_r.h
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_exit.cpp
    M libc/src/stdlib/quick_exit.h
    M libc/src/stdlib/rand.cpp
    M libc/src/stdlib/rand.h
    M libc/src/stdlib/rand_util.cpp
    M libc/src/stdlib/rand_util.h
    M libc/src/stdlib/realloc.h
    M libc/src/stdlib/srand.cpp
    M libc/src/stdlib/srand.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfromf.h
    M libc/src/stdlib/strfroml.cpp
    M libc/src/stdlib/strfroml.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtod.h
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtof.h
    M libc/src/stdlib/strtol.cpp
    M libc/src/stdlib/strtol.h
    M libc/src/stdlib/strtold.cpp
    M libc/src/stdlib/strtold.h
    M libc/src/stdlib/strtoll.cpp
    M libc/src/stdlib/strtoll.h
    M libc/src/stdlib/strtoul.cpp
    M libc/src/stdlib/strtoul.h
    M libc/src/stdlib/strtoull.cpp
    M libc/src/stdlib/strtoull.h
    M libc/src/string/allocating_string_utils.h
    M libc/src/string/bcmp.cpp
    M libc/src/string/bcmp.h
    M libc/src/string/bcopy.cpp
    M libc/src/string/bcopy.h
    M libc/src/string/bzero.cpp
    M libc/src/string/bzero.h
    M libc/src/string/index.cpp
    M libc/src/string/index.h
    M libc/src/string/memccpy.cpp
    M libc/src/string/memccpy.h
    M libc/src/string/memchr.cpp
    M libc/src/string/memchr.h
    M libc/src/string/memcmp.cpp
    M libc/src/string/memcmp.h
    M libc/src/string/memcpy.cpp
    M libc/src/string/memcpy.h
    M libc/src/string/memmem.cpp
    M libc/src/string/memmem.h
    M libc/src/string/memmove.cpp
    M libc/src/string/memmove.h
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/aarch64/inline_memset.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/inline_bcmp.h
    M libc/src/string/memory_utils/inline_bzero.h
    M libc/src/string/memory_utils/inline_memcmp.h
    M libc/src/string/memory_utils/inline_memcpy.h
    M libc/src/string/memory_utils/inline_memmem.h
    M libc/src/string/memory_utils/inline_memmove.h
    M libc/src/string/memory_utils/inline_memset.h
    M libc/src/string/memory_utils/inline_strcmp.h
    M libc/src/string/memory_utils/inline_strstr.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_riscv.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_bcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcpy.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/riscv/inline_memset.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memmove.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/src/string/mempcpy.cpp
    M libc/src/string/mempcpy.h
    M libc/src/string/memrchr.cpp
    M libc/src/string/memrchr.h
    M libc/src/string/memset.cpp
    M libc/src/string/memset.h
    M libc/src/string/memset_explicit.cpp
    M libc/src/string/memset_explicit.h
    M libc/src/string/rindex.cpp
    M libc/src/string/rindex.h
    M libc/src/string/stpcpy.cpp
    M libc/src/string/stpcpy.h
    M libc/src/string/stpncpy.cpp
    M libc/src/string/stpncpy.h
    M libc/src/string/strcasecmp.cpp
    M libc/src/string/strcasecmp.h
    M libc/src/string/strcasestr.cpp
    M libc/src/string/strcasestr.h
    M libc/src/string/strcat.cpp
    M libc/src/string/strcat.h
    M libc/src/string/strchr.cpp
    M libc/src/string/strchr.h
    M libc/src/string/strchrnul.cpp
    M libc/src/string/strchrnul.h
    M libc/src/string/strcmp.cpp
    M libc/src/string/strcmp.h
    M libc/src/string/strcoll.cpp
    M libc/src/string/strcoll.h
    M libc/src/string/strcpy.cpp
    M libc/src/string/strcpy.h
    M libc/src/string/strcspn.cpp
    M libc/src/string/strcspn.h
    M libc/src/string/strdup.cpp
    M libc/src/string/strdup.h
    M libc/src/string/strerror.cpp
    M libc/src/string/strerror.h
    M libc/src/string/strerror_r.cpp
    M libc/src/string/strerror_r.h
    M libc/src/string/string_utils.h
    M libc/src/string/strlcat.cpp
    M libc/src/string/strlcat.h
    M libc/src/string/strlcpy.cpp
    M libc/src/string/strlcpy.h
    M libc/src/string/strlen.cpp
    M libc/src/string/strlen.h
    M libc/src/string/strncasecmp.cpp
    M libc/src/string/strncasecmp.h
    M libc/src/string/strncat.cpp
    M libc/src/string/strncat.h
    M libc/src/string/strncmp.cpp
    M libc/src/string/strncmp.h
    M libc/src/string/strncpy.cpp
    M libc/src/string/strncpy.h
    M libc/src/string/strndup.cpp
    M libc/src/string/strndup.h
    M libc/src/string/strnlen.cpp
    M libc/src/string/strnlen.h
    M libc/src/string/strpbrk.cpp
    M libc/src/string/strpbrk.h
    M libc/src/string/strrchr.cpp
    M libc/src/string/strrchr.h
    M libc/src/string/strsep.cpp
    M libc/src/string/strsep.h
    M libc/src/string/strsignal.cpp
    M libc/src/string/strsignal.h
    M libc/src/string/strspn.cpp
    M libc/src/string/strspn.h
    M libc/src/string/strstr.cpp
    M libc/src/string/strstr.h
    M libc/src/string/strtok.cpp
    M libc/src/string/strtok.h
    M libc/src/string/strtok_r.cpp
    M libc/src/string/strtok_r.h
    M libc/src/string/strxfrm.cpp
    M libc/src/string/strxfrm.h
    M libc/src/sys/auxv/getauxval.h
    M libc/src/sys/auxv/linux/getauxval.cpp
    M libc/src/sys/epoll/epoll_create.h
    M libc/src/sys/epoll/epoll_create1.h
    M libc/src/sys/epoll/epoll_ctl.h
    M libc/src/sys/epoll/epoll_pwait.h
    M libc/src/sys/epoll/epoll_pwait2.h
    M libc/src/sys/epoll/epoll_wait.h
    M libc/src/sys/epoll/linux/epoll_create.cpp
    M libc/src/sys/epoll/linux/epoll_create1.cpp
    M libc/src/sys/epoll/linux/epoll_ctl.cpp
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/sys/mman/linux/madvise.cpp
    M libc/src/sys/mman/linux/mincore.cpp
    M libc/src/sys/mman/linux/mlock.cpp
    M libc/src/sys/mman/linux/mlock2.cpp
    M libc/src/sys/mman/linux/mlockall.cpp
    M libc/src/sys/mman/linux/mmap.cpp
    M libc/src/sys/mman/linux/mprotect.cpp
    M libc/src/sys/mman/linux/msync.cpp
    M libc/src/sys/mman/linux/munlock.cpp
    M libc/src/sys/mman/linux/munlockall.cpp
    M libc/src/sys/mman/linux/munmap.cpp
    M libc/src/sys/mman/linux/posix_madvise.cpp
    M libc/src/sys/mman/linux/shm_common.h
    M libc/src/sys/mman/linux/shm_open.cpp
    M libc/src/sys/mman/linux/shm_unlink.cpp
    M libc/src/sys/mman/madvise.h
    M libc/src/sys/mman/mincore.h
    M libc/src/sys/mman/mlock.h
    M libc/src/sys/mman/mlock2.h
    M libc/src/sys/mman/mlockall.h
    M libc/src/sys/mman/mmap.h
    M libc/src/sys/mman/mprotect.h
    M libc/src/sys/mman/msync.h
    M libc/src/sys/mman/munlock.h
    M libc/src/sys/mman/munlockall.h
    M libc/src/sys/mman/munmap.h
    M libc/src/sys/mman/posix_madvise.h
    M libc/src/sys/mman/shm_open.h
    M libc/src/sys/mman/shm_unlink.h
    M libc/src/sys/prctl/linux/prctl.cpp
    M libc/src/sys/prctl/prctl.h
    M libc/src/sys/random/getrandom.h
    M libc/src/sys/random/linux/getrandom.cpp
    M libc/src/sys/resource/getrlimit.h
    M libc/src/sys/resource/linux/getrlimit.cpp
    M libc/src/sys/resource/linux/setrlimit.cpp
    M libc/src/sys/resource/setrlimit.h
    M libc/src/sys/select/linux/select.cpp
    M libc/src/sys/select/select.h
    M libc/src/sys/sendfile/linux/sendfile.cpp
    M libc/src/sys/sendfile/sendfile.h
    M libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/bind.cpp
    M libc/src/sys/socket/linux/socket.cpp
    M libc/src/sys/socket/socket.h
    M libc/src/sys/stat/chmod.h
    M libc/src/sys/stat/fchmod.h
    M libc/src/sys/stat/fchmodat.h
    M libc/src/sys/stat/fstat.h
    M libc/src/sys/stat/linux/chmod.cpp
    M libc/src/sys/stat/linux/fchmod.cpp
    M libc/src/sys/stat/linux/fchmodat.cpp
    M libc/src/sys/stat/linux/fstat.cpp
    M libc/src/sys/stat/linux/kernel_statx.h
    M libc/src/sys/stat/linux/lstat.cpp
    M libc/src/sys/stat/linux/mkdir.cpp
    M libc/src/sys/stat/linux/mkdirat.cpp
    M libc/src/sys/stat/linux/stat.cpp
    M libc/src/sys/stat/lstat.h
    M libc/src/sys/stat/mkdir.h
    M libc/src/sys/stat/mkdirat.h
    M libc/src/sys/stat/stat.h
    M libc/src/sys/statvfs/fstatvfs.h
    M libc/src/sys/statvfs/linux/fstatvfs.cpp
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/linux/statvfs.cpp
    M libc/src/sys/statvfs/statvfs.h
    M libc/src/sys/utsname/linux/uname.cpp
    M libc/src/sys/utsname/uname.h
    M libc/src/sys/wait/linux/wait.cpp
    M libc/src/sys/wait/linux/wait4.cpp
    M libc/src/sys/wait/linux/waitpid.cpp
    M libc/src/sys/wait/wait.h
    M libc/src/sys/wait/wait4.h
    M libc/src/sys/wait/wait4Impl.h
    M libc/src/sys/wait/waitpid.h
    M libc/src/termios/cfgetispeed.h
    M libc/src/termios/cfgetospeed.h
    M libc/src/termios/cfsetispeed.h
    M libc/src/termios/cfsetospeed.h
    M libc/src/termios/linux/cfgetispeed.cpp
    M libc/src/termios/linux/cfgetospeed.cpp
    M libc/src/termios/linux/cfsetispeed.cpp
    M libc/src/termios/linux/cfsetospeed.cpp
    M libc/src/termios/linux/kernel_termios.h
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/termios/tcdrain.h
    M libc/src/termios/tcflow.h
    M libc/src/termios/tcflush.h
    M libc/src/termios/tcgetattr.h
    M libc/src/termios/tcgetsid.h
    M libc/src/termios/tcsendbreak.h
    M libc/src/termios/tcsetattr.h
    M libc/src/threads/call_once.cpp
    M libc/src/threads/call_once.h
    M libc/src/threads/cnd_broadcast.h
    M libc/src/threads/cnd_destroy.h
    M libc/src/threads/cnd_init.h
    M libc/src/threads/cnd_signal.h
    M libc/src/threads/cnd_wait.h
    M libc/src/threads/linux/Futex.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/threads/mtx_destroy.cpp
    M libc/src/threads/mtx_destroy.h
    M libc/src/threads/mtx_init.cpp
    M libc/src/threads/mtx_init.h
    M libc/src/threads/mtx_lock.cpp
    M libc/src/threads/mtx_lock.h
    M libc/src/threads/mtx_unlock.cpp
    M libc/src/threads/mtx_unlock.h
    M libc/src/threads/thrd_create.cpp
    M libc/src/threads/thrd_create.h
    M libc/src/threads/thrd_current.cpp
    M libc/src/threads/thrd_current.h
    M libc/src/threads/thrd_detach.cpp
    M libc/src/threads/thrd_detach.h
    M libc/src/threads/thrd_equal.cpp
    M libc/src/threads/thrd_equal.h
    M libc/src/threads/thrd_exit.cpp
    M libc/src/threads/thrd_exit.h
    M libc/src/threads/thrd_join.cpp
    M libc/src/threads/thrd_join.h
    M libc/src/threads/tss_create.cpp
    M libc/src/threads/tss_create.h
    M libc/src/threads/tss_delete.cpp
    M libc/src/threads/tss_delete.h
    M libc/src/threads/tss_get.cpp
    M libc/src/threads/tss_get.h
    M libc/src/threads/tss_set.cpp
    M libc/src/threads/tss_set.h
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/clock.h
    M libc/src/time/clock_gettime.h
    M libc/src/time/difftime.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gettimeofday.h
    M libc/src/time/gmtime.cpp
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.cpp
    M libc/src/time/gmtime_r.h
    M libc/src/time/gpu/clock.cpp
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libc/src/time/linux/clock.cpp
    M libc/src/time/linux/clock_gettime.cpp
    M libc/src/time/linux/gettimeofday.cpp
    M libc/src/time/linux/nanosleep.cpp
    M libc/src/time/linux/time.cpp
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/nanosleep.h
    M libc/src/time/time_func.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/src/unistd/_exit.cpp
    M libc/src/unistd/_exit.h
    M libc/src/unistd/access.h
    M libc/src/unistd/chdir.h
    M libc/src/unistd/close.h
    M libc/src/unistd/dup.h
    M libc/src/unistd/dup2.h
    M libc/src/unistd/dup3.h
    M libc/src/unistd/environ.cpp
    M libc/src/unistd/environ.h
    M libc/src/unistd/execv.h
    M libc/src/unistd/execve.h
    M libc/src/unistd/fchdir.h
    M libc/src/unistd/fork.h
    M libc/src/unistd/fpathconf.h
    M libc/src/unistd/fsync.h
    M libc/src/unistd/ftruncate.h
    M libc/src/unistd/getcwd.h
    M libc/src/unistd/geteuid.h
    M libc/src/unistd/getopt.cpp
    M libc/src/unistd/getopt.h
    M libc/src/unistd/getpid.h
    M libc/src/unistd/getppid.h
    M libc/src/unistd/getuid.h
    M libc/src/unistd/isatty.h
    M libc/src/unistd/link.h
    M libc/src/unistd/linkat.h
    M libc/src/unistd/linux/access.cpp
    M libc/src/unistd/linux/chdir.cpp
    M libc/src/unistd/linux/close.cpp
    M libc/src/unistd/linux/dup.cpp
    M libc/src/unistd/linux/dup2.cpp
    M libc/src/unistd/linux/dup3.cpp
    M libc/src/unistd/linux/execv.cpp
    M libc/src/unistd/linux/execve.cpp
    M libc/src/unistd/linux/fchdir.cpp
    M libc/src/unistd/linux/fork.cpp
    M libc/src/unistd/linux/fpathconf.cpp
    M libc/src/unistd/linux/fsync.cpp
    M libc/src/unistd/linux/ftruncate.cpp
    M libc/src/unistd/linux/getcwd.cpp
    M libc/src/unistd/linux/geteuid.cpp
    M libc/src/unistd/linux/getpid.cpp
    M libc/src/unistd/linux/getppid.cpp
    M libc/src/unistd/linux/getuid.cpp
    M libc/src/unistd/linux/isatty.cpp
    M libc/src/unistd/linux/link.cpp
    M libc/src/unistd/linux/linkat.cpp
    M libc/src/unistd/linux/lseek.cpp
    M libc/src/unistd/linux/pathconf.cpp
    M libc/src/unistd/linux/pathconf_utils.cpp
    M libc/src/unistd/linux/pathconf_utils.h
    M libc/src/unistd/linux/pipe.cpp
    M libc/src/unistd/linux/pread.cpp
    M libc/src/unistd/linux/pwrite.cpp
    M libc/src/unistd/linux/read.cpp
    M libc/src/unistd/linux/readlink.cpp
    M libc/src/unistd/linux/readlinkat.cpp
    M libc/src/unistd/linux/rmdir.cpp
    M libc/src/unistd/linux/symlink.cpp
    M libc/src/unistd/linux/symlinkat.cpp
    M libc/src/unistd/linux/syscall.cpp
    M libc/src/unistd/linux/sysconf.cpp
    M libc/src/unistd/linux/truncate.cpp
    M libc/src/unistd/linux/unlink.cpp
    M libc/src/unistd/linux/unlinkat.cpp
    M libc/src/unistd/linux/write.cpp
    M libc/src/unistd/lseek.h
    M libc/src/unistd/pathconf.h
    M libc/src/unistd/pipe.h
    M libc/src/unistd/pread.h
    M libc/src/unistd/pwrite.h
    M libc/src/unistd/read.h
    M libc/src/unistd/readlink.h
    M libc/src/unistd/readlinkat.h
    M libc/src/unistd/rmdir.h
    M libc/src/unistd/swab.cpp
    M libc/src/unistd/swab.h
    M libc/src/unistd/symlink.h
    M libc/src/unistd/symlinkat.h
    M libc/src/unistd/syscall.h
    M libc/src/unistd/sysconf.h
    M libc/src/unistd/truncate.h
    M libc/src/unistd/unlink.h
    M libc/src/unistd/unlinkat.h
    M libc/src/unistd/write.h
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/btowc.h
    M libc/src/wchar/wctob.cpp
    M libc/src/wchar/wctob.h
    M libc/startup/baremetal/fini.cpp
    M libc/startup/baremetal/init.cpp
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/do_start.h
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/tls.cpp
    M libc/test/IntegrationTest/test.cpp
    M libc/test/UnitTest/BazelFilePath.cpp
    M libc/test/UnitTest/CmakeFilePath.cpp
    M libc/test/UnitTest/ErrnoSetterMatcher.h
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/UnitTest/FEnvSafeTest.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/HermeticTestUtils.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/UnitTest/PrintfMatcher.h
    M libc/test/UnitTest/RoundingModeUtils.cpp
    M libc/test/UnitTest/RoundingModeUtils.h
    M libc/test/UnitTest/ScanfMatcher.cpp
    M libc/test/UnitTest/ScanfMatcher.h
    M libc/test/UnitTest/StringUtils.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/UnitTest/TestLogger.h
    M libc/test/UnitTest/ZxTest.h
    M libc/test/include/sys/queue_test.cpp
    M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
    M libc/test/src/__support/CPP/algorithm_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/cstddef_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/CPP/type_traits_test.cpp
    M libc/test/src/__support/HashTable/bitmask_test.cpp
    M libc/test/src/__support/HashTable/group_test.cpp
    M libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/__support/endian_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/__support/str_to_double_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/__support/str_to_fp_test.h
    M libc/test/src/__support/str_to_long_double_test.cpp
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
    M libc/test/src/math/performance_testing/Timer.cpp
    M libc/test/src/math/performance_testing/Timer.h
    M libc/test/src/math/sdcomp26094.h
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/strtoint32_test.cpp
    M libc/test/src/stdlib/strtoint64_test.cpp
    M libc/test/src/string/bcmp_test.cpp
    M libc/test/src/string/bcopy_test.cpp
    M libc/test/src/string/bzero_test.cpp
    M libc/test/src/string/memcmp_test.cpp
    M libc/test/src/string/memcpy_test.cpp
    M libc/test/src/string/memmem_test.cpp
    M libc/test/src/string/memmove_test.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/test/src/string/memset_explicit_test.cpp
    M libc/test/src/string/memset_test.cpp
    M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
    M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration" (#98593)

Reverts llvm/llvm-project#98075

bots are broken


  Commit: 7a7d370742dff82caa6a713bc2b1e2c0c51a9f30
      https://github.com/llvm/llvm-project/commit/7a7d370742dff82caa6a713bc2b1e2c0c51a9f30
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp

  Log Message:
  -----------
  [NFC] Add DIExpression::calculateFragmentIntersect (#97738)

Patch [3/x] to fix structured bindings debug info in SROA.

This function computes a fragment, bit-extract operation if needed, and new
constant offset to describe a part of a variable covered by some memory.

This generalises, simplifies, and replaces at::calculateFragmentIntersect. That
version is still used as a wrapper for now though to keep this change NFC.

The new version takes doesn't have a DbgRecord parameter, instead using an
explicit address and address offset. The old version only operates on
dbg_assigns and this change means it can also operate on dbg_declare records
easily, which it will do in a subsequent patch.

The new version has a new out-param OffsetFromLocationInBits which is set to
the difference between the first bit of the variable location and the first
bit of the memory slice. This will be used in a subsequent patch in SROA to
determine the new offset to use in the address expression after splitting an
alloca.


  Commit: 099899961c1e89a1789f534579d35a74a2ef1dda
      https://github.com/llvm/llvm-project/commit/099899961c1e89a1789f534579d35a74a2ef1dda
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
    M llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/CodeGen/IfConversion.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/MIRSampleProfile.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/CodeGen/SpillPlacement.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp
    A llvm/test/CodeGen/X86/machine-block-freq.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port `machine-block-freq` to new pass manager (#98317)

- Add `MachineBlockFrequencyAnalysis`.
- Add `MachineBlockFrequencyPrinterPass`.
- Use `MachineBlockFrequencyInfoWrapperPass` in legacy pass manager.
- `LazyMachineBlockFrequencyInfo::print` is empty, drop it due to new
pass manager migration.


  Commit: 345861b186645f82c0b812427fdafe6ebd62a058
      https://github.com/llvm/llvm-project/commit/345861b186645f82c0b812427fdafe6ebd62a058
  Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/XCOFFObjectWriter.cpp

  Log Message:
  -----------
  [MC] Optimize loops in MC (#98114)

https://llvm.org/docs/CodingStandards.html tells us that we should avoid
evaluating `.end()` each time if possible.


  Commit: c5ee3c05ca61f3fae11337c5853aee7b450a9dc6
      https://github.com/llvm/llvm-project/commit/c5ee3c05ca61f3fae11337c5853aee7b450a9dc6
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/machine-block-freq.mir

  Log Message:
  -----------
  [test] Add triple in test introduced in #98317 (#98600)

Missing `-mtriple` in test, causes failure on some none x86 default
targets.


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

  Changed paths:
    M lldb/unittests/Expression/ClangParserTest.cpp

  Log Message:
  -----------
  [lldb][test] Fix ComputeClangResourceDirectory test when CLANG_RESOURCE_DIR is set (#98464)

This was found during testing of llvm snapshots for Fedora.

This test was looking for an exact string match of the path calculated
by starting with lib/liblldb and with bin/lldb. However when
CLANG_RESOURCE_DIR is set to something e.g. "../lib/clang/19", the way
the initial path is handled is different.

Instead of taking the parent of the parent of the binary, that is
foo/bin/lldb/ -> foo/, it uses the parent of the binary and appends
CLANG_RESOURCE_DIR to that. As CLANG_RESOURCE_DIR is defined as being a
path relative to the parent dir's of the clang binary.

This means that if you start with foo/lib/lidblldb the resulting path is
lib/../lib/clang/19, but if you start with bin/lldb the result is
bin/../lib/clang/19.

I don't want to change the starting path of
DefaultComputeClangResourceDirectory (which is bin/lldb) as I suspect
that's chosen instead of liblldb for good reason.

So the way to make this test work is to check not for exact path matches
but that the "real" (".." resolved) version of the paths are the same.
That way foo/bin/../lib and foo/lib/../lib will be the same.


  Commit: 6479a5a438a9545dd8f449be96d4024d0a08beba
      https://github.com/llvm/llvm-project/commit/6479a5a438a9545dd8f449be96d4024d0a08beba
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [mlir][vector] Restrict DropInnerMostUnitDimsTransfer{Read|Write} (#96218)

Restrict `DropInnerMostUnitDimsTransfer{Read|Write}` so that it fails
when one of the indices to be dropped could be != 0 and "out of bounds":

```mlir
func.func @negative_example(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %idx_1: index, %idx_2: index) {
  vector.transfer_write %arg1, %arg0[%idx_1, %idx_2] {in_bounds = [true, false]} : vector<8x1xf32>, memref<16x1xf32>
  return
}
```

This is an edge case that could represent an out-of-bounds access,
though that will depend on the actual value of %i. Importantly, without
this change it would be transformed as follows:

```mlir
func.func @negative_example(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index, %arg3: index) {
  %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
  %0 = vector.shape_cast %arg1 : vector<8x1xf32> to vector<8xf32>
  vector.transfer_write %0, %subview[%arg2] {in_bounds = [true]} : vector<8xf32>, memref<16xf32, strided<[1]>>
  return
}
```

This is incorrect - `%idx_2` is ignored and the "out of bounds" flags is
not propagated. Hence the extra restriction to avoid such cases.

NOTE: This is a follow-up for: #94904


  Commit: 4570a34f929693e442c7d09dc6aef7e801c2dc1d
      https://github.com/llvm/llvm-project/commit/4570a34f929693e442c7d09dc6aef7e801c2dc1d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/AllocationOrder.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp

  Log Message:
  -----------
  [CodeGen] Use range-based for loops (NFC) (#98459)


  Commit: 6dc2c3db6233b4537765e242b37ff526cf7ffdaf
      https://github.com/llvm/llvm-project/commit/6dc2c3db6233b4537765e242b37ff526cf7ffdaf
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M utils/bazel/README.md

  Log Message:
  -----------
  remove outdated section about bazel pre-merge testing


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

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/test/DebugInfo/Generic/debug-info-enum.ll
    M llvm/test/DebugInfo/X86/dbg-rust-valid-enum-as-scope.ll

  Log Message:
  -----------
  [llvm][DebugInfo] Add DW_AT_type to DW_TAG_enumeration_type in non-strict DWARF v2 mode (#98335)

During testing of https://github.com/llvm/llvm-project/pull/96202 we
found that when clang set to DWARF v2 was used to build the test file,
lldb could not tell that the unsigned enum type was in fact unsigned. So
it defaulted to signed and printed the wrong value.

The reason for this is that DWARFv2 does not include DW_AT_type in
DW_TAG_enumeration_type. This was added in DWARF v3:
"The enumeration type entry may also have a DW_AT_type attribute which
refers to the underlying data type used to implement the enumeration.

In C or C++, the underlying type will be the appropriate integral type
determined by the compiler from the properties of the enumeration
literal values."

I noticed that gcc does emit this attribute for DWARF v2 but not when
strict DWARF is requested (more details in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16063#c7).

This patch changes to clang to do the same. This will improve the
experience of anyone using tools that can understand the attribute but
for whatever reason are stuck building binaries containing v2 only.

You can see a current clang/gcc comparison here:
https://godbolt.org/z/eG9Kc9WGf

https://reviews.llvm.org/D42734 added the original code that emitted
this for >= v3 only.


  Commit: f34a1654d6f7d1b072a01e690f2330cfb2ca07d8
      https://github.com/llvm/llvm-project/commit/f34a1654d6f7d1b072a01e690f2330cfb2ca07d8
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp

  Log Message:
  -----------
  [NFC][Clang] Move set functions out BranchProtectionInfo. (#98451)

To reduce build times move them to TargetCodeGenInfo.

Refactor of #98329


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

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    R clang/bindings/python/clang/enumerations.py
    M clang/bindings/python/tests/cindex/test_enums.py
    M clang/bindings/python/tests/cindex/test_token_kind.py
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [libclang/python] Refactor enum usage (#95608)

Use Python's builtin enum class instead of writing our own.

This is preparation for passing a strict type check in PR #78114 ,
fixing 927 out of 1341 strict typing errors

---------

Co-authored-by: Jannick Kremer <jannick-kremer at gmx.de>
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>


  Commit: 4a02b0be261e265690b81a692cfd617b01649a51
      https://github.com/llvm/llvm-project/commit/4a02b0be261e265690b81a692cfd617b01649a51
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port for a4cdd94ed0afe76854f837ce3c49c74e712d721d


  Commit: c0a5bf80018122735fab18d81e8b7fbbb9466ddc
      https://github.com/llvm/llvm-project/commit/c0a5bf80018122735fab18d81e8b7fbbb9466ddc
  Author: SahilPatidar <patidarsahil2001 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [X86][AVX] Fix handling of out-of-bounds shift amounts in AVX2 vector logical shift nodes #83840 (#86922)

Resolve #83840


  Commit: 87bf82d14d7f03ce67ddd56d9da457a23c316f0e
      https://github.com/llvm/llvm-project/commit/87bf82d14d7f03ce67ddd56d9da457a23c316f0e
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    A mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    A mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Lower REDUCTION clause for SECTIONS construct (#97859)

This shares code with WsloopOp (the changes to Wsloop should be NFC).
OpenMPIRBuilder basically implements SECTIONS as a wsloop over a case
statement with each SECTION as a case for a particular loopiv value.

Unfortunately it proved very difficult to share code between these and
ParallelOp. ParallelOp does quite a few things differently (doing more
work inside of the bodygen callback and laying out blocks differently).
Aligning reduction implementations for wsloop and parallel will probably
involve functional changes to both, so I won't attempt that in this
commit.


  Commit: de90391ea88c51da8bcde95206f3f31ecbaf97a3
      https://github.com/llvm/llvm-project/commit/de90391ea88c51da8bcde95206f3f31ecbaf97a3
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/sections-array-reduction.f90
    A flang/test/Lower/OpenMP/sections-reduction.f90

  Log Message:
  -----------
  [flang][OpenMP] Lower REDUCTION clause for SECTIONS (#97858)

The tricky bit here is that we need to generate the reduction symbol
mapping inside each of the nested SECTION constructs. This is a bit
similar to omp.canonical_loop inside of omp.wsloop, except the SECTION
constructs come from the PFT.

To make this work I moved the lowering of the SECTION constructs inside
of the lowering SECTIONS (where reduction information is still
available). This subverts the normal control flow for OpenMP lowering a
bit.

One alternative option I investigated would be to generate the SECTION
CONSTRUCTS as normal as though there were no reduction, and then to fix
them up after control returns back to genSectionsOp. The problem here is
that the code generated for the section body has the wrong symbol
mapping for the reduction variable, so all of the nested code has to be
patched up. In my prototype version this was even more hacky than what
the solution I settled upon.


  Commit: 70f57d25743ca7230bcad3cae7e3072f0aded6f7
      https://github.com/llvm/llvm-project/commit/70f57d25743ca7230bcad3cae7e3072f0aded6f7
  Author: Budimir Aranđelović <123091736+budimirarandjelovicsyrmia at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Attr.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/Sema/attr-format-missing.c
    A clang/test/Sema/attr-format-missing.cpp

  Log Message:
  -----------
  [clang] Catch missing format attributes (#70024)

Enable flag -Wmissing-format-attribute to catch missing attributes.

Fixes #60718


  Commit: 5b0dba13a5632d944d1eac8b39f44f65ec524e86
      https://github.com/llvm/llvm-project/commit/5b0dba13a5632d944d1eac8b39f44f65ec524e86
  Author: ManuelJBrito <59119670+ManuelJBrito at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    A llvm/test/Transforms/NewGVN/cache-safe-phiofops.ll

  Log Message:
  -----------
  [NewGVN] Fix caching for OpIsSafeForPhiOfOps (#98340)

The caching mechanism for 'OpIsSafeForPhiOfOps' is unsound. An operand
is deemed unsafe for PhiOfOps if it depends on a phi that resides in the
same block as the Phi block, i.e., where we are performing the PhiOfOps.
This is to avoid having to materialize the translated subexpressions. To
avoid redundant code walking, a cache is used to store these results.
Note, however, that since the safety is specific to the Phi block, we
cannot, in general, use the cached results for other blocks.

This patch addresses this by having a cache per block instead of a
single one for the entire function. closes #63335


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

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    M flang/test/Semantics/array-constr-len.f90

  Log Message:
  -----------
  Revert "[flang] Adjust semantics of the char length of an array constructor" (#98612)

Reverts llvm/llvm-project#97337

This has caused llvm test suite failures on our bots, for example:
https://lab.llvm.org/buildbot/#/builders/17/builds/709

```
FAIL: test-suite::gfortran-regression-execute-regression__char_length_21_f90.test 
FAIL: test-suite::gfortran-regression-execute-regression__char_length_20_f90.test
```


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

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

  Log Message:
  -----------
  [X86] Update sra(x,umin(amt,bw-1)) -> psrav(x,amt) fold to use SDPatternMatch. NFC.

First tentative attempt to use SDPatternMatch for x86 combine matching - main problem so far is namespace clashing when trying to expose llvm::SDPatternMatch to the entire file.


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

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

  Log Message:
  -----------
  [X86] combineShiftToPMULH - reuse existing SDLoc. NFC.


  Commit: 0913547d0e3939cc420e88ecd037240f33736820
      https://github.com/llvm/llvm-project/commit/0913547d0e3939cc420e88ecd037240f33736820
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    A clang/test/C/C2y/n3244.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Claim partial conformance to WG14 N3244 (#98525)

This paper had several changes within it, and Clang implements some of
the changes, but not others. This updates the status accordingly.


  Commit: 2369a54fbeb61f965a3a425e660c878ae8b962c3
      https://github.com/llvm/llvm-project/commit/2369a54fbeb61f965a3a425e660c878ae8b962c3
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Targets.cpp
    R clang/lib/Basic/Targets/Le64.cpp
    R clang/lib/Basic/Targets/Le64.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/bitfield-access-pad.c
    M clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGenCXX/bitfield-access-empty.cpp
    M clang/test/CodeGenCXX/bitfield-access-tail.cpp
    M clang/test/Preprocessor/predefined-macros-no-warnings.c
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn

  Log Message:
  -----------
  Finish deleting the le32/le64 targets (#98497)

This is a revert of ef5e7f90ea4d5063ce68b952c5de473e610afc02 which was a
temporary partial revert of 77ac823fd285973cfb3517932c09d82e6a32f46d.
The le32 and le64 targets are no longer necessary to retain, so this
removes them entirely.


  Commit: 9d1017204a253782a82d1b7d16c59eea3f811a11
      https://github.com/llvm/llvm-project/commit/9d1017204a253782a82d1b7d16c59eea3f811a11
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Attr.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    R clang/test/Sema/attr-format-missing.c
    R clang/test/Sema/attr-format-missing.cpp

  Log Message:
  -----------
  Revert "[clang] Catch missing format attributes" (#98617)

Reverts llvm/llvm-project#70024

It broke several post-commit bots:
https://lab.llvm.org/buildbot/#/builders/193/builds/896
https://lab.llvm.org/buildbot/#/builders/23/builds/925
https://lab.llvm.org/buildbot/#/builders/13/builds/686
and others


  Commit: 2c2148de851faaca5fe0f47bcac84a10fcd53017
      https://github.com/llvm/llvm-project/commit/2c2148de851faaca5fe0f47bcac84a10fcd53017
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    A clang/test/C/C2y/n3262.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Add documentation to conform to WG14 N3262; NFC (#98146)

This paper is about whether a copy of a va_list object which was not
produced by calling va_copy is valid to use or not. While this may work
on some targets, we explicitly document it as undefined behavior for all
targets so there's not confusion as to when it's valid or not. It's not
a burden for a user to use va_copy explicitly.


  Commit: 84bc0a9e02bbcfc0f1e1333f642be37e687fb429
      https://github.com/llvm/llvm-project/commit/84bc0a9e02bbcfc0f1e1333f642be37e687fb429
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/Parser/cxx-concepts-requires-clause.cpp

  Log Message:
  -----------
  [Clang] Fix parsing of invalid type-requirement (#98545)

A type-requirement cannot be an operator-function-id

Fixes #51868


  Commit: 8ef26f1289bf069ccc0d6383f2f4c0116a1206c1
      https://github.com/llvm/llvm-project/commit/8ef26f1289bf069ccc0d6383f2f4c0116a1206c1
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/test/Misc/warning-flags.c

  Log Message:
  -----------
  [clang] Add option to opt out of the missing_dependent_template_keyword diagnostic (#98613)

After commit ce4aada6e2135e29839f672a6599db628b53295d, we observed many
warnings in our internal codebase. It is infeasible to fix all at once.

Currently, there is no way to disable this warning. This patch provides
a way to disable it using the `-Wno-missing-dependent-template-keyword` flag.


  Commit: 8681202dd638c552eecb818d41312cbbfd48e606
      https://github.com/llvm/llvm-project/commit/8681202dd638c552eecb818d41312cbbfd48e606
  Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M compiler-rt/include/sanitizer/allocator_interface.h
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/hwasan/hwasan_allocator.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_interface.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    A compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
    A compiler-rt/test/hwasan/TestCases/Posix/ignore_free_hook.cpp

  Log Message:
  -----------
  [ASan] [HWASan] Add __sanitizer_ignore_free_hook() (#96749)

This change adds a new weak API function which makes the sanitizer
ignore the call to free(), and implements the
functionality in ASan and HWAsan. The runtime that implements this hook
can then call free() at a later point again on the same pointer (and
making sure the hook returns zero so that the memory will actually be
freed) when it's actually ready for the memory to be cleaned up.

This is needed in order to implement an sanitizer-compatible version
of Chrome's BackupRefPtr algorithm, since process-wide double-shimming
of malloc/free does not work on some platforms.

Requested and designed by @c01db33f (Mark) from Project Zero.

---------

Co-authored-by: Mark Brand <markbrand at google.com>


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

  Changed paths:
    M lldb/test/API/commands/expression/bitfield_enums/TestBitfieldEnums.py

  Log Message:
  -----------
  [lldb][test] Narrow enum test xfail to clang < 19.0 (#98616)

Since #98335 clang adds DW_AT_type, unless strict DWARF is requested.


  Commit: 83845b178eaea271da66f95bacec9d2878ef60e7
      https://github.com/llvm/llvm-project/commit/83845b178eaea271da66f95bacec9d2878ef60e7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.cpp

  Log Message:
  -----------
  [DWARFLinker] Use a range-based for loop (NFC) (#98585)


  Commit: db41a3043383067a5684ae98e6f5b30af173921d
      https://github.com/llvm/llvm-project/commit/db41a3043383067a5684ae98e6f5b30af173921d
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [OpenMP]Support for lowering masked op (#98401)


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

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

  Log Message:
  -----------
  [clang][OpenMP] Add early exit to/unindent `ActOnOpenMPLoopInitialization`

NFC


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

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

  Log Message:
  -----------
  [clang][Interp] Reject calling function pointers if types don't match


  Commit: e616fa5bc0c628962afec7ee51288b442fbb09d6
      https://github.com/llvm/llvm-project/commit/e616fa5bc0c628962afec7ee51288b442fbb09d6
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dep for vfprintf_internal


  Commit: 77fd30f7ce0795b4bbc22e65b3ff42856839d708
      https://github.com/llvm/llvm-project/commit/77fd30f7ce0795b4bbc22e65b3ff42856839d708
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGenCUDA/template-class-static-member.cu

  Log Message:
  -----------
  [CUDA][HIP] Fix template static member (#98580)

Should check host/device attributes before emitting static member of
template instantiation.

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


  Commit: 424ad163c715e478d37cfd1efaae148cdd6aa815
      https://github.com/llvm/llvm-project/commit/424ad163c715e478d37cfd1efaae148cdd6aa815
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M flang/cmake/modules/AddFlang.cmake

  Log Message:
  -----------
  [flang] Simplify LIBTYPE logic (#98072)

When the `add_flang_library` was first added, it was apparently copied
over from `add_clang_library`, including its logic to determine the
library type. It includes a workaround: If `BUILD_SHARED_LIBS` is
enabled, it should build all libraries as shared, including those that
are explicitly marked as `STATIC`[^1], because `add_clang_library`
always passes at least one of `STATIC`/`SHARED` to `llvm_add_library`,
and `llvm_add_library` could not distinguish the two cases.

Then, the two implementations diverged. For its runtime libraries, Flang
requires some libraries to always be static libraries, so if a library
is explicitly marked as `STATIC`, `BUILD_SHARED_LIBS` is ignored[^2].
 
I noticed the two implementations of the same functionality, modified
only the `add_clang_library`, and copied over the result to
`add_flang_library`[^3], without noticing that they are slightly
different. As a result, Flang runtime libraries would be built as shared
libraries with `-DBUILD_SHARED_LIBS=ON`, which may break some build
configurations[^4].

This PR fixes the problem and at the same time simplifies the library
type algorithm by just passing SHARED/STATIC verbatim to
`llvm_add_library`. This is effectively what [^2] should have done
instead adding more code to undo the workaround of [^1]. Ideally, one
would use
```
llvm_add_library(${name} ${ARG_STATIC} ${ARG_SHARED} [...])
```
but `ARG_STATIC`/`ARG_SHARED` as set by `cmake_parse_arguments` contain
`TRUE`/`FALSE` instead of the keywords themselves. I could imagine a
utility function akin to `pythonize_bool` that does this.

This simplification adds two more changes:

1. Object libraries are not explicitly requested anymore.
`llvm_add_library` itself should determine whether an object library is
necessary. As the comment notes, using an object library is not without
problems and seem of no use here since it works fine without object
library when in `XCODE`/`MSVC_IDE` mode.

2. The property `CLANG_STATIC_LIBS` was removed. It was
`FLANG_STATIC_LIBS` before to copy&paste error of #93519 [^3] which not
used anywhere. In clang, `CLANG_STATIC_LIBS` is used for `clang-shlib`
to include all component libraries in a single large library. There is
no equivalent `flang-shlib`.

[^1]: dbc2a12c7311ff4cc2cd7887d128b506bd35b579

[^2]: 3d2e05d542e646891745c5278a09950d3c4fb4a5

[^3]: #93519

[^4]:
https://github.com/llvm/llvm-project/pull/93519#issuecomment-2192359002


  Commit: dd4658f660ad6a9876df1ba375b5d2af5d07b0ad
      https://github.com/llvm/llvm-project/commit/dd4658f660ad6a9876df1ba375b5d2af5d07b0ad
  Author: David Green <david.green at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll

  Log Message:
  -----------
  [AArch64] Add a few more umull / umaddl test case. NFC

>From #98481.


  Commit: 7918e624add98b409332c6996c89a70c74126994
      https://github.com/llvm/llvm-project/commit/7918e624add98b409332c6996c89a70c74126994
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.sorting/alg.clamp/ranges.clamp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
    M libcxx/test/support/check_assertion.h
    M libcxx/test/support/container_test_types.h
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Test suite portability improvements (#98527)

This patch contains a number of small portability improvements for the
test suite, making it easier to run the test suite with other standard
library implementations.

- Guard checks for _LIBCPP_HARDENING_MODE to avoid -Wundef
- Avoid defining _LIBCPP_HARDENING_MODE even when no hardening mode is
  specified -- we should use the default mode of the library in that case.
- Add missing includes and qualify a few function calls.
- Avoid opening namespace std to forward declare stdlib containers. The
  test suite should represent user code, and user code isn't allowed to do
  that.


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

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

  Log Message:
  -----------
  [X86] Add handling for shift_logical(select(icmp_uge(amt,BW),0,x),amt) -> avx2 shift(x,amt)

We need to catch this otherwise pre-AVX512 targets will fold this to shift_logical(and(icmp_ult(amt,BW),x),amt)


  Commit: 09b1cfceb62332ebf8e5d319ee048492a709995d
      https://github.com/llvm/llvm-project/commit/09b1cfceb62332ebf8e5d319ee048492a709995d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [InstCombine] Add additional test case for (add (zext (add nuw X, C2), C1). NFC

Add test where the zext has an additional use, but the entire
expression can be replaced with (zext X). Folding even though there
is an additional use would not increase the number of instructions.


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

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

  Log Message:
  -----------
  [InstCombine] Generalize ptrtoint(gep) fold (NFC)

We're currently handling a special case of
ptrtoint gep -> add ptrtoint. Reframe the code to make it easier
to add more patterns for this transform.


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

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

  Log Message:
  -----------
  [clang][Interp] Fix member pointer temporaries

PT_MemberPtr also needs its ctor/dtor called, so add that.
However, this exposed a problem in initializing virtual bases,
so fix that as well.


  Commit: 01ceb9840a5b768232961444e3606a303ed4beed
      https://github.com/llvm/llvm-project/commit/01ceb9840a5b768232961444e3606a303ed4beed
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [InstCombine] Fold (zext (X +nuw C)) + -C --> zext(X) when zext has additional use. (#98533)

We have a general fold for (zext (X +nuw C2)) + C1 --> zext (X + (C2 +
trunc(C1)))
but this fold is disabled if the zext has an additional use.
    
If the two constants cancel, we can fold the whole expression to
zext(X) without increasing the number of instructions.


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Simplify record creation

Try to keep the indentation width lower here.


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

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Claim conformance to WG14 N3232

This is an editorial change, so no tests were added


  Commit: b94c2488f06a5f7692d552e8a5fb85ea0c920a02
      https://github.com/llvm/llvm-project/commit/b94c2488f06a5f7692d552e8a5fb85ea0c920a02
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/aarch64-a64fx.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a10.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a11.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a12.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a13.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a14.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-a7.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8-r.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.1-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.2-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.3-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.4-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.5-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.6-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-carmel.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a34.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a35.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a53.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a55.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a57.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a72.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a73.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a75.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a77.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78c.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1c.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
    M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m5.c
    M clang/test/Driver/print-enabled-extensions/aarch64-falkor.c
    M clang/test/Driver/print-enabled-extensions/aarch64-generic.c
    M clang/test/Driver/print-enabled-extensions/aarch64-kryo.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-e1.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n1.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v1.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-oryon-1.c
    M clang/test/Driver/print-enabled-extensions/aarch64-saphira.c
    M clang/test/Driver/print-enabled-extensions/aarch64-thunderx.c
    M clang/test/Driver/print-enabled-extensions/aarch64-thunderx2t99.c
    M clang/test/Driver/print-enabled-extensions/aarch64-thunderx3t110.c
    M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt81.c
    M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt83.c
    M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt88.c
    M clang/test/Driver/print-enabled-extensions/aarch64-tsv110.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M llvm/lib/Target/AArch64/AArch64Features.td

  Log Message:
  -----------
  [AArch64] Make user-visible Arm architecture version strings consistent (#98550)

Textual strings for architecture feature flags have not been
consistently written, so there are a wide variety of styles,
capitalisation, etc. and some are missing information. I have
tidied this up mechanically for AArch64, so that the output of
`--print-supported-extensions` looks much more consistent,
since it's user-visible.


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

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

  Log Message:
  -----------
  Revert "[InstCombine] Generalize ptrtoint(gep) fold (NFC)"

This reverts commit c45f939e34dafaf0f57fd1d93df7df5cc89f1dec.

This refactoring turned out to not be useful for the case I had
originally in mind, so revert it for now.


  Commit: 840e857a1969927f513a17e46445bf9a56cf81ba
      https://github.com/llvm/llvm-project/commit/840e857a1969927f513a17e46445bf9a56cf81ba
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp

  Log Message:
  -----------
  [libc++] Fix sporadic test failure in condition_variable notify_all test (#97622)

fixes #95944


  Commit: fa2421392802025e842454a31ed50dbfab643130
      https://github.com/llvm/llvm-project/commit/fa2421392802025e842454a31ed50dbfab643130
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/lifetime.ll
    A llvm/test/Transforms/MemCpyOpt/memcpy-memcpy-offset.ll
    A llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll

  Log Message:
  -----------
   [MemCpyOpt] Forward `memcpy` based on the actual copy memory location. (#87190)

Fixes #85560.

We can forward `memcpy` as long as the actual memory location being
copied have not been altered.

alive2: https://alive2.llvm.org/ce/z/q9JaHV


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

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][runtimes] Prepopulate `LLVM_BUILTIN_TARGETS` with runtimes values (#95554)

Summary:
We create the builtins separately because these are required to set up
before others are built. It's configured with a default value if not
specified, but this doesn't respect the runtimes from other targets.
This patch changes the behavior to prepopulate the builtins list with
all the targets that have `compiler-rt` enabled if not overridden by the
user.


  Commit: 216db5e051733cf1c6250310392cbbe9cafce1b5
      https://github.com/llvm/llvm-project/commit/216db5e051733cf1c6250310392cbbe9cafce1b5
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  Fix Findzstd.cmake for compiler-rt with MSVC (#98645)

When building compiler-rt with MSVC, CMAKE_INSTALL_LIBDIR and
CMAKE_INSTALL_BINDIR are empty.

This causes error in Findzstd.cmake like the following:

CMake Error at C:/llvm/cmake/modules/Findzstd.cmake:39 (string):
string sub-command REGEX, mode REPLACE: regex "$" matched an empty
string.

Do not do the REGEX when CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_BINDIR
are empty.

Similar issues were reported by others at


https://github.com/llvm/llvm-project/commit/e7fc7540daa9333f0be4f380fc9c619236d17f57


  Commit: 9e261c5bee4c5618723c243986c4b39236713378
      https://github.com/llvm/llvm-project/commit/9e261c5bee4c5618723c243986c4b39236713378
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll

  Log Message:
  -----------
  [SLP]Do not salvage debug info from instructions, marked for deletion already.

If the instruction was processed already for the deletion, no need to
process it second time, it may cause compiler crash.


  Commit: 25871b35050d255be67834286d035ffe6e2c2d72
      https://github.com/llvm/llvm-project/commit/25871b35050d255be67834286d035ffe6e2c2d72
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/InstSimplify/ptrtoint.ll

  Log Message:
  -----------
  [InstSimplify] Add tests for ptrtoint of gep fold (NFC)


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Apply some clang-tidy suggestions

Remove unused includes and don't use an else after a return.


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

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

  Log Message:
  -----------
  [clang][Interp] Fix Pointer::expand() checking for metadata size

The == 0 check here was used before blocks had metadata, but doesn't
work anymore today.


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

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

  Log Message:
  -----------
  [clang][Interp] Delay compiling functions that don't have a body yet

Sometimes, isDefined() returns true, even though the function doesn't
have a body yet, but will have one later. This is for example the case
when referring to a class member function via a member pointer before
the member function has been fully parsed. Reject them at first and
compile them later.


  Commit: 026566a5a8bf5223e3f58ed9d80e7f3d5886decf
      https://github.com/llvm/llvm-project/commit/026566a5a8bf5223e3f58ed9d80e7f3d5886decf
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td

  Log Message:
  -----------
  [flang][cuda][NFC] Update description to match op assembly format (#98573)


  Commit: 06bbbf1ee01fae55faf68f14c2c3e45d5b863da1
      https://github.com/llvm/llvm-project/commit/06bbbf1ee01fae55faf68f14c2c3e45d5b863da1
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/include/mlir/IR/AttrTypeSubElements.h
    M mlir/lib/IR/AttrTypeSubElements.cpp
    A mlir/unittests/IR/AttrTypeReplacerTest.cpp
    M mlir/unittests/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Cyclic AttrType Replacer (#98206)

The current `AttrTypeReplacer` does not allow for custom handling of
replacer functions that may cause self-recursion. For example, the
replacement of one attr/type may depend on the replacement of another
attr/type (by calling into the replacer manually again), which in turn
may depend on the replacement of the original attr/type.

To enable this functionality, this PR broke out the original
AttrTypeReplacer into two parts:
- An uncached base version (`detail::AttrTypeReplacerBase`) that allows
registering replacer functions and has logic for invoking it on
attr/types & their sub-elements
- A cached version (`AttrTypeReplacer`) that provides the same caching
as the original one. This is still the one used everywhere and behavior
is unchanged.

On top of the uncached base version, a `CyclicAttrTypeReplacer` is
introduced that provides caching & cycle-handling for replacer logic
that is cyclic. Cycle-breaking & caching is provided by the
`CyclicReplacerCache` from
https://github.com/llvm/llvm-project/pull/98202.

Both concrete implementations of the uncached base version use CRTP to
avoid dynamic dispatch. The base class merely provides replacer
registration & invocation, and is not meant to be used, or otherwise
extended elsewhere.


  Commit: dd866040aeb2703debacc141f60429ea0f567146
      https://github.com/llvm/llvm-project/commit/dd866040aeb2703debacc141f60429ea0f567146
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h
    M mlir/test/Target/LLVMIR/Import/debug-info.ll

  Log Message:
  -----------
  [MLIR][LLVM] Use CyclicReplacerCache for recursive DIType import (#98203)

Use the new CyclicReplacerCache from
https://github.com/llvm/llvm-project/pull/98202 to support importing of
recursive DITypes in LLVM dialect's DebugImporter. This helps simplify
the implementation, allows for separate testing of the cache infra
itself, and as a result we even got more efficient translations.


  Commit: 5ff3ff33ff930e4ec49da7910612d8a41eb068cb
      https://github.com/llvm/llvm-project/commit/5ff3ff33ff930e4ec49da7910612d8a41eb068cb
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/benchmarks/LibcDefaultImplementations.cpp
    M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
    M libc/benchmarks/automemcpy/lib/CodeGen.cpp
    M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.cpp
    M libc/benchmarks/gpu/BenchmarkLogger.h
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/timing/amdgpu/timing.h
    M libc/benchmarks/gpu/timing/nvptx/timing.h
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/linux/app.h
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/fuzzing/__support/hashtable_fuzz.cpp
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/CPP/array.h
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/bitset.h
    M libc/src/__support/CPP/cstddef.h
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/CPP/functional.h
    M libc/src/__support/CPP/iterator.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/mutex.h
    M libc/src/__support/CPP/new.h
    M libc/src/__support/CPP/optional.h
    M libc/src/__support/CPP/span.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/CPP/stringstream.h
    M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/aligned_storage.h
    M libc/src/__support/CPP/type_traits/always_false.h
    M libc/src/__support/CPP/type_traits/bool_constant.h
    M libc/src/__support/CPP/type_traits/conditional.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/enable_if.h
    M libc/src/__support/CPP/type_traits/false_type.h
    M libc/src/__support/CPP/type_traits/integral_constant.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/type_traits/invoke_result.h
    M libc/src/__support/CPP/type_traits/is_arithmetic.h
    M libc/src/__support/CPP/type_traits/is_array.h
    M libc/src/__support/CPP/type_traits/is_base_of.h
    M libc/src/__support/CPP/type_traits/is_class.h
    M libc/src/__support/CPP/type_traits/is_const.h
    M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/__support/CPP/type_traits/is_convertible.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_enum.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_integral.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_member_pointer.h
    M libc/src/__support/CPP/type_traits/is_null_pointer.h
    M libc/src/__support/CPP/type_traits/is_object.h
    M libc/src/__support/CPP/type_traits/is_pointer.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_same.h
    M libc/src/__support/CPP/type_traits/is_scalar.h
    M libc/src/__support/CPP/type_traits/is_signed.h
    M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/is_union.h
    M libc/src/__support/CPP/type_traits/is_unsigned.h
    M libc/src/__support/CPP/type_traits/is_void.h
    M libc/src/__support/CPP/type_traits/make_signed.h
    M libc/src/__support/CPP/type_traits/make_unsigned.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/CPP/type_traits/remove_cv.h
    M libc/src/__support/CPP/type_traits/remove_cvref.h
    M libc/src/__support/CPP/type_traits/remove_extent.h
    M libc/src/__support/CPP/type_traits/remove_reference.h
    M libc/src/__support/CPP/type_traits/true_type.h
    M libc/src/__support/CPP/type_traits/type_identity.h
    M libc/src/__support/CPP/type_traits/void_t.h
    M libc/src/__support/CPP/utility/declval.h
    M libc/src/__support/CPP/utility/forward.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/integer_sequence.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/PolyEval.h
    M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/aarch64/nearest_integer.h
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    M libc/src/__support/FPUtil/arm/FEnvImpl.h
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/fpbits_str.h
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/README.md
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/div.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/FPUtil/nearest_integer.h
    M libc/src/__support/FPUtil/riscv/FEnvImpl.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/rounding_mode.h
    M libc/src/__support/FPUtil/triple_double.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/__support/FPUtil/x86_64/nearest_integer.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/File/dir.cpp
    M libc/src/__support/File/dir.h
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/dir.cpp
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/__support/File/linux/lseekImpl.h
    M libc/src/__support/File/linux/stderr.cpp
    M libc/src/__support/File/linux/stdin.cpp
    M libc/src/__support/File/linux/stdout.cpp
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/GPU/allocator.h
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/HashTable/randomness.h
    M libc/src/__support/HashTable/sse2/bitmask_impl.inc
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/OSUtil/baremetal/exit.cpp
    M libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/__support/OSUtil/darwin/arm/syscall.h
    M libc/src/__support/OSUtil/darwin/io.h
    M libc/src/__support/OSUtil/darwin/syscall.h
    M libc/src/__support/OSUtil/exit.h
    M libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/src/__support/OSUtil/gpu/exit.cpp
    M libc/src/__support/OSUtil/gpu/io.cpp
    M libc/src/__support/OSUtil/gpu/io.h
    M libc/src/__support/OSUtil/linux/aarch64/syscall.h
    M libc/src/__support/OSUtil/linux/arm/syscall.h
    M libc/src/__support/OSUtil/linux/exit.cpp
    M libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/__support/OSUtil/linux/io.h
    M libc/src/__support/OSUtil/linux/riscv/syscall.h
    M libc/src/__support/OSUtil/linux/syscall.h
    M libc/src/__support/OSUtil/linux/x86_64/syscall.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_client.cpp
    M libc/src/__support/RPC/rpc_client.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/StringUtil/error_to_string.cpp
    M libc/src/__support/StringUtil/error_to_string.h
    M libc/src/__support/StringUtil/message_mapper.h
    M libc/src/__support/StringUtil/signal_to_string.cpp
    M libc/src/__support/StringUtil/signal_to_string.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_extension_signals.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_signals.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/posix_signals.h
    M libc/src/__support/StringUtil/tables/signal_table.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/__support/StringUtil/tables/stdc_signals.h
    M libc/src/__support/arg_list.h
    M libc/src/__support/big_int.h
    M libc/src/__support/block.h
    M libc/src/__support/blockstore.h
    M libc/src/__support/c_string.h
    M libc/src/__support/char_vector.h
    M libc/src/__support/common.h
    M libc/src/__support/ctype_utils.h
    M libc/src/__support/detailed_powers_of_ten.h
    M libc/src/__support/endian.h
    M libc/src/__support/error_or.h
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/freelist.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/hash.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_operations.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/intrusive_list.h
    M libc/src/__support/libc_assert.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/number_pair.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/str_to_num_result.h
    M libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/callonce.h
    M libc/src/__support/threads/fork_callbacks.cpp
    M libc/src/__support/threads/fork_callbacks.h
    M libc/src/__support/threads/gpu/mutex.h
    M libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/__support/threads/linux/callonce.cpp
    M libc/src/__support/threads/linux/callonce.h
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/threads/linux/futex_word.h
    M libc/src/__support/threads/linux/mutex.h
    M libc/src/__support/threads/linux/raw_mutex.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/mutex_common.h
    M libc/src/__support/threads/sleep.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread.h
    M libc/src/__support/time/linux/abs_timeout.h
    M libc/src/__support/time/linux/clock_conversion.h
    M libc/src/__support/time/linux/clock_gettime.h
    M libc/src/__support/time/linux/monotonicity.h
    M libc/src/__support/time/units.h
    M libc/src/__support/wctype_utils.h
    M libc/src/assert/__assert_fail.h
    M libc/src/assert/generic/__assert_fail.cpp
    M libc/src/assert/gpu/__assert_fail.cpp
    M libc/src/ctype/isalnum.cpp
    M libc/src/ctype/isalnum.h
    M libc/src/ctype/isalpha.cpp
    M libc/src/ctype/isalpha.h
    M libc/src/ctype/isascii.cpp
    M libc/src/ctype/isascii.h
    M libc/src/ctype/isblank.cpp
    M libc/src/ctype/isblank.h
    M libc/src/ctype/iscntrl.cpp
    M libc/src/ctype/iscntrl.h
    M libc/src/ctype/isdigit.cpp
    M libc/src/ctype/isdigit.h
    M libc/src/ctype/isgraph.cpp
    M libc/src/ctype/isgraph.h
    M libc/src/ctype/islower.cpp
    M libc/src/ctype/islower.h
    M libc/src/ctype/isprint.cpp
    M libc/src/ctype/isprint.h
    M libc/src/ctype/ispunct.cpp
    M libc/src/ctype/ispunct.h
    M libc/src/ctype/isspace.cpp
    M libc/src/ctype/isspace.h
    M libc/src/ctype/isupper.cpp
    M libc/src/ctype/isupper.h
    M libc/src/ctype/isxdigit.cpp
    M libc/src/ctype/isxdigit.h
    M libc/src/ctype/toascii.cpp
    M libc/src/ctype/toascii.h
    M libc/src/ctype/tolower.cpp
    M libc/src/ctype/tolower.h
    M libc/src/ctype/toupper.cpp
    M libc/src/ctype/toupper.h
    M libc/src/dirent/closedir.cpp
    M libc/src/dirent/closedir.h
    M libc/src/dirent/dirfd.cpp
    M libc/src/dirent/dirfd.h
    M libc/src/dirent/opendir.cpp
    M libc/src/dirent/opendir.h
    M libc/src/dirent/readdir.cpp
    M libc/src/dirent/readdir.h
    M libc/src/dlfcn/dlclose.cpp
    M libc/src/dlfcn/dlclose.h
    M libc/src/dlfcn/dlerror.cpp
    M libc/src/dlfcn/dlerror.h
    M libc/src/dlfcn/dlopen.cpp
    M libc/src/dlfcn/dlopen.h
    M libc/src/dlfcn/dlsym.cpp
    M libc/src/dlfcn/dlsym.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h
    M libc/src/fcntl/creat.h
    M libc/src/fcntl/fcntl.h
    M libc/src/fcntl/linux/creat.cpp
    M libc/src/fcntl/linux/fcntl.cpp
    M libc/src/fcntl/linux/open.cpp
    M libc/src/fcntl/linux/openat.cpp
    M libc/src/fcntl/open.h
    M libc/src/fcntl/openat.h
    M libc/src/fenv/feclearexcept.cpp
    M libc/src/fenv/feclearexcept.h
    M libc/src/fenv/fedisableexcept.cpp
    M libc/src/fenv/fedisableexcept.h
    M libc/src/fenv/feenableexcept.cpp
    M libc/src/fenv/feenableexcept.h
    M libc/src/fenv/fegetenv.cpp
    M libc/src/fenv/fegetenv.h
    M libc/src/fenv/fegetexcept.cpp
    M libc/src/fenv/fegetexcept.h
    M libc/src/fenv/fegetexceptflag.cpp
    M libc/src/fenv/fegetexceptflag.h
    M libc/src/fenv/fegetround.cpp
    M libc/src/fenv/fegetround.h
    M libc/src/fenv/feholdexcept.cpp
    M libc/src/fenv/feholdexcept.h
    M libc/src/fenv/feraiseexcept.cpp
    M libc/src/fenv/feraiseexcept.h
    M libc/src/fenv/fesetenv.cpp
    M libc/src/fenv/fesetenv.h
    M libc/src/fenv/fesetexcept.cpp
    M libc/src/fenv/fesetexcept.h
    M libc/src/fenv/fesetexceptflag.cpp
    M libc/src/fenv/fesetexceptflag.h
    M libc/src/fenv/fesetround.cpp
    M libc/src/fenv/fesetround.h
    M libc/src/fenv/fetestexcept.cpp
    M libc/src/fenv/fetestexcept.h
    M libc/src/fenv/fetestexceptflag.cpp
    M libc/src/fenv/fetestexceptflag.h
    M libc/src/fenv/feupdateenv.cpp
    M libc/src/fenv/feupdateenv.h
    M libc/src/gpu/rpc_fprintf.cpp
    M libc/src/gpu/rpc_fprintf.h
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/gpu/rpc_host_call.h
    M libc/src/inttypes/imaxabs.cpp
    M libc/src/inttypes/imaxabs.h
    M libc/src/inttypes/imaxdiv.cpp
    M libc/src/inttypes/imaxdiv.h
    M libc/src/inttypes/strtoimax.cpp
    M libc/src/inttypes/strtoimax.h
    M libc/src/inttypes/strtoumax.cpp
    M libc/src/inttypes/strtoumax.h
    M libc/src/math/aarch64/ceil.cpp
    M libc/src/math/aarch64/ceilf.cpp
    M libc/src/math/aarch64/floor.cpp
    M libc/src/math/aarch64/floorf.cpp
    M libc/src/math/aarch64/round.cpp
    M libc/src/math/aarch64/roundf.cpp
    M libc/src/math/aarch64/trunc.cpp
    M libc/src/math/aarch64/truncf.cpp
    M libc/src/math/acos.h
    M libc/src/math/acosf.h
    M libc/src/math/acosh.h
    M libc/src/math/acoshf.h
    M libc/src/math/amdgpu/acos.cpp
    M libc/src/math/amdgpu/acosf.cpp
    M libc/src/math/amdgpu/acosh.cpp
    M libc/src/math/amdgpu/acoshf.cpp
    M libc/src/math/amdgpu/asin.cpp
    M libc/src/math/amdgpu/asinf.cpp
    M libc/src/math/amdgpu/asinh.cpp
    M libc/src/math/amdgpu/asinhf.cpp
    M libc/src/math/amdgpu/atan.cpp
    M libc/src/math/amdgpu/atan2.cpp
    M libc/src/math/amdgpu/atan2f.cpp
    M libc/src/math/amdgpu/atanf.cpp
    M libc/src/math/amdgpu/atanh.cpp
    M libc/src/math/amdgpu/atanhf.cpp
    M libc/src/math/amdgpu/ceil.cpp
    M libc/src/math/amdgpu/ceilf.cpp
    M libc/src/math/amdgpu/copysign.cpp
    M libc/src/math/amdgpu/copysignf.cpp
    M libc/src/math/amdgpu/cos.cpp
    M libc/src/math/amdgpu/cosf.cpp
    M libc/src/math/amdgpu/cosh.cpp
    M libc/src/math/amdgpu/coshf.cpp
    M libc/src/math/amdgpu/declarations.h
    M libc/src/math/amdgpu/erf.cpp
    M libc/src/math/amdgpu/erff.cpp
    M libc/src/math/amdgpu/exp.cpp
    M libc/src/math/amdgpu/exp10.cpp
    M libc/src/math/amdgpu/exp10f.cpp
    M libc/src/math/amdgpu/exp2.cpp
    M libc/src/math/amdgpu/exp2f.cpp
    M libc/src/math/amdgpu/expf.cpp
    M libc/src/math/amdgpu/expm1.cpp
    M libc/src/math/amdgpu/expm1f.cpp
    M libc/src/math/amdgpu/fabs.cpp
    M libc/src/math/amdgpu/fabsf.cpp
    M libc/src/math/amdgpu/fdim.cpp
    M libc/src/math/amdgpu/fdimf.cpp
    M libc/src/math/amdgpu/floor.cpp
    M libc/src/math/amdgpu/floorf.cpp
    M libc/src/math/amdgpu/fma.cpp
    M libc/src/math/amdgpu/fmaf.cpp
    M libc/src/math/amdgpu/fmax.cpp
    M libc/src/math/amdgpu/fmaxf.cpp
    M libc/src/math/amdgpu/fmin.cpp
    M libc/src/math/amdgpu/fminf.cpp
    M libc/src/math/amdgpu/fmod.cpp
    M libc/src/math/amdgpu/fmodf.cpp
    M libc/src/math/amdgpu/frexp.cpp
    M libc/src/math/amdgpu/frexpf.cpp
    M libc/src/math/amdgpu/hypot.cpp
    M libc/src/math/amdgpu/hypotf.cpp
    M libc/src/math/amdgpu/ilogb.cpp
    M libc/src/math/amdgpu/ilogbf.cpp
    M libc/src/math/amdgpu/ldexp.cpp
    M libc/src/math/amdgpu/ldexpf.cpp
    M libc/src/math/amdgpu/llrint.cpp
    M libc/src/math/amdgpu/llrintf.cpp
    M libc/src/math/amdgpu/log.cpp
    M libc/src/math/amdgpu/log10.cpp
    M libc/src/math/amdgpu/log10f.cpp
    M libc/src/math/amdgpu/log1p.cpp
    M libc/src/math/amdgpu/log1pf.cpp
    M libc/src/math/amdgpu/log2.cpp
    M libc/src/math/amdgpu/log2f.cpp
    M libc/src/math/amdgpu/logb.cpp
    M libc/src/math/amdgpu/logbf.cpp
    M libc/src/math/amdgpu/logf.cpp
    M libc/src/math/amdgpu/lrint.cpp
    M libc/src/math/amdgpu/lrintf.cpp
    M libc/src/math/amdgpu/nearbyint.cpp
    M libc/src/math/amdgpu/nearbyintf.cpp
    M libc/src/math/amdgpu/nextafter.cpp
    M libc/src/math/amdgpu/nextafterf.cpp
    M libc/src/math/amdgpu/platform.h
    M libc/src/math/amdgpu/pow.cpp
    M libc/src/math/amdgpu/powf.cpp
    M libc/src/math/amdgpu/powi.cpp
    M libc/src/math/amdgpu/powif.cpp
    M libc/src/math/amdgpu/remainder.cpp
    M libc/src/math/amdgpu/remainderf.cpp
    M libc/src/math/amdgpu/remquo.cpp
    M libc/src/math/amdgpu/remquof.cpp
    M libc/src/math/amdgpu/rint.cpp
    M libc/src/math/amdgpu/rintf.cpp
    M libc/src/math/amdgpu/round.cpp
    M libc/src/math/amdgpu/roundf.cpp
    M libc/src/math/amdgpu/scalbn.cpp
    M libc/src/math/amdgpu/scalbnf.cpp
    M libc/src/math/amdgpu/sin.cpp
    M libc/src/math/amdgpu/sincos.cpp
    M libc/src/math/amdgpu/sincosf.cpp
    M libc/src/math/amdgpu/sinf.cpp
    M libc/src/math/amdgpu/sinh.cpp
    M libc/src/math/amdgpu/sinhf.cpp
    M libc/src/math/amdgpu/sqrt.cpp
    M libc/src/math/amdgpu/sqrtf.cpp
    M libc/src/math/amdgpu/tan.cpp
    M libc/src/math/amdgpu/tanf.cpp
    M libc/src/math/amdgpu/tanh.cpp
    M libc/src/math/amdgpu/tanhf.cpp
    M libc/src/math/amdgpu/tgamma.cpp
    M libc/src/math/amdgpu/tgammaf.cpp
    M libc/src/math/amdgpu/trunc.cpp
    M libc/src/math/amdgpu/truncf.cpp
    M libc/src/math/asin.h
    M libc/src/math/asinf.h
    M libc/src/math/asinh.h
    M libc/src/math/asinhf.h
    M libc/src/math/atan.h
    M libc/src/math/atan2.h
    M libc/src/math/atan2f.h
    M libc/src/math/atanf.h
    M libc/src/math/atanh.h
    M libc/src/math/atanhf.h
    M libc/src/math/canonicalize.h
    M libc/src/math/canonicalizef.h
    M libc/src/math/canonicalizef128.h
    M libc/src/math/canonicalizef16.h
    M libc/src/math/canonicalizel.h
    M libc/src/math/cbrtf.h
    M libc/src/math/ceil.h
    M libc/src/math/ceilf.h
    M libc/src/math/ceilf128.h
    M libc/src/math/ceilf16.h
    M libc/src/math/ceill.h
    M libc/src/math/copysign.h
    M libc/src/math/copysignf.h
    M libc/src/math/copysignf128.h
    M libc/src/math/copysignf16.h
    M libc/src/math/copysignl.h
    M libc/src/math/cos.h
    M libc/src/math/cosf.h
    M libc/src/math/cosh.h
    M libc/src/math/coshf.h
    M libc/src/math/cospif.h
    M libc/src/math/erf.h
    M libc/src/math/erff.h
    M libc/src/math/exp.h
    M libc/src/math/exp10.h
    M libc/src/math/exp10f.h
    M libc/src/math/exp2.h
    M libc/src/math/exp2f.h
    M libc/src/math/exp2m1f.h
    M libc/src/math/expf.h
    M libc/src/math/expm1.h
    M libc/src/math/expm1f.h
    M libc/src/math/f16add.h
    M libc/src/math/f16addf.h
    M libc/src/math/f16addf128.h
    M libc/src/math/f16addl.h
    M libc/src/math/f16div.h
    M libc/src/math/f16divf.h
    M libc/src/math/f16divf128.h
    M libc/src/math/f16divl.h
    M libc/src/math/f16fma.h
    M libc/src/math/f16fmaf.h
    M libc/src/math/f16fmaf128.h
    M libc/src/math/f16fmal.h
    M libc/src/math/f16sqrt.h
    M libc/src/math/f16sqrtf.h
    M libc/src/math/f16sqrtf128.h
    M libc/src/math/f16sqrtl.h
    M libc/src/math/f16sub.h
    M libc/src/math/f16subf.h
    M libc/src/math/f16subf128.h
    M libc/src/math/f16subl.h
    M libc/src/math/fabs.h
    M libc/src/math/fabsf.h
    M libc/src/math/fabsf128.h
    M libc/src/math/fabsf16.h
    M libc/src/math/fabsl.h
    M libc/src/math/fdim.h
    M libc/src/math/fdimf.h
    M libc/src/math/fdimf128.h
    M libc/src/math/fdimf16.h
    M libc/src/math/fdiml.h
    M libc/src/math/floor.h
    M libc/src/math/floorf.h
    M libc/src/math/floorf128.h
    M libc/src/math/floorf16.h
    M libc/src/math/floorl.h
    M libc/src/math/fma.h
    M libc/src/math/fmaf.h
    M libc/src/math/fmax.h
    M libc/src/math/fmaxf.h
    M libc/src/math/fmaxf128.h
    M libc/src/math/fmaxf16.h
    M libc/src/math/fmaximum.h
    M libc/src/math/fmaximum_mag.h
    M libc/src/math/fmaximum_mag_num.h
    M libc/src/math/fmaximum_mag_numf.h
    M libc/src/math/fmaximum_mag_numf128.h
    M libc/src/math/fmaximum_mag_numf16.h
    M libc/src/math/fmaximum_mag_numl.h
    M libc/src/math/fmaximum_magf.h
    M libc/src/math/fmaximum_magf128.h
    M libc/src/math/fmaximum_magf16.h
    M libc/src/math/fmaximum_magl.h
    M libc/src/math/fmaximum_num.h
    M libc/src/math/fmaximum_numf.h
    M libc/src/math/fmaximum_numf128.h
    M libc/src/math/fmaximum_numf16.h
    M libc/src/math/fmaximum_numl.h
    M libc/src/math/fmaximumf.h
    M libc/src/math/fmaximumf128.h
    M libc/src/math/fmaximumf16.h
    M libc/src/math/fmaximuml.h
    M libc/src/math/fmaxl.h
    M libc/src/math/fmin.h
    M libc/src/math/fminf.h
    M libc/src/math/fminf128.h
    M libc/src/math/fminf16.h
    M libc/src/math/fminimum.h
    M libc/src/math/fminimum_mag.h
    M libc/src/math/fminimum_mag_num.h
    M libc/src/math/fminimum_mag_numf.h
    M libc/src/math/fminimum_mag_numf128.h
    M libc/src/math/fminimum_mag_numf16.h
    M libc/src/math/fminimum_mag_numl.h
    M libc/src/math/fminimum_magf.h
    M libc/src/math/fminimum_magf128.h
    M libc/src/math/fminimum_magf16.h
    M libc/src/math/fminimum_magl.h
    M libc/src/math/fminimum_num.h
    M libc/src/math/fminimum_numf.h
    M libc/src/math/fminimum_numf128.h
    M libc/src/math/fminimum_numf16.h
    M libc/src/math/fminimum_numl.h
    M libc/src/math/fminimumf.h
    M libc/src/math/fminimumf128.h
    M libc/src/math/fminimumf16.h
    M libc/src/math/fminimuml.h
    M libc/src/math/fminl.h
    M libc/src/math/fmod.h
    M libc/src/math/fmodf.h
    M libc/src/math/fmodf128.h
    M libc/src/math/fmodf16.h
    M libc/src/math/fmodl.h
    M libc/src/math/fmul.h
    M libc/src/math/frexp.h
    M libc/src/math/frexpf.h
    M libc/src/math/frexpf128.h
    M libc/src/math/frexpf16.h
    M libc/src/math/frexpl.h
    M libc/src/math/fromfp.h
    M libc/src/math/fromfpf.h
    M libc/src/math/fromfpf128.h
    M libc/src/math/fromfpf16.h
    M libc/src/math/fromfpl.h
    M libc/src/math/fromfpx.h
    M libc/src/math/fromfpxf.h
    M libc/src/math/fromfpxf128.h
    M libc/src/math/fromfpxf16.h
    M libc/src/math/fromfpxl.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/canonicalize.cpp
    M libc/src/math/generic/canonicalizef.cpp
    M libc/src/math/generic/canonicalizef128.cpp
    M libc/src/math/generic/canonicalizef16.cpp
    M libc/src/math/generic/canonicalizel.cpp
    M libc/src/math/generic/cbrtf.cpp
    M libc/src/math/generic/ceil.cpp
    M libc/src/math/generic/ceilf.cpp
    M libc/src/math/generic/ceilf128.cpp
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/ceill.cpp
    M libc/src/math/generic/common_constants.cpp
    M libc/src/math/generic/common_constants.h
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp10f.cpp
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/exp2m1f.cpp
    M libc/src/math/generic/exp_utils.cpp
    M libc/src/math/generic/exp_utils.h
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/explogxf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/f16add.cpp
    M libc/src/math/generic/f16addf.cpp
    M libc/src/math/generic/f16addf128.cpp
    M libc/src/math/generic/f16addl.cpp
    M libc/src/math/generic/f16div.cpp
    M libc/src/math/generic/f16divf.cpp
    M libc/src/math/generic/f16divf128.cpp
    M libc/src/math/generic/f16divl.cpp
    M libc/src/math/generic/f16fma.cpp
    M libc/src/math/generic/f16fmaf.cpp
    M libc/src/math/generic/f16fmaf128.cpp
    M libc/src/math/generic/f16fmal.cpp
    M libc/src/math/generic/f16sqrt.cpp
    M libc/src/math/generic/f16sqrtf.cpp
    M libc/src/math/generic/f16sqrtf128.cpp
    M libc/src/math/generic/f16sqrtl.cpp
    M libc/src/math/generic/f16sub.cpp
    M libc/src/math/generic/f16subf.cpp
    M libc/src/math/generic/f16subf128.cpp
    M libc/src/math/generic/f16subl.cpp
    M libc/src/math/generic/fabs.cpp
    M libc/src/math/generic/fabsf.cpp
    M libc/src/math/generic/fabsf128.cpp
    M libc/src/math/generic/fabsf16.cpp
    M libc/src/math/generic/fabsl.cpp
    M libc/src/math/generic/fdim.cpp
    M libc/src/math/generic/fdimf.cpp
    M libc/src/math/generic/fdimf128.cpp
    M libc/src/math/generic/fdimf16.cpp
    M libc/src/math/generic/fdiml.cpp
    M libc/src/math/generic/floor.cpp
    M libc/src/math/generic/floorf.cpp
    M libc/src/math/generic/floorf128.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/floorl.cpp
    M libc/src/math/generic/fma.cpp
    M libc/src/math/generic/fmaf.cpp
    M libc/src/math/generic/fmax.cpp
    M libc/src/math/generic/fmaxf.cpp
    M libc/src/math/generic/fmaxf128.cpp
    M libc/src/math/generic/fmaxf16.cpp
    M libc/src/math/generic/fmaximum.cpp
    M libc/src/math/generic/fmaximum_mag.cpp
    M libc/src/math/generic/fmaximum_mag_num.cpp
    M libc/src/math/generic/fmaximum_mag_numf.cpp
    M libc/src/math/generic/fmaximum_mag_numf128.cpp
    M libc/src/math/generic/fmaximum_mag_numf16.cpp
    M libc/src/math/generic/fmaximum_mag_numl.cpp
    M libc/src/math/generic/fmaximum_magf.cpp
    M libc/src/math/generic/fmaximum_magf128.cpp
    M libc/src/math/generic/fmaximum_magf16.cpp
    M libc/src/math/generic/fmaximum_magl.cpp
    M libc/src/math/generic/fmaximum_num.cpp
    M libc/src/math/generic/fmaximum_numf.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fmaximum_numf16.cpp
    M libc/src/math/generic/fmaximum_numl.cpp
    M libc/src/math/generic/fmaximumf.cpp
    M libc/src/math/generic/fmaximumf128.cpp
    M libc/src/math/generic/fmaximumf16.cpp
    M libc/src/math/generic/fmaximuml.cpp
    M libc/src/math/generic/fmaxl.cpp
    M libc/src/math/generic/fmin.cpp
    M libc/src/math/generic/fminf.cpp
    M libc/src/math/generic/fminf128.cpp
    M libc/src/math/generic/fminf16.cpp
    M libc/src/math/generic/fminimum.cpp
    M libc/src/math/generic/fminimum_mag.cpp
    M libc/src/math/generic/fminimum_mag_num.cpp
    M libc/src/math/generic/fminimum_mag_numf.cpp
    M libc/src/math/generic/fminimum_mag_numf128.cpp
    M libc/src/math/generic/fminimum_mag_numf16.cpp
    M libc/src/math/generic/fminimum_mag_numl.cpp
    M libc/src/math/generic/fminimum_magf.cpp
    M libc/src/math/generic/fminimum_magf128.cpp
    M libc/src/math/generic/fminimum_magf16.cpp
    M libc/src/math/generic/fminimum_magl.cpp
    M libc/src/math/generic/fminimum_num.cpp
    M libc/src/math/generic/fminimum_numf.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/math/generic/fminimum_numf16.cpp
    M libc/src/math/generic/fminimum_numl.cpp
    M libc/src/math/generic/fminimumf.cpp
    M libc/src/math/generic/fminimumf128.cpp
    M libc/src/math/generic/fminimumf16.cpp
    M libc/src/math/generic/fminimuml.cpp
    M libc/src/math/generic/fminl.cpp
    M libc/src/math/generic/fmod.cpp
    M libc/src/math/generic/fmodf.cpp
    M libc/src/math/generic/fmodf128.cpp
    M libc/src/math/generic/fmodf16.cpp
    M libc/src/math/generic/fmodl.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/frexp.cpp
    M libc/src/math/generic/frexpf.cpp
    M libc/src/math/generic/frexpf128.cpp
    M libc/src/math/generic/frexpf16.cpp
    M libc/src/math/generic/frexpl.cpp
    M libc/src/math/generic/fromfp.cpp
    M libc/src/math/generic/fromfpf.cpp
    M libc/src/math/generic/fromfpf128.cpp
    M libc/src/math/generic/fromfpf16.cpp
    M libc/src/math/generic/fromfpl.cpp
    M libc/src/math/generic/fromfpx.cpp
    M libc/src/math/generic/fromfpxf.cpp
    M libc/src/math/generic/fromfpxf128.cpp
    M libc/src/math/generic/fromfpxf16.cpp
    M libc/src/math/generic/fromfpxl.cpp
    M libc/src/math/generic/getpayloadf16.cpp
    M libc/src/math/generic/hypot.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    M libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbf16.cpp
    M libc/src/math/generic/ilogbl.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/math/generic/isnan.cpp
    M libc/src/math/generic/isnanf.cpp
    M libc/src/math/generic/isnanl.cpp
    M libc/src/math/generic/ldexp.cpp
    M libc/src/math/generic/ldexpf.cpp
    M libc/src/math/generic/ldexpf128.cpp
    M libc/src/math/generic/ldexpf16.cpp
    M libc/src/math/generic/ldexpl.cpp
    M libc/src/math/generic/llogb.cpp
    M libc/src/math/generic/llogbf.cpp
    M libc/src/math/generic/llogbf128.cpp
    M libc/src/math/generic/llogbf16.cpp
    M libc/src/math/generic/llogbl.cpp
    M libc/src/math/generic/llrint.cpp
    M libc/src/math/generic/llrintf.cpp
    M libc/src/math/generic/llrintf128.cpp
    M libc/src/math/generic/llrintf16.cpp
    M libc/src/math/generic/llrintl.cpp
    M libc/src/math/generic/llround.cpp
    M libc/src/math/generic/llroundf.cpp
    M libc/src/math/generic/llroundf128.cpp
    M libc/src/math/generic/llroundf16.cpp
    M libc/src/math/generic/llroundl.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log_range_reduction.h
    M libc/src/math/generic/logb.cpp
    M libc/src/math/generic/logbf.cpp
    M libc/src/math/generic/logbf128.cpp
    M libc/src/math/generic/logbf16.cpp
    M libc/src/math/generic/logbl.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/lrint.cpp
    M libc/src/math/generic/lrintf.cpp
    M libc/src/math/generic/lrintf128.cpp
    M libc/src/math/generic/lrintf16.cpp
    M libc/src/math/generic/lrintl.cpp
    M libc/src/math/generic/lround.cpp
    M libc/src/math/generic/lroundf.cpp
    M libc/src/math/generic/lroundf128.cpp
    M libc/src/math/generic/lroundf16.cpp
    M libc/src/math/generic/lroundl.cpp
    M libc/src/math/generic/modf.cpp
    M libc/src/math/generic/modff.cpp
    M libc/src/math/generic/modff128.cpp
    M libc/src/math/generic/modff16.cpp
    M libc/src/math/generic/modfl.cpp
    M libc/src/math/generic/nan.cpp
    M libc/src/math/generic/nanf.cpp
    M libc/src/math/generic/nanf128.cpp
    M libc/src/math/generic/nanf16.cpp
    M libc/src/math/generic/nanl.cpp
    M libc/src/math/generic/nearbyint.cpp
    M libc/src/math/generic/nearbyintf.cpp
    M libc/src/math/generic/nearbyintf128.cpp
    M libc/src/math/generic/nearbyintf16.cpp
    M libc/src/math/generic/nearbyintl.cpp
    M libc/src/math/generic/nextafter.cpp
    M libc/src/math/generic/nextafterf.cpp
    M libc/src/math/generic/nextafterf128.cpp
    M libc/src/math/generic/nextafterf16.cpp
    M libc/src/math/generic/nextafterl.cpp
    M libc/src/math/generic/nextdown.cpp
    M libc/src/math/generic/nextdownf.cpp
    M libc/src/math/generic/nextdownf128.cpp
    M libc/src/math/generic/nextdownf16.cpp
    M libc/src/math/generic/nextdownl.cpp
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardf16.cpp
    M libc/src/math/generic/nexttowardl.cpp
    M libc/src/math/generic/nextup.cpp
    M libc/src/math/generic/nextupf.cpp
    M libc/src/math/generic/nextupf128.cpp
    M libc/src/math/generic/nextupf16.cpp
    M libc/src/math/generic/nextupl.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/range_reduction_double_fma.h
    M libc/src/math/generic/range_reduction_double_nofma.h
    M libc/src/math/generic/range_reduction_fma.h
    M libc/src/math/generic/remainder.cpp
    M libc/src/math/generic/remainderf.cpp
    M libc/src/math/generic/remainderf16.cpp
    M libc/src/math/generic/remainderl.cpp
    M libc/src/math/generic/remquo.cpp
    M libc/src/math/generic/remquof.cpp
    M libc/src/math/generic/remquof128.cpp
    M libc/src/math/generic/remquof16.cpp
    M libc/src/math/generic/remquol.cpp
    M libc/src/math/generic/rint.cpp
    M libc/src/math/generic/rintf.cpp
    M libc/src/math/generic/rintf128.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/rintl.cpp
    M libc/src/math/generic/round.cpp
    M libc/src/math/generic/roundeven.cpp
    M libc/src/math/generic/roundevenf.cpp
    M libc/src/math/generic/roundevenf128.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundevenl.cpp
    M libc/src/math/generic/roundf.cpp
    M libc/src/math/generic/roundf128.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/roundl.cpp
    M libc/src/math/generic/scalblnf16.cpp
    M libc/src/math/generic/scalbn.cpp
    M libc/src/math/generic/scalbnf.cpp
    M libc/src/math/generic/scalbnf128.cpp
    M libc/src/math/generic/scalbnf16.cpp
    M libc/src/math/generic/scalbnl.cpp
    M libc/src/math/generic/setpayloadf16.cpp
    M libc/src/math/generic/setpayloadsigf16.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincos_eval.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sincosf_utils.h
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinhf.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sqrt.cpp
    M libc/src/math/generic/sqrtf.cpp
    M libc/src/math/generic/sqrtf128.cpp
    M libc/src/math/generic/sqrtl.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanhf.cpp
    M libc/src/math/generic/totalorderf16.cpp
    M libc/src/math/generic/totalordermagf16.cpp
    M libc/src/math/generic/trunc.cpp
    M libc/src/math/generic/truncf.cpp
    M libc/src/math/generic/truncf128.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/src/math/generic/truncl.cpp
    M libc/src/math/generic/ufromfp.cpp
    M libc/src/math/generic/ufromfpf.cpp
    M libc/src/math/generic/ufromfpf128.cpp
    M libc/src/math/generic/ufromfpf16.cpp
    M libc/src/math/generic/ufromfpl.cpp
    M libc/src/math/generic/ufromfpx.cpp
    M libc/src/math/generic/ufromfpxf.cpp
    M libc/src/math/generic/ufromfpxf128.cpp
    M libc/src/math/generic/ufromfpxf16.cpp
    M libc/src/math/generic/ufromfpxl.cpp
    M libc/src/math/getpayloadf16.h
    M libc/src/math/hypot.h
    M libc/src/math/hypotf.h
    M libc/src/math/ilogb.h
    M libc/src/math/ilogbf.h
    M libc/src/math/ilogbf128.h
    M libc/src/math/ilogbf16.h
    M libc/src/math/ilogbl.h
    M libc/src/math/isnan.h
    M libc/src/math/isnanf.h
    M libc/src/math/isnanl.h
    M libc/src/math/ldexp.h
    M libc/src/math/ldexpf.h
    M libc/src/math/ldexpf128.h
    M libc/src/math/ldexpf16.h
    M libc/src/math/ldexpl.h
    M libc/src/math/llogb.h
    M libc/src/math/llogbf.h
    M libc/src/math/llogbf128.h
    M libc/src/math/llogbf16.h
    M libc/src/math/llogbl.h
    M libc/src/math/llrint.h
    M libc/src/math/llrintf.h
    M libc/src/math/llrintf128.h
    M libc/src/math/llrintf16.h
    M libc/src/math/llrintl.h
    M libc/src/math/llround.h
    M libc/src/math/llroundf.h
    M libc/src/math/llroundf128.h
    M libc/src/math/llroundf16.h
    M libc/src/math/llroundl.h
    M libc/src/math/log.h
    M libc/src/math/log10.h
    M libc/src/math/log10f.h
    M libc/src/math/log1p.h
    M libc/src/math/log1pf.h
    M libc/src/math/log2.h
    M libc/src/math/log2f.h
    M libc/src/math/logb.h
    M libc/src/math/logbf.h
    M libc/src/math/logbf128.h
    M libc/src/math/logbf16.h
    M libc/src/math/logbl.h
    M libc/src/math/logf.h
    M libc/src/math/lrint.h
    M libc/src/math/lrintf.h
    M libc/src/math/lrintf128.h
    M libc/src/math/lrintf16.h
    M libc/src/math/lrintl.h
    M libc/src/math/lround.h
    M libc/src/math/lroundf.h
    M libc/src/math/lroundf128.h
    M libc/src/math/lroundf16.h
    M libc/src/math/lroundl.h
    M libc/src/math/modf.h
    M libc/src/math/modff.h
    M libc/src/math/modff128.h
    M libc/src/math/modff16.h
    M libc/src/math/modfl.h
    M libc/src/math/nan.h
    M libc/src/math/nanf.h
    M libc/src/math/nanf128.h
    M libc/src/math/nanf16.h
    M libc/src/math/nanl.h
    M libc/src/math/nearbyint.h
    M libc/src/math/nearbyintf.h
    M libc/src/math/nearbyintf128.h
    M libc/src/math/nearbyintf16.h
    M libc/src/math/nearbyintl.h
    M libc/src/math/nextafter.h
    M libc/src/math/nextafterf.h
    M libc/src/math/nextafterf128.h
    M libc/src/math/nextafterf16.h
    M libc/src/math/nextafterl.h
    M libc/src/math/nextdown.h
    M libc/src/math/nextdownf.h
    M libc/src/math/nextdownf128.h
    M libc/src/math/nextdownf16.h
    M libc/src/math/nextdownl.h
    M libc/src/math/nexttoward.h
    M libc/src/math/nexttowardf.h
    M libc/src/math/nexttowardf16.h
    M libc/src/math/nexttowardl.h
    M libc/src/math/nextup.h
    M libc/src/math/nextupf.h
    M libc/src/math/nextupf128.h
    M libc/src/math/nextupf16.h
    M libc/src/math/nextupl.h
    M libc/src/math/nvptx/acos.cpp
    M libc/src/math/nvptx/acosf.cpp
    M libc/src/math/nvptx/acosh.cpp
    M libc/src/math/nvptx/acoshf.cpp
    M libc/src/math/nvptx/asin.cpp
    M libc/src/math/nvptx/asinf.cpp
    M libc/src/math/nvptx/asinh.cpp
    M libc/src/math/nvptx/asinhf.cpp
    M libc/src/math/nvptx/atan.cpp
    M libc/src/math/nvptx/atan2.cpp
    M libc/src/math/nvptx/atan2f.cpp
    M libc/src/math/nvptx/atanf.cpp
    M libc/src/math/nvptx/atanh.cpp
    M libc/src/math/nvptx/atanhf.cpp
    M libc/src/math/nvptx/ceil.cpp
    M libc/src/math/nvptx/ceilf.cpp
    M libc/src/math/nvptx/copysign.cpp
    M libc/src/math/nvptx/copysignf.cpp
    M libc/src/math/nvptx/cos.cpp
    M libc/src/math/nvptx/cosf.cpp
    M libc/src/math/nvptx/cosh.cpp
    M libc/src/math/nvptx/coshf.cpp
    M libc/src/math/nvptx/declarations.h
    M libc/src/math/nvptx/erf.cpp
    M libc/src/math/nvptx/erff.cpp
    M libc/src/math/nvptx/exp.cpp
    M libc/src/math/nvptx/exp10.cpp
    M libc/src/math/nvptx/exp10f.cpp
    M libc/src/math/nvptx/exp2.cpp
    M libc/src/math/nvptx/exp2f.cpp
    M libc/src/math/nvptx/expf.cpp
    M libc/src/math/nvptx/expm1.cpp
    M libc/src/math/nvptx/expm1f.cpp
    M libc/src/math/nvptx/fabs.cpp
    M libc/src/math/nvptx/fabsf.cpp
    M libc/src/math/nvptx/fdim.cpp
    M libc/src/math/nvptx/fdimf.cpp
    M libc/src/math/nvptx/floor.cpp
    M libc/src/math/nvptx/floorf.cpp
    M libc/src/math/nvptx/fma.cpp
    M libc/src/math/nvptx/fmaf.cpp
    M libc/src/math/nvptx/fmax.cpp
    M libc/src/math/nvptx/fmaxf.cpp
    M libc/src/math/nvptx/fmin.cpp
    M libc/src/math/nvptx/fminf.cpp
    M libc/src/math/nvptx/fmod.cpp
    M libc/src/math/nvptx/fmodf.cpp
    M libc/src/math/nvptx/frexp.cpp
    M libc/src/math/nvptx/frexpf.cpp
    M libc/src/math/nvptx/hypot.cpp
    M libc/src/math/nvptx/hypotf.cpp
    M libc/src/math/nvptx/ilogb.cpp
    M libc/src/math/nvptx/ilogbf.cpp
    M libc/src/math/nvptx/ldexp.cpp
    M libc/src/math/nvptx/ldexpf.cpp
    M libc/src/math/nvptx/llrint.cpp
    M libc/src/math/nvptx/llrintf.cpp
    M libc/src/math/nvptx/log.cpp
    M libc/src/math/nvptx/log10.cpp
    M libc/src/math/nvptx/log10f.cpp
    M libc/src/math/nvptx/log1p.cpp
    M libc/src/math/nvptx/log1pf.cpp
    M libc/src/math/nvptx/log2.cpp
    M libc/src/math/nvptx/log2f.cpp
    M libc/src/math/nvptx/logb.cpp
    M libc/src/math/nvptx/logbf.cpp
    M libc/src/math/nvptx/logf.cpp
    M libc/src/math/nvptx/lrint.cpp
    M libc/src/math/nvptx/lrintf.cpp
    M libc/src/math/nvptx/nearbyint.cpp
    M libc/src/math/nvptx/nearbyintf.cpp
    M libc/src/math/nvptx/nextafter.cpp
    M libc/src/math/nvptx/nextafterf.cpp
    M libc/src/math/nvptx/nvptx.h
    M libc/src/math/nvptx/pow.cpp
    M libc/src/math/nvptx/powf.cpp
    M libc/src/math/nvptx/powi.cpp
    M libc/src/math/nvptx/powif.cpp
    M libc/src/math/nvptx/remainder.cpp
    M libc/src/math/nvptx/remainderf.cpp
    M libc/src/math/nvptx/remquo.cpp
    M libc/src/math/nvptx/remquof.cpp
    M libc/src/math/nvptx/rint.cpp
    M libc/src/math/nvptx/rintf.cpp
    M libc/src/math/nvptx/round.cpp
    M libc/src/math/nvptx/roundf.cpp
    M libc/src/math/nvptx/scalbn.cpp
    M libc/src/math/nvptx/scalbnf.cpp
    M libc/src/math/nvptx/sin.cpp
    M libc/src/math/nvptx/sincos.cpp
    M libc/src/math/nvptx/sincosf.cpp
    M libc/src/math/nvptx/sinf.cpp
    M libc/src/math/nvptx/sinh.cpp
    M libc/src/math/nvptx/sinhf.cpp
    M libc/src/math/nvptx/sqrt.cpp
    M libc/src/math/nvptx/sqrtf.cpp
    M libc/src/math/nvptx/tan.cpp
    M libc/src/math/nvptx/tanf.cpp
    M libc/src/math/nvptx/tanh.cpp
    M libc/src/math/nvptx/tanhf.cpp
    M libc/src/math/nvptx/tgamma.cpp
    M libc/src/math/nvptx/tgammaf.cpp
    M libc/src/math/nvptx/trunc.cpp
    M libc/src/math/nvptx/truncf.cpp
    M libc/src/math/pow.h
    M libc/src/math/powf.h
    M libc/src/math/powi.h
    M libc/src/math/powif.h
    M libc/src/math/remainder.h
    M libc/src/math/remainderf.h
    M libc/src/math/remainderf16.h
    M libc/src/math/remainderl.h
    M libc/src/math/remquo.h
    M libc/src/math/remquof.h
    M libc/src/math/remquof128.h
    M libc/src/math/remquof16.h
    M libc/src/math/remquol.h
    M libc/src/math/rint.h
    M libc/src/math/rintf.h
    M libc/src/math/rintf128.h
    M libc/src/math/rintf16.h
    M libc/src/math/rintl.h
    M libc/src/math/round.h
    M libc/src/math/roundeven.h
    M libc/src/math/roundevenf.h
    M libc/src/math/roundevenf128.h
    M libc/src/math/roundevenf16.h
    M libc/src/math/roundevenl.h
    M libc/src/math/roundf.h
    M libc/src/math/roundf128.h
    M libc/src/math/roundf16.h
    M libc/src/math/roundl.h
    M libc/src/math/scalblnf16.h
    M libc/src/math/scalbn.h
    M libc/src/math/scalbnf.h
    M libc/src/math/scalbnf128.h
    M libc/src/math/scalbnf16.h
    M libc/src/math/scalbnl.h
    M libc/src/math/setpayloadf16.h
    M libc/src/math/setpayloadsigf16.h
    M libc/src/math/sin.h
    M libc/src/math/sincos.h
    M libc/src/math/sincosf.h
    M libc/src/math/sinf.h
    M libc/src/math/sinh.h
    M libc/src/math/sinhf.h
    M libc/src/math/sinpif.h
    M libc/src/math/sqrt.h
    M libc/src/math/sqrtf.h
    M libc/src/math/sqrtf128.h
    M libc/src/math/sqrtl.h
    M libc/src/math/tan.h
    M libc/src/math/tanf.h
    M libc/src/math/tanh.h
    M libc/src/math/tanhf.h
    M libc/src/math/tgamma.h
    M libc/src/math/tgammaf.h
    M libc/src/math/totalorderf16.h
    M libc/src/math/totalordermagf16.h
    M libc/src/math/trunc.h
    M libc/src/math/truncf.h
    M libc/src/math/truncf128.h
    M libc/src/math/truncf16.h
    M libc/src/math/truncl.h
    M libc/src/math/ufromfp.h
    M libc/src/math/ufromfpf.h
    M libc/src/math/ufromfpf128.h
    M libc/src/math/ufromfpf16.h
    M libc/src/math/ufromfpl.h
    M libc/src/math/ufromfpx.h
    M libc/src/math/ufromfpxf.h
    M libc/src/math/ufromfpxf128.h
    M libc/src/math/ufromfpxf16.h
    M libc/src/math/ufromfpxl.h
    M libc/src/network/htonl.cpp
    M libc/src/network/htonl.h
    M libc/src/network/htons.cpp
    M libc/src/network/htons.h
    M libc/src/network/ntohl.cpp
    M libc/src/network/ntohl.h
    M libc/src/network/ntohs.cpp
    M libc/src/network/ntohs.h
    M libc/src/pthread/pthread_atfork.cpp
    M libc/src/pthread/pthread_atfork.h
    M libc/src/pthread/pthread_attr_destroy.cpp
    M libc/src/pthread/pthread_attr_destroy.h
    M libc/src/pthread/pthread_attr_getdetachstate.cpp
    M libc/src/pthread/pthread_attr_getdetachstate.h
    M libc/src/pthread/pthread_attr_getguardsize.cpp
    M libc/src/pthread/pthread_attr_getguardsize.h
    M libc/src/pthread/pthread_attr_getstack.cpp
    M libc/src/pthread/pthread_attr_getstack.h
    M libc/src/pthread/pthread_attr_getstacksize.cpp
    M libc/src/pthread/pthread_attr_getstacksize.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_attr_init.h
    M libc/src/pthread/pthread_attr_setdetachstate.cpp
    M libc/src/pthread/pthread_attr_setdetachstate.h
    M libc/src/pthread/pthread_attr_setguardsize.cpp
    M libc/src/pthread/pthread_attr_setguardsize.h
    M libc/src/pthread/pthread_attr_setstack.cpp
    M libc/src/pthread/pthread_attr_setstack.h
    M libc/src/pthread/pthread_attr_setstacksize.cpp
    M libc/src/pthread/pthread_attr_setstacksize.h
    M libc/src/pthread/pthread_condattr_destroy.cpp
    M libc/src/pthread/pthread_condattr_destroy.h
    M libc/src/pthread/pthread_condattr_getclock.cpp
    M libc/src/pthread/pthread_condattr_getclock.h
    M libc/src/pthread/pthread_condattr_getpshared.cpp
    M libc/src/pthread/pthread_condattr_getpshared.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_init.h
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/pthread/pthread_condattr_setclock.h
    M libc/src/pthread/pthread_condattr_setpshared.cpp
    M libc/src/pthread/pthread_condattr_setpshared.h
    M libc/src/pthread/pthread_create.cpp
    M libc/src/pthread/pthread_create.h
    M libc/src/pthread/pthread_detach.cpp
    M libc/src/pthread/pthread_detach.h
    M libc/src/pthread/pthread_equal.cpp
    M libc/src/pthread/pthread_equal.h
    M libc/src/pthread/pthread_exit.cpp
    M libc/src/pthread/pthread_exit.h
    M libc/src/pthread/pthread_getname_np.cpp
    M libc/src/pthread/pthread_getname_np.h
    M libc/src/pthread/pthread_getspecific.cpp
    M libc/src/pthread/pthread_getspecific.h
    M libc/src/pthread/pthread_join.cpp
    M libc/src/pthread/pthread_join.h
    M libc/src/pthread/pthread_key_create.cpp
    M libc/src/pthread/pthread_key_create.h
    M libc/src/pthread/pthread_key_delete.cpp
    M libc/src/pthread/pthread_key_delete.h
    M libc/src/pthread/pthread_mutex_destroy.cpp
    M libc/src/pthread/pthread_mutex_destroy.h
    M libc/src/pthread/pthread_mutex_init.cpp
    M libc/src/pthread/pthread_mutex_init.h
    M libc/src/pthread/pthread_mutex_lock.cpp
    M libc/src/pthread/pthread_mutex_lock.h
    M libc/src/pthread/pthread_mutex_unlock.cpp
    M libc/src/pthread/pthread_mutex_unlock.h
    M libc/src/pthread/pthread_mutexattr.h
    M libc/src/pthread/pthread_mutexattr_destroy.cpp
    M libc/src/pthread/pthread_mutexattr_destroy.h
    M libc/src/pthread/pthread_mutexattr_getpshared.cpp
    M libc/src/pthread/pthread_mutexattr_getpshared.h
    M libc/src/pthread/pthread_mutexattr_getrobust.cpp
    M libc/src/pthread/pthread_mutexattr_getrobust.h
    M libc/src/pthread/pthread_mutexattr_gettype.cpp
    M libc/src/pthread/pthread_mutexattr_gettype.h
    M libc/src/pthread/pthread_mutexattr_init.cpp
    M libc/src/pthread/pthread_mutexattr_init.h
    M libc/src/pthread/pthread_mutexattr_setpshared.cpp
    M libc/src/pthread/pthread_mutexattr_setpshared.h
    M libc/src/pthread/pthread_mutexattr_setrobust.cpp
    M libc/src/pthread/pthread_mutexattr_setrobust.h
    M libc/src/pthread/pthread_mutexattr_settype.cpp
    M libc/src/pthread/pthread_mutexattr_settype.h
    M libc/src/pthread/pthread_once.cpp
    M libc/src/pthread/pthread_once.h
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_destroy.h
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_init.h
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.h
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.h
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.h
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.h
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.h
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.h
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.h
    M libc/src/pthread/pthread_rwlockattr_destroy.cpp
    M libc/src/pthread/pthread_rwlockattr_destroy.h
    M libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_getkind_np.h
    M libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_getpshared.h
    M libc/src/pthread/pthread_rwlockattr_init.cpp
    M libc/src/pthread/pthread_rwlockattr_init.h
    M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_setkind_np.h
    M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    M libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/src/pthread/pthread_self.cpp
    M libc/src/pthread/pthread_self.h
    M libc/src/pthread/pthread_setname_np.cpp
    M libc/src/pthread/pthread_setname_np.h
    M libc/src/pthread/pthread_setspecific.cpp
    M libc/src/pthread/pthread_setspecific.h
    M libc/src/sched/linux/sched_get_priority_max.cpp
    M libc/src/sched/linux/sched_get_priority_min.cpp
    M libc/src/sched/linux/sched_getaffinity.cpp
    M libc/src/sched/linux/sched_getcpucount.cpp
    M libc/src/sched/linux/sched_getparam.cpp
    M libc/src/sched/linux/sched_getscheduler.cpp
    M libc/src/sched/linux/sched_rr_get_interval.cpp
    M libc/src/sched/linux/sched_setaffinity.cpp
    M libc/src/sched/linux/sched_setparam.cpp
    M libc/src/sched/linux/sched_setscheduler.cpp
    M libc/src/sched/linux/sched_yield.cpp
    M libc/src/sched/sched_get_priority_max.h
    M libc/src/sched/sched_get_priority_min.h
    M libc/src/sched/sched_getaffinity.h
    M libc/src/sched/sched_getcpucount.h
    M libc/src/sched/sched_getparam.h
    M libc/src/sched/sched_getscheduler.h
    M libc/src/sched/sched_rr_get_interval.h
    M libc/src/sched/sched_setaffinity.h
    M libc/src/sched/sched_setparam.h
    M libc/src/sched/sched_setscheduler.h
    M libc/src/sched/sched_yield.h
    M libc/src/search/hcreate.cpp
    M libc/src/search/hcreate.h
    M libc/src/search/hcreate_r.cpp
    M libc/src/search/hcreate_r.h
    M libc/src/search/hdestroy.cpp
    M libc/src/search/hdestroy.h
    M libc/src/search/hdestroy_r.cpp
    M libc/src/search/hdestroy_r.h
    M libc/src/search/hsearch.cpp
    M libc/src/search/hsearch.h
    M libc/src/search/hsearch/global.cpp
    M libc/src/search/hsearch/global.h
    M libc/src/search/hsearch_r.cpp
    M libc/src/search/hsearch_r.h
    M libc/src/search/insque.cpp
    M libc/src/search/insque.h
    M libc/src/search/remque.cpp
    M libc/src/search/remque.h
    M libc/src/setjmp/arm/longjmp.cpp
    M libc/src/setjmp/arm/setjmp.cpp
    M libc/src/setjmp/longjmp.h
    M libc/src/setjmp/riscv/longjmp.cpp
    M libc/src/setjmp/riscv/setjmp.cpp
    M libc/src/setjmp/setjmp_impl.h
    M libc/src/setjmp/x86_64/longjmp.cpp
    M libc/src/setjmp/x86_64/setjmp.cpp
    M libc/src/signal/kill.h
    M libc/src/signal/linux/__restore.cpp
    M libc/src/signal/linux/kill.cpp
    M libc/src/signal/linux/raise.cpp
    M libc/src/signal/linux/sigaction.cpp
    M libc/src/signal/linux/sigaddset.cpp
    M libc/src/signal/linux/sigaltstack.cpp
    M libc/src/signal/linux/sigdelset.cpp
    M libc/src/signal/linux/sigemptyset.cpp
    M libc/src/signal/linux/sigfillset.cpp
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    M libc/src/signal/raise.h
    M libc/src/signal/sigaction.h
    M libc/src/signal/sigaddset.h
    M libc/src/signal/sigaltstack.h
    M libc/src/signal/sigdelset.h
    M libc/src/signal/sigemptyset.h
    M libc/src/signal/sigfillset.h
    M libc/src/signal/signal.h
    M libc/src/signal/sigprocmask.h
    M libc/src/spawn/file_actions.h
    M libc/src/spawn/linux/posix_spawn.cpp
    M libc/src/spawn/posix_spawn.h
    M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
    M libc/src/spawn/posix_spawn_file_actions_addclose.h
    M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
    M libc/src/spawn/posix_spawn_file_actions_adddup2.h
    M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
    M libc/src/spawn/posix_spawn_file_actions_addopen.h
    M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
    M libc/src/spawn/posix_spawn_file_actions_destroy.h
    M libc/src/spawn/posix_spawn_file_actions_init.cpp
    M libc/src/spawn/posix_spawn_file_actions_init.h
    M libc/src/stdbit/stdc_bit_ceil_uc.cpp
    M libc/src/stdbit/stdc_bit_ceil_uc.h
    M libc/src/stdbit/stdc_bit_ceil_ui.cpp
    M libc/src/stdbit/stdc_bit_ceil_ui.h
    M libc/src/stdbit/stdc_bit_ceil_ul.cpp
    M libc/src/stdbit/stdc_bit_ceil_ul.h
    M libc/src/stdbit/stdc_bit_ceil_ull.cpp
    M libc/src/stdbit/stdc_bit_ceil_ull.h
    M libc/src/stdbit/stdc_bit_ceil_us.cpp
    M libc/src/stdbit/stdc_bit_ceil_us.h
    M libc/src/stdbit/stdc_bit_floor_uc.cpp
    M libc/src/stdbit/stdc_bit_floor_uc.h
    M libc/src/stdbit/stdc_bit_floor_ui.cpp
    M libc/src/stdbit/stdc_bit_floor_ui.h
    M libc/src/stdbit/stdc_bit_floor_ul.cpp
    M libc/src/stdbit/stdc_bit_floor_ul.h
    M libc/src/stdbit/stdc_bit_floor_ull.cpp
    M libc/src/stdbit/stdc_bit_floor_ull.h
    M libc/src/stdbit/stdc_bit_floor_us.cpp
    M libc/src/stdbit/stdc_bit_floor_us.h
    M libc/src/stdbit/stdc_bit_width_uc.cpp
    M libc/src/stdbit/stdc_bit_width_uc.h
    M libc/src/stdbit/stdc_bit_width_ui.cpp
    M libc/src/stdbit/stdc_bit_width_ui.h
    M libc/src/stdbit/stdc_bit_width_ul.cpp
    M libc/src/stdbit/stdc_bit_width_ul.h
    M libc/src/stdbit/stdc_bit_width_ull.cpp
    M libc/src/stdbit/stdc_bit_width_ull.h
    M libc/src/stdbit/stdc_bit_width_us.cpp
    M libc/src/stdbit/stdc_bit_width_us.h
    M libc/src/stdbit/stdc_count_ones_uc.cpp
    M libc/src/stdbit/stdc_count_ones_uc.h
    M libc/src/stdbit/stdc_count_ones_ui.cpp
    M libc/src/stdbit/stdc_count_ones_ui.h
    M libc/src/stdbit/stdc_count_ones_ul.cpp
    M libc/src/stdbit/stdc_count_ones_ul.h
    M libc/src/stdbit/stdc_count_ones_ull.cpp
    M libc/src/stdbit/stdc_count_ones_ull.h
    M libc/src/stdbit/stdc_count_ones_us.cpp
    M libc/src/stdbit/stdc_count_ones_us.h
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_uc.h
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.h
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.h
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.h
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_count_zeros_us.h
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.h
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.h
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.h
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.h
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.h
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.h
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.h
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.h
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.h
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.h
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.h
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.h
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.h
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.h
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.h
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.h
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.h
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.h
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.h
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/src/stdbit/stdc_has_single_bit_uc.cpp
    M libc/src/stdbit/stdc_has_single_bit_uc.h
    M libc/src/stdbit/stdc_has_single_bit_ui.cpp
    M libc/src/stdbit/stdc_has_single_bit_ui.h
    M libc/src/stdbit/stdc_has_single_bit_ul.cpp
    M libc/src/stdbit/stdc_has_single_bit_ul.h
    M libc/src/stdbit/stdc_has_single_bit_ull.cpp
    M libc/src/stdbit/stdc_has_single_bit_ull.h
    M libc/src/stdbit/stdc_has_single_bit_us.cpp
    M libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/src/stdbit/stdc_leading_ones_uc.cpp
    M libc/src/stdbit/stdc_leading_ones_uc.h
    M libc/src/stdbit/stdc_leading_ones_ui.cpp
    M libc/src/stdbit/stdc_leading_ones_ui.h
    M libc/src/stdbit/stdc_leading_ones_ul.cpp
    M libc/src/stdbit/stdc_leading_ones_ul.h
    M libc/src/stdbit/stdc_leading_ones_ull.cpp
    M libc/src/stdbit/stdc_leading_ones_ull.h
    M libc/src/stdbit/stdc_leading_ones_us.cpp
    M libc/src/stdbit/stdc_leading_ones_us.h
    M libc/src/stdbit/stdc_leading_zeros_uc.cpp
    M libc/src/stdbit/stdc_leading_zeros_uc.h
    M libc/src/stdbit/stdc_leading_zeros_ui.cpp
    M libc/src/stdbit/stdc_leading_zeros_ui.h
    M libc/src/stdbit/stdc_leading_zeros_ul.cpp
    M libc/src/stdbit/stdc_leading_zeros_ul.h
    M libc/src/stdbit/stdc_leading_zeros_ull.cpp
    M libc/src/stdbit/stdc_leading_zeros_ull.h
    M libc/src/stdbit/stdc_leading_zeros_us.cpp
    M libc/src/stdbit/stdc_leading_zeros_us.h
    M libc/src/stdbit/stdc_trailing_ones_uc.cpp
    M libc/src/stdbit/stdc_trailing_ones_uc.h
    M libc/src/stdbit/stdc_trailing_ones_ui.cpp
    M libc/src/stdbit/stdc_trailing_ones_ui.h
    M libc/src/stdbit/stdc_trailing_ones_ul.cpp
    M libc/src/stdbit/stdc_trailing_ones_ul.h
    M libc/src/stdbit/stdc_trailing_ones_ull.cpp
    M libc/src/stdbit/stdc_trailing_ones_ull.h
    M libc/src/stdbit/stdc_trailing_ones_us.cpp
    M libc/src/stdbit/stdc_trailing_ones_us.h
    M libc/src/stdbit/stdc_trailing_zeros_uc.cpp
    M libc/src/stdbit/stdc_trailing_zeros_uc.h
    M libc/src/stdbit/stdc_trailing_zeros_ui.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ui.h
    M libc/src/stdbit/stdc_trailing_zeros_ul.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ul.h
    M libc/src/stdbit/stdc_trailing_zeros_ull.cpp
    M libc/src/stdbit/stdc_trailing_zeros_ull.h
    M libc/src/stdbit/stdc_trailing_zeros_us.cpp
    M libc/src/stdbit/stdc_trailing_zeros_us.h
    M libc/src/stdfix/abshk.cpp
    M libc/src/stdfix/abshk.h
    M libc/src/stdfix/abshr.cpp
    M libc/src/stdfix/abshr.h
    M libc/src/stdfix/absk.cpp
    M libc/src/stdfix/absk.h
    M libc/src/stdfix/abslk.cpp
    M libc/src/stdfix/abslk.h
    M libc/src/stdfix/abslr.cpp
    M libc/src/stdfix/abslr.h
    M libc/src/stdfix/absr.cpp
    M libc/src/stdfix/absr.h
    M libc/src/stdfix/exphk.cpp
    M libc/src/stdfix/exphk.h
    M libc/src/stdfix/expk.cpp
    M libc/src/stdfix/expk.h
    M libc/src/stdfix/roundhk.cpp
    M libc/src/stdfix/roundhk.h
    M libc/src/stdfix/roundhr.cpp
    M libc/src/stdfix/roundhr.h
    M libc/src/stdfix/roundk.cpp
    M libc/src/stdfix/roundk.h
    M libc/src/stdfix/roundlk.cpp
    M libc/src/stdfix/roundlk.h
    M libc/src/stdfix/roundlr.cpp
    M libc/src/stdfix/roundlr.h
    M libc/src/stdfix/roundr.cpp
    M libc/src/stdfix/roundr.h
    M libc/src/stdfix/rounduhk.cpp
    M libc/src/stdfix/rounduhk.h
    M libc/src/stdfix/rounduhr.cpp
    M libc/src/stdfix/rounduhr.h
    M libc/src/stdfix/rounduk.cpp
    M libc/src/stdfix/rounduk.h
    M libc/src/stdfix/roundulk.cpp
    M libc/src/stdfix/roundulk.h
    M libc/src/stdfix/roundulr.cpp
    M libc/src/stdfix/roundulr.h
    M libc/src/stdfix/roundur.cpp
    M libc/src/stdfix/roundur.h
    M libc/src/stdfix/sqrtuhk.cpp
    M libc/src/stdfix/sqrtuhk.h
    M libc/src/stdfix/sqrtuhr.cpp
    M libc/src/stdfix/sqrtuhr.h
    M libc/src/stdfix/sqrtuk.cpp
    M libc/src/stdfix/sqrtuk.h
    M libc/src/stdfix/sqrtulr.cpp
    M libc/src/stdfix/sqrtulr.h
    M libc/src/stdfix/sqrtur.cpp
    M libc/src/stdfix/sqrtur.h
    M libc/src/stdfix/uhksqrtus.cpp
    M libc/src/stdfix/uhksqrtus.h
    M libc/src/stdfix/uksqrtui.cpp
    M libc/src/stdfix/uksqrtui.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/putchar.cpp
    M libc/src/stdio/baremetal/puts.cpp
    M libc/src/stdio/baremetal/remove.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/clearerr.h
    M libc/src/stdio/clearerr_unlocked.h
    M libc/src/stdio/fclose.h
    M libc/src/stdio/fdopen.h
    M libc/src/stdio/feof.h
    M libc/src/stdio/feof_unlocked.h
    M libc/src/stdio/ferror.h
    M libc/src/stdio/ferror_unlocked.h
    M libc/src/stdio/fflush.h
    M libc/src/stdio/fgetc.h
    M libc/src/stdio/fgetc_unlocked.h
    M libc/src/stdio/fgets.h
    M libc/src/stdio/fileno.h
    M libc/src/stdio/flockfile.cpp
    M libc/src/stdio/flockfile.h
    M libc/src/stdio/fopen.h
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/fopencookie.h
    M libc/src/stdio/fprintf.cpp
    M libc/src/stdio/fprintf.h
    M libc/src/stdio/fputc.h
    M libc/src/stdio/fputs.h
    M libc/src/stdio/fread.h
    M libc/src/stdio/fread_unlocked.h
    M libc/src/stdio/fscanf.cpp
    M libc/src/stdio/fscanf.h
    M libc/src/stdio/fseek.h
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftell.h
    M libc/src/stdio/ftello.h
    M libc/src/stdio/funlockfile.cpp
    M libc/src/stdio/funlockfile.h
    M libc/src/stdio/fwrite.h
    M libc/src/stdio/fwrite_unlocked.h
    M libc/src/stdio/generic/clearerr.cpp
    M libc/src/stdio/generic/clearerr_unlocked.cpp
    M libc/src/stdio/generic/fclose.cpp
    M libc/src/stdio/generic/feof.cpp
    M libc/src/stdio/generic/feof_unlocked.cpp
    M libc/src/stdio/generic/ferror.cpp
    M libc/src/stdio/generic/ferror_unlocked.cpp
    M libc/src/stdio/generic/fflush.cpp
    M libc/src/stdio/generic/fgetc.cpp
    M libc/src/stdio/generic/fgetc_unlocked.cpp
    M libc/src/stdio/generic/fgets.cpp
    M libc/src/stdio/generic/fileno.cpp
    M libc/src/stdio/generic/fopen.cpp
    M libc/src/stdio/generic/fputc.cpp
    M libc/src/stdio/generic/fputs.cpp
    M libc/src/stdio/generic/fread.cpp
    M libc/src/stdio/generic/fread_unlocked.cpp
    M libc/src/stdio/generic/fseek.cpp
    M libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    M libc/src/stdio/generic/ftello.cpp
    M libc/src/stdio/generic/fwrite.cpp
    M libc/src/stdio/generic/fwrite_unlocked.cpp
    M libc/src/stdio/generic/getc.cpp
    M libc/src/stdio/generic/getc_unlocked.cpp
    M libc/src/stdio/generic/getchar.cpp
    M libc/src/stdio/generic/getchar_unlocked.cpp
    M libc/src/stdio/generic/printf.cpp
    M libc/src/stdio/generic/putc.cpp
    M libc/src/stdio/generic/putchar.cpp
    M libc/src/stdio/generic/puts.cpp
    M libc/src/stdio/generic/ungetc.cpp
    M libc/src/stdio/generic/vprintf.cpp
    M libc/src/stdio/getc.h
    M libc/src/stdio/getc_unlocked.h
    M libc/src/stdio/getchar.h
    M libc/src/stdio/getchar_unlocked.h
    M libc/src/stdio/gpu/clearerr.cpp
    M libc/src/stdio/gpu/fclose.cpp
    M libc/src/stdio/gpu/feof.cpp
    M libc/src/stdio/gpu/ferror.cpp
    M libc/src/stdio/gpu/fflush.cpp
    M libc/src/stdio/gpu/fgetc.cpp
    M libc/src/stdio/gpu/fgets.cpp
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fopen.cpp
    M libc/src/stdio/gpu/fputc.cpp
    M libc/src/stdio/gpu/fputs.cpp
    M libc/src/stdio/gpu/fread.cpp
    M libc/src/stdio/gpu/fseek.cpp
    M libc/src/stdio/gpu/ftell.cpp
    M libc/src/stdio/gpu/fwrite.cpp
    M libc/src/stdio/gpu/getc.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/putc.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/remove.cpp
    M libc/src/stdio/gpu/stderr.cpp
    M libc/src/stdio/gpu/stdin.cpp
    M libc/src/stdio/gpu/stdout.cpp
    M libc/src/stdio/gpu/ungetc.cpp
    M libc/src/stdio/linux/fdopen.cpp
    M libc/src/stdio/linux/remove.cpp
    M libc/src/stdio/linux/rename.cpp
    M libc/src/stdio/printf.h
    M libc/src/stdio/printf_core/char_converter.h
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_main.cpp
    M libc/src/stdio/printf_core/printf_main.h
    M libc/src/stdio/printf_core/ptr_converter.h
    M libc/src/stdio/printf_core/string_converter.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/src/stdio/printf_core/writer.cpp
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/putc.h
    M libc/src/stdio/putchar.h
    M libc/src/stdio/puts.h
    M libc/src/stdio/remove.h
    M libc/src/stdio/rename.h
    M libc/src/stdio/scanf.cpp
    M libc/src/stdio/scanf.h
    M libc/src/stdio/scanf_core/converter.cpp
    M libc/src/stdio/scanf_core/converter.h
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdio/scanf_core/core_structs.h
    M libc/src/stdio/scanf_core/current_pos_converter.h
    M libc/src/stdio/scanf_core/float_converter.cpp
    M libc/src/stdio/scanf_core/float_converter.h
    M libc/src/stdio/scanf_core/int_converter.cpp
    M libc/src/stdio/scanf_core/int_converter.h
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdio/scanf_core/ptr_converter.cpp
    M libc/src/stdio/scanf_core/ptr_converter.h
    M libc/src/stdio/scanf_core/reader.cpp
    M libc/src/stdio/scanf_core/reader.h
    M libc/src/stdio/scanf_core/scanf_main.cpp
    M libc/src/stdio/scanf_core/scanf_main.h
    M libc/src/stdio/scanf_core/string_converter.cpp
    M libc/src/stdio/scanf_core/string_converter.h
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    M libc/src/stdio/setbuf.cpp
    M libc/src/stdio/setbuf.h
    M libc/src/stdio/setvbuf.cpp
    M libc/src/stdio/setvbuf.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/snprintf.h
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/sprintf.h
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/sscanf.h
    M libc/src/stdio/ungetc.h
    M libc/src/stdio/vfprintf.cpp
    M libc/src/stdio/vfprintf.h
    M libc/src/stdio/vprintf.h
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsnprintf.h
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdio/vsprintf.h
    M libc/src/stdlib/_Exit.cpp
    M libc/src/stdlib/_Exit.h
    M libc/src/stdlib/abort.h
    M libc/src/stdlib/abs.cpp
    M libc/src/stdlib/abs.h
    M libc/src/stdlib/aligned_alloc.h
    M libc/src/stdlib/at_quick_exit.cpp
    M libc/src/stdlib/at_quick_exit.h
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/atexit.h
    M libc/src/stdlib/atof.cpp
    M libc/src/stdlib/atof.h
    M libc/src/stdlib/atoi.cpp
    M libc/src/stdlib/atoi.h
    M libc/src/stdlib/atol.cpp
    M libc/src/stdlib/atol.h
    M libc/src/stdlib/atoll.cpp
    M libc/src/stdlib/atoll.h
    M libc/src/stdlib/baremetal/abort.cpp
    M libc/src/stdlib/bsearch.cpp
    M libc/src/stdlib/bsearch.h
    M libc/src/stdlib/calloc.h
    M libc/src/stdlib/div.cpp
    M libc/src/stdlib/div.h
    M libc/src/stdlib/exit.cpp
    M libc/src/stdlib/exit.h
    M libc/src/stdlib/exit_handler.cpp
    M libc/src/stdlib/exit_handler.h
    M libc/src/stdlib/free.h
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/src/stdlib/getenv.cpp
    M libc/src/stdlib/getenv.h
    M libc/src/stdlib/gpu/abort.cpp
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/src/stdlib/labs.cpp
    M libc/src/stdlib/labs.h
    M libc/src/stdlib/ldiv.cpp
    M libc/src/stdlib/ldiv.h
    M libc/src/stdlib/linux/abort.cpp
    M libc/src/stdlib/llabs.cpp
    M libc/src/stdlib/llabs.h
    M libc/src/stdlib/lldiv.cpp
    M libc/src/stdlib/lldiv.h
    M libc/src/stdlib/malloc.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_r.h
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_exit.cpp
    M libc/src/stdlib/quick_exit.h
    M libc/src/stdlib/rand.cpp
    M libc/src/stdlib/rand.h
    M libc/src/stdlib/rand_util.cpp
    M libc/src/stdlib/rand_util.h
    M libc/src/stdlib/realloc.h
    M libc/src/stdlib/srand.cpp
    M libc/src/stdlib/srand.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfromf.h
    M libc/src/stdlib/strfroml.cpp
    M libc/src/stdlib/strfroml.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtod.h
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtof.h
    M libc/src/stdlib/strtol.cpp
    M libc/src/stdlib/strtol.h
    M libc/src/stdlib/strtold.cpp
    M libc/src/stdlib/strtold.h
    M libc/src/stdlib/strtoll.cpp
    M libc/src/stdlib/strtoll.h
    M libc/src/stdlib/strtoul.cpp
    M libc/src/stdlib/strtoul.h
    M libc/src/stdlib/strtoull.cpp
    M libc/src/stdlib/strtoull.h
    M libc/src/string/allocating_string_utils.h
    M libc/src/string/bcmp.cpp
    M libc/src/string/bcmp.h
    M libc/src/string/bcopy.cpp
    M libc/src/string/bcopy.h
    M libc/src/string/bzero.cpp
    M libc/src/string/bzero.h
    M libc/src/string/index.cpp
    M libc/src/string/index.h
    M libc/src/string/memccpy.cpp
    M libc/src/string/memccpy.h
    M libc/src/string/memchr.cpp
    M libc/src/string/memchr.h
    M libc/src/string/memcmp.cpp
    M libc/src/string/memcmp.h
    M libc/src/string/memcpy.cpp
    M libc/src/string/memcpy.h
    M libc/src/string/memmem.cpp
    M libc/src/string/memmem.h
    M libc/src/string/memmove.cpp
    M libc/src/string/memmove.h
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/aarch64/inline_memset.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/inline_bcmp.h
    M libc/src/string/memory_utils/inline_bzero.h
    M libc/src/string/memory_utils/inline_memcmp.h
    M libc/src/string/memory_utils/inline_memcpy.h
    M libc/src/string/memory_utils/inline_memmem.h
    M libc/src/string/memory_utils/inline_memmove.h
    M libc/src/string/memory_utils/inline_memset.h
    M libc/src/string/memory_utils/inline_strcmp.h
    M libc/src/string/memory_utils/inline_strstr.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_riscv.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_bcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcpy.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/riscv/inline_memset.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memmove.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/src/string/mempcpy.cpp
    M libc/src/string/mempcpy.h
    M libc/src/string/memrchr.cpp
    M libc/src/string/memrchr.h
    M libc/src/string/memset.cpp
    M libc/src/string/memset.h
    M libc/src/string/memset_explicit.cpp
    M libc/src/string/memset_explicit.h
    M libc/src/string/rindex.cpp
    M libc/src/string/rindex.h
    M libc/src/string/stpcpy.cpp
    M libc/src/string/stpcpy.h
    M libc/src/string/stpncpy.cpp
    M libc/src/string/stpncpy.h
    M libc/src/string/strcasecmp.cpp
    M libc/src/string/strcasecmp.h
    M libc/src/string/strcasestr.cpp
    M libc/src/string/strcasestr.h
    M libc/src/string/strcat.cpp
    M libc/src/string/strcat.h
    M libc/src/string/strchr.cpp
    M libc/src/string/strchr.h
    M libc/src/string/strchrnul.cpp
    M libc/src/string/strchrnul.h
    M libc/src/string/strcmp.cpp
    M libc/src/string/strcmp.h
    M libc/src/string/strcoll.cpp
    M libc/src/string/strcoll.h
    M libc/src/string/strcpy.cpp
    M libc/src/string/strcpy.h
    M libc/src/string/strcspn.cpp
    M libc/src/string/strcspn.h
    M libc/src/string/strdup.cpp
    M libc/src/string/strdup.h
    M libc/src/string/strerror.cpp
    M libc/src/string/strerror.h
    M libc/src/string/strerror_r.cpp
    M libc/src/string/strerror_r.h
    M libc/src/string/string_utils.h
    M libc/src/string/strlcat.cpp
    M libc/src/string/strlcat.h
    M libc/src/string/strlcpy.cpp
    M libc/src/string/strlcpy.h
    M libc/src/string/strlen.cpp
    M libc/src/string/strlen.h
    M libc/src/string/strncasecmp.cpp
    M libc/src/string/strncasecmp.h
    M libc/src/string/strncat.cpp
    M libc/src/string/strncat.h
    M libc/src/string/strncmp.cpp
    M libc/src/string/strncmp.h
    M libc/src/string/strncpy.cpp
    M libc/src/string/strncpy.h
    M libc/src/string/strndup.cpp
    M libc/src/string/strndup.h
    M libc/src/string/strnlen.cpp
    M libc/src/string/strnlen.h
    M libc/src/string/strpbrk.cpp
    M libc/src/string/strpbrk.h
    M libc/src/string/strrchr.cpp
    M libc/src/string/strrchr.h
    M libc/src/string/strsep.cpp
    M libc/src/string/strsep.h
    M libc/src/string/strsignal.cpp
    M libc/src/string/strsignal.h
    M libc/src/string/strspn.cpp
    M libc/src/string/strspn.h
    M libc/src/string/strstr.cpp
    M libc/src/string/strstr.h
    M libc/src/string/strtok.cpp
    M libc/src/string/strtok.h
    M libc/src/string/strtok_r.cpp
    M libc/src/string/strtok_r.h
    M libc/src/string/strxfrm.cpp
    M libc/src/string/strxfrm.h
    M libc/src/sys/auxv/getauxval.h
    M libc/src/sys/auxv/linux/getauxval.cpp
    M libc/src/sys/epoll/epoll_create.h
    M libc/src/sys/epoll/epoll_create1.h
    M libc/src/sys/epoll/epoll_ctl.h
    M libc/src/sys/epoll/epoll_pwait.h
    M libc/src/sys/epoll/epoll_pwait2.h
    M libc/src/sys/epoll/epoll_wait.h
    M libc/src/sys/epoll/linux/epoll_create.cpp
    M libc/src/sys/epoll/linux/epoll_create1.cpp
    M libc/src/sys/epoll/linux/epoll_ctl.cpp
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/sys/mman/linux/madvise.cpp
    M libc/src/sys/mman/linux/mincore.cpp
    M libc/src/sys/mman/linux/mlock.cpp
    M libc/src/sys/mman/linux/mlock2.cpp
    M libc/src/sys/mman/linux/mlockall.cpp
    M libc/src/sys/mman/linux/mmap.cpp
    M libc/src/sys/mman/linux/mprotect.cpp
    M libc/src/sys/mman/linux/msync.cpp
    M libc/src/sys/mman/linux/munlock.cpp
    M libc/src/sys/mman/linux/munlockall.cpp
    M libc/src/sys/mman/linux/munmap.cpp
    M libc/src/sys/mman/linux/posix_madvise.cpp
    M libc/src/sys/mman/linux/shm_common.h
    M libc/src/sys/mman/linux/shm_open.cpp
    M libc/src/sys/mman/linux/shm_unlink.cpp
    M libc/src/sys/mman/madvise.h
    M libc/src/sys/mman/mincore.h
    M libc/src/sys/mman/mlock.h
    M libc/src/sys/mman/mlock2.h
    M libc/src/sys/mman/mlockall.h
    M libc/src/sys/mman/mmap.h
    M libc/src/sys/mman/mprotect.h
    M libc/src/sys/mman/msync.h
    M libc/src/sys/mman/munlock.h
    M libc/src/sys/mman/munlockall.h
    M libc/src/sys/mman/munmap.h
    M libc/src/sys/mman/posix_madvise.h
    M libc/src/sys/mman/shm_open.h
    M libc/src/sys/mman/shm_unlink.h
    M libc/src/sys/prctl/linux/prctl.cpp
    M libc/src/sys/prctl/prctl.h
    M libc/src/sys/random/getrandom.h
    M libc/src/sys/random/linux/getrandom.cpp
    M libc/src/sys/resource/getrlimit.h
    M libc/src/sys/resource/linux/getrlimit.cpp
    M libc/src/sys/resource/linux/setrlimit.cpp
    M libc/src/sys/resource/setrlimit.h
    M libc/src/sys/select/linux/select.cpp
    M libc/src/sys/select/select.h
    M libc/src/sys/sendfile/linux/sendfile.cpp
    M libc/src/sys/sendfile/sendfile.h
    M libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/bind.cpp
    M libc/src/sys/socket/linux/socket.cpp
    M libc/src/sys/socket/socket.h
    M libc/src/sys/stat/chmod.h
    M libc/src/sys/stat/fchmod.h
    M libc/src/sys/stat/fchmodat.h
    M libc/src/sys/stat/fstat.h
    M libc/src/sys/stat/linux/chmod.cpp
    M libc/src/sys/stat/linux/fchmod.cpp
    M libc/src/sys/stat/linux/fchmodat.cpp
    M libc/src/sys/stat/linux/fstat.cpp
    M libc/src/sys/stat/linux/kernel_statx.h
    M libc/src/sys/stat/linux/lstat.cpp
    M libc/src/sys/stat/linux/mkdir.cpp
    M libc/src/sys/stat/linux/mkdirat.cpp
    M libc/src/sys/stat/linux/stat.cpp
    M libc/src/sys/stat/lstat.h
    M libc/src/sys/stat/mkdir.h
    M libc/src/sys/stat/mkdirat.h
    M libc/src/sys/stat/stat.h
    M libc/src/sys/statvfs/fstatvfs.h
    M libc/src/sys/statvfs/linux/fstatvfs.cpp
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/linux/statvfs.cpp
    M libc/src/sys/statvfs/statvfs.h
    M libc/src/sys/utsname/linux/uname.cpp
    M libc/src/sys/utsname/uname.h
    M libc/src/sys/wait/linux/wait.cpp
    M libc/src/sys/wait/linux/wait4.cpp
    M libc/src/sys/wait/linux/waitpid.cpp
    M libc/src/sys/wait/wait.h
    M libc/src/sys/wait/wait4.h
    M libc/src/sys/wait/wait4Impl.h
    M libc/src/sys/wait/waitpid.h
    M libc/src/termios/cfgetispeed.h
    M libc/src/termios/cfgetospeed.h
    M libc/src/termios/cfsetispeed.h
    M libc/src/termios/cfsetospeed.h
    M libc/src/termios/linux/cfgetispeed.cpp
    M libc/src/termios/linux/cfgetospeed.cpp
    M libc/src/termios/linux/cfsetispeed.cpp
    M libc/src/termios/linux/cfsetospeed.cpp
    M libc/src/termios/linux/kernel_termios.h
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/termios/tcdrain.h
    M libc/src/termios/tcflow.h
    M libc/src/termios/tcflush.h
    M libc/src/termios/tcgetattr.h
    M libc/src/termios/tcgetsid.h
    M libc/src/termios/tcsendbreak.h
    M libc/src/termios/tcsetattr.h
    M libc/src/threads/call_once.cpp
    M libc/src/threads/call_once.h
    M libc/src/threads/cnd_broadcast.h
    M libc/src/threads/cnd_destroy.h
    M libc/src/threads/cnd_init.h
    M libc/src/threads/cnd_signal.h
    M libc/src/threads/cnd_wait.h
    M libc/src/threads/linux/Futex.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/threads/mtx_destroy.cpp
    M libc/src/threads/mtx_destroy.h
    M libc/src/threads/mtx_init.cpp
    M libc/src/threads/mtx_init.h
    M libc/src/threads/mtx_lock.cpp
    M libc/src/threads/mtx_lock.h
    M libc/src/threads/mtx_unlock.cpp
    M libc/src/threads/mtx_unlock.h
    M libc/src/threads/thrd_create.cpp
    M libc/src/threads/thrd_create.h
    M libc/src/threads/thrd_current.cpp
    M libc/src/threads/thrd_current.h
    M libc/src/threads/thrd_detach.cpp
    M libc/src/threads/thrd_detach.h
    M libc/src/threads/thrd_equal.cpp
    M libc/src/threads/thrd_equal.h
    M libc/src/threads/thrd_exit.cpp
    M libc/src/threads/thrd_exit.h
    M libc/src/threads/thrd_join.cpp
    M libc/src/threads/thrd_join.h
    M libc/src/threads/tss_create.cpp
    M libc/src/threads/tss_create.h
    M libc/src/threads/tss_delete.cpp
    M libc/src/threads/tss_delete.h
    M libc/src/threads/tss_get.cpp
    M libc/src/threads/tss_get.h
    M libc/src/threads/tss_set.cpp
    M libc/src/threads/tss_set.h
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/clock.h
    M libc/src/time/clock_gettime.h
    M libc/src/time/difftime.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gettimeofday.h
    M libc/src/time/gmtime.cpp
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.cpp
    M libc/src/time/gmtime_r.h
    M libc/src/time/gpu/clock.cpp
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libc/src/time/linux/clock.cpp
    M libc/src/time/linux/clock_gettime.cpp
    M libc/src/time/linux/gettimeofday.cpp
    M libc/src/time/linux/nanosleep.cpp
    M libc/src/time/linux/time.cpp
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/nanosleep.h
    M libc/src/time/time_func.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/src/unistd/_exit.cpp
    M libc/src/unistd/_exit.h
    M libc/src/unistd/access.h
    M libc/src/unistd/chdir.h
    M libc/src/unistd/close.h
    M libc/src/unistd/dup.h
    M libc/src/unistd/dup2.h
    M libc/src/unistd/dup3.h
    M libc/src/unistd/environ.cpp
    M libc/src/unistd/environ.h
    M libc/src/unistd/execv.h
    M libc/src/unistd/execve.h
    M libc/src/unistd/fchdir.h
    M libc/src/unistd/fork.h
    M libc/src/unistd/fpathconf.h
    M libc/src/unistd/fsync.h
    M libc/src/unistd/ftruncate.h
    M libc/src/unistd/getcwd.h
    M libc/src/unistd/geteuid.h
    M libc/src/unistd/getopt.cpp
    M libc/src/unistd/getopt.h
    M libc/src/unistd/getpid.h
    M libc/src/unistd/getppid.h
    M libc/src/unistd/getuid.h
    M libc/src/unistd/isatty.h
    M libc/src/unistd/link.h
    M libc/src/unistd/linkat.h
    M libc/src/unistd/linux/access.cpp
    M libc/src/unistd/linux/chdir.cpp
    M libc/src/unistd/linux/close.cpp
    M libc/src/unistd/linux/dup.cpp
    M libc/src/unistd/linux/dup2.cpp
    M libc/src/unistd/linux/dup3.cpp
    M libc/src/unistd/linux/execv.cpp
    M libc/src/unistd/linux/execve.cpp
    M libc/src/unistd/linux/fchdir.cpp
    M libc/src/unistd/linux/fork.cpp
    M libc/src/unistd/linux/fpathconf.cpp
    M libc/src/unistd/linux/fsync.cpp
    M libc/src/unistd/linux/ftruncate.cpp
    M libc/src/unistd/linux/getcwd.cpp
    M libc/src/unistd/linux/geteuid.cpp
    M libc/src/unistd/linux/getpid.cpp
    M libc/src/unistd/linux/getppid.cpp
    M libc/src/unistd/linux/getuid.cpp
    M libc/src/unistd/linux/isatty.cpp
    M libc/src/unistd/linux/link.cpp
    M libc/src/unistd/linux/linkat.cpp
    M libc/src/unistd/linux/lseek.cpp
    M libc/src/unistd/linux/pathconf.cpp
    M libc/src/unistd/linux/pathconf_utils.cpp
    M libc/src/unistd/linux/pathconf_utils.h
    M libc/src/unistd/linux/pipe.cpp
    M libc/src/unistd/linux/pread.cpp
    M libc/src/unistd/linux/pwrite.cpp
    M libc/src/unistd/linux/read.cpp
    M libc/src/unistd/linux/readlink.cpp
    M libc/src/unistd/linux/readlinkat.cpp
    M libc/src/unistd/linux/rmdir.cpp
    M libc/src/unistd/linux/symlink.cpp
    M libc/src/unistd/linux/symlinkat.cpp
    M libc/src/unistd/linux/syscall.cpp
    M libc/src/unistd/linux/sysconf.cpp
    M libc/src/unistd/linux/truncate.cpp
    M libc/src/unistd/linux/unlink.cpp
    M libc/src/unistd/linux/unlinkat.cpp
    M libc/src/unistd/linux/write.cpp
    M libc/src/unistd/lseek.h
    M libc/src/unistd/pathconf.h
    M libc/src/unistd/pipe.h
    M libc/src/unistd/pread.h
    M libc/src/unistd/pwrite.h
    M libc/src/unistd/read.h
    M libc/src/unistd/readlink.h
    M libc/src/unistd/readlinkat.h
    M libc/src/unistd/rmdir.h
    M libc/src/unistd/swab.cpp
    M libc/src/unistd/swab.h
    M libc/src/unistd/symlink.h
    M libc/src/unistd/symlinkat.h
    M libc/src/unistd/syscall.h
    M libc/src/unistd/sysconf.h
    M libc/src/unistd/truncate.h
    M libc/src/unistd/unlink.h
    M libc/src/unistd/unlinkat.h
    M libc/src/unistd/write.h
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/btowc.h
    M libc/src/wchar/wctob.cpp
    M libc/src/wchar/wctob.h
    M libc/startup/baremetal/fini.cpp
    M libc/startup/baremetal/init.cpp
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/do_start.h
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/tls.cpp
    M libc/test/IntegrationTest/test.cpp
    M libc/test/UnitTest/BazelFilePath.cpp
    M libc/test/UnitTest/CmakeFilePath.cpp
    M libc/test/UnitTest/ErrnoSetterMatcher.h
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/UnitTest/FEnvSafeTest.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/HermeticTestUtils.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/UnitTest/PrintfMatcher.h
    M libc/test/UnitTest/RoundingModeUtils.cpp
    M libc/test/UnitTest/RoundingModeUtils.h
    M libc/test/UnitTest/ScanfMatcher.cpp
    M libc/test/UnitTest/ScanfMatcher.h
    M libc/test/UnitTest/StringUtils.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/UnitTest/TestLogger.h
    M libc/test/UnitTest/ZxTest.h
    M libc/test/include/sys/queue_test.cpp
    M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
    M libc/test/src/__support/CPP/algorithm_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/cstddef_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/CPP/type_traits_test.cpp
    M libc/test/src/__support/HashTable/bitmask_test.cpp
    M libc/test/src/__support/HashTable/group_test.cpp
    M libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/__support/endian_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/__support/str_to_double_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/__support/str_to_fp_test.h
    M libc/test/src/__support/str_to_long_double_test.cpp
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
    M libc/test/src/math/performance_testing/Timer.cpp
    M libc/test/src/math/performance_testing/Timer.h
    M libc/test/src/math/sdcomp26094.h
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/strtoint32_test.cpp
    M libc/test/src/stdlib/strtoint64_test.cpp
    M libc/test/src/string/bcmp_test.cpp
    M libc/test/src/string/bcopy_test.cpp
    M libc/test/src/string/bzero_test.cpp
    M libc/test/src/string/memcmp_test.cpp
    M libc/test/src/string/memcpy_test.cpp
    M libc/test/src/string/memmem_test.cpp
    M libc/test/src/string/memmove_test.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/test/src/string/memset_explicit_test.cpp
    M libc/test/src/string/memset_test.cpp
    M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
    M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)

This is a part of #97655.


  Commit: c6e996a931f810db9b43c24f74931cea79337511
      https://github.com/llvm/llvm-project/commit/c6e996a931f810db9b43c24f74931cea79337511
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  Reapply "[Clang] Fix __is_trivially_equality_comparable returning true with ineligebile defaulted overloads" (#97002) (#97894)

This reverts commit 567b2c608c307c097315dd5ec4d6a5bbcddf898d.


  Commit: 19a9f22c17c3e46f49095c71e6922b4a1deae567
      https://github.com/llvm/llvm-project/commit/19a9f22c17c3e46f49095c71e6922b4a1deae567
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp

  Log Message:
  -----------
  [asan] Enabled alloc_dealloc_mismatch in new test

It's required for some test cases,
but off by default on some platforms.

Follow up to #96749.


  Commit: 58bc98cd3abd72226cdbaa05bd92af9598d491db
      https://github.com/llvm/llvm-project/commit/58bc98cd3abd72226cdbaa05bd92af9598d491db
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
    M llvm/unittests/IR/LegacyPassManagerTest.cpp

  Log Message:
  -----------
  [CallGraphUpdater] Remove some legacy pass manager support (#98362)

We don't have any legacy pass manager CGSCC passes that modify the call
graph (we only use it in the codegen pipeline to run function passes in
call graph order). This is the beginning of removing CallGraphUpdater
and making all the relevant CGSCC passes directly use the new pass
manager APIs.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  AMDGPU: Assume true in getVOPNIsSingle helpers (#98516)

If we have something we don't know what it is, we should conservatively
avoid printing an additional suffix. For isCodeGenOnly
pseudoinstructions,
no encoded instruction is added to the tables this is queried, and the
null
case would assume true.

This happens to fix the case I ran into, but this isn't a wholistic fix.
These really should be encoded directly in the TSFlags of the
MCInstrDesc,
which would allow encoding pseudos to work correctly.


  Commit: e34e739ba88fed7450d232e29b523d247af365ec
      https://github.com/llvm/llvm-project/commit/e34e739ba88fed7450d232e29b523d247af365ec
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/masked-directive.f90
    A flang/test/Lower/OpenMP/masked.f90

  Log Message:
  -----------
  Adding Changes for invoking Masked Operation (#98423)

PR adds changes to the flang frontend to create the `MaskedOp` when
`masked` directive is used in the input program. Omp masked is
introduced in 5.2 standard and allows a parallel region to be executed
by threads specified by a programmer. This is achieved with the help of
filter clause which helps to specify thread id expected to execute the
region.

Other related PRs: 
- [Fortran Parsing and Semantic
Support](https://github.com/llvm/llvm-project/pull/91432) - Merged
- [MLIR Support](https://github.com/llvm/llvm-project/pull/96022/files)
- Merged
- [Lowering Support](https://github.com/llvm/llvm-project/pull/98401) -
Under Review


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  AMDGPU: Use defvar instead of defaulted multiclass argument


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-freeze.mir

  Log Message:
  -----------
  [GlobalIsel] Improve poison analysis (#93731)


  Commit: e3bd43b49e7c59387ce6bbb2bb4f3ef7501b0384
      https://github.com/llvm/llvm-project/commit/e3bd43b49e7c59387ce6bbb2bb4f3ef7501b0384
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/newhdrgen/class_implementation/classes/function.py
    M libc/newhdrgen/header.py
    M libc/newhdrgen/tests/expected_output/test_header.h
    M libc/newhdrgen/tests/input/test_small.h.def
    M libc/newhdrgen/tests/input/test_small.yaml
    A libc/newhdrgen/tests/output/test_small.h

  Log Message:
  -----------
  [libc] added grouping of guarded functions in header generation (#98532)

Instead of #ifdef guards for each individual function, #ifdef and #endif
will surround all functions that have the same guard.


  Commit: fd424179dcb3417fc0675f77d2bf06c750dd1c33
      https://github.com/llvm/llvm-project/commit/fd424179dcb3417fc0675f77d2bf06c750dd1c33
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Allow fetching of RA register when above fault handler (#98566)

In RegisterContextUnwind::SavedLocationForRegister we have special logic
for retrieving the Return Address register when it has the caller's
return address in it. An example would be the lr register on AArch64.

This register is never retrieved from a newer stack frame because it is
necessarly overwritten by a normal ABI function call. We allow frame 0
to provide its lr value to get the caller's return address, if it has
not been overwritten/saved to stack yet.

When a function is interrupted asynchronously by a POSIX signal
(sigtramp), or a fault handler more generally, the sigtramp/fault
handler has the entire register context available. In this situation, if
the fault handler is frame 0, the function that was async interrupted is
frame 1 and frame 2's return address may still be stored in lr. We need
to get the lr value for frame 1 from the fault handler in frame 0, to
get the return address for frame 2.

Without this fix, a frameless function that faults in a firmware
environment (that's where we've seen this issue most commonly) hasn't
spilled lr to stack, so we need to retrieve it from the fault handler's
full-register-context to find the caller of the frameless function that
faulted.

It's an unsurprising fix, all of the work was finding exactly where in
RegisterContextUnwind we were only allowing RA register use for frame 0,
when it should have been frame 0 or above a fault handler function.

rdar://127518945


  Commit: 9e452c1af430e5090de92aebfe422abbf5e51ff3
      https://github.com/llvm/llvm-project/commit/9e452c1af430e5090de92aebfe422abbf5e51ff3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/src/__support/blockstore.h
    M libc/test/src/__support/blockstore_test.cpp

  Log Message:
  -----------
  [libc] Add erase function to blockstore (#97641)

This adds the ability to erase a value from a blockstore based on an
iterator. For usability/testing purposes it also includes an addition
operator for blockstore's iterator.


  Commit: ebfb76ee454a11b047779cad65d719213833e094
      https://github.com/llvm/llvm-project/commit/ebfb76ee454a11b047779cad65d719213833e094
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/src/__support/blockstore.h
    M libc/test/src/__support/blockstore_test.cpp

  Log Message:
  -----------
  Revert "[libc] Add erase function to blockstore" (#98669)

Reverts llvm/llvm-project#97641

Fails under sanitizers


  Commit: a31b3de9285b77de60521c94f176493ddfb1127c
      https://github.com/llvm/llvm-project/commit/a31b3de9285b77de60521c94f176493ddfb1127c
  Author: Nathan James <n.james93 at hotmail.co.uk>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst

  Log Message:
  -----------
  Fix the docs for the boost/modernize use-ranges checks (#98662)

The formatting looked a little off in the Release notes webpage. This
should address those issues


  Commit: b9852ff5fc4986c6cf8c4ecd1eb5726d55a08ea3
      https://github.com/llvm/llvm-project/commit/b9852ff5fc4986c6cf8c4ecd1eb5726d55a08ea3
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp

  Log Message:
  -----------
  [clang-tidy] Ignore requires expr in bugprone-assignment-in-if-condition (#98079)

Ignore assignments in RequiresExpr, to avoid false positives.

Fixes #97972


  Commit: 280eadd5280ac77a1c4828c1b7919e543d01258e
      https://github.com/llvm/llvm-project/commit/280eadd5280ac77a1c4828c1b7919e543d01258e
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/src/__support/macros/config.h

  Log Message:
  -----------
  [libc] Remove `config.h` self-inclusion (#98670)

This was accidentally introduced in #98597.


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

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/i128.ll
    R llvm/test/CodeGen/NVPTX/libcall-fulfilled.ll
    R llvm/test/CodeGen/NVPTX/libcall-instruction.ll
    R llvm/test/CodeGen/NVPTX/libcall-intrinsic.ll

  Log Message:
  -----------
  [NVPTX] Enable i128 support in the NVPTX backend (#98658)

Summary:
The target information needs to configure that the platform has a
maximum integer size of 64 in order for it to enable i128 support. The
motivation behind this patch is that the i128 libcalls seem to be the
only ones used by the NVPTX backend and it would be ideal to disable
those completely. That would allow LTO to optimize libcalls properly
after https://github.com/llvm/llvm-project/pull/98512.


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

  Changed paths:
    M compiler-rt/lib/asan/asan_preinit.cpp
    M compiler-rt/lib/hwasan/hwasan_preinit.cpp
    M compiler-rt/lib/lsan/lsan_preinit.cpp
    M compiler-rt/lib/memprof/memprof_preinit.cpp
    M compiler-rt/lib/rtsan/rtsan_preinit.cpp
    M compiler-rt/lib/tsan/rtl/tsan_preinit.cpp
    M compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cpp
    M compiler-rt/test/tsan/Linux/check_preinit.cpp

  Log Message:
  -----------
  [sanitizer] Internalize .preinit_array variables

We can use an internal linkage variable to make it clear the variable is
not exported. The special section .preinit_array is a GC root.

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


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

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

  Log Message:
  -----------
  [asan] Fix a comment


  Commit: d7fd8b19e560fbb613159625acd8046d0df75115
      https://github.com/llvm/llvm-project/commit/d7fd8b19e560fbb613159625acd8046d0df75115
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/openbsd-phdr.s
    A lld/test/ELF/relro-openbsd.s
    M lld/test/ELF/relro.s

  Log Message:
  -----------
  [LLD] Extend special OpenBSD support, but scope under ELFOSABI (#97122)

- Add support for `.openbsd.mutable`

  (rebaser's note) adapted from:

https://github.com/openbsd/src/commit/bd249b5664da50f0178adea78250a7a0d8ea6566
  New auto-coalescing sections removed

  In the linkers, collect objects in section "openbsd.mutable" and place
  them into a page-aligned region in the bss, with the right markers for
kernel/ld.so to identify the region and skip making it immutable. While
here, fix readelf/objdump versions to show all of this. ok miod kettenis

- Add support for `.openbsd.syscalls`

  (rebaser's note) adapted from:

https://github.com/openbsd/src/commit/42a61acefa8b3288ff2163fb55e934a3fee39974

  Collect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS
  segment. This will be used soon to pin system calls to designated call
  sites.

  ok deraadt@

- Scope OpenBSD special section handling under that ELFOSABI

  As a preexisting comment in `ELF/Writer.cpp` says:

  > section names shouldn't be significant in ELF in spirit.

  so scoping OSABI-specific magic name hacks to just the OSABI in
  question limits the degree to which we deviate from that "spirit" for
  all other OSABIs.

  OpenBSD in particular is very fast moving, having added a number of
  special sections, etc. in recent years. It is unclear how possible /
  reasonable it is for upstream to implement all these features in any
  event, but scoping like this at least mitigates the fallout for other
  OSABIs systems which wish to be more slow-moving.

Co-authored-by: deraadt <deraadt at openbsd.org>


  Commit: 9a3cd0ee8f4cfa257ab22949dd709db230ef7e4f
      https://github.com/llvm/llvm-project/commit/9a3cd0ee8f4cfa257ab22949dd709db230ef7e4f
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

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

  Log Message:
  -----------
  [PatternMatch] Add matchers for `m_{I,F,}Cmp` and `m_{I,F,}SpecificCmp`; NFC

These matchers either take no predicate argument or match a specific
predicate respectively.

We have a lot of cases where the Pred argument is either unused and
requiring the argument reduces code clarity.

Likewise we have a lot of cases where we only pass in Pred to test
equality which the new `*Specific*` helpers can simplify.

Closes #98282


  Commit: 3cf4a508f4b929c794d46ab25b4d42bae5bbf219
      https://github.com/llvm/llvm-project/commit/3cf4a508f4b929c794d46ab25b4d42bae5bbf219
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll

  Log Message:
  -----------
  [InstCombine] Add tests for transforming `(or/and (icmp eq/ne X,0),(icmp eq/ne X,Pow2OrZero))`; NFC


  Commit: 52727626afb7ea702a41c1754a7d45924f9fecb2
      https://github.com/llvm/llvm-project/commit/52727626afb7ea702a41c1754a7d45924f9fecb2
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll

  Log Message:
  -----------
  [InstCombine] Add transforms for `(or/and (icmp eq/ne X,0),(icmp eq/ne X,Pow2OrZero))`

`(or (icmp eq X, 0), (icmp eq X, Pow2OrZero))`
    --> `(icmp eq (and X, Pow2OrZero), X)`

`(and (icmp ne X, 0), (icmp ne X, Pow2OrZero))`
    --> `(icmp ne (and X, Pow2OrZero), X)`

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

Closes #94648


  Commit: b96c0123fd09cd8e68a6bc500eb30417f8e96228
      https://github.com/llvm/llvm-project/commit/b96c0123fd09cd8e68a6bc500eb30417f8e96228
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [MC] Use range-based for loops (NFC) (#98604)


  Commit: 73dad7a765226bd7ade98f85d050e80f411f6dad
      https://github.com/llvm/llvm-project/commit/73dad7a765226bd7ade98f85d050e80f411f6dad
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/RemoteAwarePlatform.cpp

  Log Message:
  -----------
  [LLDB] Fix remote executables load and caching (#98623)

Seemingly, #96256 removed the only call to
Platform::GetCachedExecutable, which broke the resolution of executable
modules in the remote debugging mode
(https://github.com/llvm/llvm-project/issues/97410).

This commit fixes that.


  Commit: 7d1b6b2c32f5d403a8eba2c16c6431847041ab87
      https://github.com/llvm/llvm-project/commit/7d1b6b2c32f5d403a8eba2c16c6431847041ab87
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    A clang/test/CodeGenCXX/arm64-generated-fn-attr.cpp

  Log Message:
  -----------
  [Clang][ARM][AArch64] Add branch protection attributes to the defaults. (#83277)

These attributes are no longer inherited from the module flags,
therefore need to be added for synthetic functions.


  Commit: 0d2621641ca54315dafe8f1aecda6b68db6aa5c8
      https://github.com/llvm/llvm-project/commit/0d2621641ca54315dafe8f1aecda6b68db6aa5c8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    A libcxx/test/libcxx/atomics/atomics.syn/wait.issue_85107.pass.cpp
    R libcxx/test/libcxx/atomics/atomics.syn/wait.pass.cpp

  Log Message:
  -----------
  [libc++] Make sure the test for compare-and-wait bug doesn't hang forever (#97907)

This patch adds an explicit timeout mechanism in the compare-and-wait
test for std::atomic, ensuring that it doesn't run forever when the bug
is present. This is not an issue when we run inside the CI because we
specify a timeout manually, but it can be a problem when running
locally, for example.


  Commit: 1e96b4ad00f54dfbe9c4b22a95bef5fed0203e07
      https://github.com/llvm/llvm-project/commit/1e96b4ad00f54dfbe9c4b22a95bef5fed0203e07
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [libc++][hardening] Use `__builtin_verbose_trap` if it's available. (#84870)

Keep falling back to `__builtin_trap` on older versions of Clang.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 7f06560edb299de91a960a19505c8da6eaed65e5
      https://github.com/llvm/llvm-project/commit/7f06560edb299de91a960a19505c8da6eaed65e5
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    M flang/test/Semantics/array-constr-len.f90

  Log Message:
  -----------
  [flang] Re-land PR#97337 (#98656)

Pull request https://github.com/llvm/llvm-project/pull/97337 was
reverted by https://github.com/llvm/llvm-project/pull/98612 due
to two failing tests in llvm-test-suite -- which I ran, as always,
but must have bungled or misinterpreted (mea culpa).
    
The failing tests were llvm-test-suite/Fortran/gfortran/regression/
char_length_{20,21}.f90.  They have array constructors with
explicit character types whose dynamic length values are negative
at runtime, which must be interpreted as zero.
    
This patch extends the original to cover those cases.


  Commit: 5b82741a011c1b080ab03dbf70b808bab3813ea9
      https://github.com/llvm/llvm-project/commit/5b82741a011c1b080ab03dbf70b808bab3813ea9
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    A lld/test/ELF/deplibs-lto.s

  Log Message:
  -----------
  [lld][ELF] Error when deplibs adds new input file after LTO (#98565)

Parsing the new input file's symbols might invalidate LTO codegen, but
the semantics of deplibs require them to be parsed. Accordingly, report
an error unless the file had already been added to the link.

Fixes #56070


  Commit: 038c48c1f41119d667fa55e17e040281378071f3
      https://github.com/llvm/llvm-project/commit/038c48c1f41119d667fa55e17e040281378071f3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp

  Log Message:
  -----------
  [TBAA] Emit distinct TBAA tags for pointers with different depths,types. (#76612)

This patch extends Clang's TBAA generation code to emit distinct tags
for incompatible pointer types.

Pointers with different element types are incompatible if the pointee
types are also incompatible (modulo sugar/modifiers).

Express this in TBAA by generating different tags for pointers based on
the pointer depth and pointee type. To get the TBAA tag for the pointee
type it uses getTypeInfoHelper on the pointee type.

(Moved from https://reviews.llvm.org/D122573)

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


  Commit: 520e04540501f676580b9b73419265e1951a9c52
      https://github.com/llvm/llvm-project/commit/520e04540501f676580b9b73419265e1951a9c52
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll

  Log Message:
  -----------
  [AMDGPU] Handle llvm.amdgcn.pops.exiting.wave.id with calls (#98614)


  Commit: 3fe8ce390df3a3cdadee3089f158d14c02d07d78
      https://github.com/llvm/llvm-project/commit/3fe8ce390df3a3cdadee3089f158d14c02d07d78
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libcxx/src/include/overridable_function.h

  Log Message:
  -----------
  [libc++][NFC] Remove outdated comment about overridable_function being in libcxx/include


  Commit: 9bd575dd6075994afdbaebf43d2c682bab2d2a16
      https://github.com/llvm/llvm-project/commit/9bd575dd6075994afdbaebf43d2c682bab2d2a16
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__config
    M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp

  Log Message:
  -----------
  [libc++] Deprecate _LIBCPP_ENABLE_ASSERTIONS & friends (#98364)

In LLVM 19, the old xxx_ENABLE_ASSERTIONS settings should be deprecated
with the goal of removing them entirely in LLVM 20.


  Commit: eb27256850ad792a287a8547c88410b7cf1bcb42
      https://github.com/llvm/llvm-project/commit/eb27256850ad792a287a8547c88410b7cf1bcb42
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/src/__support/blockstore.h
    M libc/test/src/__support/blockstore_test.cpp

  Log Message:
  -----------
  [libc] Add erase function to blockstore (#98674)

Reland of #97641 with sanitizer fixes

This adds the ability to erase a value from a blockstore based on an
iterator. For usability/testing purposes it also includes an addition
operator for blockstore's iterator.


  Commit: 5dc371e289584928345f74f560a18a805226b5f8
      https://github.com/llvm/llvm-project/commit/5dc371e289584928345f74f560a18a805226b5f8
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    A clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl

  Log Message:
  -----------
  [HLSL] Split out resource class data from resource attribute (#98419)

The ability to spell out and specify the resource class is necessary for
testing various resource binding behaviors. Though it is not intended
for users to use this in customized HLSL source code, the ability to
specify the resource class via an attribute is immensely helpful for
writing thorough tests.
This PR introduces a new attribute, hlsl::resource_attribute, that can
only be applied on structs. This attribute only has 1 required argument,
and must be one of:
```
SRV
UAV
CBuffer
Sampler
```
By applying this attribute to a struct, the struct will have the
`HLSLResourceClassAttr` attribute attached to it in the AST
representation, which provides information on the type of resource class
the struct is meant to be.

The resource class data that was originally contained within the
`HLSLResourceAttr` attribute has been removed in favor of this new
attribute, and so certain ast-dump tests need to be modified so that the
same information can be represented via 2 attributes instead of one.

Fixes #98193

---------

Co-authored-by: Damyan Pepper <damyanp at microsoft.com>


  Commit: ef8207b579e8b1c242a1c37e00b1615ef95f2220
      https://github.com/llvm/llvm-project/commit/ef8207b579e8b1c242a1c37e00b1615ef95f2220
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [libc++][docs] LWG3380 made the status of P1614R2 in [meta.trans.other] "Nothing To Do" (#98636)

The changes of https://wg21.link/p1614r2 in [meta.trans.other]
were exactly reverted by https://wg21.link/LWG3380.


  Commit: 22b7b84860d39da71964c9b329937f2ee1d875ba
      https://github.com/llvm/llvm-project/commit/22b7b84860d39da71964c9b329937f2ee1d875ba
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M lld/test/wasm/Inputs/ret32.s
    A lld/test/wasm/dylink.s
    M lld/test/wasm/emit-relocs.s
    A lld/test/wasm/no-shlib-sigcheck.s
    M lld/test/wasm/pie.s
    M lld/test/wasm/shared-needed.s
    M lld/test/wasm/shared.s
    M lld/test/wasm/shared64.s
    M lld/test/wasm/signature-mismatch.s
    M lld/test/wasm/tag-section.ll
    A lld/test/wasm/undef-shared.s
    M lld/test/wasm/undefined-data.s
    M lld/test/wasm/unresolved-symbols.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/MarkLive.cpp
    M lld/wasm/Options.td
    M lld/wasm/Relocations.cpp
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/SymbolTable.h
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M llvm/lib/Object/WasmObjectFile.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Report undefined symbols in -shared/-pie builds (#75242)

Previously we would ignore all undefined symbols when using
`-shared` or `-pie`. All undefined symbols would be treated as imports
regardless of whether those symbols we defined in any shared library.
With this change we now track symbol in shared libraries and report
undefined symbols in the main program by default.
The old behavior is still available via the
`--unresolved-symbols=import-dynamic` command line flag.

This rationale for allowing this type of breaking change is that `-pie`
and `-shared` are both still experimental will warn as such, unless
`--experimental-pic` is passed.

As part of this change the linker now models shared library symbols
via new SharedFunctionSymbol and SharedDataSymbol types.

I've also added a new `--no-shlib-sigcheck` option that bypassed the
checking of functions signature in shared libraries. This is
specifically required by emscripten the case where the imports/exports
of shared libraries have been modified by via JS type legalization (this
is only needed when targeting old JS engines where bigint is not yet
available                                         

See https://github.com/emscripten-core/emscripten/issues/18198


  Commit: 99685a54d1322694847f59386a548b3696a43fc3
      https://github.com/llvm/llvm-project/commit/99685a54d1322694847f59386a548b3696a43fc3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/memcpy-memcpy-offset.ll

  Log Message:
  -----------
  [MemCpyOpt] Use `dyn_cast` to fix assertion failure in `processMemCpyMemCpyDependence` (#98686)

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


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp

  Log Message:
  -----------
  Revert "[TBAA] Emit distinct TBAA tags for pointers with different depths,types. (#76612)"

This reverts commit 038c48c1f41119d667fa55e17e040281378071f3.

This is causing test failures in some configurations, reverted while I
investigate.

Failures include

 http://lab.llvm.org/buildbot/#/builders/11/builds/1623
 http://lab.llvm.org/buildbot/#/builders/108/builds/1172


  Commit: afb584a5622d67d19539d30287bc8af461f48ca8
      https://github.com/llvm/llvm-project/commit/afb584a5622d67d19539d30287bc8af461f48ca8
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/ucmp.ll

  Log Message:
  -----------
  [SelectionDAG] Ensure that we don't create `UCMP`/`SCMP` nodes with operands being scalars and result being a 1-element vector during scalarization (#98687)

This patch fixes a problem that existed before where in some situations
a `UCMP`/`SCMP` node which operated on 1-element vectors had a legal
result type (i.e. `v1i64` on AArch64), but illegal operands (i.e.
`v1i65`). This meant that operand scalarization was performed on the
node and the operands were changed to a legal scalar type, but the
result wasn't. This then led to `UCMP`/`SCMP` nodes with different
vector-ness of operands and result appearing in the SDAG. This patch
addresses this issue by fully scalarizing the `UCMP`/`SCMP` node and
then turning its result back into a 1-element vector using a
`SCALAR_TO_VECTOR` node.

It also adds several assertions to `SelectionDAG::getNode()` to avoid
this or a similar issue arising in the future. I wasn't sure if these
two changes are unrelated enough to warrant two small separate PRs, but
I'm happy to split this PR into two if that's deemed more appropriate.


  Commit: 1ccd8756f1284e497fe921b955b8e06c8ccfbcdc
      https://github.com/llvm/llvm-project/commit/1ccd8756f1284e497fe921b955b8e06c8ccfbcdc
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [NVPTX] Disable all RTLib libcalls (#98672)

Summary:
This patch explicitly disables runtime calls to be emitted from the
NVPTX backend. This allows other utilities to know that we do not need
to worry about emitting these.


  Commit: 2ad7b4af95bc333d8f216915cd1b9d688590dcc5
      https://github.com/llvm/llvm-project/commit/2ad7b4af95bc333d8f216915cd1b9d688590dcc5
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

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

  Log Message:
  -----------
  [cmake][Fuchsia] armv8m -> armv8m.main (#98695)

armv8m builtins aren't being built because `armv8m` doesn't match any of
the arm cpu strings in compiler-rt cmake files. Instead there's
`armv8m.main` and `armv8m.base`. We want to use the `armv8m.main`
version.


  Commit: 486d00eca6b6ab470e8324b52cdf9f32023c1c9a
      https://github.com/llvm/llvm-project/commit/486d00eca6b6ab470e8324b52cdf9f32023c1c9a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    A clang/test/CodeGen/variadic-nvptx.c
    M libc/config/gpu/entrypoints.txt
    M libc/test/src/__support/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    A llvm/test/CodeGen/NVPTX/variadics-backend.ll
    A llvm/test/CodeGen/NVPTX/variadics-lowering.ll

  Log Message:
  -----------
  [NVPTX] Implement variadic functions using IR lowering (#96015)

Summary:
This patch implements support for variadic functions for NVPTX targets.
The implementation here mainly follows what was done to implement it for
AMDGPU in https://github.com/llvm/llvm-project/pull/93362.

We change the NVPTX codegen to lower all variadic arguments to functions
by-value. This creates a flattened set of arguments that the IR lowering
pass converts into a struct with the proper alignment.

The behavior of this function was determined by iteratively checking
what the NVCC copmiler generates for its output. See examples like
https://godbolt.org/z/KavfTGY93. I have noted the main methods that
NVIDIA uses to lower variadic functions.

1. All arguments are passed in a pointer to aggregate.
2. The minimum alignment for a plain argument is 4 bytes.
3. Alignment is dictated by the underlying type
4. Structs are flattened and do not have their alignment changed.
5. NVPTX never passes any arguments indirectly, even very large ones.

This patch passes the tests in the `libc` project currently, including
support for `sprintf`.


  Commit: 0870afaaaccde5b4bae37abfc982207ffafb8332
      https://github.com/llvm/llvm-project/commit/0870afaaaccde5b4bae37abfc982207ffafb8332
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    A libc/newhdrgen/yaml/sys/sys_auxv.yaml
    A libc/newhdrgen/yaml/sys/sys_epoll.yaml
    A libc/newhdrgen/yaml/sys/sys_ioctl.yaml
    A libc/newhdrgen/yaml/sys/sys_mman.yaml
    A libc/newhdrgen/yaml/sys/sys_prctl.yaml
    A libc/newhdrgen/yaml/sys/sys_random.yaml
    A libc/newhdrgen/yaml/sys/sys_resource.yaml
    A libc/newhdrgen/yaml/sys/sys_select.yaml
    A libc/newhdrgen/yaml/sys/sys_sendfile.yaml
    A libc/newhdrgen/yaml/sys/sys_socket.yaml
    A libc/newhdrgen/yaml/sys/sys_stat.yaml
    A libc/newhdrgen/yaml/sys/sys_statvfs.yaml
    A libc/newhdrgen/yaml/sys/sys_syscall.yaml
    A libc/newhdrgen/yaml/sys/sys_time.yaml
    A libc/newhdrgen/yaml/sys/sys_types.yaml
    A libc/newhdrgen/yaml/sys/sys_utsname.yaml
    A libc/newhdrgen/yaml/sys/sys_wait.yaml
    R libc/newhdrgen/yaml/sys_auxv.yaml
    R libc/newhdrgen/yaml/sys_epoll.yaml
    R libc/newhdrgen/yaml/sys_ioctl.yaml
    R libc/newhdrgen/yaml/sys_mman.yaml
    R libc/newhdrgen/yaml/sys_prctl.yaml
    R libc/newhdrgen/yaml/sys_random.yaml
    R libc/newhdrgen/yaml/sys_resource.yaml
    R libc/newhdrgen/yaml/sys_select.yaml
    R libc/newhdrgen/yaml/sys_sendfile.yaml
    R libc/newhdrgen/yaml/sys_socket.yaml
    R libc/newhdrgen/yaml/sys_stat.yaml
    R libc/newhdrgen/yaml/sys_statvfs.yaml
    R libc/newhdrgen/yaml/sys_syscall.yaml
    R libc/newhdrgen/yaml/sys_time.yaml
    R libc/newhdrgen/yaml/sys_types.yaml
    R libc/newhdrgen/yaml/sys_utsname.yaml
    R libc/newhdrgen/yaml/sys_wait.yaml

  Log Message:
  -----------
  [libc] newheadergen: created sys folder for yaml files, make appropriate updates to CMake file for sys folder (#98693)

Moved sys yaml files into the sys folder.
After CMake patch lands, will make appropriate changes to account for
yaml, header, and .h.def files that are located within the sys folder in
a separate patch.


  Commit: 76e37b1a08906620537440ebcd5162697079cba5
      https://github.com/llvm/llvm-project/commit/76e37b1a08906620537440ebcd5162697079cba5
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    A llvm/test/CodeGen/DirectX/legalize-module-flags.ll
    A llvm/test/CodeGen/DirectX/legalize-module-flags2.ll
    M llvm/test/tools/dxil-dis/di-compile-unit.ll
    M llvm/test/tools/dxil-dis/di-subprogram.ll
    M llvm/test/tools/dxil-dis/di-subrange.ll

  Log Message:
  -----------
  [DirectX] fix illegal behavior flag in module flags. (#96577)

For DXIL which is based on llvm 3.7, max supported behavior flag for
module flags is 6.

The commit will check all module flags, for behavior flag > 6, change it
to 2 (Warning).
    
This is to fix the behavior flag part for #96912.


  Commit: 7b135f7c0881ef0718c5c83e4d8556c5fdb32d86
      https://github.com/llvm/llvm-project/commit/7b135f7c0881ef0718c5c83e4d8556c5fdb32d86
  Author: yozhu <101743168+yozhu at users.noreply.github.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    A llvm/test/CodeGen/X86/MachineSink-Issue98477.ll

  Log Message:
  -----------
  [MachineSink] Check predecessor/successor relationship between two basic blocks involved in critical edge splitting (#98540)

Fix an issue in #97618 - if the two basic blocks involved are not
predecessor / successor to each other, treat the candidate as illegal
for critical edge splitting.

Closes #98477 (checked in test copied from its comment).


  Commit: ee4661e0f8eaff5da011e008187362f4ba947860
      https://github.com/llvm/llvm-project/commit/ee4661e0f8eaff5da011e008187362f4ba947860
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/ptrauth-tls-darwin.ll

  Log Message:
  -----------
  [AArch64][PAC] Emit auth call for Darwin tlv access thunk. (#97658)

With ptrauth-calls, function pointers are supposed to be signed.
On Darwin that includes the TLS indirection accessor (`_tlv_get_addr`).
We simply sign it with the plain function-pointer schema (IA,0), which
lets us do a `blraaz` when calling it.

Note that this doesn't have any kind of diversity, even when function
pointer diversity is enabled in the frontend.  On arm64e this accessor
is never signed that way, but the obvious alternative where this (or
another backend-generated) function pointer needs to be diversified
would need more than the "ptrauth-calls" attribute as it exists today.


  Commit: 40effc7af5679b7d54d3176a5eef2cdee1962ecd
      https://github.com/llvm/llvm-project/commit/40effc7af5679b7d54d3176a5eef2cdee1962ecd
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/__support/arg_list.h
    M libc/src/gpu/rpc_fprintf.cpp
    M libc/src/stdio/CMakeLists.txt
    R libc/src/stdio/fprintf.cpp
    M libc/src/stdio/generic/CMakeLists.txt
    A libc/src/stdio/generic/fprintf.cpp
    A libc/src/stdio/generic/vfprintf.cpp
    M libc/src/stdio/gpu/CMakeLists.txt
    A libc/src/stdio/gpu/fprintf.cpp
    A libc/src/stdio/gpu/printf.cpp
    A libc/src/stdio/gpu/vfprintf.cpp
    A libc/src/stdio/gpu/vfprintf_utils.h
    A libc/src/stdio/gpu/vprintf.cpp
    R libc/src/stdio/vfprintf.cpp
    M libc/test/integration/src/stdio/gpu/CMakeLists.txt
    R libc/test/integration/src/stdio/gpu/printf.cpp
    A libc/test/integration/src/stdio/gpu/printf_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Implement (v|f)printf on the GPU (#96369)

Summary:
This patch implements the `printf` family of functions on the GPU using
the new variadic support. This patch adapts the old handling in the
`rpc_fprintf` placeholder, but adds an extra RPC call to get the size of
the buffer to copy. This prevents the GPU from needing to parse the
string. While it's theoretically possible for the pass to know the size
of the struct, it's prohibitively difficult to do while maintaining ABI
compatibility with NVIDIA's varargs.

Depends on https://github.com/llvm/llvm-project/pull/96015.


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

  Changed paths:
    M libc/src/__support/threads/linux/raw_mutex.h

  Log Message:
  -----------
  [libc] Remove warnings on default values

Summary:
These cause issues because we compile with `-Wno-error`. Remove them for
now. @SchrodingerZhu.


  Commit: 71c5453fa9a1fb5bb927589c6d38058552d263b6
      https://github.com/llvm/llvm-project/commit/71c5453fa9a1fb5bb927589c6d38058552d263b6
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake

  Log Message:
  -----------
  [compiler-rt] Add hexagon architecture to cmake (#98650)

Add hexagon to detect_target_arch, test_target macros.


  Commit: 594989918bf9e178f3b7c5e200d700d0574f15ec
      https://github.com/llvm/llvm-project/commit/594989918bf9e178f3b7c5e200d700d0574f15ec
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/src/stdio/generic/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix missing printf dependencies


  Commit: bfdad9ff1d45e81dc9ddd42dfdf6d91f2917676f
      https://github.com/llvm/llvm-project/commit/bfdad9ff1d45e81dc9ddd42dfdf6d91f2917676f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [Pattern] Disabled new buggy test

Introduced with #98282


  Commit: 873578057df2bf1379570f7b77a2c9172912db51
      https://github.com/llvm/llvm-project/commit/873578057df2bf1379570f7b77a2c9172912db51
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [Pattern] Disable a new buggy test

Introduced with #98282


  Commit: fb19649535d3d31a748409542947d09291643204
      https://github.com/llvm/llvm-project/commit/fb19649535d3d31a748409542947d09291643204
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/ASTConcept.h
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [Clang][NFCI] Remove records of unsatisfied atomic expressions in ConstraintSatisfaction (#98654)

This expression doesn't appear to be ever used, so let's remove it from
the data structure.

Fixed some spelling issues as well.


  Commit: 0ecb98397bf6cf5fc00cb8649deddb0e80197f90
      https://github.com/llvm/llvm-project/commit/0ecb98397bf6cf5fc00cb8649deddb0e80197f90
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M libc/src/math/generic/tan.cpp

  Log Message:
  -----------
  [libc] suppress uninitialized werrors (#98710)

suppress uninitialized werrors when building with gcc


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

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

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


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove some unused includes


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

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

  Log Message:
  -----------
  [clang][Interp] Fix one-past-end pointers going back into the block


  Commit: 14b9d12039134a081686e9ed3939e789271b5707
      https://github.com/llvm/llvm-project/commit/14b9d12039134a081686e9ed3939e789271b5707
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M lld/docs/index.rst

  Log Message:
  -----------
  [docs] Remove the History section (#98715)

This does not really serve any purpose nowadays.


  Commit: 40ed1946f27ea64916993ea8fab947f2ad804063
      https://github.com/llvm/llvm-project/commit/40ed1946f27ea64916993ea8fab947f2ad804063
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Fix the bazel build after 40effc7af5679b7d54d3176a5eef2cdee1962ecd


  Commit: 1fe406fffe11dad0457a4d214ce67bf492196145
      https://github.com/llvm/llvm-project/commit/1fe406fffe11dad0457a4d214ce67bf492196145
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/test/Parser/cxx-template-argument.cpp

  Log Message:
  -----------
  [Clang] Fix parsing of reversible type traits in template arguments (#95969)

Constructs like `__is_pointer(Foo)` are never considered to be functions
declarations.

This matches usages in libstdc++, and we can hope
no one else redefine these reserved identifiers.

Fixes #95598


  Commit: 3fed312d2bca7d44734ace75d18890675da0f89b
      https://github.com/llvm/llvm-project/commit/3fed312d2bca7d44734ace75d18890675da0f89b
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp

  Log Message:
  -----------
  [clang][dataflow]Propagate the result object location for CXXDefaultInitExpr. (#98490)

These are not "original initializers"; the single node underneath
represents the initializing node.


  Commit: 69fecaa1a455938b0e1acadc582d5126af9f24f5
      https://github.com/llvm/llvm-project/commit/69fecaa1a455938b0e1acadc582d5126af9f24f5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__type_traits/is_function.h
    M libcxx/include/__type_traits/is_member_function_pointer.h
    M libcxx/include/__type_traits/is_member_object_pointer.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_object.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_scoped_enum.h
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv

  Log Message:
  -----------
  [libc++] Clean up some now dead code with the upgrade to GCC 14 (#97746)


  Commit: 7232763a965e1d34a14f745d74245685898e4907
      https://github.com/llvm/llvm-project/commit/7232763a965e1d34a14f745d74245685898e4907
  Author: Ilya Leoshkevich <iii at linux.ibm.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

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

  Log Message:
  -----------
  [sanitizer] Suggest checking ulimit -d in addition to ulimit -v (#98625)

Since Linux 4.7, RLIMIT_DATA may result in mmap() returning ENOMEM.
Example:

    $ clang -fsanitize=address -o hello hello.c
    $ ulimit -d 100000
    $ ./hello
==3349007==ERROR: AddressSanitizer failed to allocate 0x10000000
(268435456) bytes at address 7fff7000 (errno: 12)
==3349007==ReserveShadowMemoryRange failed while trying to map
0x10000000 bytes. Perhaps you're using ulimit -v

Suggest checking ulimit -d in addition to ulimit -v.


  Commit: 3b7a7f4cc43f90e79292700959c55a62ab87fd9a
      https://github.com/llvm/llvm-project/commit/3b7a7f4cc43f90e79292700959c55a62ab87fd9a
  Author: Ilya Leoshkevich <iii at linux.ibm.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

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

  Log Message:
  -----------
  [sanitizer] Add missing newlines to __sanitizer_set_report_path() error messages (#98626)

"Can't open file:" and "Can't create directory:" are lacking a newline.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll

  Log Message:
  -----------
  [AMDGPU] Re-enable atomic optimization of uniform fadd/fsub with result (#97604)

Fix various problems to do with the first active lane of the result of
optimized fp atomics, as explained in the comment.

Fixes #97554


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

  Changed paths:
    M libc/test/src/stdio/CMakeLists.txt

  Log Message:
  -----------
  [libc] Stop using LLVM's `stdout` in overlay mode tests

Summary:
This causes errors when running unit tests when it tries to use an
invalid stdio handle.

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


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

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

  Log Message:
  -----------
  Fix a warning in #98362 [-Wunused-but-set-variable]


  Commit: a5cf99d02c6078ddb921f859f7ed9ab4c3e7dd33
      https://github.com/llvm/llvm-project/commit/a5cf99d02c6078ddb921f859f7ed9ab4c3e7dd33
  Author: Marius Brehler <marius.brehler at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/member.mlir

  Log Message:
  -----------
  [mlir][EmitC] Add member access ops (#98460)

This adds an `emitc.member` and `emitc.member_of_ptr` operation for the
corresponding member access operators. Furthermore, `emitc.assign` is
adjusted to be used with the member access operators.


  Commit: 80e61e38428964c9c9abac5b7a59bb513b5b1c3d
      https://github.com/llvm/llvm-project/commit/80e61e38428964c9c9abac5b7a59bb513b5b1c3d
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir

  Log Message:
  -----------
  Remove redundant linalg.matmul_signed (#98615)

`linalg.matmul` already has an attribute for casts, defaults to signed
but allowed unsigned, so the operation `linalg.matmul_unsigned` is
redundant. The generalization test has an example on how to lower to
unsigned matmul in linalg.

This is the first PR in a list of many that will simplify the linalg
operations by using similar attributes.

Ref:
https://discourse.llvm.org/t/rfc-transpose-attribute-for-linalg-matmul-operations/80092


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

  Changed paths:
    M clang/lib/AST/Interp/InterpState.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/lifetimes.cpp

  Log Message:
  -----------
  [clang][Interp] Clear pointers pointing to dead blocks

before free()ing the dead blocks. Otherwise, we might end up with
dangling Pointers to those dead blocks.


  Commit: 949bbdc923ce336942a506a125fb28dfdf662c3a
      https://github.com/llvm/llvm-project/commit/949bbdc923ce336942a506a125fb28dfdf662c3a
  Author: mskamp <marius.kamp at fau.de>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/umin_cttz_ctlz.ll

  Log Message:
  -----------
  [InstCombine] Fold Minimum over Trailing/Leading Bits Counts (#90402)

The new transformation folds `umin(cttz(x), c)` to `cttz(x | (1 << c))`
and `umin(ctlz(x), c)` to `ctlz(x | ((1 << (bitwidth - 1)) >> c))`. The
transformation is only implemented for constant `c` to not increase the
number of instructions.
    
The idea of the transformation is to set the c-th lowest (for `cttz`) or
highest (for `ctlz`) bit in the operand. In this way, the `cttz` or
`ctlz` instruction always returns at most `c`.
    
Alive2 proofs: https://alive2.llvm.org/ce/z/y8Hdb8

Fixes #90000


  Commit: 60e90a1929ff1b5773fa83239301e3a190566315
      https://github.com/llvm/llvm-project/commit/60e90a1929ff1b5773fa83239301e3a190566315
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

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

  Log Message:
  -----------
  [InstCombine] Check for undef first before freeze (#96769)

All of these insert freeze due to multi-use, which is only
relevant for undef values, not poison.


  Commit: 2d2893d7b1bbe380c6e66aad93bfa34a425cddd5
      https://github.com/llvm/llvm-project/commit/2d2893d7b1bbe380c6e66aad93bfa34a425cddd5
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc] always compile hash_test with -O3 (#98718)


  Commit: d91ff3f2409a721b61b68c6a8438ea6c59323df8
      https://github.com/llvm/llvm-project/commit/d91ff3f2409a721b61b68c6a8438ea6c59323df8
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M clang/docs/HLSL/ExpectedDifferences.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    R clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
    A clang/test/SemaHLSL/SplatOverloadResolution.hlsl
    A clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    M clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
    M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    M clang/test/SemaHLSL/standard_conversion_sequences.hlsl

  Log Message:
  -----------
  [HLSL] Rework implicit conversion sequences (#96011)

This PR reworks HLSL's implicit conversion sequences. Initially I was
seeking to match DXC's behavior more closely, but that was leading to a
pile of special case rules to tie-break ambiguous cases that should
really be left as ambiguous. We've decided that we're going to break
compatibility with DXC here, and we may port this new behavior over to
DXC instead.

This change is a bit closer to C++'s overload resolution rules, but it
does have a bit of nuance around how dimension adjustment conversions
are ranked. Conversion sequence ranks for HLSL are:

* Exact match
* Scalar Widening (i.e. splat)
* Promotion
* Scalar Widening with Promotion
* Conversion
* Scalar Widening with Conversion
* Dimension Reduction (i.e. truncation)
* Dimension Reduction with Promotion
* Dimension Reduction with Conversion

In this implementation I've folded the disambiguation into the
conversion sequence ranks which does add some complexity as compared to
C++, however this avoids needing to add special casing in
`CompareStandardConversionSequences`. I believe the added conversion
rank values provide a simpler approach, but feedback is appreciated.

The HLSL language spec updates are in the PR here:
https://github.com/microsoft/hlsl-specs/pull/261


  Commit: 69258491d201bf6d96a8a9bac2ea80a1b14d9cd4
      https://github.com/llvm/llvm-project/commit/69258491d201bf6d96a8a9bac2ea80a1b14d9cd4
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/config/baremetal/config.json
    M libc/config/config.json
    M libc/config/gpu/config.json
    M libc/docs/configure.rst
    M libc/include/errno.h.def
    M libc/src/errno/CMakeLists.txt
    A libc/src/errno/errno.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h

  Log Message:
  -----------
  [libc] Support configurable errno modes (#98287)

Rather than selecting the errno implementation based on the platform
which doesn't provide the necessary flexibility, make it configurable.

The errno value location is returned by `int *__llvm_libc_errno()` which
is a common design used by other C libraries.


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

  Changed paths:
    M libc/src/stdio/generic/CMakeLists.txt

  Log Message:
  -----------
  [libc] fix dependencies for fprintf (#98752)


  Commit: 4a68654ad6c4d85208b817fc914e17d084ed25ae
      https://github.com/llvm/llvm-project/commit/4a68654ad6c4d85208b817fc914e17d084ed25ae
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/src/errno/CMakeLists.txt
    R libc/src/errno/errno.h
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h

  Log Message:
  -----------
  [libc] Remove src/errno/errno.h (#98759)

This addresses the build error introduced in #98287 where
src/errno/errno.h is included instead of the system errno.h.

We instead move the declaration to libc_errno.h.


  Commit: 8802c9fd73da9451e69e15eed53b396c7d44a866
      https://github.com/llvm/llvm-project/commit/8802c9fd73da9451e69e15eed53b396c7d44a866
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/src/errno/libc_errno.h

  Log Message:
  -----------
  [libc] Mark internal __llvm_libc_errno as noexcept (#98760)

The declaration must match the previous declaration in errno.h.


  Commit: b2468d7ec2ffddd212ec56b298dd9e45d60b062a
      https://github.com/llvm/llvm-project/commit/b2468d7ec2ffddd212ec56b298dd9e45d60b062a
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/src/errno/libc_errno.cpp

  Log Message:
  -----------
  [libc] Mark all __llvm_libc_errno definitions as noexcept (#98762)

The definitions must match the previous declaration in errno.h.


  Commit: f4254f3f517c60deeb2ba309c3bb5dfb644bed89
      https://github.com/llvm/llvm-project/commit/f4254f3f517c60deeb2ba309c3bb5dfb644bed89
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M clang/test/SemaHLSL/export.hlsl

  Log Message:
  -----------
  [HLSL] Add test for export function redeclaration (#97370)

Related to llvm/llvm-project#92812


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

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/load-store-index-loaded-in-loop.ll

  Log Message:
  -----------
  [LAA] Precommit test with loops where indices are loaded in each iter.

Add tests which are not safe to vectorize because %indices are loaded in
the loop and the same indices could be loaded in later iterations.

Tests for https://github.com/llvm/llvm-project/issues/87189.


  Commit: 66cd2e0f9a7ae3a966451d1868769947c72164d8
      https://github.com/llvm/llvm-project/commit/66cd2e0f9a7ae3a966451d1868769947c72164d8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp

  Log Message:
  -----------
  [CodeGen] Use range-based for loops (NFC) (#98706)


  Commit: 3fa409f2318ef790cc44836afe9a72830715ad84
      https://github.com/llvm/llvm-project/commit/3fa409f2318ef790cc44836afe9a72830715ad84
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

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

  Log Message:
  -----------
  [ADT] Remove StringRef::equals (#98735)

StringRef::equals has been deprecated since:

  commit de483ad513895c0adf7f21c7001c30f031998ea3
  Author: Kazu Hirata <kazu at google.com>
  Date:   Thu May 16 00:38:37 2024 -0700


  Commit: 5e22a536981483d8411266dccee2ff3e5f31f4a1
      https://github.com/llvm/llvm-project/commit/5e22a536981483d8411266dccee2ff3e5f31f4a1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/R600Packetizer.cpp
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  [Target] Use range-based for loops (NFC) (#98705)


  Commit: 8b4251729f267b136414c359394daab0492f0c0c
      https://github.com/llvm/llvm-project/commit/8b4251729f267b136414c359394daab0492f0c0c
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/test/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add libc_include_tests suites to check-libc target. (#98749)


  Commit: 3604c23dfc8edb00aae72456ef3ff765eb795db5
      https://github.com/llvm/llvm-project/commit/3604c23dfc8edb00aae72456ef3ff765eb795db5
  Author: Akiel <56521583+akielaries at users.noreply.github.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsFiniteTest.h
    A libc/test/include/IsInfTest.h
    A libc/test/include/IsNanTest.h
    A libc/test/include/SignbitTest.h
    A libc/test/include/isfinite_test.c
    A libc/test/include/isfinite_test.cpp
    A libc/test/include/isfinitef_test.cpp
    A libc/test/include/isfinitel_test.cpp
    A libc/test/include/isinf_test.c
    A libc/test/include/isinf_test.cpp
    A libc/test/include/isinff_test.cpp
    A libc/test/include/isinfl_test.cpp
    A libc/test/include/isnan_test.c
    A libc/test/include/isnan_test.cpp
    A libc/test/include/isnanf_test.cpp
    A libc/test/include/isnanl_test.cpp
    A libc/test/include/signbit_test.c
    A libc/test/include/signbit_test.cpp
    A libc/test/include/signbitf_test.cpp
    A libc/test/include/signbitl_test.cpp

  Log Message:
  -----------
  [libc][math] implement `signbit` and math macro unit tests (#97791)

This PR resolves #96322 and implements the `signbit` macro under a new
header `generic-math-macros.h`. This also removed the `TODO` in
`math-macros.h` and moves `isfinite`, `isinf`, and `isnan` to the same
generic maths header. Finally, a test file
`generic-math-macros_test.cpp` that adds coverage to the above 4 macros.

Fixes #96322.


  Commit: dfcc898439d043fa062e087661cef9afe7fea12e
      https://github.com/llvm/llvm-project/commit/dfcc898439d043fa062e087661cef9afe7fea12e
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] Include realloc in baremetal entrypoints (#98780)

This is used in some embedded projects.


  Commit: 57ae6183757ec26082903e2fc6904c0cfe53b34a
      https://github.com/llvm/llvm-project/commit/57ae6183757ec26082903e2fc6904c0cfe53b34a
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M libc/test/include/SignbitTest.h

  Log Message:
  -----------
  [libc] Fix signbit include test. (#98793)


  Commit: 78266ab0dc64dbc208035acc455f1b8ef22af387
      https://github.com/llvm/llvm-project/commit/78266ab0dc64dbc208035acc455f1b8ef22af387
  Author: Vedant Paranjape <vedant.paranjape at amd.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    A llvm/test/Transforms/ArgumentPromotion/recursion/recursion-diff-call-types.ll

  Log Message:
  -----------
  [ArgPromotion] Remove redundant logic from recursive argpromotion code (#98657)

This patch further cleans up the implementation by removing some
redundant checks and replacing cast<> with get() calls.

This contribution is based on the discussion in #78735


  Commit: 78bc1b64a6dc3fb6191355a5e1b502be8b3668e7
      https://github.com/llvm/llvm-project/commit/78bc1b64a6dc3fb6191355a5e1b502be8b3668e7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M clang/test/CodeGenHIP/default-attributes.hip
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
    M llvm/test/CodeGen/AMDGPU/add.ll
    M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
    M llvm/test/CodeGen/AMDGPU/anyext.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/bfe-combine.ll
    M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
    M llvm/test/CodeGen/AMDGPU/bfi_int.ll
    M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
    M llvm/test/CodeGen/AMDGPU/bfm.ll
    M llvm/test/CodeGen/AMDGPU/bitreverse.ll
    M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
    M llvm/test/CodeGen/AMDGPU/bswap.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
    M llvm/test/CodeGen/AMDGPU/build_vector.ll
    M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
    M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
    M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
    M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
    M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
    M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
    M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
    M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
    M llvm/test/CodeGen/AMDGPU/copy-to-reg-scc-clobber.ll
    M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
    M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-sext-inreg.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
    M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
    M llvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
    M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
    M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
    M llvm/test/CodeGen/AMDGPU/ds_read2.ll
    M llvm/test/CodeGen/AMDGPU/ds_write2.ll
    M llvm/test/CodeGen/AMDGPU/early-inline.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fabs.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/fma-combine.ll
    M llvm/test/CodeGen/AMDGPU/fma.ll
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmax_legacy.f64.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/CodeGen/AMDGPU/fmin_legacy.f64.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
    M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/fp-classify.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
    M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
    M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/fshl.ll
    M llvm/test/CodeGen/AMDGPU/fshr.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
    M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
    M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
    M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-constant.ll
    M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/global_smrd.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-resource-usage-function-ordering.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/idot4s.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/imm.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/immv216.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
    M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/inlineasm-packed.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/ipra.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
    M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
    M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
    M llvm/test/CodeGen/AMDGPU/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/local-64.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
    M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
    M llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll
    M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/mad.u16.ll
    M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/max.i16.ll
    M llvm/test/CodeGen/AMDGPU/max.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/memmove-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
    M llvm/test/CodeGen/AMDGPU/omod.ll
    M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/or.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
    M llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
    M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
    M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/saddo.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/setcc.ll
    M llvm/test/CodeGen/AMDGPU/sext-divergence-driven-isel.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-i128.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
    M llvm/test/CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/srl.ll
    M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
    M llvm/test/CodeGen/AMDGPU/sub.ll
    M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/trap.ll
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll
    M llvm/test/CodeGen/AMDGPU/trunc.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
    M llvm/test/CodeGen/AMDGPU/uniform-select.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll
    M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
    M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
    M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
    M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
    M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
    M llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
    M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/AMDGPU/xor.ll
    M llvm/test/CodeGen/AMDGPU/zext-divergence-driven-isel.ll
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  AMDGPU: Move attributor into optimization pipeline (#83131)

Removing it from the codegen pipeline induces a lot of test churn
because llc is no longer optimizing out implicit arguments to kernels.

Mostly mechanical, but there are some creative test updates. I preferred
to take the changes as-is in tests where the ABI isn't relevant. In
cases where it's more relevant, or the optimize out logic was too
ingrained in the test, I pre-run the optimization. Some cases manually
add attributes to disable inputs.


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

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

  Log Message:
  -----------
  [clang][Interp] Fix integral overflow reporting

We need to always do the CCEDiag, the report() is optional.


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

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/CodeGenCXX/cxx1z-constexpr-if.cpp

  Log Message:
  -----------
  [clang][Interp] Don't require StmtExpr result to be an expression

It can be a statement containing an expression.


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

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/shifts.cpp
    M clang/test/Sema/shift-count-negative.c

  Log Message:
  -----------
  [clang][Interp] Handle negative shift amounts correctly

We need to invert them and use the opposite shift.


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

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

  Log Message:
  -----------
  [clang][Interp] Diagnose left shifts of negative values


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

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

  Log Message:
  -----------
  [clang][Interp] Diagnose shift overflows


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

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

  Log Message:
  -----------
  [clang][Interp] Reject non-pointer typed dummies

This happens a lot for NonTypeTemplateParm decls.


  Commit: 52139d8f9a4e3f595ca552393d62ba06b0bc082c
      https://github.com/llvm/llvm-project/commit/52139d8f9a4e3f595ca552393d62ba06b0bc082c
  Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-13 (Sat, 13 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt][nsan] Modify NSAN_CFLAGS setting (#98768)

Use -fno-rtti flag to avoid vtables in the runtime library (similarly to asan, dfsan, msan).
Remove unneeded -fPIC from NSAN_CFLAGS.

Fix #98767


  Commit: fb128630a7ba0ebe21cddf6647903a18ab246188
      https://github.com/llvm/llvm-project/commit/fb128630a7ba0ebe21cddf6647903a18ab246188
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Add `MachineOptimizationRemarkEmitterAnalysis` (#98601)

Add `MachineOptimizationRemarkEmitterAnalysis` the legacy version
`MachineOptimizationRemarkEmitterPass` is already a wrapper.


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove visit{Global,Local,This}Initializer

They were only called once, or not at all.


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

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

  Log Message:
  -----------
  [clang][Interp] Check for non-primitive types in unary operators

For invalid cases (non-vector/complex/...), this should only happen
in error cases such as the attached test case.


  Commit: c28ddf900051760e3ae8cef33b26da3c37f5627e
      https://github.com/llvm/llvm-project/commit/c28ddf900051760e3ae8cef33b26da3c37f5627e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h

  Log Message:
  -----------
  [Analysis] Use BitVector::test in areInlineCompatible (NFC) (#98776)

areInlineCompatible checks to see if CalleeTLI.OverrideAsUnavailable
is a subset of OverrideAsUnavailable by computing a union of the two
and comparing the union and OverrideAsUnavailable.

The problem is that computing a union involves memory allocations.
This patch removes the need for memory allocations by switching to
BitVector::test.  Note that A.test(B) returns true if A - B is
non-empty.  That is, !A.test(B) is true if A if a subset of B.

The use of BitVector::test here saves 0.20% of heap allocations during
the compilation of X86ISelLowering.cpp.ii, a preprocessed version of
X86ISelLowering.cpp.


  Commit: c8dc21d77fc82d9360953100aa328a13185f8ba0
      https://github.com/llvm/llvm-project/commit/c8dc21d77fc82d9360953100aa328a13185f8ba0
  Author: Froster <34234343+Fros1er at users.noreply.github.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    A llvm/test/CodeGen/RISCV/pr94265.ll

  Log Message:
  -----------
  [SelectionDAG][RISCV] Fix break of vnsrl pattern in issue #94265 (#95563)

Added a RISCV overload of `isTruncateFree` to fix the break of vnsrl described in issue #94265.

Fixes #94265


  Commit: 3f222f3bc65ca5acaa0c00d61ae132d10bf79282
      https://github.com/llvm/llvm-project/commit/3f222f3bc65ca5acaa0c00d61ae132d10bf79282
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CodeGen/asan-destructor-kind.cpp
    M clang/test/SemaCUDA/device-use-host-var.cu
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M compiler-rt/test/asan/TestCases/Darwin/init_for_dlopen.cpp
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Transforms/Utils/LowerSwitch.cpp
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp

  Log Message:
  -----------
  [NFC] Fix some typos (#98791)


  Commit: fe7fc54403e17b17e366adaab75256b2269fc204
      https://github.com/llvm/llvm-project/commit/fe7fc54403e17b17e366adaab75256b2269fc204
  Author: David Green <david.green at arm.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/arm64-2012-05-09-LOADgot-bug.ll
    M llvm/test/CodeGen/AArch64/arm64_32-memcpy.ll
    M llvm/test/CodeGen/AArch64/arm64_32-pointer-extend.ll
    M llvm/test/CodeGen/AArch64/arm64_32.ll
    M llvm/test/CodeGen/AArch64/bitfield.ll
    M llvm/test/CodeGen/AArch64/pr58431.ll
    M llvm/test/CodeGen/AArch64/swifterror.ll

  Log Message:
  -----------
  [AArch64] Use mov as opposed to And 0xffffffff (#98655)

This adds a tablegen pattern to use ORRWrr (mov) as opposed to i64 AND
0xffffffff, as the mov will implicitly clear the upper bits. This can be
seen as a zext(trunc(..)), and could be simpler if it is eliminated.


  Commit: 41209075dabc39eb65ae183c5363ea39b8c74e82
      https://github.com/llvm/llvm-project/commit/41209075dabc39eb65ae183c5363ea39b8c74e82
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll

  Log Message:
  -----------
  [LAA] Add tests accesses to same pointer with different types.

Add tests with accesses to the same pointer with different types. At the
moment, runtime checks for those accesses are incorrectly based on the
smaller type.


  Commit: 677cc15e0ff2e0e6aa30538eb187990a6a8f53c0
      https://github.com/llvm/llvm-project/commit/677cc15e0ff2e0e6aa30538eb187990a6a8f53c0
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M clang/test/CodeGenHIP/default-attributes.hip

  Log Message:
  -----------
  clang/AMDGPU: Defeat attribute optimization in attribute test

The optimization attributes are mostly noise for the purposes of the test.
Also hoping this fixes https://lab.llvm.org/buildbot/#/builders/193/builds/940,
which for some reason looks like the optimization isn't running.


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

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

  Log Message:
  -----------
  [clang][Interp] Fix modifying const objects in functions calls in ctors

The current frame might not be a constructor for the object we're
initializing, but a parent frame might.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add SDPatternMatch::m_SetCC and update some combines to use it (#98646)

The plan is to add more TernaryOp in the future (SELECT/VSELECT and FMA in particular)


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

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

  Log Message:
  -----------
  [clang][Interp] Improve InterpFrame::describe()

Use getNameForDiagnostic(), like the CallStackFrame of the current
interpreter.


  Commit: 3ccda936710d55d819c56cf4f2cf307c2d632b63
      https://github.com/llvm/llvm-project/commit/3ccda936710d55d819c56cf4f2cf307c2d632b63
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll

  Log Message:
  -----------
  [LAA] Update pointer-bounds cache to also consider access type.

The same pointer may be accessed with different types and the bound
includes the size of the accessed type to compute the end. Update the
cache to correctly disambiguate between different accessed types.


  Commit: a72eed7a238b0087789229bf635d3c517f8e7ff1
      https://github.com/llvm/llvm-project/commit/a72eed7a238b0087789229bf635d3c517f8e7ff1
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Handle scalar shuffles in vector to spirv conversion (#98809)

These may not get canonicalized before conversion to spirv and need to
be handled during vector to spirv conversion. Because spirv does not
support 1-element vectors, we can't emit `spirv.VectorShuffle` and need
to lower this to `spirv.CompositeExtract`.


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

  Changed paths:
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    A clang/lib/AST/Interp/DynamicAllocator.cpp
    A clang/lib/AST/Interp/DynamicAllocator.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/InterpState.cpp
    M clang/lib/AST/Interp/InterpState.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.h
    A clang/test/AST/Interp/new-delete.cpp
    M clang/test/Rewriter/rewrite-modern-catch.m
    M clang/test/SemaCXX/delete.cpp
    M clang/test/SemaCXX/new-delete.cpp

  Log Message:
  -----------
  [clang][Interp] Implement dynamic memory allocation handling (#70306)

Implement handling for new/delete/new[]/delete[] expressions via a new
`DynamicAllocator` class.

This introduces four new opcodes:
 - `Alloc` - Allocates one element (`new int(14)`)
- `AllocN` - Allocates N elements of the given primitive (`new
int[100]`)
- `AllocCN` - Allocates N elements of the given (composite) descriptor
(`new S[100]`)
 - `Free` - de-allocates memory allocates using any of the above.


  Commit: 3478573773d02e574524fd45c14631de5b7d10a9
      https://github.com/llvm/llvm-project/commit/3478573773d02e574524fd45c14631de5b7d10a9
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h

  Log Message:
  -----------
  [lldb] [NFC] a couple comment typeo and markup fixes.


  Commit: 5fe0a81a6b3e5bd6601259a76a1abcafda4e0747
      https://github.com/llvm/llvm-project/commit/5fe0a81a6b3e5bd6601259a76a1abcafda4e0747
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

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

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


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

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

  Log Message:
  -----------
  [clang][Interp] Fix a build failure on Windows

The usual ambiguous APInt constructor:

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


  Commit: 93d2b23ad2b96ed47b68a7e3c142cb306f418f2a
      https://github.com/llvm/llvm-project/commit/93d2b23ad2b96ed47b68a7e3c142cb306f418f2a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M clang/test/CodeGen/ifunc.c
    M clang/test/CodeGen/kcfi.c

  Log Message:
  -----------
  [test] Improve ifunc tests

Add ifunc-after-resolver tests to inprove coverage and demonstrate the
-fsanitize=kcfi issue reported at #96400.


  Commit: a8687dd0262349147ce8ae4d0232a067996be69f
      https://github.com/llvm/llvm-project/commit/a8687dd0262349147ce8ae4d0232a067996be69f
  Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Improve nsan reports (#98798)

Currently NSAN prints reports that are entirely red and the terminal
prompt after the program exits is red too. With this change we make red
only `WARNING` summary and the rest of the report isn't colored.
This behavior is similar to the behavior of other sanitizers.


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

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

  Log Message:
  -----------
  Revert "[clang][Interp] Fix a build failure on Windows"

This reverts commit 27f5c00c607e08b3cdf37f3bf9f4ccf156de2ab4.


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

  Changed paths:
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    R clang/lib/AST/Interp/DynamicAllocator.cpp
    R clang/lib/AST/Interp/DynamicAllocator.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/InterpState.cpp
    M clang/lib/AST/Interp/InterpState.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.h
    R clang/test/AST/Interp/new-delete.cpp
    M clang/test/Rewriter/rewrite-modern-catch.m
    M clang/test/SemaCXX/delete.cpp
    M clang/test/SemaCXX/new-delete.cpp

  Log Message:
  -----------
  Revert "[clang][Interp] Implement dynamic memory allocation handling (#70306)"

This reverts commit fa133d3151b5e428b1c5819d29b0ad28a90882a2.

It looks like this has some more serious problems:
https://lab.llvm.org/buildbot/#/builders/39/builds/528

As well as build failures on MacOS.


  Commit: efde640cdfede834fa79e0eea69f82fb769d6beb
      https://github.com/llvm/llvm-project/commit/efde640cdfede834fa79e0eea69f82fb769d6beb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port 48d703e7f562


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/X86/ephemeral-recipes.ll
    A llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll

  Log Message:
  -----------
  [VPlan] Don't add live-outs for IV phis.

Resume and exit values for inductions are currently still created
outside of VPlan and independent of the induction recipes. Don't add
live-outs for now, as the additional unneeded users can pessimize other
anlysis.

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


  Commit: 00895efa61f8edaa9a70cb8632ec343bbbe890f7
      https://github.com/llvm/llvm-project/commit/00895efa61f8edaa9a70cb8632ec343bbbe890f7
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h

  Log Message:
  -----------
  [libc] Extend the baremetal I/O vendor ABI (#98683)

This refines and extends the external ABI for I/O, later changes will
update the baremetal implementations of I/O functions to use these.


  Commit: 35bb9f158b57a8cccc24bc30d793b176e3219985
      https://github.com/llvm/llvm-project/commit/35bb9f158b57a8cccc24bc30d793b176e3219985
  Author: Piotr Fusik <piotr at fusion-lang.org>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

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

  Log Message:
  -----------
  [TableGen][NFC] Use `decodeULEB128AndIncUnsafe` in `decodeInstruction` (#98619)


  Commit: 7c15fbae31ab065a370a4f90a5f5b0d51cb11cf8
      https://github.com/llvm/llvm-project/commit/7c15fbae31ab065a370a4f90a5f5b0d51cb11cf8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/lib/Linker/IRMover.cpp

  Log Message:
  -----------
  [Linker] Use a range-based for loop (NFC) (#98785)


  Commit: 73acf8d755e04996f17b7694b4794459e492dede
      https://github.com/llvm/llvm-project/commit/73acf8d755e04996f17b7694b4794459e492dede
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/test/Driver/riscv-features.c
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Add -m[no-]scalar-strict-align and -m[no-]vector-strict-align. (#95024)


  Commit: ca4ebae38c09b48c78789b77e7a98ec149957716
      https://github.com/llvm/llvm-project/commit/ca4ebae38c09b48c78789b77e7a98ec149957716
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

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

  Log Message:
  -----------
  [clang][NFC] Fix a warning (#98611)

enumerated and non-enumerated type in conditional expression


  Commit: 2f55e551011d4ff2227be35bf8b64516d8dcb700
      https://github.com/llvm/llvm-project/commit/2f55e551011d4ff2227be35bf8b64516d8dcb700
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp

  Log Message:
  -----------
  [Transforms] Use range-based for loops (NFC) (#98725)


  Commit: 6ffa995517a9b4c15aba0eb511cba309e21808cf
      https://github.com/llvm/llvm-project/commit/6ffa995517a9b4c15aba0eb511cba309e21808cf
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

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

  Log Message:
  -----------
  [Fuchsia][CMake] Use MinSizeRel for baremetal runtimes (#98835)

Size matters more than performance for these targets.


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

  Changed paths:
    M llvm/lib/Support/Unix/Path.inc

  Log Message:
  -----------
  [Support] Don't use StringRef::equals in Path.inc (#98839)

The removal of StringRef::equals in
3fa409f2318ef790cc44836afe9a72830715ad84 broke the
[Solaris/sparcv9](https://lab.llvm.org/buildbot/#/builders/13/builds/724)
and
[Solaris/amd64](https://lab.llvm.org/staging/#/builders/94/builds/5176)
buildbots:
```
In file included from /vol/llvm/src/llvm-project/git/llvm/lib/Support/Path.cpp:1200:
/vol/llvm/src/llvm-project/git/llvm/lib/Support/Unix/Path.inc:519:18: error: no member named 'equals' in 'llvm::StringRef'
  519 |   return !fstype.equals("nfs");
      |           ~~~~~~ ^
```

Fixed by switching to `operator!=` instead.

Tested on sparcv9-sun-solaris2.11 and amd64-pc-solaris2.11.


  Commit: 6441df3b5930ff9f8b3b9af6fd5d2684cf9a337b
      https://github.com/llvm/llvm-project/commit/6441df3b5930ff9f8b3b9af6fd5d2684cf9a337b
  Author: realqhc <caiqihan021 at hotmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    A llvm/test/CodeGen/RISCV/xcvmac.ll

  Log Message:
  -----------
  [RISCV] Implement Intrinsics for XCVmac Extension in CV32E40P (#83112)

Implement XCVmac intrinsics for CV32E40P according to the specification.

This commit is part of a patch-set to upstream the vendor specific
extensions of CV32E40P that need LLVM intrinsics to implement Clang
builtins.

Contributors: @CharKeaney, @ChunyuLiao, @jeremybennett, @lewis-revill,
@NandniJamnadas, @PaoloS02, @serkm, @simonpcook, @xingmingjie.


  Commit: d83d09facdc37bd1bd8c697e16d889ff8a4f369b
      https://github.com/llvm/llvm-project/commit/d83d09facdc37bd1bd8c697e16d889ff8a4f369b
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/X86/preserving-debugloc-phi-binop.ll

  Log Message:
  -----------
  [DebugInfo][LoopStrengthReduce] Fix missing debug location updates (#97519)

Fix #97510 .

Note that, for the new phi instruction `NewPH`, which replaces the old
phi `PH` and the cast `ShadowUse`, I choose to propagate the debug
location of `PH` to it, because the cast is eliminated according to the
optimization semantics.


  Commit: 33bdb87adc16e2890beeeb64a980317e7c4292d7
      https://github.com/llvm/llvm-project/commit/33bdb87adc16e2890beeeb64a980317e7c4292d7
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    A llvm/test/Transforms/SimpleLoopUnswitch/preserving-dropping-debugloc-nontrivial.ll

  Log Message:
  -----------
  [DebugInfo][SimpleLoopUnswitch] Fix missing debug location updates (#97662)

Fix #97559 .

For the change at line 1253, I propagate the debug location of the
terminator (i.e., the insertion point) to the new phi. because `MergeBB`
is generated by splitting `ExitBB` several lines above, it only has the
terminator, which could provide a reasonable debug location.

For the change at line 2348, I switch the order of moving and cloning
`TI`. Because `NewTI` cloned from `TI` is inserted into the original
place where `TI` is, `NewTI` should preserve the origianl debug
location. At the same time, doing this allows us to propagate the debug
location to the new branch instruction replacing `NewTI` (the change at
line 2446).


  Commit: adaff46d087799072438dd744b038e6fd50a2d78
      https://github.com/llvm/llvm-project/commit/adaff46d087799072438dd744b038e6fd50a2d78
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-07-14 (Sun, 14 Jul 2024)

  Changed paths:
    M clang/test/CodeGenHIP/default-attributes.hip
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
    M llvm/test/CodeGen/AMDGPU/add.ll
    M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
    M llvm/test/CodeGen/AMDGPU/anyext.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/bfe-combine.ll
    M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
    M llvm/test/CodeGen/AMDGPU/bfi_int.ll
    M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
    M llvm/test/CodeGen/AMDGPU/bfm.ll
    M llvm/test/CodeGen/AMDGPU/bitreverse.ll
    M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
    M llvm/test/CodeGen/AMDGPU/bswap.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
    M llvm/test/CodeGen/AMDGPU/build_vector.ll
    M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
    M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
    M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
    M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
    M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
    M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
    M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
    M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
    M llvm/test/CodeGen/AMDGPU/copy-to-reg-scc-clobber.ll
    M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
    M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-sext-inreg.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
    M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
    M llvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
    M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
    M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
    M llvm/test/CodeGen/AMDGPU/ds_read2.ll
    M llvm/test/CodeGen/AMDGPU/ds_write2.ll
    M llvm/test/CodeGen/AMDGPU/early-inline.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fabs.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/fma-combine.ll
    M llvm/test/CodeGen/AMDGPU/fma.ll
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmax_legacy.f64.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/CodeGen/AMDGPU/fmin_legacy.f64.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
    M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/fp-classify.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
    M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
    M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/fshl.ll
    M llvm/test/CodeGen/AMDGPU/fshr.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
    M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
    M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
    M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-constant.ll
    M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/global_smrd.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-resource-usage-function-ordering.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/idot4s.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/imm.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/immv216.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
    M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/inlineasm-packed.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/ipra.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
    M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
    M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
    M llvm/test/CodeGen/AMDGPU/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/local-64.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
    M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
    M llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll
    M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/mad.u16.ll
    M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/max.i16.ll
    M llvm/test/CodeGen/AMDGPU/max.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/memmove-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
    M llvm/test/CodeGen/AMDGPU/omod.ll
    M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/or.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
    M llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
    M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
    M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/saddo.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/setcc.ll
    M llvm/test/CodeGen/AMDGPU/sext-divergence-driven-isel.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-i128.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
    M llvm/test/CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/srl.ll
    M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
    M llvm/test/CodeGen/AMDGPU/sub.ll
    M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/trap.ll
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll
    M llvm/test/CodeGen/AMDGPU/trunc.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
    M llvm/test/CodeGen/AMDGPU/uniform-select.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll
    M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
    M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
    M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
    M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
    M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
    M llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
    M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/AMDGPU/xor.ll
    M llvm/test/CodeGen/AMDGPU/zext-divergence-driven-isel.ll
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  Revert "AMDGPU: Move attributor into optimization pipeline (#83131)" and follow up commit "clang/AMDGPU: Defeat attribute optimization in attribute test" (#98851)

This reverts commits 677cc15e0ff2e0e6aa30538eb187990a6a8f53c0 and
78bc1b64a6dc3fb6191355a5e1b502be8b3668e7.

The test CodeGenHIP/default-attributes.hip is failing on multiple bots
even after the attempted fix including the following:
- https://lab.llvm.org/buildbot/#/builders/3/builds/1473
- https://lab.llvm.org/buildbot/#/builders/65/builds/1380
- https://lab.llvm.org/buildbot/#/builders/161/builds/595
- https://lab.llvm.org/buildbot/#/builders/154/builds/1372
- https://lab.llvm.org/buildbot/#/builders/133/builds/1547
- https://lab.llvm.org/buildbot/#/builders/81/builds/755
- https://lab.llvm.org/buildbot/#/builders/40/builds/570
- https://lab.llvm.org/buildbot/#/builders/13/builds/748
- https://lab.llvm.org/buildbot/#/builders/12/builds/1845
- https://lab.llvm.org/buildbot/#/builders/11/builds/1695
- https://lab.llvm.org/buildbot/#/builders/190/builds/1829
- https://lab.llvm.org/buildbot/#/builders/193/builds/962
- https://lab.llvm.org/buildbot/#/builders/23/builds/991
- https://lab.llvm.org/buildbot/#/builders/144/builds/2256
- https://lab.llvm.org/buildbot/#/builders/46/builds/1614

These bots have been broken for a day, so reverting to get everything
back to green.


  Commit: 4ca024c877e3eb20c0af518d3335883fb7b4b910
      https://github.com/llvm/llvm-project/commit/4ca024c877e3eb20c0af518d3335883fb7b4b910
  Author: Oleksandr T <oleksandr.tarasiuk at outlook.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp

  Log Message:
  -----------
  [Clang] Fix cast failures by adjusting the resolution of record declaration contexts to handle semantic and lexical distinctions (#96228)

Fixes #96043


  Commit: 5c8eb83ce8e4ef40fbd61a05f1de6394eb908da4
      https://github.com/llvm/llvm-project/commit/5c8eb83ce8e4ef40fbd61a05f1de6394eb908da4
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll

  Log Message:
  -----------
  [AMDGPU] Generate test fix-wwm-vgpr-copy.ll (NFC)


  Commit: 8da3852f44c64ac4535128741695b9e9d8ee27ef
      https://github.com/llvm/llvm-project/commit/8da3852f44c64ac4535128741695b9e9d8ee27ef
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Generate test fix-wwm-vgpr-copy.ll (NFC)"

This reverts commit 5c8eb83ce8e4ef40fbd61a05f1de6394eb908da4.


  Commit: e025e5ef44b736b48b8a2ee230a11f674b734b32
      https://github.com/llvm/llvm-project/commit/e025e5ef44b736b48b8a2ee230a11f674b734b32
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll

  Log Message:
  -----------
  [AMDGPU] Reland generated test fix-wwm-vgpr-copy.ll (NFC)

Fix issues left over after generation.


  Commit: c09ed6a29e392e406623f7c4dc0a8240d2cbc9f2
      https://github.com/llvm/llvm-project/commit/c09ed6a29e392e406623f7c4dc0a8240d2cbc9f2
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/MachineVerifier.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/test/CodeGen/AMDGPU/verifier-sdwa-cvt.mir
    M llvm/test/CodeGen/AMDGPU/verify-constant-bus-violations.mir
    M llvm/test/CodeGen/AMDGPU/verify-ds-gws-align.mir
    M llvm/test/CodeGen/AMDGPU/verify-duplicate-literal.mir
    M llvm/test/CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/verify-image-vaddr-align.mir
    M llvm/test/CodeGen/AMDGPU/verify-image.mir
    M llvm/test/CodeGen/AMDGPU/verify-scalar-store.mir
    M llvm/test/CodeGen/AMDGPU/verify-sop.mir
    M llvm/test/CodeGen/AMDGPU/verify-vimage-vsample.mir
    M llvm/test/CodeGen/AMDGPU/verify-vopd-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/verify-vopd.mir
    M llvm/test/CodeGen/MIR/Generic/dbg-value-missing-loc.mir
    M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
    M llvm/test/CodeGen/RISCV/verify-instr.mir
    M llvm/tools/llc/NewPMDriver.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port `MachineVerifier` to new pass manager (#98628)

- Add `MachineVerifierPass`.
- Use complete `MachineVerifierPass` in `VerifyInstrumentation` if
possible.

`LiveStacksAnalysis` will be added in future, all other analyses are
done.


  Commit: 36984536be147ce4f53d7b05a77c8ccc79227271
      https://github.com/llvm/llvm-project/commit/36984536be147ce4f53d7b05a77c8ccc79227271
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU] SIWholeQuadMode: remove unnecessary map access (NFCI)


  Commit: 662c6fc74c1ae7fdefd27524dfaeb7f3e9a1f553
      https://github.com/llvm/llvm-project/commit/662c6fc74c1ae7fdefd27524dfaeb7f3e9a1f553
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
    M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations.mlir

  Log Message:
  -----------
  [mlir] [bufferize] fix bufferize deallocation error in nest symbol table (#98476)

In nested symbols, the dealloc_helper function generated by lower
deallocations pass was incorrectly positioned, causing calls fail. This
patch fixes this issue.


  Commit: 34bfed63313d1340378fc1be931253333db8c36c
      https://github.com/llvm/llvm-project/commit/34bfed63313d1340378fc1be931253333db8c36c
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/EarlyCSE/math-2.ll

  Log Message:
  -----------
  [ConstantFold] Fix result type when folding powi.f16 (#98681)

Fixes #98665.


  Commit: 557ef043afd04da91e79425133f14c94831a646c
      https://github.com/llvm/llvm-project/commit/557ef043afd04da91e79425133f14c94831a646c
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution.ll

  Log Message:
  -----------
  [RISCV] Copy AVLs whose LiveIntervals aren't extendable in insertVSETVLI (#98342)

Currently before forwarding an AVL we do a simple non-exhaustive check
to see if its LiveInterval is extendable. But we also need to check for
this when we're extending an AVL's LiveInterval via merging the
VSETVLIInfos in transferBefore with equally zero AVLs.

Rather than trying to conservatively prevent these cases, this inserts a
copy of the AVL instead if we don't know we'll be able to extend it.
This is likely to be more robust, and even if the extra copy is
undesirable these cases should be rare in practice.


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

  Changed paths:
    M clang-tools-extra/test/clang-doc/basic-project.test

  Log Message:
  -----------
  [clang-doc] Support markdown and simplify checks (#97684)

This patch modifies the basic-project in clang-doc. Currently we're
matching the entire html output. This patch modifies it so that we only
match the parts relevant to the documentation logic instead just
matching the boilerplate code. This patch also adds the markdown output
to the basic-project test


  Commit: 587308c3436b3fb757d3ba4343ccd4bd0c90f429
      https://github.com/llvm/llvm-project/commit/587308c3436b3fb757d3ba4343ccd4bd0c90f429
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/AArch64/dummy-return.s

  Log Message:
  -----------
  [BOLT][AArch64] Provide createDummyReturnFunction (#96626)

AArch64 needs this function when instrumenting statically-linked binaries.

Sample commands:
```bash
clang -Wl,-q test.c -static -o out
llvm-bolt -instrument -instrumentation-sleep-time=5 out -o out.instr
```


  Commit: a5a29a26aaf0d7e63101471250d32e9b7230fe73
      https://github.com/llvm/llvm-project/commit/a5a29a26aaf0d7e63101471250d32e9b7230fe73
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/misc-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/misc-intrinsic.cpp
    A flang/test/Lower/Intrinsics/rename.f90
    M flang/test/Lower/namelist.f90

  Log Message:
  -----------
  [Flang] Implement RENAME intrinsic (code-gen + runtime entry point) (#98359)

This PR implements the RENAME intrinsic, which is a GFortran extension
(see
https://gcc.gnu.org/onlinedocs/gfortran/intrinsic-procedures/rename.html).


  Commit: 18c70b070b6dd7cead8f049dde0542dc75ed28fd
      https://github.com/llvm/llvm-project/commit/18c70b070b6dd7cead8f049dde0542dc75ed28fd
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/lib/Sema/SemaTemplateDeductionGuide.cpp

  Log Message:
  -----------
  [clang] Refactor: Move CTAD code from SemaTemplate.cpp to a dedicated file, NFC (#98524)

Split out the deduction guide related code from SemaTemplate.cpp to a
dedicated file.

These code has grown significantly, and moving it to a separate file
will improve code organization.


  Commit: 5555a9e657939dafb569a825fecd1d0f4202b21d
      https://github.com/llvm/llvm-project/commit/5555a9e657939dafb569a825fecd1d0f4202b21d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port 18c70b070b6d


  Commit: caa0e42ceb6e671d68b8b8e1d04f136696a4228b
      https://github.com/llvm/llvm-project/commit/caa0e42ceb6e671d68b8b8e1d04f136696a4228b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/EarlyCSE/math-2.ll

  Log Message:
  -----------
  Fix assertion failure in PR98681 (#98860)

See https://en.cppreference.com/w/cpp/numeric/math/pow:
```
C++98 added overloads where exp has type int on top of C [pow()](https://en.cppreference.com/w/c/numeric/math/pow), and the return type of std::pow(float, int) was float. However, the additional overloads introduced in C++11 specify that std::pow(float, int) should return double. [LWG issue 550](https://cplusplus.github.io/LWG/issue550) was raised to target this conflict, and the resolution is to removed the extra int exp overloads.
```


  Commit: 01191874f9011d3ce8b7c2830ece1f030c60da7f
      https://github.com/llvm/llvm-project/commit/01191874f9011d3ce8b7c2830ece1f030c60da7f
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/TwoAddressInstructionPass.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AArch64/statepoint-twoaddr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/twoaddr-extract-dyn-v7f64.mir
    M llvm/test/CodeGen/AMDGPU/early-lis-two-address-partial-def.mir
    M llvm/test/CodeGen/AMDGPU/gfx10-twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
    M llvm/test/CodeGen/Hexagon/two-addr-tied-subregs.mir
    M llvm/test/CodeGen/X86/distancemap.mir
    M llvm/test/CodeGen/X86/statepoint-vreg-twoaddr.mir
    M llvm/test/CodeGen/X86/twoaddr-mul2.mir

  Log Message:
  -----------
  [CodeGen] Port `two-address-instructions` to new pass manager (#98632)

Add `TwoAddressInstructionPass`.


  Commit: 0d7403184d3b20d16104a36cf78457ddce2af9ba
      https://github.com/llvm/llvm-project/commit/0d7403184d3b20d16104a36cf78457ddce2af9ba
  Author: David Green <david.green at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp

  Log Message:
  -----------
  [AArch64] Add a AArch64InstrInfo::isFpOrNEON method for checking physical register call. NFC


  Commit: 34433fdceb63cb14b69f847a39f6ce98459f3129
      https://github.com/llvm/llvm-project/commit/34433fdceb63cb14b69f847a39f6ce98459f3129
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M bolt/docs/CommandLineArgumentReference.md
    M bolt/docs/Heatmaps.md
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp

  Log Message:
  -----------
  [BOLT] Add -print-mappings option to heatmaps (#97567)

Emit a mapping in the legend between the characters/buckets and the text
sections, using:

```sh
llvm-heatmap-bolt -print-mappings ..
```

Example:
```
Legend:
..
Sections:
  a/A : .init      0x00000100-0x00000200
  b/B : .plt       0x00000200-0x00000500
  c/C : .text      0x00010000-0x000a0000
  d/D : .fini      0x000a0000-0x000f0000
..
```


  Commit: 297fab1b3075a9dcd65213176add34ad7d744bde
      https://github.com/llvm/llvm-project/commit/297fab1b3075a9dcd65213176add34ad7d744bde
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/typepromotion-overflow.ll

  Log Message:
  -----------
  [LoongArch] Copy typepromotion-overflow.ll from AArch64. NFC


  Commit: 9d34b673c0abea4ee0a3dd4c399314411b02f1cc
      https://github.com/llvm/llvm-project/commit/9d34b673c0abea4ee0a3dd4c399314411b02f1cc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/ptrtoint.ll

  Log Message:
  -----------
  [InstSimplify] Fold ptrtoint(ptradd(P,X-ptrtoint(P))) to X (#98649)

This is a special case of the general ptrtoint(gep) to add(ptrtoint)
transform that is particularly profitable, as everything folds away.

Proof: https://alive2.llvm.org/ce/z/fwv8_L

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


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

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

  Log Message:
  -----------
  [clang][Interp] Diagnose volatile reads


  Commit: 9ad72df55cb74b29193270c28f6974d2af8e0b71
      https://github.com/llvm/llvm-project/commit/9ad72df55cb74b29193270c28f6974d2af8e0b71
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGen/builtins-bitint.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-overflow.c
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/ext-int-sanitizer.cpp
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/extend-arg-64.c
    M clang/test/CodeGen/ubsan-shift-bitint.c
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/Frontend/fixed_point_comparisons.c
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp

  Log Message:
  -----------
  [clang] Use different memory layout type for _BitInt(N) in LLVM IR (#91364)

There are two problems with _BitInt prior to this patch:
1. For at least some values of N, we cannot use LLVM's iN for the type
of struct elements, array elements, allocas, global variables, and so
on, because the LLVM layout for that type does not match the high-level
layout of _BitInt(N).
Example: Currently for i128:128 targets correct implementation is
possible either for __int128 or for _BitInt(129+) with lowering to iN,
but not both, since we have now correct implementation of __int128 in
place after a21abc7.
When this happens, opaque [M x i8] types used, where M =
sizeof(_BitInt(N)).
2. LLVM doesn't guarantee any particular extension behavior for integer
types that aren't a multiple of 8. For this reason, all _BitInt types
are now have in-memory representation that is a whole number of bytes.
I.e. for example _BitInt(17) now will have memory layout type i32.

This patch also introduces concept of load/store type and adds an API to
CodeGenTypes that returns the IR type that should be used for load and
store operations. This is particularly useful for the case when a
_BitInt ends up having array of bytes as memory layout type. For
_BitInt(N), let M = sizeof(_BitInt(N)), and let BITS = M * 8. Loads and
stores of iM would both (1) produce far better code from the backends
and (2) be far more optimizable by IR passes than loads and stores of [M
x i8].

Fixes https://github.com/llvm/llvm-project/issues/85139
Fixes https://github.com/llvm/llvm-project/issues/83419

---------

Co-authored-by: John McCall <rjmccall at gmail.com>


  Commit: 71051deff27928cff908ea794e09806eee662801
      https://github.com/llvm/llvm-project/commit/71051deff27928cff908ea794e09806eee662801
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/memcpy-zero-size.ll
    M llvm/test/Transforms/MemCpyOpt/memset-memcpy-dbgloc.ll
    M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
    M llvm/test/Transforms/MemCpyOpt/opaque-ptr.ll

  Log Message:
  -----------
  [MemCpyOpt] Fix infinite loop in memset+memcpy fold (#98638)

For the case where the memcpy size is zero, this transform is a complex
no-op. This can lead to an infinite loop when the size is zero in a way
that BasicAA understands, because it can still understand that dst and
dst + src_size are MustAlias.

I've tried to mitigate this before using the isZeroSize() check, but we
can hit cases where InstSimplify doesn't understand that the size is
zero, but BasicAA does.

As such, this bites the bullet and adds an explicit isKnownNonZero()
check to guard against no-op transforms.

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


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

  Changed paths:
    M clang/test/CodeGenHIP/default-attributes.hip
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
    M llvm/test/CodeGen/AMDGPU/add.ll
    M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
    M llvm/test/CodeGen/AMDGPU/anyext.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/bfe-combine.ll
    M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
    M llvm/test/CodeGen/AMDGPU/bfi_int.ll
    M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
    M llvm/test/CodeGen/AMDGPU/bfm.ll
    M llvm/test/CodeGen/AMDGPU/bitreverse.ll
    M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
    M llvm/test/CodeGen/AMDGPU/bswap.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
    M llvm/test/CodeGen/AMDGPU/build_vector.ll
    M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
    M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
    M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
    M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
    M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
    M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
    M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
    M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
    M llvm/test/CodeGen/AMDGPU/copy-to-reg-scc-clobber.ll
    M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
    M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-sext-inreg.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
    M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
    M llvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
    M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
    M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
    M llvm/test/CodeGen/AMDGPU/ds_read2.ll
    M llvm/test/CodeGen/AMDGPU/ds_write2.ll
    M llvm/test/CodeGen/AMDGPU/early-inline.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fabs.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/fma-combine.ll
    M llvm/test/CodeGen/AMDGPU/fma.ll
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmax_legacy.f64.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/CodeGen/AMDGPU/fmin_legacy.f64.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
    M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/fp-classify.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp16_to_fp32.ll
    M llvm/test/CodeGen/AMDGPU/fp16_to_fp64.ll
    M llvm/test/CodeGen/AMDGPU/fp32_to_fp16.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/fshl.ll
    M llvm/test/CodeGen/AMDGPU/fshr.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
    M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
    M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
    M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-constant.ll
    M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/global_smrd.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-resource-usage-function-ordering.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/idot4s.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/imm.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/immv216.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
    M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/inlineasm-packed.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/ipra.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
    M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
    M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
    M llvm/test/CodeGen/AMDGPU/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/local-64.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
    M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
    M llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll
    M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/mad.u16.ll
    M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/max.i16.ll
    M llvm/test/CodeGen/AMDGPU/max.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/memmove-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
    M llvm/test/CodeGen/AMDGPU/omod.ll
    M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/or.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
    M llvm/test/CodeGen/AMDGPU/permlane-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
    M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
    M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/saddo.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/setcc.ll
    M llvm/test/CodeGen/AMDGPU/sext-divergence-driven-isel.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-i128.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
    M llvm/test/CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/srl.ll
    M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
    M llvm/test/CodeGen/AMDGPU/sub.ll
    M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/trap.ll
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll
    M llvm/test/CodeGen/AMDGPU/trunc.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
    M llvm/test/CodeGen/AMDGPU/uniform-select.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll
    M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
    M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
    M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
    M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
    M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
    M llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
    M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/AMDGPU/xor.ll
    M llvm/test/CodeGen/AMDGPU/zext-divergence-driven-isel.ll
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  Reapply "AMDGPU: Move attributor into optimization pipeline (#83131)" and follow up commit "clang/AMDGPU: Defeat attribute optimization in attribute test" (#98851)

This reverts commit adaff46d087799072438dd744b038e6fd50a2d78.

Drop the -O3 checks from default-attributes.hip. I don't know why they
are different on some bots but reverting this is far too disruptive.


  Commit: b037d0f0e5f6c7ab528fe3ed9d855f0d770c6709
      https://github.com/llvm/llvm-project/commit/b037d0f0e5f6c7ab528fe3ed9d855f0d770c6709
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A bolt/docs/HeatmapHeader.png
    M bolt/docs/Heatmaps.md

  Log Message:
  -----------
  [BOLT][docs] Expand Heatmaps.md (#98162)

Improve documentation on heatmaps.
Add example for X axis labels.


  Commit: 94279ae4ca2f6bca7eac4c5e7f572ec66b1c4e0f
      https://github.com/llvm/llvm-project/commit/94279ae4ca2f6bca7eac4c5e7f572ec66b1c4e0f
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Recommit "Expand vp.stride.load to splat of a scalar load." (#98579)

This is a recommit of #98140. The old commit should be rebased on #98205
which changes the feature of hardware zero stride optimization.

It's a similar patch as a214c521f8763b36dd400b89017f74ad5ae4b6c7 for
vp.stride.load. Some targets prefer pattern (vmv.v.x (load)) instead of
vlse with zero stride.


  Commit: de3e9d4138abeb92428bba5014af2f3d9ac21323
      https://github.com/llvm/llvm-project/commit/de3e9d4138abeb92428bba5014af2f3d9ac21323
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py

  Log Message:
  -----------
  [MLIR][Linalg] Fix named structured ops yaml file (#98865)

Added missing reciprocal to Python file and fixed ErfOp name in yaml
file. Now running the bash script yields the same output.


  Commit: 9f4a25e2a7cd176bd4f946dc651bc18c7a2e8c92
      https://github.com/llvm/llvm-project/commit/9f4a25e2a7cd176bd4f946dc651bc18c7a2e8c92
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M lld/test/ELF/systemz-gotent-relax-und-dso.s
    M lld/test/ELF/systemz-gotent-relax.s
    M lld/test/ELF/systemz-init-padding.s
    M lld/test/ELF/systemz-plt.s
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
    M llvm/test/MC/Disassembler/SystemZ/insns.txt
    M llvm/test/MC/SystemZ/insn-good-z15.s
    M llvm/test/MC/SystemZ/insn-good-z196.s
    M llvm/test/MC/SystemZ/insn-good-zEC12.s
    M llvm/test/MC/SystemZ/insn-good.s

  Log Message:
  -----------
  Add extended mnemonics (#97571)

This PR adds a number of thus-far missing extended mnemonics to the
assembler and disassembler for SystemZ.

The following mnemonics have been added and are supported for the
assembler and disassembler:

- `NOP(R)?`
- `LFI`
- `RISBG(N)?Z`

The following mnemonics have been added and are supported for the
assembler only:

- `JC(TH)?`
- `LLG(F|H)I`
- `NOT(G)?R`


  Commit: 8fcb822da632ab4330b47641826ace01af0768e0
      https://github.com/llvm/llvm-project/commit/8fcb822da632ab4330b47641826ace01af0768e0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/pointer-runtime-checks-unprofitable.ll

  Log Message:
  -----------
  [LV] Add uses of result to pointer-runtime-checks-unprofitable.ll test.

Otherwise %p.2 is not used and will be removed by VPlan transforms,
leading to a difference between legacy and VPlan-based cost.


  Commit: e8e406041e93e50d6f8259d2793dfbd08dd43b4a
      https://github.com/llvm/llvm-project/commit/e8e406041e93e50d6f8259d2793dfbd08dd43b4a
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/vec-cmp-08.ll

  Log Message:
  -----------
  Fix sext_in_reg from i1 to i128

The combineSIGN_EXTEND_INREG routine was using
DAG.getConstant(-1, DL, VT), which does not result in
the expected value when VT has more than 64 bits.

Fix this by using DAG.getAllOnesConstant(DL, VT) instead.

Also add test cases for v1i128 comparisons (which triggers
the bug).


  Commit: e027017337cc8ae6ed03dc2a3d1c9903ea2f33b2
      https://github.com/llvm/llvm-project/commit/e027017337cc8ae6ed03dc2a3d1c9903ea2f33b2
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers (#98866)

The new matchers don't output pred. Previously we where just creating
a value on the stack and using it as a dummy output for the matchers,
but this results in a stale reference upon return.

To fix, this patch changes the output variable to a pointer, and
passes in `nullptr` for the matchers that don't output `pred.`


  Commit: 9cc599b7ebd0d0dec31f2b384b61f679abbf2ce5
      https://github.com/llvm/llvm-project/commit/9cc599b7ebd0d0dec31f2b384b61f679abbf2ce5
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [mlir][vector] Update tests for collapse 5/n (nfc) (#96227)

The main goal of this PR (and subsequent PRs), is to add more tests with
scalable vectors to:
  * vector-transfer-collapse-inner-most-dims.mlir

There's quite a few cases to consider, hence this is split into multiple
PRs. In this PR, I am simply adding more tests for
`vector.transfer_write` so that for every test for `xfer_read`, there's
a corresponding test for `xfer_write`.

This is a follow-up for: #94490, #94604, #94906, #96214


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

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Add vectorcombine specific test coverage for #98334

Don't rely on phaseordering tests alone


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

  Changed paths:
    A llvm/test/CodeGen/X86/huge-stack.ll

  Log Message:
  -----------
  [X86] Add huge-stack.ll test coverage from #84114

Ensure we have -verify-machineinstrs to avoid EXPENSIVE_CHECKS fails


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

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

  Log Message:
  -----------
  [X86] Convert shift+clamp -> avx2 shift folds to use SDPatternMatch::m_SetCC. NFC.


  Commit: 967eba07549d64f15e7a91e798aa46214704f62b
      https://github.com/llvm/llvm-project/commit/967eba07549d64f15e7a91e798aa46214704f62b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll

  Log Message:
  -----------
  [LV] Add test cases for tail-folding sdiv/udiv/urem feeding geps.

Based on reduced tests from
https://github.com/llvm/llvm-project/issues/94328.


  Commit: 03d8f9588f143972c0d6af16a8dd8b6a2bfbf1f8
      https://github.com/llvm/llvm-project/commit/03d8f9588f143972c0d6af16a8dd8b6a2bfbf1f8
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Address tablegen warnings (#98485)

After the addition of the `-verify-openmp-ops` tablegen pseudo-backend
to report suspected issues with the definition of an operation, some
warnings were triggered in the current implementation of OpenMPOps.td.

These are related to known limitations for which TODO messages exist
within these operation's definitions. This patch explicitly inhibits the
inheritance of the `assemblyFormat` property of all clauses added to the
`omp.parallel` and `omp.wsloop` operations to avoid these warnings. This
should help identifying actual issues that may arise later as the
dialect continues to be developed.


  Commit: 0d5db4e7ba59bd9cbd956beff8d672a239c9ea12
      https://github.com/llvm/llvm-project/commit/0d5db4e7ba59bd9cbd956beff8d672a239c9ea12
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-07-15 (Mon, 15 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/GlobalISel/legalize-concat-vectors.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Bitcast and Build Illegal G_CONCAT_VECTOR Instructions (#96492)

Attempts to handle illegal G_CONCAT_VECTOR instructions by bitcasting the source
into scalar values and using G_BUILD_VECTOR instead

Treating the G_CONCAT_VECTORS instruction in the legalization artefact by folding
away concat(bitcast, ...) into buildvector(...) would require check for ImpDef created
by the shuffles in llvm.


  Commit: 2b5595b06c0b7fff4a8dd768612b9a52727c38ab
      https://github.com/llvm/llvm-project/commit/2b5595b06c0b7fff4a8dd768612b9a52727c38ab
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [IR] Remove variants of dropUnknownNonDebugMetadata (#98854)

This patch removes:

- dropUnknownNonDebugMetadata()
- dropUnknownNonDebugMetadata(ID1)
- dropUnknownNonDebugMetadata(ID1, ID2)

The first variant has existing uses, but we can accommodate those by
adding a default parameter to the main variant.

The second and third variant do not have any existing use AFAICT.


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

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

  Log Message:
  -----------
  [clang][Interp] Allow initialization of extern variables via ctors


  Commit: 59e56eeb1d9c0d25a522ae09f501a350981a31de
      https://github.com/llvm/llvm-project/commit/59e56eeb1d9c0d25a522ae09f501a350981a31de
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
    R clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
    R clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    R clang/test/CXX/temp/temp.names/p3-23.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/FixIt/fixit.cpp
    M clang/test/Misc/warning-flags.c
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
    M clang/test/SemaCXX/pseudo-destructors.cpp
    M clang/test/SemaCXX/static-assert-cxx17.cpp
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M libcxx/include/regex
    M llvm/include/llvm/ADT/ArrayRef.h

  Log Message:
  -----------
  Revert "Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (#98547)"

This reverts commit ce4aada6e2135e29839f672a6599db628b53295d and a
follow-up patch 8ef26f1289bf069ccc0d6383f2f4c0116a1206c1.

This new warning can not be fully suppressed by the
`-Wno-missing-dependent-template-keyword` flag, this gives developer no
time to do the cleanup in a large codebase, see https://github.com/llvm/llvm-project/pull/98547#issuecomment-2228250884


  Commit: 1663ac523cae7c8e5818e0fb742591a6ee09a56c
      https://github.com/llvm/llvm-project/commit/1663ac523cae7c8e5818e0fb742591a6ee09a56c
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/gfx10-twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
    M llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir

  Log Message:
  -----------
  [AMDGPU] Remove some invalid tests (#98796)

`-early-live-intervals` only affects default pipeline. If
`LiveIntervalsAnalysis` happens before `TwoAddressInstructionPass`,
`llc` will crash, by adding `-run-pass liveintervals`.


  Commit: b42c332d734319c8a522fa3a24642550bac5d653
      https://github.com/llvm/llvm-project/commit/b42c332d734319c8a522fa3a24642550bac5d653
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/CMakeLists.txt
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h

  Log Message:
  -----------
  [libc] Use Atomics in GPU Benchmarks (#98842)

This PR replaces our old method of reducing the benchmark results by
using an array to using atomics instead. This should help us implement
single threaded benchmarks.


  Commit: cf230e7799472f9a920052e1ef7f1e70e8b0b938
      https://github.com/llvm/llvm-project/commit/cf230e7799472f9a920052e1ef7f1e70e8b0b938
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll

  Log Message:
  -----------
  [AMDGPU] Enable atomic optimizer for divergent i64 and double values (#96934)


  Commit: 0bfdc4d49285edca17a364a8d58cd60d5757c128
      https://github.com/llvm/llvm-project/commit/0bfdc4d49285edca17a364a8d58cd60d5757c128
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/constrained-math-builtins.c

  Log Message:
  -----------
  Add __builtin_fmaf16. (#97424)


  Commit: 93d7d9bfd4aede19dda0ebaf8aead12c2adbd13b
      https://github.com/llvm/llvm-project/commit/93d7d9bfd4aede19dda0ebaf8aead12c2adbd13b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll

  Log Message:
  -----------
  [InstSimplify] Add test for #98753 (NFC)


  Commit: 1af3a89a4b384cbc5a6b111a0f7756085de818cd
      https://github.com/llvm/llvm-project/commit/1af3a89a4b384cbc5a6b111a0f7756085de818cd
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/test/C/C2y/n3244.c

  Log Message:
  -----------
  Correct test for 32-bit systems

Addresses an issue found in post-commit.


  Commit: a972a394afcb276abb3029d0f2753d4403e379c2
      https://github.com/llvm/llvm-project/commit/a972a394afcb276abb3029d0f2753d4403e379c2
  Author: Thomas Wucher <30866545+thomaswucher at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_enums.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    A clang/test/Index/binop.cpp
    M clang/test/Index/blocks.c
    M clang/test/Index/c-index-api-loadTU-test.m
    M clang/test/Index/index-concepts.cpp
    M clang/test/Index/load-staticassert.cpp
    M clang/test/Index/nested-binaryoperators.cpp
    M clang/test/Index/preamble.c
    M clang/test/Index/print-type.c
    M clang/test/Index/print-type.cpp
    M clang/test/Index/recursive-cxx-member-calls.cpp
    M clang/test/Index/remap-load.c
    M clang/test/Index/usrs.m
    M clang/tools/c-index-test/c-index-test.c
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  Retrieve BinaryOperator::getOpcode and BinaryOperator::getOpcodeStr via libclang and its python interface (#98489)

This is a rework of patch [D10833](https://reviews.llvm.org/D10833)
previously posted on LLVM Phabricator by arthurp in 2015. It allows to
retrieve the type of binary operator via libclangs python bindings.

I did clean up the changes, removed unrelated changes and rebased the
changeset to the latest main branch. As this is my first contribution to
the LLVM project, let me know if any required tests or documentation are
missing.


  Commit: 861a8ed68be7c6d5e2605b1ab3810fde72b5f66a
      https://github.com/llvm/llvm-project/commit/861a8ed68be7c6d5e2605b1ab3810fde72b5f66a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [clang][OpenMP] Remove compound directives from `checkNestingOfRegions` (#98387)

Express the constraints via constituent directives.


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

  Changed paths:
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  Fix "default label in switch which covers all enumeration values" warning; NFC

Amends a972a394afcb276abb3029d0f2753d4403e379c2


  Commit: 4ed0f84d3897ba2f3c05f94342d9423cab61f86b
      https://github.com/llvm/llvm-project/commit/4ed0f84d3897ba2f3c05f94342d9423cab61f86b
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
    M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    M offload/test/offloading/bug51781.c
    M offload/test/offloading/bug51982.c

  Log Message:
  -----------
  [Offload] XFAIL four tests while working on fix (#98899)

omp_dynamic_shared_memory_mixed_amdgpu.c
omp_dynamic_shared_memory_amdgpu.c
amdgcn-amd-amdhsa::bug51982.c
amdgcn-amd-amdhsa::bug51781.c


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

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

  Log Message:
  -----------
  [clang][OpenMP] Simplify check for taskloop in `ActOnOpenMPLoopInitia… (#98633)

…lization`

Replace the explicit list of compound directives ending with taskloop
with checking for the last leaf construct.


  Commit: 075f7542f1b55695b871fb5d6359c2350af474f8
      https://github.com/llvm/llvm-project/commit/075f7542f1b55695b871fb5d6359c2350af474f8
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    A llvm/test/tools/llvm-split/AMDGPU/declarations.ll

  Log Message:
  -----------
  [AMDGPU][llvm-split] Fix division by zero (#98888)

An empty module, or one containing only declarations, would result in a
division by a zero cost.


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

  Changed paths:
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang] Remove materialization workaround in type converter (#98743)

This change is in preparation of #97903, which adds extra checks for
materializations: it is now enforced that they produce an SSA value of
the correct type, so the current workaround no longer works.

The original workaround avoided target materializations by directly
returning the to-be-converted SSA value from the materialization
callback. This can be avoided by initializing the lowering patterns that
insert the materializations without a type converter. For
`cg::XEmboxOp`, the existing workaround that skips
`unrealized_conversion_cast` ops is still in place.

Also remove the lowering pattern for `unrealized_conversion_cast`. This
pattern has no effect because `unrealized_conversion_cast` ops that are
inserted by the dialect conversion framework are never matched by the
pattern driver.


  Commit: 97ebc9794941d9e73792ab9deab7abafaf750a17
      https://github.com/llvm/llvm-project/commit/97ebc9794941d9e73792ab9deab7abafaf750a17
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [clang[OpenMP] Revert accidentally included changes from previous commit


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/barrier
    M libcxx/include/future
    M libcxx/include/ios
    M libcxx/include/latch
    M libcxx/include/locale
    M libcxx/include/locale.h
    M libcxx/include/semaphore
    M libcxx/include/shared_mutex
    M libcxx/include/stop_token
    M libcxx/include/thread

  Log Message:
  -----------
  [libc++] Handle _LIBCPP_HAS_NO_{THREADS,LOCALIZATION} consistently with other carve-outs (#98319)

Previously, we would issue an #error when using a header that requires
threading support or localization support in a configuration where that
is disabled. This is unlike what we do for all the other carve outs like
no-filesystem, no-wide-characters or no-random-device. Instead of
issuing an #error, we normally just remove the problematic parts of the
header.

This patch makes the handling of no-localization and no-threads
consistent with the other carve-outs. I dislike the fact that users
won't get an explicit error message when trying to use e.g. ios in a
build that doesn't support localization, but I think it is better to
handle things consistently. Note that besides the consistency argument,
the #error approach doesn't really work anyways since it would break
down if we moved towards assuming the C locale only in the
no-localization mode.


  Commit: 1612e4a3510982692f22e3f8190fc7c977185cbe
      https://github.com/llvm/llvm-project/commit/1612e4a3510982692f22e3f8190fc7c977185cbe
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Do not use original PHIs in coercion chains (#98063)"

This reverts commit dc8ea046a516c3bdd0ece306f406c9ea833d4dac.

It generated broken IR as described here:
https://github.com/llvm/llvm-project/pull/98063#issuecomment-2225259451


  Commit: 4420c57fc395385eb039cb7c30d71ee29628c7de
      https://github.com/llvm/llvm-project/commit/4420c57fc395385eb039cb7c30d71ee29628c7de
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll

  Log Message:
  -----------
  [AMDGPU] Add a test case for #98063

Add a test case to demonstrate broken IR caused by #98063 "[AMDGPU] Do
not use original PHIs in coercion chains" before it was reverted.


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

  Changed paths:
    M libc/src/__support/OSUtil/baremetal/io.cpp

  Log Message:
  -----------
  [libc] Mark external baremetal I/O symbols as extern "C" (#98871)

These need to use C ABI.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll

  Log Message:
  -----------
  [SLP]Fix PR98838: do no replace condition of select-based logical op by poison.

If the reduction operation is a select-based logical op, the condition
should be replaced by the poison, better to replace by the non-poisoning
constant to prevent poison propagation in the vector code.

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


  Commit: dd7d81ea49bf39e1d69bbb84bd3f31bd95519369
      https://github.com/llvm/llvm-project/commit/dd7d81ea49bf39e1d69bbb84bd3f31bd95519369
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/lib/IR/AffineExpr.cpp
    M mlir/unittests/IR/AffineExprTest.cpp

  Log Message:
  -----------
  Fix simplification of x + x//c*-c to x mod c. (#98909)

There was no check that rhs is actually a multiplication.


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

  Changed paths:
    M mlir/docs/DialectConversion.md
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/SCF/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
    A mlir/test/Transforms/test-block-legalization.mlir

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Fix missing source materialization (#97903)

This commit fixes a bug in the dialect conversion. During a 1:N
signature conversion, the dialect conversion did not insert a cast back
to the original block argument type, producing invalid IR.

See `test-block-legalization.mlir`: Without this commit, the operand
type of the op changes because an `unrealized_conversion_cast` is
missing:
```
"test.consumer_of_complex"(%v) : (!llvm.struct<(f64, f64)>) -> ()
```

To implement this fix, it was necessary to change the meaning of
argument materializations. An argument materialization now maps from the
new block argument types to the original block argument type. (It now
behaves almost like a source materialization.) This also addresses a
`FIXME` in the code base:
```
// FIXME: The current argument materialization hook expects the original
// output type, even though it doesn't use that as the actual output type
// of the generated IR. The output type is just used as an indicator of
// the type of materialization to do. This behavior is really awkward in
// that it diverges from the behavior of the other hooks, and can be
// easily misunderstood. We should clean up the argument hooks to better
// represent the desired invariants we actually care about.
```

It is no longer necessary to distinguish between the "output type" and
the "original output type".

Most type converter are already written according to the new API. (Most
implementations use the same conversion functions as for source
materializations.) One exception is the MemRef-to-LLVM type converter,
which materialized an `!llvm.struct` based on the elements of a memref
descriptor. It still does that, but casts the `!llvm.struct` back to the
original memref type. The dialect conversion inserts a target
materialization (to `!llvm.struct`) which cancels out with the other
cast.

This commit also fixes a bug in `computeNecessaryMaterializations`. The
implementation did not account for the possibility that a value was
replaced multiple times. E.g., replace `a` by `b`, then `b` by `c`.

This commit also adds a transform dialect op to populate SCF-to-CF
patterns. This transform op was needed to write a test case. The bug
described here appears only during a complex interplay of 1:N signature
conversions and op replacements. (I was not able to trigger it with ops
and patterns from the `test` dialect without duplicating the `scf.if`
pattern.)

Note for LLVM integration: Make sure that all
`addArgument/Source/TargetMaterialization` functions produce an SSA of
the specified type.

Depends on #98743.


  Commit: 94efdff84a8f6d52915b90b705fe991f4888c544
      https://github.com/llvm/llvm-project/commit/94efdff84a8f6d52915b90b705fe991f4888c544
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst

  Log Message:
  -----------
  [AArch64][RISCV] Document option --print-supported-extensions (#98698)

Add documentation for the `--print-supported-extensions`
option which appears to be missing at present.


  Commit: 88f0dc48d6f46e1677dc679ae649e9b291140b13
      https://github.com/llvm/llvm-project/commit/88f0dc48d6f46e1677dc679ae649e9b291140b13
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/test/src/__support/CPP/type_traits_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMaximumTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FrexpTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/string/memory_utils/op_tests.cpp

  Log Message:
  -----------
  [libc] Fix warnings emitted by GCC (#98751)

Fixes #98709.


  Commit: 4e338dce4de4ca1476e2b8f9c907769691a9093b
      https://github.com/llvm/llvm-project/commit/4e338dce4de4ca1476e2b8f9c907769691a9093b
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__mdspan/extents.h
    M libcxx/include/mdspan
    M libcxx/include/version
    A libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] P2389R2: `dextents` Index Type Parameter (#97393)

This patch implements P2389R2, which was adopted at the St. Louis meeting.
It builds upon previous enhancements from P2299R3, which introduced deduction
guides and the `dextents` alias template.


  Commit: 365f5b4a1dfe84f2978a41d5a85672e749056620
      https://github.com/llvm/llvm-project/commit/365f5b4a1dfe84f2978a41d5a85672e749056620
  Author: Him188 <tguan at nvidia.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-casts.mir
    M llvm/test/CodeGen/AArch64/itofp.ll

  Log Message:
  -----------
  [AArch64][GISel] Add fp128 and i128 sitofp/uitofp handling (#97691)

Legalize sitofp/uitofp involving fp128/i128 types into a libcall. 
Vector with i128/fp128 types are scalarized.


  Commit: 82af55983d75d4a821b76ee926b19725ec7fa889
      https://github.com/llvm/llvm-project/commit/82af55983d75d4a821b76ee926b19725ec7fa889
  Author: Vincent Belliard <81770341+v-bulle at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M lldb/include/lldb/API/SBValue.h
    M lldb/source/API/SBValue.cpp
    M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
    M lldb/test/API/python_api/formatters/main.cpp
    M lldb/test/API/python_api/formatters/synth.py

  Log Message:
  -----------
  [API] add GetSyntheticValue (#95959)

Adds GetSyntheticValue to the API on top of GetNonSyntheticValue.

---------

Co-authored-by: Vincent Belliard <v-bulle at github.com>


  Commit: 6469faf9fd835a0fab6290168949d00e35556e75
      https://github.com/llvm/llvm-project/commit/6469faf9fd835a0fab6290168949d00e35556e75
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir
    M mlir/test/Integration/GPU/ROCM/printf.mlir
    M mlir/test/Integration/GPU/ROCM/two-modules.mlir
    M mlir/test/Integration/GPU/ROCM/vecadd.mlir
    M mlir/test/Integration/GPU/ROCM/vector-transferops.mlir

  Log Message:
  -----------
  [mlir] Fix GPU integration test (#98917)

Fix tests that were broken by #97903.


  Commit: deff3afd35d4f301fe74d20cf9b180c79d2b7016
      https://github.com/llvm/llvm-project/commit/deff3afd35d4f301fe74d20cf9b180c79d2b7016
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/Instrumentation.cpp

  Log Message:
  -----------
  [NFC][BOLT] Rename createDummyReturnFunction to createReturnInstructi.. (#98448)

`createDummyReturnFunction` is not creating a function but instead only
a function body that is simply a return statement.
This patch renames it to: `createReturnInstructionList`


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

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

  Log Message:
  -----------
  [X86] Add handling for select(icmp_uge(amt,BW),0,shift_logical(x,amt)) -> avx2 shift(x,amt)

We need to catch this otherwise pre-AVX512 targets will fold this to and(icmp_ult(amt,BW),shift_logical(x,amt))


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

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

  Log Message:
  -----------
  [DAG] SDPatternMatch::m_SetCC - rename operands. NFC.

Rename operands to make it easier to remember what they each represent.


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

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

  Log Message:
  -----------
  [X86] visitFCOPYSIGN - pull out repeated SDLoc. NFC.


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

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

  Log Message:
  -----------
  [X86] combineSelect - reuse existing SDLoc. NFC.


  Commit: 903f6fceb86e68b0dbc11b13f808fc00a471e595
      https://github.com/llvm/llvm-project/commit/903f6fceb86e68b0dbc11b13f808fc00a471e595
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Prune dead LI in vsetvli coalescing with trivially dead vsetvli (#98647)

This is a follow up to ff8a03a7. On the review for that, I'd suggested a
stylistic rework, but after discussion we decided to move forward with
the fix as it was. This change is a small part of that suggested rework.
Once I sat down and wrote the code, I think I've convinced myself of an
entirely different approach (tbd), but for the moment, let's use a
lambda to share code so that we can pickup a missed optimization, and
reduce some duplication.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 03fe7a83ce79d43b63052e7762573b57a8c52db8
      https://github.com/llvm/llvm-project/commit/03fe7a83ce79d43b63052e7762573b57a8c52db8
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [PS4/PS5][NFC] Split PScpu::Linker into PS4/PS5 classes (#98884)

It has long been the case on PlayStation that the linker itself has
taken on much of the responsibility that is traditionally the domain of
the C language driver elsewhere: which linker script to use, selection
of CRT objects, and so forth.

This is changing on PS5. The driver will assume responsibility for such
things. However, the situation on PS4 will remain as-is. To accommodate
this divergence, we must first separate how linker Jobs are created.
`clang/test/Driver/ps4-linker.c` has been similarly split for related
reasons.

In subsequent changes, PS5-specific linking behaviour can be moved from
SIE private patches in the PS5 linker to the (upstream) driver without
affecting the behaviour or implementation of PS4.


  Commit: 7775be4d48e95385c1968d7f1826a11e08f5f954
      https://github.com/llvm/llvm-project/commit/7775be4d48e95385c1968d7f1826a11e08f5f954
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/async.mlir

  Log Message:
  -----------
  [mlir] Fix GPU integration test (part 2) (#98918)

Fix tests that were broken by #97903.


  Commit: 0309709a6786653da7164334c83b09c9f37b943a
      https://github.com/llvm/llvm-project/commit/0309709a6786653da7164334c83b09c9f37b943a
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for mlir:SCFTransformOps (#98919)

Bazel build failure was introduced in commit acc159ae.


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

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

  Log Message:
  -----------
  [RISCV] Always expand zero strided vp.strided.load (#98901)

This patch makes zero strided VP loads always be expanded to a scalar
load and splat even if +optimized-zero-stride-load is present.

Expanding it allows more .vx splat patterns to be matched, which is
needed to prevent regressions in #98111.

If the feature is present, RISCVISelDAGToDAG will combine it back to a
zero strided load.

The RV32 test diff also shows how need to emit a zero strided load
either way after expanding an SEW=64 strided load. We could maybe fix
this in a later patch by not doing the expand if SEW>XLEN.


  Commit: a46d60ad32dbb14d82eda7d18ef7c418a51b22ff
      https://github.com/llvm/llvm-project/commit/a46d60ad32dbb14d82eda7d18ef7c418a51b22ff
  Author: Max Beck-Jones <max.beck-jones at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [NFC] [AArch64] Refactor predicate register class decode functions (#97412)

In a previous PR #81716, a new decoder function was added to
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp. During
code review it was suggested that, as most of the decoder functions were
very similar in structure, that they be refactored into a single,
templated function. I have added the refactored function, removed the
definitions of the replaced functions, and replaced the references to
the replaced functions in AArch64Disassembler.cpp and
llvm/lib/Target/AArch64/AArch64RegisterInfo.td. To reduce the number of
duplicate references in AArch64RegisterInfo.td, I have also made a small
change to llvm/utils/TableGen/DecoderEmitter.cpp.


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

  Changed paths:
    M clang/tools/c-index-test/c-index-test.c

  Log Message:
  -----------
  Fix memory leak in unit test


  Commit: 106621b601d7dc7c4929fba293f7e5ffe6b92c58
      https://github.com/llvm/llvm-project/commit/106621b601d7dc7c4929fba293f7e5ffe6b92c58
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/test/UnitTest/LibcTest.cpp

  Log Message:
  -----------
  [libc][NFC] Fix printed test time in 32-bit systems (#98922)

clock() returns a clock_t, which is a long and might overflow in 32-bit
systems when the test takes a long time to run. Changing it to uint64_t
fixes this issue. Before:

[ RUN      ] LlvmLibcHashTest.Avalanche
[       OK ] LlvmLibcHashTest.Avalanche (18446744073709551138 ms)

After this patch:

[ RUN      ] LlvmLibcHashTest.Avalanche
[       OK ] LlvmLibcHashTest.Avalanche (4154 ms)


  Commit: a78b19d8ea513a2e88fa431b549b65406384a12d
      https://github.com/llvm/llvm-project/commit/a78b19d8ea513a2e88fa431b549b65406384a12d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [IR] Use SmallSet with more inline elements in dropUnknownNonDebugMetadata (NFC) (#98853)

SmallSet here often ends up allocating memory via std::set inside
SmallSet because KnownIDs.size() goes up to 17 on an x86 host.  This
patch switches to SmallSet<unsigned, 32> to avoid memory
allocations.

The increased inline elements here save 0.57% of heap allocations during
the compilation of X86ISelLowering.cpp.ii, a preprocessed version of
X86ISelLowering.cpp.


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

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

  Log Message:
  -----------
  [DAG] visitADDLike - convert (A-B)+(C-D) --> (A+C)-(B+D) fold to sd_match. NFC.


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

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

  Log Message:
  -----------
  [X86] visitADDLike - pull out repeated SDLoc. NFC.


  Commit: e6ec7c8f74d1be778f4ddf794d0e2fb63b0dc3be
      https://github.com/llvm/llvm-project/commit/e6ec7c8f74d1be778f4ddf794d0e2fb63b0dc3be
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/tools/libclang/CXIndexDataConsumer.cpp

  Log Message:
  -----------
  [Clang][AST] Move NamespaceDecl bits to DeclContext (#98567)

Currently, `NamespaceDecl` has a member `AnonOrFirstNamespaceAndFlags`
which stores a few pieces of data:
- a bit indicating whether the namespace was declared `inline`, and
- a bit indicating whether the namespace was declared as a
_nested-namespace-definition_, and
- a pointer a `NamespaceDecl` that either stores:
- a pointer to the first declaration of that namespace if the
declaration is no the first declaration, or
- a pointer to the unnamed namespace that inhabits the namespace
otherwise.

`Redeclarable` already stores a pointer to the first declaration of an
entity, so it's unnecessary to store this in `NamespaceDecl`.
`DeclContext` has 8 bytes in which various bitfields can be stored for a
declaration, so it's not necessary to store these in `NamespaceDecl`
either. We only need to store a pointer to the unnamed namespace that
inhabits the first declaration of a namespace. This patch moves the two
bits currently stored in `NamespaceDecl` to `DeclContext`, and only
stores a pointer to the unnamed namespace that inhabits a namespace in
the first declaration of that namespace. Since `getOriginalNamespace`
always returns the same `NamespaceDecl` as `getFirstDecl`, this function
is removed to avoid confusion.


  Commit: 56ee6a172a8c17944c3b776159b45e15b31444ef
      https://github.com/llvm/llvm-project/commit/56ee6a172a8c17944c3b776159b45e15b31444ef
  Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Disable coredump creation (#98807)

Disable core dump creation. 
If NSAN_OPTIONS includes abort_on_error=1, 
the process may hang as the kernel attempts
to create an excessively large core file.



Fix #98806


  Commit: 148d90729e9fa132f170ba0627bcfb9ee90a0f38
      https://github.com/llvm/llvm-project/commit/148d90729e9fa132f170ba0627bcfb9ee90a0f38
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/ifunc.c
    M clang/test/CodeGen/kcfi.c

  Log Message:
  -----------
  [CodeGen] Set attributes on resolvers emitted after ifuncs

Visiting the ifunc calls `GetOrCreateLLVMFunction` with
`NotForDefinition` while visiting the resolver calls
`GetOrCreateLLVMFunction` with `ForDefinition`.

When an ifunc is emitted before its resolver, the `ForDefinition` call
does not call `SetFunctionAttributes`, because the function prematurely
returns due to `(Entry->getValueType() == Ty)` and
`llvm::GlobalIFunc::getResolverFunctionType(DeclTy)`.

This leads to missing `!kcfi_type` with -fsanitize=kcfi.

```
extern void ifunc0(void) __attribute__ ((ifunc("resolver0")));
void *resolver0(void) { return 0; } // SetFunctionAttributes not called

extern void ifunc1(void) __attribute__ ((ifunc("resolver1")));
static void *resolver1(void) { return 0; } // SetFunctionAttributes not called

extern void ifunc2(void) __attribute__ ((ifunc("resolver2")));
static void *resolver2(void*) { return 0; }
```

Ensure `SetFunctionAttributes` is called by calling
`GetOrCreateLLVMFunction` with a dummy non-function type. Now that the
`F->takeName(Entry)` code path may be taken, the
`DisableSanitizerInstrumentation` code
(https://reviews.llvm.org/D150262) should be moved to `checkAliases`,
when the resolver function is finalized.

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


  Commit: 266a5a9cb9daa96c1eeaebc18e10f5a37d638734
      https://github.com/llvm/llvm-project/commit/266a5a9cb9daa96c1eeaebc18e10f5a37d638734
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/LinearTransform.cpp
    M mlir/lib/Analysis/Presburger/PWMAFunction.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp

  Log Message:
  -----------
  mlir/Presburger: optimize to avoid creating copies (#97897)

Optimize the Presburger library to avoid unnecessarily creating copies.
While at it, fix some other minor issues in the codebase.


  Commit: 4797036fdbbe5d90e8639a0506fdcf9385d370d8
      https://github.com/llvm/llvm-project/commit/4797036fdbbe5d90e8639a0506fdcf9385d370d8
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/load-store.ll

  Log Message:
  -----------
  [NVPTX] Adds float/double tests to load-store tests. (#96436)


  Commit: 31d4c9750694fa3728e45cbd6f740063ee19a6fa
      https://github.com/llvm/llvm-project/commit/31d4c9750694fa3728e45cbd6f740063ee19a6fa
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
    A llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll

  Log Message:
  -----------
  [LoopVectorize] LLVM fails to vectorise loops with multi-bool varables (#89226)

This change allows to consider compare instructions in the loop with
multiple use inside the loop and outside.

This change allows to vectorise this loop:
int foo(float* a, int n) {
  _Bool any = 0;
  _Bool all = 1;
  for (int i = 0; i < n; i++) {
    if (a[i] < 0.0f) {
      any = 1;
    } else {
      all = 0;
    }
  }
  return all ? 1 : any ? 2 : 3;
}


  Commit: 87ca6386f9389f9d929d660e37701590092cefab
      https://github.com/llvm/llvm-project/commit/87ca6386f9389f9d929d660e37701590092cefab
  Author: Nathan James <n.james93 at hotmail.co.uk>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h
    A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
    A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
    M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp

  Log Message:
  -----------
  [clang-tidy] Allow specifying pipe syntax for use-ranges checks (#98696)

Add `UseReversePipe` option to (boost|modernize)-use-ranges checks. This
controls whether to create a reverse view using function syntax
(`reverse(Range)`) or pipe syntax (`Range | reverse`)


  Commit: 8e42e0d28aaaab8c4070857055689bee25d8a288
      https://github.com/llvm/llvm-project/commit/8e42e0d28aaaab8c4070857055689bee25d8a288
  Author: Vitaly Goldshteyn <VitalyGoldstein at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp

  Log Message:
  -----------
  [clang-tidy] Allow unnecessary-value-param to match templated functions including lambdas with auto. (#97767)

Clang-Tidy unnecessary-value-param value param will be triggered for
templated functions if at least one instantiontion with expensive to
copy type is present in translation unit.

It is relatively common mistake to write lambda functions with auto
arguments for expensive to copy types.


  Commit: 1301cf486639c31353b2eede4596f3216c0d49ea
      https://github.com/llvm/llvm-project/commit/1301cf486639c31353b2eede4596f3216c0d49ea
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [PAC][clang] Enhance preprocessor ptrauth tests (#98862)

Test one feature at a time to make RUN lines shorter. See also
https://github.com/llvm/llvm-project/pull/96992#discussion_r1669394582


  Commit: f964e8a3f9ef9789f9075694cb887d0b3986d304
      https://github.com/llvm/llvm-project/commit/f964e8a3f9ef9789f9075694cb887d0b3986d304
  Author: Chris Warner <73851242+cwarner-8702 at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-constants.cpp

  Log Message:
  -----------
  [clang-tidy] bugprone-implicit-widening ignores const exprs that fit (#98352)

Add an option to the
`bugprone-implicit-widening-of-multiplication-result` clang-tidy checker
to suppress warnings when the expression is made up of all compile-time
constants (literals, `constexpr` values or results, etc.) and the result
of the multiplication is guaranteed to fit in both the source and
destination types.

This currently only works for signed integer types:

* For unsigned integers, the well-defined rollover behavior on overflow
prevents the checker from detecting that the expression does not
actually fit in the source expr type, and would produce false negatives.
I have a somewhat-hacky stab at addressing this I'd like to submit as a
follow-on PR
* For floating-point types, there's probably a little additional work to
be done to `Expr` to calculate the result at compile time

Even still, this seems like a helpful addition just for signed types,
and additional types can be added.


  Commit: c6b3f5019453bf08d4af1d8cec97ea7d96641a39
      https://github.com/llvm/llvm-project/commit/c6b3f5019453bf08d4af1d8cec97ea7d96641a39
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M bolt/test/X86/match-functions-with-calls-as-anchors.test

  Log Message:
  -----------
  [bolt][test] Require asserts in X86/match-functions-with-calls-as-anchors.test (#98882)

Otherwise, it fails due to the unsupported `--debug` flag in non-asserts
builds.


  Commit: 4531f82c1ad905614c1df9359a77d48e6397fd97
      https://github.com/llvm/llvm-project/commit/4531f82c1ad905614c1df9359a77d48e6397fd97
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    A libc/cmake/modules/compiler_features/check_builtin_ceil_floor_rint_trunc.cpp
    A libc/cmake/modules/compiler_features/check_builtin_round.cpp
    A libc/cmake/modules/compiler_features/check_builtin_roundeven.cpp
    R libc/src/math/aarch64/CMakeLists.txt
    R libc/src/math/aarch64/ceil.cpp
    R libc/src/math/aarch64/ceilf.cpp
    R libc/src/math/aarch64/floor.cpp
    R libc/src/math/aarch64/floorf.cpp
    R libc/src/math/aarch64/round.cpp
    R libc/src/math/aarch64/roundf.cpp
    R libc/src/math/aarch64/trunc.cpp
    R libc/src/math/aarch64/truncf.cpp
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ceil.cpp
    M libc/src/math/generic/ceilf.cpp
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/floor.cpp
    M libc/src/math/generic/floorf.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/rint.cpp
    M libc/src/math/generic/rintf.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/round.cpp
    M libc/src/math/generic/roundeven.cpp
    M libc/src/math/generic/roundevenf.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundf.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/trunc.cpp
    M libc/src/math/generic/truncf.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/test/src/math/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/nearest_integer_funcs_perf.cpp

  Log Message:
  -----------
  [libc][math] Optimize nearest integer functions using builtins when available (#98376)


  Commit: 8659c91b794dfc4366541e8b7d6a8e96b1861a0b
      https://github.com/llvm/llvm-project/commit/8659c91b794dfc4366541e8b7d6a8e96b1861a0b
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/docs/RISCVUsage.rst

  Log Message:
  -----------
  [RISCV][doc] Grammar fix

Fixes 884a07fee0ba36649561003e36d197323380f3d2


  Commit: 2da30f89869c493f1bc1ffbd8b458975103af0ac
      https://github.com/llvm/llvm-project/commit/2da30f89869c493f1bc1ffbd8b458975103af0ac
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 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 (#98022)

This PR adds initial support for some of Volta's (sm_70) load/store
atomic and volatile/MMIO operations, hopefully without breaking any
preexisting code. Only relaxed, acquire, and release operations w/
volatile are handled.

This PR does not aim to add support for any of the following:
- syncscope support
- read atomic ops to const, param, grid param
- local memory atomics
- sequentially consistent atomics
- atomicrmw 
- ...


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleToIdentity - peek through bitcasts to see if they come from the same value to form identity sequence (#98334)

Workaround until I can get #96884 fixed properly - when trying to find identity sequences, peek through any bitcasts to see if the values all came from the same source. We don't run CSE frequently enough to merge all the bitcasts that we end up with.


  Commit: 466c1b65e41dafd8d71da230e44b6460e5c132e1
      https://github.com/llvm/llvm-project/commit/466c1b65e41dafd8d71da230e44b6460e5c132e1
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  Provide access to raw bits in PackedVector. NFC. (#98944)

Needed for future patch to access vector as an integer mask.


  Commit: 4a23d41750f54b7f32bf95148e5fa4b1dd12c4b5
      https://github.com/llvm/llvm-project/commit/4a23d41750f54b7f32bf95148e5fa4b1dd12c4b5
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A llvm/docs/SandboxIR.md
    M llvm/docs/UserGuides.rst

  Log Message:
  -----------
  [SandboxIR][Doc] Add a Doc file for Sandbox IR (#98691)

This is under User Guides > Additional Topics > Sandbox IR.


  Commit: 63b16afc54527d8976571d36b17d85f401e4f6a1
      https://github.com/llvm/llvm-project/commit/63b16afc54527d8976571d36b17d85f401e4f6a1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h

  Log Message:
  -----------
  [TableGen] Use std::move. NFC

Fix #98719


  Commit: 44d9692e6a657ec46e98e4912ac56417da67cfee
      https://github.com/llvm/llvm-project/commit/44d9692e6a657ec46e98e4912ac56417da67cfee
  Author: jimingham <jingham at apple.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/Event.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/Event.cpp
    M lldb/test/API/python_api/event/TestEvents.py

  Log Message:
  -----------
  Private process events were being delivered to the secondary listener (#98571)

This fixes a bug where Process events were being delivered to secondary
listeners when the Private state thread listener was processing the
event. That meant the secondary listener could get an event before the
Primary listener did. That in turn meant the state when the secondary
listener got the event wasn't right yet. Plus it meant that the
secondary listener saw more events than the primary (not all events get
forwarded from the private to the public Process listener.)

This bug became much more evident when we had a stop hook that did some
work, since that delays the Primary listener event delivery. So I also
added a stop-hook to the test, and put a little delay in as well.


  Commit: 1347b9a3aa671d610e812579ab5e5f05870586cf
      https://github.com/llvm/llvm-project/commit/1347b9a3aa671d610e812579ab5e5f05870586cf
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/docs/Frontend/PerformanceTips.rst

  Log Message:
  -----------
  [Docs] Store to poison is the canonical form for non-terminator unreachable (#98910)

Add the content from
https://github.com/llvm/llvm-project/pull/96639#issuecomment-2189111902.


  Commit: bc1c84aee5b33c30e7bfe1e4a65a64650ec357db
      https://github.com/llvm/llvm-project/commit/bc1c84aee5b33c30e7bfe1e4a65a64650ec357db
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    A compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp

  Log Message:
  -----------
  [compiler-rt] adding preadv2/pwritev2 interceptions. (#97216)

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: a7816c8e0086c1ae9b8ea15a6c252ca97f0405d1
      https://github.com/llvm/llvm-project/commit/a7816c8e0086c1ae9b8ea15a6c252ca97f0405d1
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    A lldb/test/API/python_api/event/stop_hook.py
    M lldb/unittests/Process/ProcessEventDataTest.cpp

  Log Message:
  -----------
  git add a test file from a previous commit.

A new file was added to the python_api/events test, but I forgot to
git add it before making the PR.  The commit was:

44d9692e6a657ec46e98e4912ac56417da67cfee


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

  Changed paths:
    A lldb/include/lldb/Symbol/SymbolLocation.h
    M lldb/source/Target/AssertFrameRecognizer.cpp

  Log Message:
  -----------
  [lldb/Symbol] Hoist SymbolLocation from AssertFrameRecognizer to reuse it (#98975)

This patch hoists the `SymbolLocation` struct from the
`AssertFrameRecognizer` source file, since it's pretty generic and could
be reused for other purposes.

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


  Commit: f1ac7725e4fd5afa21fb244f9bcc33de654ed80c
      https://github.com/llvm/llvm-project/commit/f1ac7725e4fd5afa21fb244f9bcc33de654ed80c
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Bytecode/BytecodeOpInterface.h
    M mlir/include/mlir/Bytecode/BytecodeReaderConfig.h
    M mlir/lib/Bytecode/Writer/IRNumbering.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h

  Log Message:
  -----------
  [mlir] Remove bytecode reader & writer header from interface. (#98920)

Flagged some additional headers missing in process.

Inspired by #98676


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

  Changed paths:
    M compiler-rt/lib/asan/asan_globals_win.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_suppressions.cpp
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/dfsan/dfsan_allocator.h
    M compiler-rt/lib/hwasan/hwasan_allocator.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.cpp
    M compiler-rt/lib/lsan/lsan_common.cpp
    M compiler-rt/lib/lsan/lsan_common_linux.cpp
    M compiler-rt/lib/lsan/lsan_thread.cpp
    M compiler-rt/lib/memprof/memprof_thread.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/msan/msan_allocator.h
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
    M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
    M compiler-rt/lib/ubsan/ubsan_diag.cpp

  Log Message:
  -----------
  [sanitizer] Replace ALIGNED with alignas

C++11 `alignas` is already used extensively. `alignas` must precede
`static`, so adjust the ordering accordingly.

msan.cpp: Clang 15 doesn't allow `__attribute__((visibility("default"))) alignas(16)`.
Use the order `alignas(16) SANITIZER_INTERFACE_ATTRIBUTE`. Tested with Clang 7.

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


  Commit: d286efeb1d0d3e135901dd07535cc68aed39a758
      https://github.com/llvm/llvm-project/commit/d286efeb1d0d3e135901dd07535cc68aed39a758
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-call.ll
    M llvm/test/CodeGen/AArch64/ptrauth-invoke.ll

  Log Message:
  -----------
  [AArch64][PAC] Lower direct authenticated calls to ptrauth constants. (#97664)

This tries to turn indirect ptrauth calls into direct calls, using
`ConstantPtrAuth::isKnownEquivalent` to compare the `ConstantPtrAuth`
target with the ptrauth call bundle.

This should be straightforward, other than the somewhat awkward GISel
handling, which has a handshake between CallLowering and IRTranslator to
elide the ptrauth when possible.


  Commit: 34e06dc3716436603ad815f8d4c3f638ef679e38
      https://github.com/llvm/llvm-project/commit/34e06dc3716436603ad815f8d4c3f638ef679e38
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/gpu/api.td
    M libc/config/linux/api.td
    M libc/include/assert.h.def
    A libc/newhdrgen/yaml/assert.yaml

  Log Message:
  -----------
  [libc] newheadergen: added assert.yaml (#98826)

- removed assert macro definitions in api.td
- included macro definitions in assert.h.def
- added assert.yaml


  Commit: 864478cc74f5e258f86014886df16aa8d393bcc6
      https://github.com/llvm/llvm-project/commit/864478cc74f5e258f86014886df16aa8d393bcc6
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang] Disallow explicit object parameters in more contexts (#89078)

This diagnoses explicit object parameters in more contexts
where they aren’t supposed to appear in (e.g. function pointer
types, non-function member decls, etc.) [dcl.fct]

This fixes #85992.


  Commit: db9ac92501509ce02ed188bb20a5211a9f29d5d3
      https://github.com/llvm/llvm-project/commit/db9ac92501509ce02ed188bb20a5211a9f29d5d3
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Add lldb version into initialize response lldb-dap (#98703)

Frequently, while troubleshooting user's debugging issues in VScode, we
would like to know lldb version so that we can confirm if certain
patch/feature is in or not.

This PR adds version string into `initialize` response so that telemetry
can track it.

---------

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


  Commit: 00af49a27c0266b21718d4fa130a0a9df23a76f4
      https://github.com/llvm/llvm-project/commit/00af49a27c0266b21718d4fa130a0a9df23a76f4
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M compiler-rt/CODE_OWNERS.TXT

  Log Message:
  -----------
  [compiler-rt] Add code owner for nsan (#98967)

Add code owner for nsan.


  Commit: 3614f65a7ba9d925010e3316a1d93bcebc632178
      https://github.com/llvm/llvm-project/commit/3614f65a7ba9d925010e3316a1d93bcebc632178
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  [Target] Use range-based for loops (NFC) (#98844)


  Commit: 7863e4ed8866c67bc73133e419a9387ce6ad4cfb
      https://github.com/llvm/llvm-project/commit/7863e4ed8866c67bc73133e419a9387ce6ad4cfb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Form VFWMUL.VF and VFWADD.VF/WF when fp_extend is scalar and then splatted. (#98590)

Previously we only supported the extend being in the vector domain after
the splat.


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

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

  Log Message:
  -----------
  [RISCV] Simplify some checks of when we can't form a widening vector FP operation. NFCI

The _VL nodes are only used with scalable vectors so we don't need
to check that.

It doesn't matter if Zvfhmin is enabled. All that really matters is
whether Zvfh is.


  Commit: 25752a40b8b224e3695edd506f304866f065ca9a
      https://github.com/llvm/llvm-project/commit/25752a40b8b224e3695edd506f304866f065ca9a
  Author: v01dXYZ <14996868+v01dXYZ at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    A llvm/test/MC/X86/intel-syntax-expr.s

  Log Message:
  -----------
  [X86AsmParser] IntelExpression: End of Statement should check for valid end state (#95677)

The following commit bfb7099eeb9b6f62510b1db0cb93a8c3cfa68236 added a
special case for End of Statement that doesn't check if the state
machine is rightfully in a state where ending is valid.

This PR suggest to revert this change to make `EndOfStatement` processed
as any other tokens that are not consumable by the state machine.

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

---------

Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>


  Commit: bddab518db003f7c5ce9014e9ebd932fb7a85d2f
      https://github.com/llvm/llvm-project/commit/bddab518db003f7c5ce9014e9ebd932fb7a85d2f
  Author: JaydeepChauhan14 <167076022+JaydeepChauhan14 at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/msse2avx.c
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    A llvm/test/MC/AsmParser/sse2avx-att.s
    M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
    M llvm/utils/TableGen/X86ManualInstrMapping.def

  Log Message:
  -----------
  [X86][MC,Driver] Support -msse2avx to encode SSE instruction with VEX prefix (#96860)

For GCC compatibility
https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc/x86-Options.html.


  Commit: 578cf724de56e6c6768859bb1b6a597ee5d14ea0
      https://github.com/llvm/llvm-project/commit/578cf724de56e6c6768859bb1b6a597ee5d14ea0
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [RISCV] Add support for getHostCPUFeatures using hwprobe (#94352)

This patch adds support for `sys::getHostCPUFeatures` using the RISC-V
hardware probing interface.
References:
+ Loongarch patch:
https://github.com/llvm/llvm-project/commit/e53f41c39f3eb5052965c720d2cb517d2945fd12
+ asm/hwprobe.h:
https://github.com/torvalds/linux/blob/2ab79514109578fc4b6df90633d500cf281eb689/arch/riscv/include/uapi/asm/hwprobe.h
+ glibc support:
https://inbox.sourceware.org/glibc-cvs/20240301151728.AD5963858C53@sourceware.org/T/#Z2e.:..:20240301151728.AD5963858C53::40sourceware.org:1sysdeps:unix:sysv:linux:riscv:sys:hwprobe.h
+ __NR_riscv_hwprobe syscall tutorial:
https://github.com/cyyself/hwprobe
+ hwprobe docs: https://docs.kernel.org/arch/riscv/hwprobe.html

---------

Co-authored-by: Yangyu Chen <cyy at cyyself.name>


  Commit: 5bb3492892f0e087249d6e7aa9c077b9aa0922eb
      https://github.com/llvm/llvm-project/commit/5bb3492892f0e087249d6e7aa9c077b9aa0922eb
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in SpaceBeforeParensOptions (#98849)

Handle constructors/destructors for AfterFunctionDeclarationName and
AfterFunctionDefinitionName.

Fixes #98812.
Fixes #98820.


  Commit: 563ae620958a16423669f00a4219a96cf879b1f7
      https://github.com/llvm/llvm-project/commit/563ae620958a16423669f00a4219a96cf879b1f7
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [RISCV] Don't expand zero stride vp.strided.load if SEW>XLEN (#98924)

A splat of a <n x i64> on RV32 will get lowered as a zero strided load
anyway (and won't match any .vx splat patterns), so don't expand it to a
scalar load + splat to avoid writing it to the stack.


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Use a templated conversion operator


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

  Changed paths:
    M clang/test/Driver/msse2avx.c

  Log Message:
  -----------
  [X86][Driver] Try to fix the test msse2avx.c on non-X86 target

The test was added in https://github.com/llvm/llvm-project/pull/96860


  Commit: 27b2f4f861b8aeeabc4eb1a97649062de8fa3992
      https://github.com/llvm/llvm-project/commit/27b2f4f861b8aeeabc4eb1a97649062de8fa3992
  Author: walter erquinigo <walter at modular.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    R lldb/test/API/debuginfod/Normal/Makefile
    R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    R lldb/test/API/debuginfod/Normal/main.c
    R lldb/test/API/debuginfod/SplitDWARF/Makefile
    R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    R lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  [LLDB] Revert #98351 and #98344

This reverts commit 2fa1220a37a3f55b76a29803d8333b3a3937d53a.
This reverts commit b9496a74eb4029629ca2e440c5441614e766f773.

The patch #98344 causes a crash in LLDB when parsing some files like `numpy.libs/libgfortran-daac5196.so.5.0.0` on graviton (you can download it in https://drive.google.com/file/d/12ygLjJwWpzdYsrzBPp1JGiFHxcgM0-XY/view?usp=drive_link if you want to troubleshoot yourself).

The assert that is hit is the following:

```
llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:2452: std::pair<unsigned int, std::map<long unsigned int, lldb_private::AddressClass> > ObjectFileELF::ParseSymbolTable(lldb_private::Symtab*, lldb::user_id_t, lldb_private::Section*): Assertion `strtab->GetObjectFile() == this' failed.
[383588:383636:20240716,025305.572639:ERROR crashpad_client_linux.cc:780] Crashpad isn't enabled
```

This object file doesn't have apparently a strings table but LLDB still tries to process it due to the code that is being reverted.


  Commit: 94ed08d6b2a80cd6838bd16f21e8437918fc4dc1
      https://github.com/llvm/llvm-project/commit/94ed08d6b2a80cd6838bd16f21e8437918fc4dc1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/include/uchar.h.def
    M libc/include/wchar.h.def

  Log Message:
  -----------
  [libc] Enable 'wchar.h' for the GPU (#98973)

Summary:
This file is not really well populated, but is required for some targets
to configure. Enable it on the GPU for now.


  Commit: 8a27ef676e3c607daede048e5021db18a970aa71
      https://github.com/llvm/llvm-project/commit/8a27ef676e3c607daede048e5021db18a970aa71
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    A lldb/include/lldb/Target/VerboseTrapFrameRecognizer.h
    M lldb/source/Target/CMakeLists.txt
    M lldb/source/Target/Process.cpp
    A lldb/source/Target/VerboseTrapFrameRecognizer.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap.cpp
    A lldb/test/Shell/Recognizer/verbose_trap.test

  Log Message:
  -----------
  [lldb] Add frame recognizer for __builtin_verbose_trap (#80368)

This patch adds a frame recognizer for Clang's
`__builtin_verbose_trap`, which behaves like a
`__builtin_trap`, but emits a failure-reason string into debug-info in
order for debuggers to display
it to a user.

The frame recognizer triggers when we encounter
a frame with a function name that begins with
`__clang_trap_msg`, which is the magic prefix
Clang emits into debug-info for verbose traps.
Once such frame is encountered we display the
frame function name as the `Stop Reason` and display that frame to the
user.

Example output:
```
(lldb) run
warning: a.out was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 35942 launched: 'a.out' (arm64)
Process 35942 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Misc.: Function is not implemented
    frame #1: 0x0000000100003fa4 a.out`main [inlined] Dummy::func(this=<unavailable>) at verbose_trap.cpp:3:5 [opt]
   1    struct Dummy {
   2      void func() {
-> 3        __builtin_verbose_trap("Misc.", "Function is not implemented");
   4      }
   5    };
   6
   7    int main() {
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = Misc.: Function is not implemented
    frame #0: 0x0000000100003fa4 a.out`main [inlined] __clang_trap_msg$Misc.$Function is not implemented$ at verbose_trap.cpp:0 [opt]
  * frame #1: 0x0000000100003fa4 a.out`main [inlined] Dummy::func(this=<unavailable>) at verbose_trap.cpp:3:5 [opt]
    frame #2: 0x0000000100003fa4 a.out`main at verbose_trap.cpp:8:13 [opt]
    frame #3: 0x0000000189d518b4 dyld`start + 1988
```


  Commit: 515618e245d477dd734ca303f5066c7293b2ebbc
      https://github.com/llvm/llvm-project/commit/515618e245d477dd734ca303f5066c7293b2ebbc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  Revert "[Target] Use range-based for loops (NFC) (#98844)"

This reverts commit 3614f65a7ba9d925010e3316a1d93bcebc632178.

fixupImmediateBr seems to resize ImmBranches.


  Commit: 408a351d9187acd6b52cf14dac36378a10ff72a2
      https://github.com/llvm/llvm-project/commit/408a351d9187acd6b52cf14dac36378a10ff72a2
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/spin_lock.h

  Log Message:
  -----------
  [libc] add a simple TTAS spin lock (#98846)


  Commit: 4497ec293a6e745be817dc88027169bd5e4f7246
      https://github.com/llvm/llvm-project/commit/4497ec293a6e745be817dc88027169bd5e4f7246
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/ABIInfoImpl.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    M clang/test/CodeGen/X86/x86_64-vaarg.c
    M clang/test/CodeGen/paren-list-agg-init.cpp
    M clang/test/CodeGen/voidptr-vaarg.c
    M clang/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp
    M clang/test/CodeGenCXX/bitfield-access-empty.cpp
    M clang/test/CodeGenCXX/class-layout.cpp
    M clang/test/CodeGenCXX/compound-literals.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
    M clang/test/CodeGenCXX/partial-destruction.cpp
    M clang/test/CodeGenCXX/pod-member-memcpys.cpp
    M clang/test/CodeGenCXX/pr18962.cpp
    M clang/test/CodeGenCXX/references.cpp
    M clang/test/CodeGenCXX/temporaries.cpp
    A clang/test/CodeGenCXX/zero-init-empty-virtual.cpp
    M clang/test/CodeGenObjCXX/lambda-to-block.mm
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/task_member_call_codegen.cpp

  Log Message:
  -----------
  [clang][CGRecordLayout] Remove dependency on isZeroSize (#96422)

This is a follow-up from the conversation starting at
https://github.com/llvm/llvm-project/pull/93809#issuecomment-2173729801

The root problem that motivated the change are external AST sources that
compute `ASTRecordLayout`s themselves instead of letting Clang compute
them from the AST. One such example is LLDB using DWARF to get the
definitive offsets and sizes of C++ structures. Such layouts should be
considered correct (modulo buggy DWARF), but various assertions and
lowering logic around the `CGRecordLayoutBuilder` relies on the AST
having `[[no_unique_address]]` attached to them. This is a
layout-altering attribute which is not encoded in DWARF. This causes us
LLDB to trip over the various LLVM<->Clang layout consistency checks.
There has been precedent for avoiding such layout-altering attributes
from affecting lowering with externally-provided layouts (e.g., packed
structs).

This patch proposes to replace the `isZeroSize` checks in
`CGRecordLayoutBuilder` (which roughly means "empty field with
[[no_unique_address]]") with checks for
`CodeGen::isEmptyField`/`CodeGen::isEmptyRecord`.

**Details**
The main strategy here was to change the `isZeroSize` check in
`CGRecordLowering::accumulateFields` and
`CGRecordLowering::accumulateBases` to use the `isEmptyXXX` APIs
instead, preventing empty fields from being added to the `Members` and
`Bases` structures. The rest of the changes fall out from here, to
prevent lookups into these structures (for field numbers or base
indices) from failing.

Added `isEmptyRecordForLayout` and `isEmptyFieldForLayout` (open to
better naming suggestions). The main difference to the existing
`isEmptyRecord`/`isEmptyField` APIs, is that the `isEmptyXXXForLayout`
counterparts don't have special treatment for `unnamed bitfields`/arrays
and also treat fields of empty types as if they had
`[[no_unique_address]]` (i.e., just like the `AsIfNoUniqueAddr` in
`isEmptyField` does).


  Commit: b3e1f1b13249868bef6a7c0895bcf2953eeabe44
      https://github.com/llvm/llvm-project/commit/b3e1f1b13249868bef6a7c0895bcf2953eeabe44
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-07-15 (Mon, 15 Jul 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/test/Shell/SymbolFile/add-dsym.test

  Log Message:
  -----------
  [lldb] Fix help syntax for add-dsym (target symbols add) (#98976)

The help output incorrectly states that this command takes a shared
library name (<shlib-name>) while really it takes a path to a symbol
file.

rdar://131777043


  Commit: bed16824ba48862c540837ea5fbc472003904a76
      https://github.com/llvm/llvm-project/commit/bed16824ba48862c540837ea5fbc472003904a76
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/test/CodeGenCXX/zero-init-empty-virtual.cpp

  Log Message:
  -----------
  [clang][test] zero-init-empty-virtual.cpp: remove redundant alignment check

Fixes a `clang-armv8-quick` buildbot failure. Where the alignment
was `4` instead of `8`:
```
// CHECK: @{{.*}} = {{.*}}global %struct.Holder2 zeroinitializer, align 8
          ^
<stdin>:66:178: note: scanning from here
@g_holder1 = global %struct.Holder1 { %struct.polymorphic_base { ptr getelementptr inbounds inrange(-8, 12) ({ [5 x ptr] }, ptr @_ZTV16polymorphic_base, i32 0, i32 0, i32 2) } }, align 4
                                                                                                                                                                                 ^
<stdin>:68:8: note: possible intended match here
@g_holder2 = global %struct.Holder2 zeroinitializer, align 4
       ^
```

This test isn't about checking alignment, so remove that from the
FileCheck entry.


  Commit: 56c4ec92024ae9a425d29599d27885e4d45a309f
      https://github.com/llvm/llvm-project/commit/56c4ec92024ae9a425d29599d27885e4d45a309f
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    A lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/main.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/main.cpp

  Log Message:
  -----------
  [lldb][test] Add a layout simulator test for std::unique_ptr (#98330)

This is motivated by the upcoming refactor of libc++'s
`__compressed_pair` in https://github.com/llvm/llvm-project/pull/76756

As this will require changes to numerous LLDB libc++ data-formatters
(see early draft https://github.com/llvm/llvm-project/pull/96538), it
would be nice to have a test-suite that will actually exercise both the
old and new layout. We have a matrix bot that tests old versions of
Clang (but currently those only date back to Clang-15). Having them in
the test-suite will give us quicker signal on what broke.

We have an existing test that exercises various layouts of `std::string`
over time in `TestDataFormatterLibcxxStringSimulator.py`, but that's the
only STL type we have it for. This patch proposes a new
`libcxx-simulators` directory which will take the same approach for all
the STL types that we can feasibly support in this way (as @labath
points out, for some types this might just not be possible due to their
implementation complexity). Nonetheless, it'd be great to have a record
of how the layout of libc++ types changed over time.

Some related discussion:
*
https://github.com/llvm/llvm-project/pull/97568#issuecomment-2213426804


  Commit: 27d961dab3caa89a78e68af094ddc8365d97dc91
      https://github.com/llvm/llvm-project/commit/27d961dab3caa89a78e68af094ddc8365d97dc91
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
    R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/Makefile
    R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/TestDataFormatterLibcxxStringSimulator.py
    R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/main.cpp

  Log Message:
  -----------
  [lldb][DataFormatter][test] Move std::string simulator to common libc++ simulators directory


  Commit: 655c2233b6f81cd981d87e461ea202c563e90490
      https://github.com/llvm/llvm-project/commit/655c2233b6f81cd981d87e461ea202c563e90490
  Author: martinboehme <mboehme at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] reland #96766 with fix (#98896)

- **Reapply "[clang][dataflow] Teach `AnalysisASTVisitor` that
`typeid()` can be evaluated." (#96766)**
- **Turn on RTTI explicitly in `checkDataflowWithNoopAnalysis()`.**


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add Pointer::isDereferencable()

We currently have a few places where we check whether a pointer can
be read from at all. Add a function to do that.


  Commit: fb2b5cd1ad35e0766e602a52df1fe03af9e2a6d9
      https://github.com/llvm/llvm-project/commit/fb2b5cd1ad35e0766e602a52df1fe03af9e2a6d9
  Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [NFC] Fix typos (#98454)

Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>


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

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/test/AST/Interp/c23.c

  Log Message:
  -----------
  [clang][Interp] Check for dereferencability before doing ltor cast


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

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf5-addr-section-reuse.s

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Refactor address writers (#98094)

Refactors address writers to create an instance for each CU and its DWO
CU.


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

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/test/CodeGenCXX/nullptr.cpp

  Log Message:
  -----------
  [clang][Interp] Allow ltor casts for null pointers

We can't read from them but we special-case them later.


  Commit: 0b3943f3bba71e0cf9ea9984dae472cf503bca21
      https://github.com/llvm/llvm-project/commit/0b3943f3bba71e0cf9ea9984dae472cf503bca21
  Author: Keyi Zhang <Kuree at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/test/Dialect/SCF/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][SCF] fix scf.index_switch fold convergence (#98535) (#98680)

If the `scf.index_switch` op has no result, the current fold logic
results in an infinite loop (see #98535). The is because `fold`
mechanism does not support *erasing* zero-result ops. This PR moves the
fold logic to a canonicalizer and fix the issue.


  Commit: 58c7df90f838251c3682abfe91abadaa68ff6a01
      https://github.com/llvm/llvm-project/commit/58c7df90f838251c3682abfe91abadaa68ff6a01
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Bump the version of Zicfilp/Zicfiss to 1.0 (#98891)

Both of them are ratified now.
https://wiki.riscv.org/display/HOME/Ratified+Extensions

This patch does not set them to non-experimental, since Zicfilp lacks
lld support and Zicfiss also lacks compiler-rt/libunwind support.


  Commit: 331ba4369ac3cdf2ac2c6f724f9beaf43fb3fea7
      https://github.com/llvm/llvm-project/commit/331ba4369ac3cdf2ac2c6f724f9beaf43fb3fea7
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
    M llvm/test/CodeGen/AArch64/typepromotion-overflow.ll

  Log Message:
  -----------
  [AArch64] Take cmn into account when adjusting compare constants (#98634)

Turning a cmp into cmn saves an extra mov and negate instruction, so
take that into account when choosing when to flip the compare operands.

This will allow further optimizations down the line when we fold more
variations of negative compares to cmn.

As part of this, do not consider right-hand operands whose absolute
value can be encoded into a cmn if it is the 2nd operand.


  Commit: 3a0e01543212c1e1c80f5665aee0e12289e06a29
      https://github.com/llvm/llvm-project/commit/3a0e01543212c1e1c80f5665aee0e12289e06a29
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/rcp-opt.ll

  Log Message:
  -----------
  [NVPTX] Lower -1/x to neg.f64(rcp.rn.f64) instead of fdiv (#98343)

The NVPTX backend lowers 1/x to rcp.rn.f64 instruction instead of slower
fdiv instruction. However, in the case of -1/x, it uses the slower fdiv
instruction. After this change, -1/x will be lowered into neg.f64
(rcp.rn.f64).


  Commit: b132dd41eb1a8f6c1b19cedbd95fa3fde9e3ad8b
      https://github.com/llvm/llvm-project/commit/b132dd41eb1a8f6c1b19cedbd95fa3fde9e3ad8b
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wavefrontsize.ll
    M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/wave32.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10-wave32.txt

  Log Message:
  -----------
  [AMDGPU] Remove wavefrontsize feature from GFX10+ (#98400)

Processor definition shall not include a default feature which may be
switched off by a different wave size. This allows not to write
-mattr=-wavefrontsize32,+wavefrontsize64 in tests.


  Commit: 5d12fa7d72a43eb54a3d8f953766323b97da5ca8
      https://github.com/llvm/llvm-project/commit/5d12fa7d72a43eb54a3d8f953766323b97da5ca8
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll

  Log Message:
  -----------
  [AMDGPU] Fix indirect dst bug for non-sgpr index (#98907)

When emitting indirect dst, if the idx is not SGPR there was a bug that
didn't
take into account that the subregister might be different from
computeIndirectRegAndOffset.


  Commit: 4eb30cfb3474e3770b465cdb39db3b7f6404c3ef
      https://github.com/llvm/llvm-project/commit/4eb30cfb3474e3770b465cdb39db3b7f6404c3ef
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/VectorBuilder.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/IR/VectorBuilder.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [LV][EVL] Support in-loop reduction using tail folding with EVL. (#90184)

Following from #87816, add VPReductionEVLRecipe to describe vector
predication reduction.

Address one of TODOs from #76172.


  Commit: f091848504f838a7cb1868bf321fb622b7e2c127
      https://github.com/llvm/llvm-project/commit/f091848504f838a7cb1868bf321fb622b7e2c127
  Author: Tom Natan <130450079+tomnatan30 at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M mlir/test/mlir-tblgen/gen-dialect-doc.td
    M mlir/tools/mlir-tblgen/OpDocGen.cpp

  Log Message:
  -----------
  Add support for enum doc gen (#98885)


  Commit: dcf30d33662552f80e7b9f159d1a671442de694e
      https://github.com/llvm/llvm-project/commit/dcf30d33662552f80e7b9f159d1a671442de694e
  Author: Krasimir Georgiev <krasimir at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel

  Log Message:
  -----------
  bazel build: pass __support_macros_config dep explicitly (NFCI) (#98999)

Passing it explicitly makes it that it's not made available to targets
that don't need it (also we've got some internal integration that trips
on it being passed implicitly in the rule definition).


  Commit: 244892735941a455506ae38ae0fb40cf80cdb351
      https://github.com/llvm/llvm-project/commit/244892735941a455506ae38ae0fb40cf80cdb351
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    A clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang][C++26] Implement "Ordering of constraints involving fold expressions (#98160)

Implement https://isocpp.org/files/papers/P2963R3.pdf


  Commit: b3a446650c2c48743e148daeb9ddec8e74bb83a2
      https://github.com/llvm/llvm-project/commit/b3a446650c2c48743e148daeb9ddec8e74bb83a2
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-store.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll

  Log Message:
  -----------
  [AMDGPU] Implement GFX12 Memory Model (#98591)

- Emit GLOBAL_WB instructions
- Reflect synscope on instructions's `scope:` operand

Fixes SWDEV-468508
Fixes SWDEV-470735
Fixes SWDEV-468392
Fixes SWDEV-469622


  Commit: 762a47828ef6c19426e37e1ecae6768035a4ccac
      https://github.com/llvm/llvm-project/commit/762a47828ef6c19426e37e1ecae6768035a4ccac
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    R clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  Revert "[Clang][C++26] Implement "Ordering of constraints involving fold expressions" (#99007)

Reverts llvm/llvm-project#98160

Breaks CI on some architectures


  Commit: a1ffabc403d4ce55ab2e665511b0b68a16d4850b
      https://github.com/llvm/llvm-project/commit/a1ffabc403d4ce55ab2e665511b0b68a16d4850b
  Author: ita-sc <109672931+ita-sc at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Core/EmulateInstruction.h
    M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
    M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
    M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
    A lldb/test/API/riscv/break-undecoded/Makefile
    A lldb/test/API/riscv/break-undecoded/TestBreakpointIllegal.py
    A lldb/test/API/riscv/break-undecoded/compressed.c
    A lldb/test/API/riscv/break-undecoded/main.c

  Log Message:
  -----------
  [lldb][riscv] Fix setting breakpoint for undecoded instruction  (#90075)

This patch adds an interface GetLastInstrSize to get information about
the size of last tried to be decoded instruction and uses it to set
software breakpoint if the memory can be decoded as instruction.

RISC-V architecture instruction format specifies the length of
instruction in first bits, so we can set a breakpoint for these cases.
This is needed as RISCV have a lot of extensions, that are not supported
by `EmulateInstructionRISCV`.


  Commit: c30ce8b9d33d1050ead549705702c1472b7a7d3f
      https://github.com/llvm/llvm-project/commit/c30ce8b9d33d1050ead549705702c1472b7a7d3f
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [clang] Refactor: Introduce a new LifetimeKind for the assignment case, NFC (#99005)

The current implementation for the assignment case uses a combination of
the `LK_Extended` lifetime kind and the validity of `AEntity`, which is
somewhat messy and doesn't align well with the intended mental model.

This patch introduces a dedicated lifetime kind to handle the assignment
case, simplifying the implementation and improving clarity.


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

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll

  Log Message:
  -----------
  [InstSimplify] Fix simplifyAndOrWithICmpEq with undef refinement (#98898)

The final case in Simplify (where Res == Absorber and the predicate is
inverted) is not generally safe when the simplification is a refinement.
In particular, we may simplify assuming a specific value for undef, but
then chose a different one later.

However, it *is* safe to refine poison in this context, unlike in the
equivalent select folds. This is the reason why this fold did not use
AllowRefinement=false in the first place, and using that option would
introduce a lot of test regressions.

This patch takes the middle path of disabling undef refinements in
particular using the getWithoutUndef() SimplifyQuery option. However,
this option doesn't actually work in this case, because the problematic
fold is inside constant folding, and we currently don't propagate this
option all the way from InstSimplify over ConstantFolding to
ConstantFold. Work around this by explicitly checking for undef operands
in simplifyWithOpReplaced().

Finally, make sure that places where AllowRefinement=false also use
Q.getWithoutUndef(). I don't have a specific test case for this (the
original one does not work because we don't simplify selects with
constant condition in this mode in the first place) but this seems like
the correct thing to do to be conservative.

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


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll

  Log Message:
  -----------
  [LV] Add missing check lines in vector.ph in tests.

Match all instructions in vector.ph in sve-inductions-unusual-types.ll.

This should help to better show the impact of
https://github.com/llvm/llvm-project/pull/95305.


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

  Changed paths:
    M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp

  Log Message:
  -----------
  [lldb][RISC-V] Remove unused variable

Added in a1ffabc403d4ce55ab2e665511b0b68a16d4850b.


  Commit: 2c13194eab28474089841903acd5790b8b1a559a
      https://github.com/llvm/llvm-project/commit/2c13194eab28474089841903acd5790b8b1a559a
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [clang][ExtractAPI][NFC] Remove some nullptr dereference problems (#98914)

A places try to get a NamedDecl's name using getName when it isn't a
simple identifier, migrate these areas to getNameAsString.

rdar://125315602


  Commit: fb2ab1c5f6ef6c003969f6b14d69b4295a1c710b
      https://github.com/llvm/llvm-project/commit/fb2ab1c5f6ef6c003969f6b14d69b4295a1c710b
  Author: Rodolfo Wottrich <rodolfo.wottrich at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/ARM/attribute-big-endian.test

  Log Message:
  -----------
  [llvm-readobj][ARM] Fix build attributes test's vendor name

`armabi` is not one of the recognized vendor names in the public Arm
ABI. Use `aeabi` instead.

https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#registered-vendor-names


  Commit: 60ec6868ea02454480598832606019c8a3bf4316
      https://github.com/llvm/llvm-project/commit/60ec6868ea02454480598832606019c8a3bf4316
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Lower/Intrinsics/second.f90

  Log Message:
  -----------
  [flang] Implement SECOND intrinsic (#98881)

The SECOND intrinsic is a gnu extension providing an alias for CPU_TIME:
https://gcc.gnu.org/onlinedocs/gfortran/SECOND.html

This cannot be implemented as a straightforward alias because there is
both a function and a subroutine form.


  Commit: 977cb5d1cb69dd83d762eeda156d238ea60a2aed
      https://github.com/llvm/llvm-project/commit/977cb5d1cb69dd83d762eeda156d238ea60a2aed
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do09.f90

  Log Message:
  -----------
  [Flang][OpenMP] Restrict certain loops not allowed in associated loops (#91818)

Extends the OmpCycleAndExitChecker to check that associated loops of a
loop construct are not DO WHILE or DO without control.

OpenMP 5.0 standard clearly mentions this restriction. Later standards
enforce this through the definition of associated loops and canonical
loop forms.
https://www.openmp.org/spec-html/5.0/openmpsu41.html

Fixes #81949


  Commit: d94ed83a9e7c0f20623899ad19f90d383760cb68
      https://github.com/llvm/llvm-project/commit/d94ed83a9e7c0f20623899ad19f90d383760cb68
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll

  Log Message:
  -----------
  [AArch64] Fix assertion failure in getCastInstrCost

We should not call `getVectorElementType` on the result MVT from
`getTypeLegalizationCost` when we don't if the legal type is a
vector. This is the case when the type needs to be legalized
using scalarization.


  Commit: 862715ea813d8ffa73050ada17567b45c41a1023
      https://github.com/llvm/llvm-project/commit/862715ea813d8ffa73050ada17567b45c41a1023
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaTemplate/instantiate-local-class.cpp

  Log Message:
  -----------
  Revert "[Clang] Instantiate local constexpr functions eagerly (#95660)" (#98991)

Unfortunately, #95660 has caused a regression in DeduceReturnType(),
where some of the local recursive lambdas are getting incorrectly rejected.

This reverts commit 5548ea34341e9d0ae645719c34b466ca3b9eaa5a. Also, this
adds an offending case to the test.

Closes #98526


  Commit: d0d61a7e4c944defad2292ced385baab734356a8
      https://github.com/llvm/llvm-project/commit/d0d61a7e4c944defad2292ced385baab734356a8
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp

  Log Message:
  -----------
  Split DWARFFormValue::getReference into four functions (#98905)

The result of the function cannot be correctly interpreted without
knowing the precise form type (a type signature needs to be looked up
very differently from a supplementary debug info reference). The
function sort of worked because the two reference types (unit-relative
and section-relative) that can be handled uniformly are also the most
common types of references, but this setup made it easy to write code
which does not support other kinds of reference (and if one tried to
support them, the result didn't look pretty --
https://github.com/llvm/llvm-project/pull/97423/files#r1676217081).

The split is based on the reference type classification from DWARFv5
(Section 7.5.5 Classes and Forms), and it should enable uniform (if
slightly more verbose) hadling. Note that this only affects users which
want more control of how (or if) the references are resolved. Users
which just want to access the referenced DIE can use the higher level
API (DWARFDie::GetAttributeValueAsReferencedDie) which returns (or will
return after #97423 is merged) the correct die for all reference types
(except for supplementary references, which we don't support right now).


  Commit: 2ea4a03c0f1be6dd11428e4c6eb840b745116ca2
      https://github.com/llvm/llvm-project/commit/2ea4a03c0f1be6dd11428e4c6eb840b745116ca2
  Author: Kendal Harland <3987220+kendalharland at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
    M lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp

  Log Message:
  -----------
  Fix test assertions in TestDAP_stepInTargets.py (#96687)

The strings this test is using seem to consistently fail to match
against the expected values when built & run targeting Windows amd64.
This PR updates them to the expected values.

To fix the test and avoid over-specifying for a specific platform, use
`assertIn(<target-substring>,...)` to see if we've got the correct
target label instead of comparing the demangler output for an exact
string match.

---------

Co-authored-by: kendal <kendal at thebrowser.company>


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

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

  Log Message:
  -----------
  [LV] Use getBestPlan when interleaving only. (NFCI)

Use the getBestPlan() utility added in b841e2eca3 to also get the
scalar plan when interleaving only.


  Commit: 8afb6432c239a3f5502c5014ebab6b372d7b3d50
      https://github.com/llvm/llvm-project/commit/8afb6432c239a3f5502c5014ebab6b372d7b3d50
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [SimplifyCFG] Select the first instruction that we can handle in `passingValueIsAlwaysUndefined` (#98802)

Fixes #98799.


  Commit: bf5d5fed8d4cd7c36100af02664c2bdab912db9b
      https://github.com/llvm/llvm-project/commit/bf5d5fed8d4cd7c36100af02664c2bdab912db9b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [lldb][Bazel] Add missing dependency.


  Commit: c8783991c7f6446b9c530e1396728e71b6acd998
      https://github.com/llvm/llvm-project/commit/c8783991c7f6446b9c530e1396728e71b6acd998
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [C API] Add accessors for new no-wrap flags on GEP instructions (#97970)

Previously, only the inbounds flag was accessible via the C API. This
adds support for any no-wrap related flags (currently nuw and nusw).


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

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M lld/wasm/Driver.cpp
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    A llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    R llvm/include/llvm/CodeGen/RuntimeLibcalls.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    A llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/include/llvm/LTO/LTO.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/DwarfEHPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/IR/CMakeLists.txt
    A llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Object/IRSymtab.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMFastISel.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMLegalizerInfo.h
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
    M llvm/tools/lto/lto.cpp

  Log Message:
  -----------
  [LLVM][LTO] Factor out RTLib calls and allow them to be dropped (#98512)

Summary:
The LTO pass and LLD linker have logic in them that forces extraction
and prevent internalization of needed runtime calls. However, these
currently take all RTLibcalls into account, even if the target does not
support them. The target opts-out of a libcall if it sets its name to
nullptr. This patch pulls this logic out into a class in the header so
that LTO / lld can use it to determine if a symbol actually needs to be
kept.

This is important for targets like AMDGPU that want to be able to use
`lld` to perform the final link step, but does not want the overhead of
uncalled functions. (This adds like a second to the link time trivially)


  Commit: 4abdb85ef2b659a0ee919a4509dd6a82901351b5
      https://github.com/llvm/llvm-project/commit/4abdb85ef2b659a0ee919a4509dd6a82901351b5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [SSAUpdater] Avoid un-necessary SmallVector stores (#97820)

The default template for the generic IDF calculator fetching
block-children will, by default:
 * Fetch the children range from the relevant `GraphTraits`,
 * Store all child nodes in a `SmallVector`,
 * Return that `SmallVector` into the IDF calculator.

The only place this `SmallVector` is used is in a for-range loop... thus
there's no reason why we can't just iterate over the child range from
`GraphTraits`, instead of storing all the nodes locally then iterating
over the local copy. (If the children of a node change during IDF
calculation, everything is broken anyway).

This yields a 0.14% debug-info build performance improvement on the
compile time tracker, as InstrRefBasedLDV uses the SSA updater
intensively on all functions.


  Commit: 9dab91247d5c40607617f13b8fe5056111dd3045
      https://github.com/llvm/llvm-project/commit/9dab91247d5c40607617f13b8fe5056111dd3045
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M bolt/lib/Core/DIEBuilder.cpp

  Log Message:
  -----------
  Fix bolt for #98905


  Commit: 4348f32ec609540e642be1be263d6ad2b60a90fd
      https://github.com/llvm/llvm-project/commit/4348f32ec609540e642be1be263d6ad2b60a90fd
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/include/clang/APINotes/Types.h

  Log Message:
  -----------
  [APINotes] Remove unused API

This method is not actually used anywhere.


  Commit: aa94a43178e1e1fa4dbe7ee802d46623667067ae
      https://github.com/llvm/llvm-project/commit/aa94a43178e1e1fa4dbe7ee802d46623667067ae
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [llvm][Bazel] Adapt to 4eb30cfb3474e3770b465cdb39db3b7f6404c3ef


  Commit: 46505b3cbfc5f48f28431b9141085c5d71ddf1c4
      https://github.com/llvm/llvm-project/commit/46505b3cbfc5f48f28431b9141085c5d71ddf1c4
  Author: RicoAfoat <51285519+RicoAfoat at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/CodeGen/X86/inline-asm-memop.ll

  Log Message:
  -----------
  [SelectionDAG] use HandleSDNode instead of SDValue during SelectInlineAsmMemoryOperands (#85081)

SelectInlineAsmMemoryOperands - change the vector of SDValue into a list of SDNodeHandle. Fixes issues where x86 might call replaceAllUses when matching address.

Fixes https://github.com/llvm/llvm-project/issues/82431 - see https://github.com/llvm/llvm-project/issues/82431 for more information.


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

  Changed paths:
    M llvm/docs/MyFirstTypoFix.rst

  Log Message:
  -----------
  [llvm][Docs] Add explanatory note to MyFirstTypoFix intro

To make it 100% clear that the changes are an example and the guide
should later be used with the reader's own changes to submit an
actual PR.


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

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

  Log Message:
  -----------
  [clang][Interp] Ignore lambda static invoker frames in backtraces

See comment. No test but this is neccessary for a later commit.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll

  Log Message:
  -----------
  [VPlan] Update test to use CHECK variables.

Update test to avoid using hard-coded VPValue IDs.


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

  Changed paths:
    M lldb/docs/index.rst
    A lldb/docs/resources/qemu-testing.rst
    R lldb/docs/use/qemu-testing.rst

  Log Message:
  -----------
  [lldb][Docs] Move QEMU testing page into the developing lldb section


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/baremetal/config.json
    M libc/config/config.json
    M libc/docs/configure.rst
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    A libc/src/stdlib/qsort_data.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    A libc/src/stdlib/quick_sort.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/SortingTest.h
    A libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_test.cpp
    A libc/test/src/stdlib/quick_sort_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [libc][stdlib] Implement heap sort. (#98582)


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll

  Log Message:
  -----------
  [SLP]Correctly detect minnum/maxnum patterns for select/cmp operations on floats.

The patch enables detection of minnum/maxnum patterns for float point
instruction, represented as select/cmp. Also, enables better cost
estimation for integer min/max patterns since the compiler starts
to estimate the scalars separately.

Reviewers: nikic, RKSimon

Reviewed By: RKSimon

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


  Commit: dba2e66e18cc82863542d2ba2fde52b9024df307
      https://github.com/llvm/llvm-project/commit/dba2e66e18cc82863542d2ba2fde52b9024df307
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Preprocessor/embed_codegen.cpp
    M clang/test/Preprocessor/embed_constexpr.cpp
    M clang/test/Preprocessor/embed_weird.cpp

  Log Message:
  -----------
  [clang] Inject tokens containing #embed back into token stream (#97274)

Instead of playing "whack a mole" with places where #embed should be
expanded as comma-separated list, just inject each byte as a token back
into the stream, separated by commas.


  Commit: 0eebb48fcfbcb93da123e39ef61b22dc80c9ec0d
      https://github.com/llvm/llvm-project/commit/0eebb48fcfbcb93da123e39ef61b22dc80c9ec0d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__type_traits/invoke.h
    R libcxx/include/__type_traits/is_member_function_pointer.h
    R libcxx/include/__type_traits/is_member_object_pointer.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/module.modulemap
    M libcxx/include/type_traits

  Log Message:
  -----------
  [libc++] Merge is_member{,_object,_function}_pointer.h (#98727)

The implementations for these traits have been simplified quite a bit,
since we have builtins available for them now.


  Commit: 30cc12cd818d4b52914d1033d1ed79af4a0f78fa
      https://github.com/llvm/llvm-project/commit/30cc12cd818d4b52914d1033d1ed79af4a0f78fa
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_scalar.h

  Log Message:
  -----------
  [libc++] Simplify the implementation of is_null_pointer a bit (#98728)


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

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

  Log Message:
  -----------
  [LV] Move reportVectorizationInfo to LoopVectorize.cpp (NFC)

The function is only used in LoopVectorize.cpp, no need to define it in
header.


  Commit: 3bf83e3866237cd35c9828880241f5863d625ed9
      https://github.com/llvm/llvm-project/commit/3bf83e3866237cd35c9828880241f5863d625ed9
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    A llvm/test/Transforms/LoopIdiom/AArch64/ctlz.ll

  Log Message:
  -----------
  [LoopIdiom] Reland: Support 'shift until less-than' idiom #95002 (#98298)

The original patch failed to handle the case where the loopback
condition compared against a constant exceeding 64 bit unsigned range -
which caused a buildbot failure.

This PR fixes this and relands the original PR #95002.

The current loop idiom code for recognising and inserting a CTLZ
intrinsic does not support loops where the loopback control is based on
an unsigned less-than condition. This patch adds support for recognising
these loops and inserting a CTLZ intrinsic.

Fixes the missed optimization cases in #51064.

---------

Co-authored-by: David Sherwood <david.sherwood at arm.com>


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn

  Log Message:
  -----------
  Revert "[gn] port b9496a74eb40"

This reverts commit 14fb6162a97e60a8aefcb0702a713f7a50205fce.
b9496a74eb40 got reverted in 27b2f4f861b8.


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll

  Log Message:
  -----------
  Revert "[SLP]Correctly detect minnum/maxnum patterns for select/cmp operations on floats."

This reverts commit c7aac38c29f564bc48f7cfb71d3b3b8b482c873b to fix
crashes reavealed by the buildbot in https://lab.llvm.org/buildbot/#/builders/168/builds/1104.


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

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

  Log Message:
  -----------
  [gn] port bddab518db003f (X86AsmParser.cpp uses X86GenInstrMapping.inc)


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

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

  Log Message:
  -----------
  [clang][Interp] Ignore incomplete records when visiting lambdas

We need them to be complete so we have knowledge about all the
lambda captures.


  Commit: 00f83a85c754e8b465e94470e733292cdbfbfe71
      https://github.com/llvm/llvm-project/commit/00f83a85c754e8b465e94470e733292cdbfbfe71
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn

  Log Message:
  -----------
  [gn] port 8a27ef676e3c6 (lldbSymbol now includes clang headers)


  Commit: 522fd53838d577add8c19b5eccccae756fd27899
      https://github.com/llvm/llvm-project/commit/522fd53838d577add8c19b5eccccae756fd27899
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  [Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)

Following on from the discussion in

https://discourse.llvm.org/t/rfc-introducing-an-llvm-memset-pattern-inline-intrinsic/79496
and the equivalent change for llvm.memset.inline (#95397), this removes
the requirement that the length of llvm.memcpy.inline is constant.
PreISelInstrinsicLowering will expand llvm.memcpy.inline with
non-constant lengths, while the codegen path for constant lengths is
left unaltered.


  Commit: 139df36d89bd731b5180be3cac2b58d4b2082368
      https://github.com/llvm/llvm-project/commit/139df36d89bd731b5180be3cac2b58d4b2082368
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/test/API/functionalities/load_unload/TestLoadUnload.py

  Log Message:
  -----------
  [LLDB] Make 'process load' take remote os path delimiter into account (#98690)

Currently, if we execute 'process load' with remote debugging, it uses
the host's path delimiter to look up files on a target machine. If we
run remote debugging of Linux target on Windows and execute "process
load C:\foo\a.so", lldb-server tries to load \foo\a.so instead of
/foo/a.so on the remote.

It affects several API tests.

This commit fixes that error. Also, it contains minor fixes for
TestLoadUnload.py for testing on Windows host and Linux target.


  Commit: 473ed8e722df3b22f39db52df059f9d00ac63e1f
      https://github.com/llvm/llvm-project/commit/473ed8e722df3b22f39db52df059f9d00ac63e1f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn

  Log Message:
  -----------
  [gn] port 8a27ef676e3c6 better

I added this to the wrong target.
Reverts 00f83a85c754e and adds it to the right target instead.


  Commit: ac4b6b662630cd4d3bf6929f2b39ea203c0054a1
      https://github.com/llvm/llvm-project/commit/ac4b6b662630cd4d3bf6929f2b39ea203c0054a1
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    R llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  Revert "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"

This reverts commit 522fd53838d577add8c19b5eccccae756fd27899 while
unexpected mlir failures are investigated and resolved.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
    A llvm/test/CodeGen/AMDGPU/global-alias.ll

  Log Message:
  -----------
  [AMDGPU] Fix resource analysis crash on alias-to-alias function (#99034)

Summary:
Previously this code only looked through a single level of aliases to
find the underlying function. This patch changes it to continue until it
finds the end. Aliases that form a cycle are illegal IR, so we shouldn't
need to worry about infinite loops.

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


  Commit: 55c8fd9e0b3ab1d2bb7ca4a7db7d6cf2aa83e5db
      https://github.com/llvm/llvm-project/commit/55c8fd9e0b3ab1d2bb7ca4a7db7d6cf2aa83e5db
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Serialization/ASTReaderStmt.cpp

  Log Message:
  -----------
  [clang] Prevent dangling StringRefs (#98699)

Fix locations where dangling StringRefs are created.

* `ConstraintSatisfaction::SubstitutionDiagnostic`: typedef of
`std::pair<SourceLocation, StringRef>`

* `concepts::Requirement::SubstitutionDiagnostic`: struct whose 1st and
3rd data members are `StringRef`s

Fixes #98667


  Commit: fdf94e16323e46d31a951a0910103b8c0db74942
      https://github.com/llvm/llvm-project/commit/fdf94e16323e46d31a951a0910103b8c0db74942
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
    M llvm/test/Verifier/intrinsic-immarg.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  Reapply "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"

This reverts commit ac4b6b662630cd4d3bf6929f2b39ea203c0054a1.

A test change was missing for
mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir in the initial commit.


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

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

  Log Message:
  -----------
  [sanitizer_common] Fix TgKill on Solaris (#98000)

While working on safestack on Solaris, I noticed that the `TgKill`
implementation is wrong here: `TgKill` is supposed to return `-1` on
error, while `thr_kill` returns `errno` instead. This patch compensates
for that.

This went unnoticed so far since `TgKill` has been unused.

Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11` together
with a subsequent patch to make safestack actually work on Solaris.


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

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0eebb48fcfbc


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8a27ef676e3c


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

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

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

  Log Message:
  -----------
  [AMDGPU] clang-tidy: use lambda instead of std::bind. NFC.


  Commit: 91722a4a13d808772edcdd5caad66a598a659655
      https://github.com/llvm/llvm-project/commit/91722a4a13d808772edcdd5caad66a598a659655
  Author: Ayke <aykevanlaethem at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopRotation.cpp
    A llvm/test/Transforms/LoopRotate/minsize-disable.ll

  Log Message:
  -----------
  [LoopRotate] Don't rotate loops when the minsize attribute is present

The main use for this patch is LTO. It is not (yet?) possible to set the
size level (-Os, -Oz) in the linker, which means loops are still rotated
even if -Oz is specified on the command line. Therefore, look at the
function attribute instead of only at the size level to determine
whether to rotate loops for a given function.

For discussion, see: https://reviews.llvm.org/D119342

An older version of this patch was already approved at
https://reviews.llvm.org/D119342 but I never got around to committing
it. The code changed so I had to make some minor updates to this patch
and in the meantime I also lost commit access because I wasn't really
using it. So here is an updated patch.


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

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

  Log Message:
  -----------
  [AMDGPU] Use std::is_same_v. NFC.


  Commit: 16dd75b41c511d92f3f1947ccbb61b8ad66bbcd0
      https://github.com/llvm/llvm-project/commit/16dd75b41c511d92f3f1947ccbb61b8ad66bbcd0
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp

  Log Message:
  -----------
  [mlir][ROCDL] Construct AMDGCN ISA control variable explicitly (#98912)

This patch constructs the AMDGCN ISA control variable explicitly instead
of linking against the library shipped with ROCm. This change prevents
issues arising from the order in which the AMDGCN libraries are linked.


  Commit: 11a9ab125737e4b43a98073ccf238cef9c8501b9
      https://github.com/llvm/llvm-project/commit/11a9ab125737e4b43a98073ccf238cef9c8501b9
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M openmp/libompd/gdb-plugin/ompd/ompd.py
    M openmp/tools/archer/tests/lit.cfg

  Log Message:
  -----------
  [OpenMP] Fix comparison to True/False in openmp/**.py (#94041)

from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.

Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>


  Commit: cf00bb007428124a0d5af596300407ec11580fb2
      https://github.com/llvm/llvm-project/commit/cf00bb007428124a0d5af596300407ec11580fb2
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M openmp/libompd/gdb-plugin/ompd/ompd_callbacks.py

  Log Message:
  -----------
  [OpenMP] Fix comparison to None in openmp/**.py (#94020)

from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.

Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp

  Log Message:
  -----------
  [AMDGPU] Sort #includes. NFC.


  Commit: 38a1dec30bb94c68b3010da3bbf7ab986dd5d69b
      https://github.com/llvm/llvm-project/commit/38a1dec30bb94c68b3010da3bbf7ab986dd5d69b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use std::min with initializer list. NFC.


  Commit: 6bba44e8dcf5bb73e6e82068b194b14aa7d1880e
      https://github.com/llvm/llvm-project/commit/6bba44e8dcf5bb73e6e82068b194b14aa7d1880e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp

  Log Message:
  -----------
  [AMDGPU] Use member initializers. NFC.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp

  Log Message:
  -----------
  [AMDGPU] Concatenate nested namespaces. NFC.


  Commit: 63a1242ae3f1ebc13831ac71cd19aa0cf98278dc
      https://github.com/llvm/llvm-project/commit/63a1242ae3f1ebc13831ac71cd19aa0cf98278dc
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU] clang-tidy: define trivial constructors with = default. NFC.


  Commit: 78dea4c1ea77ba683c720d2a2c0f32d03989f8cc
      https://github.com/llvm/llvm-project/commit/78dea4c1ea77ba683c720d2a2c0f32d03989f8cc
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use bool literals for bools. NFC.


  Commit: b22fa9093bb1a7be2de4e9d7073c94d3ecb69987
      https://github.com/llvm/llvm-project/commit/b22fa9093bb1a7be2de4e9d7073c94d3ecb69987
  Author: mskamp <msk at posteo.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/Analysis/ValueTracking/knownbits-x86-hadd-hsub.ll
    A llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
    M llvm/test/CodeGen/X86/pr53247.ll
    M llvm/unittests/Analysis/VectorUtilsTest.cpp

  Log Message:
  -----------
  [ValueTracking][X86] Compute KnownBits for phadd/phsub (#92429)

Add KnownBits computations to ValueTracking and X86 DAG lowering.
    
These instructions add/subtract adjacent vector elements in their operands. Example: phadd [X1, X2] [Y1, Y2] = [X1 + X2, Y1 + Y2]. This means that, in this example, we can compute the KnownBits of the operation by computing the KnownBits of [X1, X2] + [X1, X2] and [Y1, Y2] + [Y1, Y2] and intersecting the results. This approach also generalizes to all x86 vector types.
    
There are also the operations phadd.sw and phsub.sw, which perform saturating addition/subtraction. Use sadd_sat and ssub_sat to compute the KnownBits of these operations.
    
Also adjust the existing test case pr53247.ll because it can be transformed to a constant using the new KnownBits computation.
    
Fixes #82516.


  Commit: 7a72856af8b30f50e546b8368596fdc5f44cbca9
      https://github.com/llvm/llvm-project/commit/7a72856af8b30f50e546b8368596fdc5f44cbca9
  Author: Hansang Bae <hansang.bae at intel.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M openmp/runtime/src/include/omp-tools.h.var
    M openmp/runtime/src/kmp_barrier.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_wait_release.h
    M openmp/runtime/src/ompt-specific.cpp
    M openmp/runtime/test/ompt/callback.h
    M openmp/runtime/test/ompt/parallel/nested.c
    M openmp/runtime/test/ompt/parallel/nested_lwt.c
    M openmp/runtime/test/ompt/parallel/nested_serialized.c
    M openmp/runtime/test/ompt/parallel/nested_thread_num.c
    M openmp/runtime/test/ompt/parallel/no_thread_num_clause.c
    M openmp/runtime/test/ompt/parallel/normal.c
    M openmp/runtime/test/ompt/parallel/not_enough_threads.c
    M openmp/runtime/test/ompt/synchronization/barrier/explicit.c
    M openmp/runtime/test/ompt/synchronization/barrier/for_loop.c
    M openmp/runtime/test/ompt/synchronization/barrier/for_simd.c
    M openmp/runtime/test/ompt/synchronization/barrier/implicit_task_data.c
    M openmp/runtime/test/ompt/synchronization/barrier/parallel_region.c
    M openmp/runtime/test/ompt/synchronization/barrier/sections.c
    M openmp/runtime/test/ompt/synchronization/barrier/single.c
    M openmp/runtime/test/ompt/tasks/explicit_task.c
    M openmp/runtime/test/ompt/tasks/serialized.c
    M openmp/runtime/test/ompt/tasks/task_in_joinbarrier.c
    M openmp/runtime/test/ompt/tasks/untied_task.c
    M openmp/tools/multiplex/tests/custom_data_storage/custom_data_storage.c
    M openmp/tools/multiplex/tests/print/print.c

  Log Message:
  -----------
  [OpenMP] Use new OMPT state and sync kinds for barrier events (#95602)

This change makes the runtime use new OMPT state and sync kinds
introduced in OpenMP 5.1 in place of the deprecated implicit state and
sync kinds. Events from implicit barriers use different enumerators for
workshare, parallel, and teams.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h

  Log Message:
  -----------
  [AMDGPU] clang-format: pass Triple by value and std::move it. NFC.


  Commit: 80d261493e9bd3046fd56c77e276a105cc20c185
      https://github.com/llvm/llvm-project/commit/80d261493e9bd3046fd56c77e276a105cc20c185
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU] clang-tidy: use override consistently. NFC.


  Commit: 945440033f50aeaf85fca709d8c2644456b2a034
      https://github.com/llvm/llvm-project/commit/945440033f50aeaf85fca709d8c2644456b2a034
  Author: Mike Rice <michael.p.rice at intel.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [NFC][clang] Replace unchecked dyn_cast with cast (#98948)

BI__builtin_hlsl_elementwise_rcp is only invoked with a FixedVectorType
so use cast to make this clear and satisfy the static verifier.


  Commit: 1cd6359f39ab7fa55f00086c322bc183adb583bc
      https://github.com/llvm/llvm-project/commit/1cd6359f39ab7fa55f00086c322bc183adb583bc
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderStmt.cpp

  Log Message:
  -----------
  [clang][ASTReaderStmt] Use helper function 'saveStrToCtx' (NFC)


  Commit: 8ba9ed682552261d089ceb4bc9895d5f9fd0c888
      https://github.com/llvm/llvm-project/commit/8ba9ed682552261d089ceb4bc9895d5f9fd0c888
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__ranges/single_view.h
    A libcxx/test/std/ranges/range.factories/range.single.view/empty.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG4035: `single_view` should provide `empty` (#98371)

Implements: https://wg21.link/LWG4035

- https://eel.is/c++draft/range.single.view


  Commit: 0b43d573f54c16f8ccd231ae40a4704a93ab4aa1
      https://github.com/llvm/llvm-project/commit/0b43d573f54c16f8ccd231ae40a4704a93ab4aa1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] clang-tidy: replace macro with enum. NFC.


  Commit: 4ecb5383e12f1be91d6de06bb377d35964c01a7a
      https://github.com/llvm/llvm-project/commit/4ecb5383e12f1be91d6de06bb377d35964c01a7a
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [mlir][vector] Update tests for collapse 6/n (nfc) (#98902)

The main goal of this PR (and subsequent PRs), is to add more tests with
scalable vectors to:
  * vector-transfer-collapse-inner-most-dims.mlir

There's quite a few cases to consider, hence this is split into multiple
PRs.

In this PR, I am making the following changes:
* All input memrefs for `xfer_read` are are renamed as `%src`.
* All input memrefs for `xfer_write` are are renamed as `%dest`.
* All variables representing pad values for `xfer_read` are renamed as
  `%pad`.
* All vector variables (for `xfer_read` and `xfer_write`) are renamed as
  `%v`.
* Add `@contiguous_inner_most_non_zero_idx_in_bounds_scalable` for
  `xfer_read` (similar test already exists for `xfer_write`)
* All index variables are renamed as `%i` (1st index) and `%ii` (2nd
  index).

The above were marked as TODOs in the test file - these are not
resolved. In addition (to avoid sending another PR):
* `@drop_inner_most_dim` is deleted - it duplicates
  `@contiguous_inner_most` for xfer_write
* For consistency with other negative tests, renamed `@non_unit_strides`
  as `@negative_non_unit_strides` and added a similar test for
  `xfer_read`
* `@non_unit_strides` is renamed as `@negative_non_unit_strides` and
  a similar test is added for `xfer_read`.

This is a follow-up for: #94490, #94604, #94906, #96214, #96227


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
    M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp

  Log Message:
  -----------
  [AMDGPU] Use using instead of typedef. NFC.


  Commit: 26098fe4b892cab75c56f7779dfe4dfe40615784
      https://github.com/llvm/llvm-project/commit/26098fe4b892cab75c56f7779dfe4dfe40615784
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [codeowners][nfc] Add myself and @dcaballe (#97853)


  Commit: 266a784cce959d475d3d79a877f0c5f39194a4c4
      https://github.com/llvm/llvm-project/commit/266a784cce959d475d3d79a877f0c5f39194a4c4
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    A llvm/test/CodeGen/PowerPC/peephole-combineRLWINM-liveness.mir

  Log Message:
  -----------
  [PowerPC] Ensure MI peephole knows about instr modified by combineRLWINM() (#97134)

Ensure registers used in instructions modified by `combineRLWINM()` are
added to list of `RegsToUpdate`.


  Commit: f1d3fe7aae7867b5de96b84d6d26b5c9f02f209a
      https://github.com/llvm/llvm-project/commit/f1d3fe7aae7867b5de96b84d6d26b5c9f02f209a
  Author: Alexis Perry-Holby <AlexisPerry at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/TargetOptions.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    A flang/test/Driver/tune-cpu-fir.f90
    A flang/test/Lower/tune-cpu-llvm.f90
    M flang/tools/bbc/bbc.cpp
    M flang/tools/tco/tco.cpp
    M flang/unittests/Optimizer/FIRContextTest.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/Import/tune-cpu.ll
    A mlir/test/Target/LLVMIR/tune-cpu.mlir

  Log Message:
  -----------
  Add basic -mtune support (#98517)

Initial implementation for the -mtune flag in Flang.

This PR is a clean version of PR #96688, which is a re-land of PR #95043


  Commit: 2ee5586ac7d8424b51790b143dbc6e2105bf99bc
      https://github.com/llvm/llvm-project/commit/2ee5586ac7d8424b51790b143dbc6e2105bf99bc
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/AffineMap.h
    M mlir/include/mlir/Interfaces/VectorInterfaces.td
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
    M mlir/test/Dialect/Linalg/hoisting.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
    M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
    M mlir/test/python/dialects/vector.py

  Log Message:
  -----------
  [mlir][vector] Make the in_bounds attribute mandatory (#97049)

At the moment, the in_bounds attribute has two confusing/contradicting
properties:
  1. It is both optional _and_ has an effective default-value.
  2. The default value is "out-of-bounds" for non-broadcast dims, and
     "in-bounds" for broadcast dims.

(see the `isDimInBounds` vector interface method for an example of this
"default" behaviour [1]).

This PR aims to clarify the logic surrounding the `in_bounds` attribute
by:
  * making the attribute mandatory (i.e. it is always present),
  * always setting the default value to "out of bounds" (that's
    consistent with the current behaviour for the most common cases).

#### Broadcast dimensions in tests

As per [2], the broadcast dimensions requires the corresponding
`in_bounds` attribute to be `true`:
```
  vector.transfer_read op requires broadcast dimensions to be in-bounds
```

The changes in this PR mean that we can no longer rely on the
default value in cases like the following (dim 0 is a broadcast dim):
```mlir
  %read = vector.transfer_read %A[%base1, %base2], %f, %mask
      {permutation_map = affine_map<(d0, d1) -> (0, d1)>} :
    memref<?x?xf32>, vector<4x9xf32>
```

Instead, the broadcast dimension has to explicitly be marked as "in
bounds:

```mlir
  %read = vector.transfer_read %A[%base1, %base2], %f, %mask
      {in_bounds = [true, false], permutation_map = affine_map<(d0, d1) -> (0, d1)>} :
    memref<?x?xf32>, vector<4x9xf32>
```

All tests with broadcast dims are updated accordingly.

#### Changes in "SuperVectorize.cpp" and "Vectorization.cpp"

The following patterns in "Vectorization.cpp" are updated to explicitly
set the `in_bounds` attribute to `false`:
* `LinalgCopyVTRForwardingPattern` and `LinalgCopyVTWForwardingPattern`

Also, `vectorizeAffineLoad` (from "SuperVectorize.cpp") and
`vectorizeAsLinalgGeneric` (from "Vectorization.cpp") are updated to
make sure that xfer Ops created by these hooks set the dimension
corresponding to broadcast dims as "in bounds". Otherwise, the Op
verifier would complain

Note that there is no mechanism to verify whether the corresponding
memory access are indeed in bounds. Still, this is consistent with the
current behaviour where the broadcast dim would be implicitly assumed
to be "in bounds".

[1]
https://github.com/llvm/llvm-project/blob/4145ad2bac4bb99d5034d60c74bb2789f6c6e802/mlir/include/mlir/Interfaces/VectorInterfaces.td#L243-L246
[2]
https://mlir.llvm.org/docs/Dialects/Vector/#vectortransfer_read-vectortransferreadop


  Commit: 74b87b02d21583c66c4cf6659703e4bd5c4f537d
      https://github.com/llvm/llvm-project/commit/74b87b02d21583c66c4cf6659703e4bd5c4f537d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Fix and add namespace closing comments. NFC.


  Commit: 5b54f36fb607d21c18f9eb56dcf481a9841dee8e
      https://github.com/llvm/llvm-project/commit/5b54f36fb607d21c18f9eb56dcf481a9841dee8e
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Fix llvm:Core build (#99054)

According to @akuegel, this breakage was introduced in c05126bd.


  Commit: 3706c12c8e2df3bae7ba27ba4645f6eef000bab4
      https://github.com/llvm/llvm-project/commit/3706c12c8e2df3bae7ba27ba4645f6eef000bab4
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Demangle/MicrosoftDemangle.h

  Log Message:
  -----------
  Prevent copying of ArenaAllocator (#97935)

This patch removes copy constructor and assignment operator from
ArenaAllocator class to prevent resource duplication and ensure it
remains non-copyable as per design intent.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Headers/mm3dnow.h
    M clang/lib/Headers/x86intrin.h
    R clang/test/CodeGen/X86/3dnow-builtins.c
    M clang/test/CodeGen/builtins-x86.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Headers/mm3dnow.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    R llvm/test/CodeGen/X86/3dnow-intrinsics.ll
    R llvm/test/CodeGen/X86/commute-3dnow.ll
    M llvm/test/CodeGen/X86/expand-vr64-gr64-copy.mir
    M llvm/test/CodeGen/X86/pr35982.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    R llvm/test/CodeGen/X86/stack-folding-3dnow.ll

  Log Message:
  -----------
  Remove support for 3DNow!, both intrinsics and builtins. (#96246)

This set of instructions was only supported by AMD chips starting in
the K6-2 (introduced 1998), and before the "Bulldozer" family
(2011). They were never much used, as they were effectively superseded
by the more-widely-implemented SSE (first implemented on the AMD side
in Athlon XP in 2001).

This is being done as a predecessor towards general removal of MMX
register usage. Since there is almost no usage of the 3DNow!
intrinsics, and no modern hardware even implements them, simple
removal seems like the best option.

(Clang half originally uploaded in https://reviews.llvm.org/D94213)

Works towards issue #41665 and issue #98272.


  Commit: 47f3d55ecebe5d4f0376bce673be75a98b5763a7
      https://github.com/llvm/llvm-project/commit/47f3d55ecebe5d4f0376bce673be75a98b5763a7
  Author: Kamau Bridgeman <kamau.bridgeman.ibm at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M compiler-rt/test/profile/instrprof-gc-sections.c

  Log Message:
  -----------
  XFAIL: lld-available lit.cfg tag does not work as intended. (#99056)

This change XFAILs instrprof-gc-sections.c compiler-rt test case
because it uses the `lld-available` lit.config tag which erroneously
uses the `CMAKE_LINKER` if it is lld instead of checking for the
latest and greatest lld available. A patch is in the works to fix
this.
This change is to bring the `clang-ppc64le-linux-test-suite` and
`clang-ppc64le-linux-multistage` back to green as they were broken
as of PR #98382


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

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    A llvm/test/Transforms/AggressiveInstCombine/memchr.ll

  Log Message:
  -----------
   [AggressiveInstCombine] Expand memchr with small constant strings (#98501)

This patch converts memchr with a small constant string into a switch.
It will reduce overhead of libcall and enable more folds (e.g.,
comparing the result with null).

References: https://en.cppreference.com/w/c/string/byte/memchr


  Commit: 99153c84dc321a7493dd4c5888973f525bf9f65e
      https://github.com/llvm/llvm-project/commit/99153c84dc321a7493dd4c5888973f525bf9f65e
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [CMake][Fuchsia] Build libc++ on top libc for baremetal (#99009)

This is mostly a proof of concept requiring a number of workarounds, but
demonstrates that it is feasible.


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

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

  Log Message:
  -----------
  [SandboxIR] Add more Instruction member functions (#98588)

This patch adds new Instruction member functions, including:
- getNextNode()
- getPrevNode()
- getOpcode()
- removeFromParent()
- eraseFromParent()
- getParent()
- insertBefore()
- insertAfter()
- insertInto()
- moveBefore()
- moveAfter()


  Commit: 986ceae7c54bcda76edeffa41ff9aa0cd18a3c8e
      https://github.com/llvm/llvm-project/commit/986ceae7c54bcda76edeffa41ff9aa0cd18a3c8e
  Author: Chris Cotter <ccotter14 at bloomberg.net>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    A compiler-rt/test/msan/Linux/prctl.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  [msan] Support prctl PR_GET_NAME call (#98951)

Per the man page, PR_GET_NAME stores a null terminated string into the
input `char name[16]`.

This also adds prctl support in ASAN to detect freed memory being passed
to `prctl(PR_GET_NAME, ...)`:


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll

  Log Message:
  -----------
  [SLP]Correctly detect minnum/maxnum patterns for select/cmp operations on floats.

The patch enables detection of minnum/maxnum patterns for float point
instruction, represented as select/cmp. Also, enables better cost
estimation for integer min/max patterns since the compiler starts
to estimate the scalars separately.

Reviewers: nikic, RKSimon

Reviewed By: RKSimon

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-extractelements.ll

  Log Message:
  -----------
  [SLP]Do not vectorize small (<=2) buildvector/buildvalue sequences with MaxVF==true.

If MaxVFOnly for buildvector/buildvalue vectorization is set to true and the
total number of elements to vectorize is <= 2, better to try to
vectorize reductions at first, which may produce larger tree (reductions
have a limit of at least 4 elements to vectorize). Smaller
buildvector/buildvalue sequence will be attempted to vectorize later,
with MaxVFOnly set to false.

Reviewers: RKSimon

Reviewed By: RKSimon

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


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

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

  Log Message:
  -----------
  Revert "[SandboxIR] Add more Instruction member functions (#98588)"

This reverts commit 618b0b77cd7ecbdf726d393269ce822bf8d3beb9.


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

  Changed paths:
    M libc/test/src/wchar/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix old unittests for wchar tests (#99060)

Summary:
These need to use `add_libc_test`.


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

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

  Log Message:
  -----------
  Revert "[PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers" (#99062)

Reverts llvm/llvm-project#98866

It's still use-after-scope.


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

  Changed paths:
    M libcxx/include/__chrono/year_month_day.h
    M libcxx/modules/std/chrono.inc
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/comparisons.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Adds year_month_day_last&::operator<=>. (#98169)

41f7bb9975bcaffae0267fa87b63c90b83ffd551 claimed it implemented this
change but the code was not adjusted. The other spaceship operators in
the calendar code have been validated too.

Implements parts of
- P1614R2 The Mothership has Landed


  Commit: f38baad3e7395af94290aac21e587bc1c5f00946
      https://github.com/llvm/llvm-project/commit/f38baad3e7395af94290aac21e587bc1c5f00946
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    A llvm/test/Transforms/InstCombine/AMDGPU/select-from-load.ll

  Log Message:
  -----------
  [InstCombine] Fix a crash in `PointerReplacer` (#98987)

A crash could happen in `PointerReplacer::replace` when constructing a
new
select instruction and there is no replacement for one of its operand.
This can
happen when the operand is a load instruction that has been replaced
earlier
such that the operand itself is already the new value. In this case, it
is not
in the replacement map and `getReplacement` simply returns nullptr.

Fix SWDEV-472192.


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

  Changed paths:
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [Clang] Prevent null pointer dereference in TransformUnaryTransformType() (#97912)

This patch adds null check after TransformType call to avoid
dereferencing a null pointer when calling getType().


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

  Changed paths:
    M lld/ELF/ScriptParser.cpp
    M lld/docs/ReleaseNotes.rst
    M lld/test/ELF/invalid-linkerscript.test
    M lld/test/ELF/oformat-binary.s

  Log Message:
  -----------
  [ELF] OUTPUT_FORMAT: support "binary" and ignore extra OUTPUT_FORMAT commands

This patch improves GNU ld compatibility.

Close #87891: Support `OUTPUT_FORMAT(binary)`, which is like
--oformat=binary. --oformat=binary takes precedence over an ELF
`OUTPUT_FORMAT`.

In addition, if more than one OUTPUT_FORMAT command is specified, only
check the first one.

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


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

  Changed paths:
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    R clang/test/AST/HLSL/ResourceStruct.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl

  Log Message:
  -----------
  [HLSL] Remove hlsl::Resource (#98938)

This was added in an effort to support resource types before we created
the HLSLResource builtin type, but it isn't needed.


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_defs.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.h
    M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
    M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h

  Log Message:
  -----------
  [tsan] Replace ALIGNED with alignas

Similar to #98958.

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


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

  Changed paths:
    M llvm/include/llvm/Support/DXILABI.h
    A llvm/include/llvm/Transforms/Utils/DXILResource.h
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/DXILResource.cpp
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    A llvm/unittests/Transforms/Utils/DXILResourceTest.cpp

  Log Message:
  -----------
  [Transforms][DXIL] Tool to generate resource metadata and annotations (#98939)

This introduces dxil::ResourceInfo, which can generate DXIL-style
metadata for resources and the constants for the DXIL 6.6+
annotateResource operation. These are done together so that it's easier
to see all of the information the ResourceInfo class needs to store.

This will be used for lowering resource in the DirectX backend and is
intended to help with the translation in the other direction as well. To
do that, we'll need the inverse functions of `getAsMetadata` and
`getAnnotateProps`.


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

  Changed paths:
    M llvm/unittests/Transforms/Utils/DXILResourceTest.cpp

  Log Message:
  -----------
  Fully qualify `std::nullptr`


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 48f55ba9d8e5


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

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

  Log Message:
  -----------
  Reapply "[SandboxIR] Add more Instruction member functions (#98588)"

This reverts commit 1ca07cee7ffaccaa5b07dc0105309b9d43a615d0.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Targets.cpp
    A clang/lib/Basic/Targets/Le64.cpp
    A clang/lib/Basic/Targets/Le64.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/bitfield-access-pad.c
    M clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGenCXX/bitfield-access-empty.cpp
    M clang/test/CodeGenCXX/bitfield-access-tail.cpp
    M clang/test/Preprocessor/predefined-macros-no-warnings.c
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn

  Log Message:
  -----------
  Revert "Finish deleting the le32/le64 targets" (#99079)

Reverts llvm/llvm-project#98497

We're reverting this for approx 30 days so that the Halide project has
time to transition off the target.


  Commit: 41b876dba420d09ba1015798a06b2b101cbb21bf
      https://github.com/llvm/llvm-project/commit/41b876dba420d09ba1015798a06b2b101cbb21bf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/known-bits.ll
    A llvm/test/Analysis/ValueTracking/known-fpclass.ll
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for Known{Bits,NonZero,FPClass} for `llvm.vector.reverse`; NFC


  Commit: 769952d72ff383e0e5fda46802fb8717712784d3
      https://github.com/llvm/llvm-project/commit/769952d72ff383e0e5fda46802fb8717712784d3
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-bits.ll
    M llvm/test/Analysis/ValueTracking/known-fpclass.ll
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Implement Known{Bits,NonZero,FPClass} for `llvm.vector.reverse`

`llvm.vector.reverse` preserves each of the elements and thus elements
common to them.

Alive2 doesn't support the intrin yet, but the logic seems pretty
self-evident.

Closes #99013


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

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    R compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] adding preadv2/pwritev2 interceptions." (#99085)

Reverts llvm/llvm-project#97216


  Commit: 5f8c46b88799a710f98c00d377d7edc34096f85d
      https://github.com/llvm/llvm-project/commit/5f8c46b88799a710f98c00d377d7edc34096f85d
  Author: Fehr Mathieu <mathieu.fehr at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M mlir/include/mlir-c/Rewrite.h
    A mlir/include/mlir/CAPI/Rewrite.h
    M mlir/lib/CAPI/Transforms/Rewrite.cpp
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/rewrite.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] Add RewriterBase to the C API (#98962)

This exposes most of the `RewriterBase` methods to the C API.
This allows to manipulate both the `IRRewriter` and the
`PatternRewriter`. The
`IRRewriter` can be created from the C API, while the `PatternRewriter`
cannot.

The missing operations are the ones taking `Block::iterator` and
`Region::iterator` as
parameters, as they are not exposed by the C API yet AFAIK.

The Python bindings for these methods and classes are not implemented.


  Commit: f1c957d41bbb07c917cd36762bd6434e7d3daf95
      https://github.com/llvm/llvm-project/commit/f1c957d41bbb07c917cd36762bd6434e7d3daf95
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M libc/newhdrgen/class_implementation/classes/function.py
    A libc/newhdrgen/gpu_headers.py
    M libc/newhdrgen/header.py
    A libc/newhdrgen/yaml/features.yaml
    M libc/newhdrgen/yaml/pthread.yaml
    M libc/newhdrgen/yaml/sys/sys_random.yaml
    M libc/newhdrgen/yaml/time.yaml
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] newheadergen: script adjusted for cmake (#98825)

- added entrypoints and headerfile parameters depending on target
- fixed nits in yaml files causing errors
- tested with new cmake config
- cmake patch will be seperate


  Commit: bccd1190c99120e3675771c23901d4a44f82c617
      https://github.com/llvm/llvm-project/commit/bccd1190c99120e3675771c23901d4a44f82c617
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/expressions-gfx10.s
    M llvm/test/MC/AMDGPU/gfx1013.s
    M llvm/test/MC/AMDGPU/gfx1030_unsupported.s
    M llvm/test/MC/AMDGPU/gfx10_asm_dpp16.s
    M llvm/test/MC/AMDGPU/gfx10_asm_dpp8.s
    M llvm/test/MC/AMDGPU/gfx10_asm_ds.s
    M llvm/test/MC/AMDGPU/gfx10_asm_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_flat.s
    M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
    M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
    M llvm/test/MC/AMDGPU/gfx10_asm_sop.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopc_e64.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopc_sdwa.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx10_unsupported.s
    M llvm/test/MC/AMDGPU/gfx10_unsupported_dpp.s
    M llvm/test/MC/AMDGPU/gfx10_unsupported_e32.s
    M llvm/test/MC/AMDGPU/gfx10_unsupported_e64.s
    M llvm/test/MC/AMDGPU/gfx10_unsupported_e64_dpp.s
    M llvm/test/MC/AMDGPU/gfx10_unsupported_sdwa.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    M llvm/test/MC/AMDGPU/gfx11_asm_flat.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopd.s
    M llvm/test/MC/AMDGPU/gfx11_asm_wmma.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported_dpp.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported_e32.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported_e64.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
    M llvm/test/MC/AMDGPU/gfx12_asm_global_load_tr.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopd.s
    M llvm/test/MC/AMDGPU/gfx12_asm_wmma_w64.s
    M llvm/test/MC/AMDGPU/vop3-literal.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_flat.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_sopk.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_sopp.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1_sdwa.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_sdwa.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc_sdwa.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx_sdwa.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopd.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_wmma.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_global_load_tr.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopd.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w64.txt

  Log Message:
  -----------
  [AMDGPU] Get rid of the +wavefrontsizeXX,-wavefrontsizeXX in MC tests (#99001)

Now turning off/turning on feature is not needed in most cases. This is
NFC, tests only.


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

  Changed paths:
    M llvm/lib/IR/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][LTO] Add missing dependency

Fixes 'llvm/CodeGen/GenVT.inc' file not found.

Follow up to #98512


  Commit: e094abde42634e38cda85a6024792f681fc58f32
      https://github.com/llvm/llvm-project/commit/e094abde42634e38cda85a6024792f681fc58f32
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    A llvm/test/CodeGen/ARM/scmp.ll
    A llvm/test/CodeGen/ARM/ucmp.ll
    A llvm/test/CodeGen/LoongArch/scmp.ll
    A llvm/test/CodeGen/LoongArch/ucmp.ll
    A llvm/test/CodeGen/PowerPC/scmp.ll
    A llvm/test/CodeGen/PowerPC/ucmp.ll
    A llvm/test/CodeGen/RISCV/scmp.ll
    A llvm/test/CodeGen/RISCV/ucmp.ll
    A llvm/test/CodeGen/SystemZ/scmp.ll
    A llvm/test/CodeGen/SystemZ/ucmp.ll
    A llvm/test/CodeGen/Thumb/scmp.ll
    A llvm/test/CodeGen/Thumb/ucmp.ll
    A llvm/test/CodeGen/WebAssembly/scmp.ll
    A llvm/test/CodeGen/WebAssembly/ucmp.ll
    M llvm/test/CodeGen/X86/scmp.ll
    M llvm/test/CodeGen/X86/ucmp.ll

  Log Message:
  -----------
  [SelectionDAG] Expand [US]CMP using arithmetic on boolean values instead of selects (#98774)

The previous expansion of [US]CMP was done using two selects and two
compares. It produced decent code, but on many platforms it is better to
implement [US]CMP nodes by performing the following operation:

  ```
[us]cmp(x, y) = (x [us]> y) - (x [us]< y)
```

This patch adds this new expansion, as well as a hook in TargetLowering to allow some targets to still use the select-based approach. AArch64 and SystemZ are currently the only targets to prefer the former approach, but other targets may also start to use it if it provides for better codegen.


  Commit: 9078036685af5b170380ce223e875659e3674e76
      https://github.com/llvm/llvm-project/commit/9078036685af5b170380ce223e875659e3674e76
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/ScriptParser.cpp
    A lld/test/ELF/emulation-hexagon.s

  Log Message:
  -----------
  [lld] Add emulation support for hexagon (#98857)


  Commit: ff6ff2e2561027b5f2db1be7edae9a29be5c95b4
      https://github.com/llvm/llvm-project/commit/ff6ff2e2561027b5f2db1be7edae9a29be5c95b4
  Author: Kamau Bridgeman <kamau.bridgeman at ibm.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M compiler-rt/test/profile/instrprof-gc-sections.c

  Log Message:
  -----------
  NFC: Mark instrprof-gc-sections.c unsupported on ppc64le

PR #99056 marked this test case as an XFAIl for ppc64le but it
is actually being temporary unsupported, this changes it from
an XFAIl to unsupported.


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

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

  Log Message:
  -----------
  [SandboxIR][NFC] Move sandboxir::Use into a separate file (#99074)

This helps avoid circular dependencies in a follow-up patch.


  Commit: 80e18b93c5abfcbf296b6e2b45cea1ee77633f1e
      https://github.com/llvm/llvm-project/commit/80e18b93c5abfcbf296b6e2b45cea1ee77633f1e
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/COFFModuleDefinition.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp

  Log Message:
  -----------
  [llvm-dlltool] Remove the i386 underscore prefix from COFFImportFile::ImportName. NFC. (#98226)

On i386, regular C level symbols are given an underscore prefix
in the symbols on the object file level. However, the exported
names from DLLs usually don't have this leading underscore.

When specified in a def file like "symbol == dllname", the "dllname"
is the name of the exported symbol from the DLL, which will be
linked against from an object file symbol named "_symbol"
(on i386).

The mechanism where one symbol is redirected to another one in
an import library is implemented with weak aliases. In that case,
we need to have the object file symbol level name for the target
of the import, as we make one object file symbol point at another
one. Therefore, we added an underscore to the ImportName field.

(This mechanism, with weak aliases, only works as long as the
target also is exported as is, in that form - this issue is
dealt with in a later commit.)

For clarity, for potentially handling the import renaming in
other ways, store the ImportName field unprefixed, containing
the actual name to import from the DLL.

When creating the aliases, add the prefix as needed. This requires
passing an extra AddUnderscores parameter to the writeImportLibrary
function; this is a temporary measure, until alias creation is
reworked in a later commit.

This doesn't preserve the corner case of checking !isDecorated()
before adding the prefix. This corner case isn't tested by any
of our existing tests, and only would trigger for
fastcall/vectorcall/MS C++ functions - while these kinds of
renames primarily are used in mingw-w64-crt import libraries
(which primarily handle cdecl and stdcall functions).


  Commit: ad2ff1722622d199e77abf119e60bb1c66dd48e9
      https://github.com/llvm/llvm-project/commit/ad2ff1722622d199e77abf119e60bb1c66dd48e9
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lld/test/wasm/dylink.s
    M lld/wasm/InputFiles.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Work around limited architecture detection for wasm64 shared libraries (#98961)

We don't currently have a great way to detect the architecture of shared
object files under wasm. The currently method involves checking if the
imported or exported memory is 64-bit. However some shared libraries
don't use linear memory at all.

See https://github.com/llvm/llvm-project/issues/98778


  Commit: 446965070149d53374ee4d3010789673083fb11c
      https://github.com/llvm/llvm-project/commit/446965070149d53374ee4d3010789673083fb11c
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/test/tools/llvm-dlltool/coff-decorated.def

  Log Message:
  -----------
  [llvm-dlltool] Handle import renaming using other name types, when possible (#98228)

This avoids needing to use weak aliases for these cases. (Weak
aliases only work if there's another, regular import entry that
provide the desired symbol from the DLL.)


  Commit: f2d6d74cd2a8dccc5ec47bb5debb003e06249db3
      https://github.com/llvm/llvm-project/commit/f2d6d74cd2a8dccc5ec47bb5debb003e06249db3
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lld/test/COFF/lib.test
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/test/tools/llvm-dlltool/coff-decorated.def
    M llvm/test/tools/llvm-dlltool/coff-weak-exports.def
    A llvm/test/tools/llvm-dlltool/renaming.def

  Log Message:
  -----------
  [llvm-dlltool] Fix renamed imports without a separate regular import entry (#98229)

Normally, when doing renamed imports, we do this by providing a
weak alias, towards another regular import, for the symbol we
want to actually import. In a def file, this looks like this:

    regularfunc
    renamedfunc == regularfunc

However, if we want to link against a function in a DLL, where we
(intentionally) don't provide a regular import for that symbol
with the name in its DLL, doing the renamed import with a weak
alias doesn't work, as there's no symbol that the weak alias can
point towards.

We can't make up such an import either, as we may intentionally
not want to provide a regular import for that name.

This situation can either be resolved by using the "long" import
library format (as e.g. produced by GNU dlltool), or by using the
new short import library name type "export as".

This patch implements it by using the "export as" name type.

When producing a renamed import, defer emitting it until all regular
imports have been produced. If the renamed import refers to a
symbol that does exist as a regular import entry, produce a
weak alias, just as before. (This implementation also avoids needing
to know whether the symbol that the alias points towards actually
is prefixed or not, too.)

If the renamed import points at a symbol that isn't otherwise
available (or is available as a renamed symbol itself), generate
an "export as" import entry.

This name type is new, and is normally used in ARM64EC import
libraries, but can also be used for other architectures.


  Commit: b7b77b0fe878d5620b042818cf527267521e51f5
      https://github.com/llvm/llvm-project/commit/b7b77b0fe878d5620b042818cf527267521e51f5
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
    A lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
    R lldb/test/Shell/SymbolFile/DWARF/x86/simple-template-names-context.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/type-definition-search.cpp

  Log Message:
  -----------
  Reapply [lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#98361)

This is a reapply of https://github.com/llvm/llvm-project/pull/92328 and
https://github.com/llvm/llvm-project/pull/93839.

It now passes the
[test](https://github.com/llvm/llvm-project/commit/de3f1b6d68ab8a0e827db84b328803857a4f60df),
which crashes with the original reverted changes.


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

  Changed paths:
    M clang/docs/HLSL/HLSLIRReference.rst
    M clang/docs/HLSL/ResourceTypes.rst
    A llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/DirectXUsage.rst

  Log Message:
  -----------
  [DirectX] Start documenting DXIL Resource handling (#90553)

This adds a new document about DXIL Resource Handling. I've attempted to
describe here how we intend to use TargetExtTypes to represent resources
in LLVM IR and the various intrinsics we'll need to lower these through
LLVM to DXIL.

For now this document is limited to the high level concepts and a few
details on buffer types, and there are a number of TODOs in the document
that we'll iterate on as we progress in the implementation.


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

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/load-store-index-loaded-in-loop.ll

  Log Message:
  -----------
  [LAA] Adjust test from a4f8705b05 so RT checks aren't always false.

Updated @B_indices_loaded_in_loop_A_stored to use a different offset
for one of the accesses we create runtime checks for; the original
version had a runtime check that was always true as the accesses always
overlapped.


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_defs.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.h
    M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
    M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h

  Log Message:
  -----------
  Revert "[tsan] Replace ALIGNED with alignas" (#99240)

Reverts llvm/llvm-project#98959


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/include/llvm-libc-macros/generic-error-number-macros.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/test/src/string/strerror_test.cpp

  Log Message:
  -----------
  [libc] Add `strerror` and `strerror_k` to the GPU (#99083)

Summary:
The GPU ignores `errno` primarily, but targets want these functions to
be defined for certain C standard interfaces. This patch enables them
and makes the test function on non-Linux targets.


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/include/llvm-libc-macros/gpu/time-macros.h
    M libc/include/time.h.def
    M libc/src/time/gpu/CMakeLists.txt
    A libc/src/time/gpu/clock_gettime.cpp
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/clock_gettime_test.cpp

  Log Message:
  -----------
  [libc] Implement `clock_gettime` for the monotonic clock on the GPU (#99067)

Summary:
This patch implements `clock_gettime` using the monotonic clock. This
allows users to get time elapsed at nanosecond resolution. This is
primarily to facilitate compiling the `chrono` library from `libc++`.
For this reason we provide both `CLOCK_MONOTONIC`, which we can
implement
with the GPU's global fixed-frequency clock, and `CLOCK_REALTIME` which
we cannot. The latter is provided just to make people who use this
header happy and it will always return failure.


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp

  Log Message:
  -----------
  [tsan] Avoid ALIGNED in tsan_platform_mac.cpp. NFC


  Commit: 41553876d3cf31e709039cb3ba95d279ae0b217e
      https://github.com/llvm/llvm-project/commit/41553876d3cf31e709039cb3ba95d279ae0b217e
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    A compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp

  Log Message:
  -----------
  Preadv2 pwritev2 san reapply (#99089)


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_defs.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.h
    M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
    M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h

  Log Message:
  -----------
  [tsan] Replace ALIGNED with alignas

Similar to #98958.

The relands 656f617ac772c54e0bee9d499e7ca232137ddb35 , which
was reverted due to an issue in tsan_platform_mac.cpp

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


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

  Changed paths:
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  [libc][docs] Document printf support on the GPU target (#99241)

Summary:
Title


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

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

  Log Message:
  -----------
  [bazel] Port changes from main (#99247)

This ports 5f8c46b88799a710f98c00d377d7edc34096f85d and
4531f82c1ad905614c1df9359a77d48e6397fd97


  Commit: f761e50a98f4123f6a57d8e9c3be64e5e39a16fe
      https://github.com/llvm/llvm-project/commit/f761e50a98f4123f6a57d8e9c3be64e5e39a16fe
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

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

  Log Message:
  -----------
  [CMake][Fuchsia] Use escaped double quote (#99246)

Using single quotes made the build to break on Windows.


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

  Changed paths:
    A clang-tools-extra/test/clang-doc/namespace.cpp

  Log Message:
  -----------
  [clang-doc] add nested namespace test case (#97681)

This patch adds a test to clang-doc which test the nested namespace
generation of clang-doc


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

  Changed paths:
    A clang-tools-extra/test/clang-doc/enum.cpp

  Log Message:
  -----------
  [clang-doc] add enum test (#97679)

This patch adds a test which test the enum generation for clang-doc.


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

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/MC/RISCV/XTHeadVdot-valid.s

  Log Message:
  -----------
  [RISCV] Add capital letters to T-Head extension names in descriptions. (#99070)

This matches T-Head documentation and the capitalization we use for the
RISCVSubtarget methods.


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

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary call to MachineFunction::getSubtarget. NFC

RISCVInstrInfo already caches a reference to the subtarget object
that owns it. We can use that.


  Commit: 6ad2987a72392e9885e1186a34834041445e0a1e
      https://github.com/llvm/llvm-project/commit/6ad2987a72392e9885e1186a34834041445e0a1e
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/ObjC.cpp
    M lld/test/MachO/dead-strip.s
    M lld/test/MachO/icf-safe.ll

  Log Message:
  -----------
  [lld-macho] Omit `__llvm_addrsig` metadata from the output (#98913)

This section contains metadata that's only relevant for Identical Code
Folding at link time, we should not include it in the output.

We still treat it like a regular section during input file parsing (e.g.
create a `ConcatInputSection` for it), as we want its relocations to be
parsed. But it should not be passed to `addInputSection`, as that's what
assigns it to an `OutputSection` and adds it to the `inputSections`
vector which specifies the inputs to dead-stripping and relocation
scanning.

This fixes a "__DATA,__llvm_addrsig, offset 0: fixups overlap" error
when using `--icf=safe` alongside `-fixup_chains`. This occurs because
all `__llvm_addrsig` sections are 8 bytes large, and the relocations
which signify functions whose addresses are taken are all at offset 0.

This makes the fix in 5fa24ac2 ("Category Merger: add support for
addrsig references") obsolete, as we no longer try to resolve symbols
referenced in `__llvm_addrsig` when writing the output file. When we do
iterate its relocations in `markAddrSigSymbols`, we do not try to
resolve their addresses.


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

  Changed paths:
    M mlir/include/mlir/CAPI/Rewrite.h

  Log Message:
  -----------
  [mlir] Fix build error (NFC)

/llvm-project/mlir/include/mlir/CAPI/Rewrite.h:21:63:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
DEFINE_C_API_PTR_METHODS(MlirRewriterBase, mlir::RewriterBase);
                                                              ^
1 error generated.


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

  Changed paths:
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    A llvm/test/MC/ELF/warn-newline-in-escaped-string.s

  Log Message:
  -----------
  [MC,ELF] Emit warning if a string constant contains newline char (#98060)

GAS emits warning about newline in the string constant so make the same
behaviour.


  Commit: f56cdd4a45b7bbe84be5d4ba9442eb7071605efc
      https://github.com/llvm/llvm-project/commit/f56cdd4a45b7bbe84be5d4ba9442eb7071605efc
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/AMDGPU/select-from-load.ll

  Log Message:
  -----------
  [NFC] Use named variable for test case `select-from-load.ll`


  Commit: b6c4ad700b0f5851313f18df89b9da2c27ba3185
      https://github.com/llvm/llvm-project/commit/b6c4ad700b0f5851313f18df89b9da2c27ba3185
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/fastcc-int.ll
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll

  Log Message:
  -----------
  [RISCV] Remove x7 from fastcc list. (#96729)

Like #93321, this patch also tries to solve the conflict usage of x7 for
fastcc and Zicfilp. But this patch removes x7 from fastcc directly. Its
purpose is to reduce the code complexity of #93321, and we also found
that it at most increase 0.02% instruction count for most benchmarks and
it might be benefit for benchmarks.


  Commit: 746cea3eb741cae0cb90542d1580b7bacbf2a615
      https://github.com/llvm/llvm-project/commit/746cea3eb741cae0cb90542d1580b7bacbf2a615
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splat.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splat.ll
    M llvm/unittests/IR/VPIntrinsicTest.cpp

  Log Message:
  -----------
  [VP][RISCV] Introduce vp.splat and RISC-V. (#98731)

This patch introduces a vp intrinsic for splat. It's helpful for
IR-level passes to create a splat with specific vector length.


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

  Changed paths:
    M lld/COFF/LTO.cpp
    M lld/test/COFF/lto-emit-llvm.ll

  Log Message:
  -----------
  [lld-link] Change /lldemit:llvm to use the pre-codegen module

This matches ELF (#97480). clang cc1 -emit-llvm and -emit-llvm-bc for
ThinLTO backend compilation also uses `PreCodeGenModuleHook`.

While here, replace deprecated %T with %t.

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


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

  Changed paths:
    A clang/test/CodeGen/math-libcalls-tbaa.cpp

  Log Message:
  -----------
  [clang codegen] Precommit tests for PR96025, NFC (#98704)

Add extern "C" for the function because there is difference function naming rules between Linux and Windows


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/insert-skips-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir

  Log Message:
  -----------
  [AMDGPU] Update hasUnwantedEffectsWhenEXECEmpty (#97982)

Add barriers and s_wait_event to hasUnwantedEffectsWhenEXECEmpty.
Add a comment documenting the current expected use of the function.


  Commit: 1b873e565eea97d02cdb2375c50ceea89a818e5b
      https://github.com/llvm/llvm-project/commit/1b873e565eea97d02cdb2375c50ceea89a818e5b
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    A llvm/include/llvm/CodeGen/PHIElimination.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AArch64/PHIElimination-crash.mir
    M llvm/test/CodeGen/AArch64/PHIElimination-debugloc.mir
    M llvm/test/CodeGen/AMDGPU/phi-elimination-assertion.mir
    M llvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
    M llvm/test/CodeGen/AMDGPU/split-mbb-lis-subrange.mir
    M llvm/test/CodeGen/AMDGPU/stale-livevar-in-twoaddr-pass.mir
    M llvm/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
    M llvm/test/CodeGen/PowerPC/livevars-crash1.mir
    M llvm/test/CodeGen/PowerPC/livevars-crash2.mir
    M llvm/test/CodeGen/PowerPC/phi-eliminate.mir
    M llvm/test/CodeGen/PowerPC/two-address-crash.mir
    M llvm/test/CodeGen/Thumb2/phi_prevent_copy.mir
    M llvm/test/CodeGen/X86/callbr-asm-kill.mir
    M llvm/test/CodeGen/X86/phielim-undef.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port `phi-node-elimination` to new pass manager (#98867)

- Add `PHIEliminationPass `.
- Support new pass manager in `MachineBasicBlock:: SplitCriticalEdge `


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

  Changed paths:
    M clang/test/CodeGen/math-libcalls-tbaa.cpp

  Log Message:
  -----------
  [clang codegen] Fix the ci fail for PR98704 (#99267)

Different targets may have different flag on arguments, so restrict the
triple to avoid ci fail.


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

  Changed paths:
    M llvm/test/MachineVerifier/test_g_extract_subvector.mir
    M llvm/test/MachineVerifier/test_g_insert_subvector.mir
    M llvm/test/MachineVerifier/test_g_vscale.mir

  Log Message:
  -----------
  [GlobalIsel] Fix Machine Verifier errors (#99018)

temporary solution.
For discussion see https://github.com/llvm/llvm-project/pull/98894

Permanent solution could be:
REQUIRES: default_triple


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

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/test/CodeGen/LoongArch/andn-icmp.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/LoongArch/typepromotion-overflow.ll

  Log Message:
  -----------
  [LoongArch] Enable the TypePromotion pass from AArch64 (#98868)


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Don't fold vmerge.vvm or vmv.v.v into vredsum.vs if AVL changed (#99006)

When folding, we currently check if the pseudo's result is not lanewise
(e.g. vredsum.vs or viota.m) and bail if we're changing the mask.
However we also need to check for the AVL too.

This patch bails if the AVL changed for these pseudos, and also renames
the pseudo table property to be more explicit.


  Commit: 6192f458f4fd2ca4e6f01515547034f89325e73c
      https://github.com/llvm/llvm-project/commit/6192f458f4fd2ca4e6f01515547034f89325e73c
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__mutex/tag_types.h
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/ctor.adopt_lock.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/ctor.mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.verify.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/std.mutex.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.h
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp

  Log Message:
  -----------
  [libc++] Make `std::lock_guard` available with `_LIBCPP_HAS_NO_THREADS` (#98717)

This change makes `std::lock_guard` available when
`_LIBCPP_HAS_NO_THREADS` is set. This class is generic and doesn't
require threading support, and is regularly used even in environments
where threading isn't available like embedded.

fixes #89891

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


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

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

  Log Message:
  -----------
  [RISCV] Remove accidentally duplicated isel patterns. NFC

VPatIntegerSetCCSDNode_XI_Swappable inherited from
VPatIntegerSetCCSDNode_XI and contained the same patterns.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add more vector setcc VI isel patterns.

Add more patterns isel patterns for vmseq.vi and friends with
the constant splat on the left hand side.

We can't trust the canonicalization in SimplifySetCC to keep constants
to the RHS when the splat is VMV_V_X_VL for i64 on RV32.


  Commit: f0ac8903ea1c1d664d1fae16ed00e096c713aaee
      https://github.com/llvm/llvm-project/commit/f0ac8903ea1c1d664d1fae16ed00e096c713aaee
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Fix intrinsic misspelled in a comment (#98998)


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

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/Inputs/ambiguous_fragment.s
    A bolt/test/X86/Inputs/ambiguous_fragment.script
    A bolt/test/X86/ambiguous_fragment.test

  Log Message:
  -----------
  [BOLT] Store FileSymRefs in a multimap

With aggressive ICF, it's possible to have different local symbols
(under different FILE symbols) to be mapped to the same address.

FileSymRefs only keeps a single SymbolRef per address, which prevents
fragment matching from finding the correct symbol to perform parent
function lookup.

Work around this issue by switching FileSymRefs to a multimap. In
future, uses of FileSymRefs can be replaced with SortedSymbols which
keeps essentially the same information.

Test Plan: added ambiguous_fragment.test

Reviewers: dcci, ayermolo, maksfb, rafaelauler

Reviewed By: rafaelauler

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


  Commit: 20861f1f2fdc5d9aaa76140ade96f7edfdefb0e1
      https://github.com/llvm/llvm-project/commit/20861f1f2fdc5d9aaa76140ade96f7edfdefb0e1
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
    A mlir/test/Integration/GPU/CUDA/alloc-host-shared.mlir

  Log Message:
  -----------
  [mlir][gpu] Use alloc OP's `host_shared` in cuda runtime (#99035)


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

  Changed paths:
    M llvm/test/CodeGen/LoongArch/andn-icmp.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for spurious mask removal. NFC


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    A clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  Reapply [Clang][C++26] Implement "Ordering of constraints involving fold expressions (#99022)

Implement https://isocpp.org/files/papers/P2963R3.pdf


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

  Log Message:
  -----------
  [AMDGPU] clang-tidy: use std::make_unique. NFC.


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    A flang/include/flang/Optimizer/Transforms/MemoryUtils.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    A flang/lib/Optimizer/Transforms/MemoryUtils.cpp
    A flang/test/Fir/memory-allocation-opt-2.fir

  Log Message:
  -----------
  [flang] handle alloca outside of entry blocks in MemoryAllocation (#98457)

This patch generalizes the MemoryAllocation pass (alloca -> heap) to
handle fir.alloca regardless of their postion in the IR. Currently, it
only dealt with fir.alloca in function entry blocks. The logic is placed
in a utility that can be used to replace alloca in an operation on
demand to whatever kind of allocation the utility user wants via
callbacks (allocmem, or custom runtime calls to instrument the code...).

To do so, a concept of ownership, that was already implied a bit and
used in passes like stack-reclaim, is formalized. Any operation with the
LoopLikeInterface, AutomaticAllocationScope, or IsolatedFromAbove owns
the alloca directly nested inside its regions, and they must not be used
after the operation.

The pass then looks for the exit points of region with such interface,
and use that to insert deallocation. If dominance is not proved, the
pass fallbacks to storing the new address into a C pointer variable
created in the entry of the owning region which allows inserting
deallocation as needed, included near the alloca itself to avoid leaks
when the alloca is executed multiple times due to block CFGs loops.

This should fix https://github.com/llvm/llvm-project/issues/88344.

In a next step, I will try to refactor lowering a bit to introduce
lifetime operation for alloca so that the deallocation points can be
inserted as soon as possible.


  Commit: 578c6191eff7c69608cf5e363460f60a890d4065
      https://github.com/llvm/llvm-project/commit/578c6191eff7c69608cf5e363460f60a890d4065
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libcxx/include/__type_traits/is_void.h

  Log Message:
  -----------
  [libc++] Simplify std::is_void (#99033)


  Commit: f2251f93ab6977c2a2fc547b9301da2c2627c663
      https://github.com/llvm/llvm-project/commit/f2251f93ab6977c2a2fc547b9301da2c2627c663
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/alloc-host-shared.mlir

  Log Message:
  -----------
  [mlir][gpu] Add mlir_c_runner_utils to fix #99035

This fixes the unit test that is broken in #99035.


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove Block::deref()

We already have Pointer::deref()


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Assert initialization state in invoke{C,D}tor


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
    M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp

  Log Message:
  -----------
  [AMDGPU] clang-tidy: use emplace_back instead of push_back. NFC.


  Commit: a5b5208ba627da46310db67af0dcbb0a824fab92
      https://github.com/llvm/llvm-project/commit/a5b5208ba627da46310db67af0dcbb0a824fab92
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Preprocessor/embed_codegen.cpp
    M clang/test/Preprocessor/embed_constexpr.cpp

  Log Message:
  -----------
  [clang] Be careful when choosing "fast path" for initialization with #embed (#99023)

When #embed appears in an initializer list, we may choose a "fast path"
if the target declaration is a char array. We simply initialize it with
string literal that contains embedded data. However we need to be
careful when checking that we actually can use this "fast path" since
char array may be nested in a struct.


  Commit: 0905732f75cb0f774972c721810aba74021102f2
      https://github.com/llvm/llvm-project/commit/0905732f75cb0f774972c721810aba74021102f2
  Author: Abe <abe149 at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang-tools-extra/docs/modularize.rst

  Log Message:
  -----------
  [clang-tools-extra] Fix typos in Modularize.rst (#99256)

mainly, fixed “the Clang module mechanism doesn’t support headers the
rely on other headers” => “the Clang module mechanism doesn’t support
headers that rely on other headers”. [emphasis on “the” versus “that”]


  Commit: caaf8099efa87a7ebca8920971b7d7f719808591
      https://github.com/llvm/llvm-project/commit/caaf8099efa87a7ebca8920971b7d7f719808591
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M offload/include/OpenMP/OMPT/Interface.h
    M offload/src/OpenMP/API.cpp
    M offload/src/OpenMP/OMPT/Callback.cpp
    A offload/test/ompt/omp_api.c

  Log Message:
  -----------
  [Offload][OMPT] Add callbacks for (dis)associate_ptr (#99046)

This adds the OMPT callbacks for the API functions disassociate_ptr and
associate_ptr.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/CodeGen/ExpandReductions.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    A llvm/test/CodeGen/WebAssembly/vector-reduce.ll

  Log Message:
  -----------
  [TTI][WebAssembly] Pairwise reduction expansion (#93948)

WebAssembly doesn't support horizontal operations nor does it have a way
of expressing fast-math or reassoc flags, so runtimes are currently
unable to use pairwise operations when generating code from the existing
shuffle patterns.

This patch allows the backend to select which, arbitary, shuffle pattern
to be used per reduction intrinsic. The default behaviour is the same as
the existing, which is by splitting the vector into a top and bottom
half. The other pattern introduced is for a pairwise shuffle.

WebAssembly enables pairwise reductions for int/fp add/sub.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/Analysis.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/Analysis.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    A llvm/test/CodeGen/AArch64/no-tail-call-bzero-from-memset.ll

  Log Message:
  -----------
  [AArch64] Don't tail call memset if it would convert to a bzero. (#98969)

Well, not quite that simple. We can tc memset since it returns the first
argument but bzero doesn't do that and therefore we can end up
miscompiling.

This patch also refactors the logic out of isInTailCallPosition() into the callers.
As a result memcpy and memmove are also modified to do the same thing
for consistency.

rdar://131419786


  Commit: a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
      https://github.com/llvm/llvm-project/commit/a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp

  Log Message:
  -----------
  [lldb][RISCV] function prologue backtrace fix (#99043)

CreateFunctionEntryUnwindPlan RISCV ABI function fix needed to receive a
valid backtrace at the start of functions.

Fixed tests for RISCV target:

TestNumThreads.NumberOfThreadsTestCase
TestCPPExceptionBreakpoints.CPPBreakpointTestCase
TestStepThroughTrampoline.StepThroughTrampoline
TestOSPluginStepping.TestOSPluginStepping
TestSteppingOutWithArtificialFrames.TestArtificialFrameThreadStepOut1
TestStepAvoidsRegexp.StepAvoidsRegexTestCase
TestInlineStepping.TestInlineStepping
TestStepOverBreakpoint.StepOverBreakpointsTestCase
TestStepOverBreakpoint.StepOverBreakpointsTestCase
TestSteppingOutWithArtificialFrames.TestArtificialFrameThreadStepOut1
TestTailCallFrameSBAPI.TestTailCallFrameSBAPI
TestThreadPlanUserBreakpoint.ThreadPlanUserBreakpointsTestCase


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

  Changed paths:
    M flang/test/Lower/tune-cpu-llvm.f90

  Log Message:
  -----------
  [flang][test] Fix mtune test on AArch64 bots

The native architecture is AArch64 here so the pentium name won't
work even if you've got the x86 backend enabled.

https://lab.llvm.org/buildbot/#/builders/17/builds/898

Pass an explicit target for each run line to fix this.

Test added in f1d3fe7aae7867b5de96b84d6d26b5c9f02f209a / #98517


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

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

  Log Message:
  -----------
  [clang][Interp] Makre sure we don't overflow Descriptor::AllocSize

We allocate the metadata and the array elements in one allocation,
and we save its size in a field of type 'unsigned'. Makre sure the
full size of the allocation doesn't overflow the field.


  Commit: 7c597c0e691bb685a7b9ef01e3ccaad5e64a3e92
      https://github.com/llvm/llvm-project/commit/7c597c0e691bb685a7b9ef01e3ccaad5e64a3e92
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/utils/vim/syntax/llvm.vim

  Log Message:
  -----------
  [Utils][vim] Match vector 'splat' keyword (#99004)


  Commit: 2e56497bf7b2c848b2c43ce8c64e585bc006240a
      https://github.com/llvm/llvm-project/commit/2e56497bf7b2c848b2c43ce8c64e585bc006240a
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/utils/vim/syntax/llvm.vim

  Log Message:
  -----------
  [Utils][vim] Match more hexadecimal float constants (#99000)

The `0x[KLMHR]` syntax denotes different floating-point types: various
long doubles, half and bfloat.

See https://llvm.org/docs/LangRef.html#simple-constants for reference.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Use range-based for loops. NFC. (#99047)


  Commit: de61875e9d276cdb1899c2bea818bca86025b35a
      https://github.com/llvm/llvm-project/commit/de61875e9d276cdb1899c2bea818bca86025b35a
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir

  Log Message:
  -----------
  [MLIR][Vector] Generalize DropUnitDimFromElementwiseOps to non leading / trailing dimensions. (#98455)

Generalizes DropUnitDimFromElementwiseOps to support inner unit
dimensions.
This change stems from improving lowering of contractionOps for Arm SME.
Where we end up with inner unit dimensions on MulOp, BroadcastOp and
TransposeOp, preventing the generation of outerproducts.
discussed
[here](https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543/17?u=nujaa).

Fix after : https://github.com/llvm/llvm-project/pull/97652 showed an
unhandled edge case when all dimensions are one. The generated target
VectorType would be `vector<f32>` which is apparently not supported by
the mulf.
In case all dimensions are dropped, the target vectorType is
vector<1xf32>

---------

Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>


  Commit: 3941f652317d95cac203e64791bfa730de7bbd1e
      https://github.com/llvm/llvm-project/commit/3941f652317d95cac203e64791bfa730de7bbd1e
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  adjust the m86k backend after change f270a4dd6667759d7305797a077ae09648318ac7


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

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR] Add attributes no_unwind and will_return to the LLVMIR dialect (#98921)

And testing.
These are being added to be used in the GPU to LLVM SPV pass.

---------

Co-authored-by: Victor Perez <victor.perez at codeplay.com>


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

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

  Log Message:
  -----------
  [clang][Interp] Use an array root's field decl in the LValuePath

Instead of pushing the index 0.


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

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

  Log Message:
  -----------
  [LV] Use VF from selected plan when creating InnerLoopVectorizer.

This makes sure the same VF is used when executing the plan and in the
functions in InnerLoopVectorizer when the assertion is disabled (e.g.
release builds).

No tests added as they would trigger an assertion.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/oddshuffles.ll
    M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll

  Log Message:
  -----------
  [X86] Fold blend(pshufb(x,m1),pshufb(y,m2)) -> blend(pshufb(x,blend(m1,m2)),pshufb(y,blend(m1,m2))) to reduce constant pool (#98466)

Share PSHUFB masks where we have no overlap in used elements.

Fixes #98346


  Commit: f56db7860b38ac73310039b44770e844e4cb613d
      https://github.com/llvm/llvm-project/commit/f56db7860b38ac73310039b44770e844e4cb613d
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Value.def
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [C API] Support new ptrauth constant type (#93909)

This is a new constant type that was added to the C++ API in
0edc97f119f3ac3ff96b11183fe5c001a48a9a8d. This adds the ability to
create instances of this constant and get its values to the C API.


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

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp

  Log Message:
  -----------
  [nsan] Swap alignas and visibility order (NFC) (#98933)

Use `alignas(16) SANITIZER_INTERFACE_ATTRIBUTE` instead of
`SANITIZER_INTERFACE_ATTRIBUTE alignas(16)`, as the former is not
supported prior to clang 16. See https://clang.godbolt.org/z/Wj1193xWK.

This was broken by https://github.com/llvm/llvm-project/pull/96142 as
part of other style changes.


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

  Changed paths:
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    A clang/lib/AST/Interp/DynamicAllocator.cpp
    A clang/lib/AST/Interp/DynamicAllocator.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/InterpState.cpp
    M clang/lib/AST/Interp/InterpState.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.h
    A clang/test/AST/Interp/new-delete.cpp
    M clang/test/Rewriter/rewrite-modern-catch.m
    M clang/test/SemaCXX/delete.cpp
    M clang/test/SemaCXX/new-delete.cpp

  Log Message:
  -----------
  Reapply "[clang][Interp] Implement dynamic memory allocation handling (#70306)"

This reverts commit 48d703e7f56282ce5d690e45a129a4a7fd040ee6.


  Commit: 20c6b9fbba583d172e931dd24417784186136531
      https://github.com/llvm/llvm-project/commit/20c6b9fbba583d172e931dd24417784186136531
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/test/Integration/debug-fixed-array-type-2.f90
    A flang/test/Transforms/debug-local-global-storage-1.fir

  Log Message:
  -----------
  [flang][debug] Fix issues with local variables. (#98661)

This PR fixes 2 similar issues.
1. As reported in #97476, flang generated executable has inconsistent
behavior regarding values of the local array variables.
2. Variable with save attribute would not show up in debugger.

The reason behind is same for both cases. If a local variable has
storage which extends beyond function lifetime, the way to represent it
in the debug info is through a global variable whose scope is limited to
the function. This is what is used for static local variable in C.
Previously local array worked in cases they were on stack. But will not
show up if they had a global storage.

To fix this, if we can get a corresponding `GlobalOp` for a variable
while processing `DeclareOp`, we treat it the variable as global with
scope set appropriately. A new FIR test is added. A previous Integration
test has been adjusted as to not expect local variables for local
arrays.

With this fix in place, all the issues described in #97476 go away. It
also fixes a lot of fails in GDB's fortran testsuite.

Fixes #97476.


  Commit: c5329c827ab345c4390f9a176573816e7f5c19e3
      https://github.com/llvm/llvm-project/commit/c5329c827ab345c4390f9a176573816e7f5c19e3
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/prefer-fixed-if-equal-to-scalable.ll

  Log Message:
  -----------
  [LV][AArch64] Prefer Fixed over Scalable if cost-model is equal (Neoverse V2) (#95819)

    For the Neoverse V2 we would like to prefer fixed width over scalable
    vectorisation if the cost-model assigns an equal cost to both for certain
    loops. This improves 7 kernels from TSVC-2 and several production kernels by
    about 2x, and does not affect SPEC21017 INT and FP. This also adds a new TTI
    hook that can steer the loop vectorizater to preferring fixed width
    vectorization, which can be set per CPU. For now, this is only enabled for the
    Neoverse V2.

    There are 3 reasons why preferring NEON might be better in the case the
    cost-model is a tie and the SVE vector size is the same as NEON (128-bit):
    architectural reasons, micro-architecture reasons, and SVE codegen reasons. The
    latter will be improved over time, so the more important reasons are the former
    two. I.e., (micro) architecture reason is the use of LPD/STP instructions which
    are not available in SVE2 and it avoids predication.

    For what it is worth: this codegen strategy to generate more NEON is inline
    with GCC's codegen strategy, which is actually even more aggressive in
    generating NEON when no predication is required. We could be smarter about the
    decision making, but this seems to be a first good step in the right direction,
    and we can always revise this later (for example make the target hook more
    general).


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

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

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


  Commit: 0b71d8020f1181c75c305d34943ed42bb1948177
      https://github.com/llvm/llvm-project/commit/0b71d8020f1181c75c305d34943ed42bb1948177
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h

  Log Message:
  -----------
  [InstrRef][NFC] Avoid un-necessary DenseMap queries (#99048)

This patch adjusts how some data is stored to avoid a number of
un-necessary DenseMap queries. There's no change to the compiler
behaviour, and it's measurably faster on the compile time tracker.

The BlockOrders vector in buildVLocValueMap collects the blocks over
which a variables value have to be determined: however the Cmp ordering
function makes two DenseMap queries to determine the RPO-order of blocks
being compared. And given that sorting is O(N log(N)) comparisons this
isn't fast. So instead, fetch the RPO-numbers of the block collection,
order those, and then map back to the blocks themselves.

The OrderToBB collection mapped an RPO-number to an MBB: it's completely
un-necessary to have DenseMap here, we can just use the RPO number as an
array index. Switch it to a SmallVector and deal with a few consequences
when iterating.

(And for good measure I've jammed in a couple of reserve calls).


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

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

  Log Message:
  -----------
  [AMDGPU] Remove SIWholeQuadMode pass early exit (#98450)

Merge the code bypass elements from the early exit into the main pass
execution flow.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll

  Log Message:
  -----------
  [LV] Process dead interleave pointer ops in reverse order.

Process dead interleave pointer ops in reverse order. This also catches
cases where the same base pointer is used by multiple different
interleave groups.

This fixes another case where the legacy cost model inaccuarately
estimates cost, surfaced by b841e2eca3b5c8.


  Commit: 762c607d8ecb2bf678375f79ac23e143be0b5f3f
      https://github.com/llvm/llvm-project/commit/762c607d8ecb2bf678375f79ac23e143be0b5f3f
  Author: Tianyi Guan <tguan at nvidia.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll

  Log Message:
  -----------
  [AArch64][GISel] Add test cases for folding shifts into load/store addressing modes (NFC)


  Commit: 290184880ae22541738e280397da33fe515e4c86
      https://github.com/llvm/llvm-project/commit/290184880ae22541738e280397da33fe515e4c86
  Author: Krasimir Georgiev <krasimir at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    R llvm/lib/Target/AArch64/peephole-sxtw.mir
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll

  Log Message:
  -----------
  Revert "[AArch64] Remove superfluous sxtw in peephole opt (#96293)"

This reverts commit 7f2a5dfe35f8bbaca2819644c7aa844f938befd6.

It appears that after this, llc segfaults on the following code:
```
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64--linux-eabi"

define i32 @f(i32 %0) {
entry:
  %1 = sext i32 %0 to i64
  br label %A

A:
  %2 = trunc i64 %1 to i32
  %a69.us = sub i32 0, %2
  %a69.us.fr = freeze i32 %a69.us
  %3 = zext i32 %a69.us.fr to i64
  br label %B

B:
  %t = icmp eq i64 0, %3
  br i1 %t, label %A, label %B
}
```

assert.h assertion failed at .../llvm/lib/CodeGen/LiveVariables.cpp:159 in void llvm::LiveVariables::HandleVirtRegUse(Register, MachineBasicBlock *, MachineInstr &): MRI->getVRegDef(Reg) && "Register use before def!"


  Commit: 8156be684da4c37b6191dab26d2eb5c2777be17d
      https://github.com/llvm/llvm-project/commit/8156be684da4c37b6191dab26d2eb5c2777be17d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [LV][NFC]Introduce isScalableVectorizationAllowed() to refactor getMaxLegalScalableVF().

Adds isScalableVectorizationAllowed() and the corresponding data member
to query if the scalable vectorization is supported rather than
performing the analysis each time the scalable vector factor is
requested.

Part of https://github.com/llvm/llvm-project/pull/91403

Reviewers: ayalz, fhahn

Reviewed By: fhahn, ayalz

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


  Commit: 440fffad7e7231fab766c6e00e47a39ad5a9b95e
      https://github.com/llvm/llvm-project/commit/440fffad7e7231fab766c6e00e47a39ad5a9b95e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp

  Log Message:
  -----------
  [Clang][Concepts] Avoid substituting into constraints for invalid TemplateDecls (#75697)

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

Substituting into constraints for invalid TemplateDecls might still
yield dependent expressions and end up crashing later in evaluation.


  Commit: 6425f2d66740b84fc3027b649cd4baf660c384e8
      https://github.com/llvm/llvm-project/commit/6425f2d66740b84fc3027b649cd4baf660c384e8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
    M llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll

  Log Message:
  -----------
  [SLP]Improve minbitwidth analysis for trun'ed gather nodes.

If the gather node is trunc'ed, better to trunc scalars and then gather
them rather than gather and then trunc. Trunc for scalars is free in
most cases.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: d2bfc2b52bfc1c17248b897ae8618865d4d9a3af
      https://github.com/llvm/llvm-project/commit/d2bfc2b52bfc1c17248b897ae8618865d4d9a3af
  Author: Lin Jian <me at linj.tech>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/utils/emacs/llvm-mir-mode.el

  Log Message:
  -----------
  [emacs] Fix autoloading for llvm-mir-mode (#98984)

Without this patch, the autoloading of the major mode `llvm-mir-mode` is
not generated, which breaks its autoloading functionality.

To test this patch, use the following command to generate an autoload
file:

```console
cd llvm/utils/emacs
emacs --quick --batch --load=package --eval='(package-generate-autoloads "llvm-mir-mode" ".")'
```

Diff of generated autoload files is as follows:

```diff
> (autoload 'llvm-mir-mode "llvm-mir-mode" "\
> A major mode for editing LLVM MIR files.
> 
> (fn)" t)
```

CC @bogner for review


  Commit: 343ed3fd5a5e183f0edf87a89955af772aaadcfb
      https://github.com/llvm/llvm-project/commit/343ed3fd5a5e183f0edf87a89955af772aaadcfb
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [lldb][Bazel]: Adapt BUILD.bazel file for a751f653b40f2021f091a2f1ebcc2d91bc4cc89d


  Commit: 8d97cbcf27becd88e053ef888605f55b68272e60
      https://github.com/llvm/llvm-project/commit/8d97cbcf27becd88e053ef888605f55b68272e60
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  Revert "[lldb][Bazel]: Adapt BUILD.bazel file for a751f653b40f2021f091a2f1ebcc2d91bc4cc89d"

This reverts commit 343ed3fd5a5e183f0edf87a89955af772aaadcfb.


  Commit: b5b9832b42f436986c7290bc1e912e2f276b4e6b
      https://github.com/llvm/llvm-project/commit/b5b9832b42f436986c7290bc1e912e2f276b4e6b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [lldb][Bazel]: Second attempt to adapt for a751f653b40f2021f091a2f1ebcc2d91bc4cc89d


  Commit: 64f67a448740480b0ff5d8c89ee2b99878c5559c
      https://github.com/llvm/llvm-project/commit/64f67a448740480b0ff5d8c89ee2b99878c5559c
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp

  Log Message:
  -----------
  adjust the Xtensa backend after change f270a4dd6667759d7305797a077ae09648318ac7

Similar fix as in 3941f652317d95cac203e64791bfa730de7bbd1e


  Commit: bc8a8f5415c522f99600171e012d511c010d7309
      https://github.com/llvm/llvm-project/commit/bc8a8f5415c522f99600171e012d511c010d7309
  Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [clang][Sema] Improve `Sema::CheckCXXDefaultArguments` (#97338)

In the second loop in `Sema::CheckCXXDefaultArguments`, we don't need to
re-examine the first parameter with a default argument. Dropped the
first iteration of that loop.

In addition, use the preferred early `continue` for the if-statement in
the loop.


  Commit: fa0e52995929ab67dfb468d71fe793be5e1c7f03
      https://github.com/llvm/llvm-project/commit/fa0e52995929ab67dfb468d71fe793be5e1c7f03
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M flang/runtime/time-intrinsic.cpp

  Log Message:
  -----------
  [Flang] Exclude the reference to TIME_UTC for AIX. (#99069)

This PR supersede PR #98915


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

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

  Log Message:
  -----------
  [SLP][REVEC] Make SLP support revectorization (-slp-revec) and add simple test. (#98269)

This PR will make SLP support revectorization. Add an option -slp-revec
to control the functionality.

reference:

https://discourse.llvm.org/t/rfc-make-slp-vectorizer-revectorize-vector-instructions/79436


  Commit: 329e7c80ac2dbc16c267390da5f1baaf1cd438b1
      https://github.com/llvm/llvm-project/commit/329e7c80ac2dbc16c267390da5f1baaf1cd438b1
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/C/C23/n2653.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [Clang] [C23] Implement N2653: u8 strings are char8_t[] (#97208)

https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2653.htm

Closes #97202

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 177ce1900f0de05337f744edd3f4e454f7a93b06
      https://github.com/llvm/llvm-project/commit/177ce1900f0de05337f744edd3f4e454f7a93b06
  Author: Lawrence Benson <github at lawben.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-compress.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/AArch64/vector-compress.ll

  Log Message:
  -----------
  [LLVM] Add `llvm.experimental.vector.compress` intrinsic (#92289)

This PR adds a new vector intrinsic `@llvm.experimental.vector.compress`
to "compress" data within a vector based on a selection mask, i.e., it
moves all selected values (i.e., where `mask[i] == 1`) to consecutive
lanes in the result vector. A `passthru` vector can be provided, from
which remaining lanes are filled.

The main reason for this is that the existing
`@llvm.masked.compressstore` has very strong constraints in that it can
only write values that were selected, resulting in guard branches for
all targets except AVX-512 (and even there the AMD implementation is
_very_ slow). More instruction sets support "compress" logic, but only
within registers. So to store the values, an additional store is needed.
But this combination is likely significantly faster on many target as it
avoids branches.

In follow up PRs, my plan is to add target-specific lowerings for x86,
SVE, and possibly RISCV. I also want to combine this with a store
instruction, as this is probably a common case and we can avoid some
memory writes in that case.

See [discussion in
forum](https://discourse.llvm.org/t/new-intrinsic-for-masked-vector-compress-without-store/78663)
for initial discussion on the design.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
    M llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll

  Log Message:
  -----------
  Revert "[SLP]Improve minbitwidth analysis for trun'ed gather nodes."

This reverts commit 6425f2d66740b84fc3027b649cd4baf660c384e8 to fix the
buildbost issues reported in https://lab.llvm.org/buildbot/#/builders/95/builds/1404.


  Commit: e093109e4a1551de13a1219275d62e9c7ee3146f
      https://github.com/llvm/llvm-project/commit/e093109e4a1551de13a1219275d62e9c7ee3146f
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp

  Log Message:
  -----------
  [InstrRef][NFC] Avoid another DenseMap, use a sorted vector (#99051)

When resolving value-numbers to specific machine locations in the final
stages of LiveDebugValues, we've been producing a DenseMap containing
all the value-numbers we're interested in. However we never modify the
map keys as they're all pre-known. Thus, this is a suitable collection
to switch to a sorted vector that gets searched, rather than a DenseMap
that gets probed. The overall operation of LiveDebugValues isn't
affected at all.


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

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

  Log Message:
  -----------
  [X86] createSetFPEnvNodes - pass SDLoc by reference instead of value.


  Commit: 396a5ba51e9e47f818a749ec3f2368e4fea6a67f
      https://github.com/llvm/llvm-project/commit/396a5ba51e9e47f818a749ec3f2368e4fea6a67f
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [Clang] Add attribute for consteval builtin functions (#91894)

Builtins with the new `Consteval` attribute will also be marked
`Constexpr` and will only be available in C++20 mode where `consteval`
makes sense.


  Commit: 6451806ef73bb033be3f6e1599f3bcb224943206
      https://github.com/llvm/llvm-project/commit/6451806ef73bb033be3f6e1599f3bcb224943206
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [Clang] Require base element type of `__has_unique_object_representations` to be complete (#95432)

Fixes #95311

Previous behaviour was that `false` was silently returned, templated
classes were not instantiated and incomplete classes did not issue an
error.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


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

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

  Log Message:
  -----------
  [CodeGen] Fix -Wunused-variable in SelectionDAG.cpp (NFC)

/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7560:9:
error: unused variable 'VecVT' [-Werror,-Wunused-variable]
    EVT VecVT = N1.getValueType();
        ^
1 error generated.


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

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

  Log Message:
  -----------
  [VPlan] Use State.VF in vectorizeInterleaveGroup (NFCI).

Update vectorizeInterleaveGroup to use State.VF in preparation to moving
the code directly to the recipe.


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

  Changed paths:
    A mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/CMakeLists.txt
    M mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    A mlir/lib/Conversion/MathToROCDL/CMakeLists.txt
    A mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    A mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Refactor conversion of math operations to ROCDL calls to a separate pass (#98653)

This patch refactors the conversion of math operations to ROCDL library
calls. This pass will also be used in flang to lower Fortran
intrinsics/math functions for OpenMP target offloading codgen.


  Commit: 8687f7cd662384e3bd009a0f43eabbbe87f4387a
      https://github.com/llvm/llvm-project/commit/8687f7cd662384e3bd009a0f43eabbbe87f4387a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/ConstantHoisting/RISCV/immediates.ll

  Log Message:
  -----------
  [RISCV] Support constant hoisting of immediate store values (#96073)

Previously getIntImmInstCost only calculated the cost of materialising
the argument of a store if it was the address. This means
ConstantHoisting's transformation wouldn't kick in for cases like
storing two values that require multiple instructions to materialise but
where one can be cheaply generated from the other (e.g. by an addition).

Two key changes were needed to avoid regressions when enabling this:
* Allowing constant materialisation cost to be calculated assuming
zeroes are free (as might happen if you had a 2*XLEN constant and one
half is zero).
* Avoiding constant hoisting if we have a misaligned store that's going
to be a legalised to a sequence of narrower stores. I'm seeing cases
where hoisting the constant ends up with worse codegen in that case.

Out of caution and so as not to unexpectedly degrade other existing hoisting logic, FreeZeroes is used only for the new cost calculations for the load instruction. It would likely make sense to revisit this later.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll

  Log Message:
  -----------
  [SLP]Improve minbitwidth analysis for trun'ed gather nodes.

If the gather node is trunc'ed, better to trunc scalars and then gather
them rather than gather and then trunc. Trunc for scalars is free in
most cases.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 05b067b5f952a427f80e1c39a5c9025fdb2d64b2
      https://github.com/llvm/llvm-project/commit/05b067b5f952a427f80e1c39a5c9025fdb2d64b2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll

  Log Message:
  -----------
  Revert "[SLP]Improve minbitwidth analysis for trun'ed gather nodes."

This reverts commit d3d2f9a4208eedbd2f372c34725ab61c3f4d3aed to fix
buildbot https://lab.llvm.org/buildbot/#/builders/92/builds/1880.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll

  Log Message:
  -----------
  [SLP]Improve minbitwidth analysis for trun'ed gather nodes.

If the gather node is trunc'ed, better to trunc scalars and then gather
them rather than gather and then trunc. Trunc for scalars is free in
most cases.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 554febd3aad8d7cea7b8f8f6124d691031fb618c
      https://github.com/llvm/llvm-project/commit/554febd3aad8d7cea7b8f8f6124d691031fb618c
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp

  Log Message:
  -----------
  [Clang] Fix some assertions not looking through type sugar (#92299)

Fixes #92284

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


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

  Changed paths:
    M lldb/test/Shell/Recognizer/verbose_trap.test

  Log Message:
  -----------
  [lldb] Disable verbose_trap.test on Windows (#99323)

verbose_trap.test, added in #80368, fails on some Windows bots.
See https://lab.llvm.org/buildbot/#/builders/141/builds/808.


  Commit: 77b2c681677db02552475426f0f7cf2c009ff98d
      https://github.com/llvm/llvm-project/commit/77b2c681677db02552475426f0f7cf2c009ff98d
  Author: Nathan James <n.james93 at hotmail.co.uk>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp

  Log Message:
  -----------
  [clang-tidy] Add support for std::rotate(_copy) and inplace_merge to modernize-use-ranges (#99057)

These algorithms take 3 iterators for the range and we are only
interested in the first and last iterator argument. The ranges versions
of these take a range and an iterator(defined to be inside the range) so
the transformation is pretty similar `algo(I.begin, other, I.end,...)`
-> `ranges::algo(I, other,...)`


  Commit: c034c44362a5dda93a8049d452625c59b76f7169
      https://github.com/llvm/llvm-project/commit/c034c44362a5dda93a8049d452625c59b76f7169
  Author: Tim Gymnich <tgymnich at icloud.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/select-of-symmetric-selects.ll

  Log Message:
  -----------
  [InstCombine] Fold select of symmetric selects (#99245)

fixes #98800

Fold patterns like:
   select c2 (select c1 a b) (select c1 b a)
into:
   select (xor c1 c2) b a

Alive2 proofs:
https://alive2.llvm.org/ce/z/4QAm4K
https://alive2.llvm.org/ce/z/vTVRnC


  Commit: a56e009ef852926c8e77eb8e50739d2b5a389212
      https://github.com/llvm/llvm-project/commit/a56e009ef852926c8e77eb8e50739d2b5a389212
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/test/Sema/c2x-typeof.c

  Log Message:
  -----------
  [Clang] [C23] Fix typeof_unqual for qualified array types (#92767)

Properly remove qualifiers for both the element type and the array type

Fixes #92667

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


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

  Changed paths:
    M libc/src/stdlib/rand.cpp

  Log Message:
  -----------
  [libc] Change rand implementation so all tests pass in both 32- and 64-bit systems (#98692)

This patch makes rand select different algorithms depending on the arch.
This is needed to avoid a test failure in 32-bit systems where the LSB
of rand was not uniform enough when the 64-bit constants are used in
32-bit systems.


  Commit: 60b6f43ea188f3427985f6328a638375063a9f44
      https://github.com/llvm/llvm-project/commit/60b6f43ea188f3427985f6328a638375063a9f44
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__ranges/iota_view.h
    A libcxx/test/std/ranges/range.factories/range.iota.view/empty.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG4001: `iota_view` should provide `empty` (#79687)

Implements: https://wg21.link/LWG4001
- https://eel.is/c++draft/range.iota.view

---------

Co-authored-by: Zingam <zingam at outlook.com>
Co-authored-by: Will Hawkins <whh8b at obs.cr>


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

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

  Log Message:
  -----------
  [AMDGPU] Simplify alias stripping to use utility function


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

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

  Log Message:
  -----------
  [Clang][NFC] Remove unnecessary copy (#97902)

Reported by Static Analyzer Tool:

In
clang::ASTNodeImporter::VisitCountAttributedType(clang::CountAttributedType
const *): Using the auto keyword without an & causes the copy of an
object of type TypeCoupledDeclRefInfo


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

  Changed paths:
    M libc/test/UnitTest/HermeticTestUtils.cpp

  Log Message:
  -----------
  [libc] Added missing operator delete generated by gcc/clang (#67457)

This patch adds two operators delete that are being generated by clang 15 on rv32 (operator delete(void *mem, std::align_val_t)) and by gcc 13 on intel 64 (operator delete(void *mem, unsigned long)).


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

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

  Log Message:
  -----------
  [Transforms] DXILResource.cpp - fix MSVC "not all control paths return a value" warning. NFC.


  Commit: 3ad7108c3cf843cac6301db3f73ccea9661bc4d3
      https://github.com/llvm/llvm-project/commit/3ad7108c3cf843cac6301db3f73ccea9661bc4d3
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid temporary when RHS is a logical constant (#99078)

Enhance the detection of constant on the RHS for logical cases so we
don't create a temporary.


  Commit: 666d224248707f373577b5b049b5b0229100006c
      https://github.com/llvm/llvm-project/commit/666d224248707f373577b5b049b5b0229100006c
  Author: Mike Crowe <mac at mcrowe.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp

  Log Message:
  -----------
  [clang-tidy] Fix modernize-use-std-print/format for fmt (#99021)

When fixing #92896 in 0e62d5cf55479981da5e05e406bbca4afb3cdc4f (#94104)
I failed to spot that I'd broken converting from fmt::printf,
fmt::fprintf and fmt::sprintf in these checks since the format parameter
of those functions is not a simple character pointer.

The first part of the previous fix to avoid the assert and instead
produce an error message was sufficient. It was only the second part
that required the format parameter of the called function to be a simple
character pointer that was problematic. Let's remove that second part
and add the now-expected error messages to the lit tests along with
fixing the prototype for the fmt functions to more accurately reflect
the ones used by the fmt library so they are actually useful.

Fixes #92896


  Commit: c63125d4533a22a200c3b5b1efb8ac3ce4b1cb69
      https://github.com/llvm/llvm-project/commit/c63125d4533a22a200c3b5b1efb8ac3ce4b1cb69
  Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
  Date:   2024-07-17 (Wed, 17 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
    A mlir/test/Transforms/test-canonicalize-merge-large-blocks.mlir

  Log Message:
  -----------
  [mlir] Fix block merging (#97697)

With this PR I am trying to address:
https://github.com/llvm/llvm-project/issues/63230.

What changed:
- While merging identical blocks, don't add a block argument if it is
"identical" to another block argument. I.e., if the two block arguments
refer to the same `Value`. The operations operands in the block will
point to the argument we already inserted. This needs to happen to all
the arguments we pass to the different successors of the parent block
- After merged the blocks, get rid of "unnecessary" arguments. I.e., if
all the predecessors pass the same block argument, there is no need to
pass it as an argument.
- This last simplification clashed with
`BufferDeallocationSimplification`. The reason, I think, is that the two
simplifications are clashing. I.e., `BufferDeallocationSimplification`
contains an analysis based on the block structure. If we simplify the
block structure (by merging and/or dropping block arguments) the
analysis is invalid . The solution I found is to do a more prudent
simplification when running that pass.

**Note**: this a rework of #96871 . I ran all the integration tests
(`-DMLIR_INCLUDE_INTEGRATION_TESTS=ON`) and they passed.


  Commit: 850a2e68749266ae0944a27fedf81c6f68d5a2c4
      https://github.com/llvm/llvm-project/commit/850a2e68749266ae0944a27fedf81c6f68d5a2c4
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp

  Log Message:
  -----------
  [flang] Fix compiler warning (#99306)


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__utility/rel_ops.h
    A libcxx/test/libcxx/depr/depr.rel_ops/rel_ops.depr_in_cxx20.verify.cpp
    M libcxx/test/std/containers/iterator.rel_ops.compile.pass.cpp
    M libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp

  Log Message:
  -----------
  [libc++] Deprecates rel_ops. (#91642)

These operators were deprecated in
  P0768R1 Library Support for the Spaceship (Comparison) Operator

This was discovered while investigating the paper's implementation
status.


  Commit: 7fc9fb9f3f671ee4b1ccfefaf03ed18cc0c3e3c3
      https://github.com/llvm/llvm-project/commit/7fc9fb9f3f671ee4b1ccfefaf03ed18cc0c3e3c3
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/cbrt.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/cbrt.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/cbrt_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/cbrt_test.cpp

  Log Message:
  -----------
  [libc][math] Implement double precision cbrt correctly rounded to all rounding modes. (#99262)

Division-less Newton iterations algorithm for cube roots.

1. **Range reduction**

For `x = (-1)^s * 2^e * (1.m)`, we get 2 reduced arguments `x_r` and `a`
as:
```
  x_r = 1.m
  a   = (-1)^s * 2^(e % 3) * (1.m)
```
Then `cbrt(x) = x^(1/3)` can be computed as:
```
  x^(1/3) = 2^(e / 3) * a^(1/3).
```

In order to avoid division, we compute `a^(-2/3)` using Newton method
and then
multiply the results by a:
```
  a^(1/3) = a * a^(-2/3).
```

2. **First approximation to a^(-2/3)**

First, we use a degree-7 minimax polynomial generated by Sollya to
approximate `x_r^(-2/3)` for `1 <= x_r < 2`.
```
  p = P(x_r) ~ x_r^(-2/3),
```
with relative errors bounded by:
```
  | p / x_r^(-2/3) - 1 | < 1.16 * 2^-21.
```

Then we multiply with `2^(e % 3)` from a small lookup table to get:
```
  x_0 = 2^(-2*(e % 3)/3) * p
      ~ 2^(-2*(e % 3)/3) * x_r^(-2/3)
      = a^(-2/3)
```
with relative errors:
```
  | x_0 / a^(-2/3) - 1 | < 1.16 * 2^-21.
```
This step is done in double precision.

3. **First Newton iteration**

We follow the method described in:
Sibidanov, A. and Zimmermann, P., "Correctly rounded cubic root
evaluation
in double precision", https://core-math.gitlabpages.inria.fr/cbrt64.pdf
to derive multiplicative Newton iterations as below:
Let `x_n` be the nth approximation to `a^(-2/3)`. Define the n^th error
as:
```
  h_n = x_n^3 * a^2 - 1
```
Then:
```
  a^(-2/3) = x_n / (1 + h_n)^(1/3)
           = x_n * (1 - (1/3) * h_n + (2/9) * h_n^2 - (14/81) * h_n^3 + ...)
```
using the Taylor series expansion of `(1 + h_n)^(-1/3)`.

Apply to `x_0` above:
```
  h_0 = x_0^3 * a^2 - 1
      = a^2 * (x_0 - a^(-2/3)) * (x_0^2 + x_0 * a^(-2/3) + a^(-4/3)),
```
it's bounded by:
```
  |h_0| < 4 * 3 * 1.16 * 2^-21 * 4 < 2^-17.
```
So in the first iteration step, we use:
```
  x_1 = x_0 * (1 - (1/3) * h_n + (2/9) * h_n^2 - (14/81) * h_n^3)
```
Its relative error is bounded by:
```
  | x_1 / a^(-2/3) - 1 | < 35/242 * |h_0|^4 < 2^-70.
```
Then we perform Ziv's rounding test and check if the answer is exact.
This step is done in double-double precision.

4. **Second Newton iteration**

If the Ziv's rounding test from the previous step fails, we define the
error
term:
```
  h_1 = x_1^3 * a^2 - 1,
```
And perform another iteration:
```
  x_2 = x_1 * (1 - h_1 / 3)
```
with the relative errors exceed the precision of double-double.
We then check the Ziv's accuracy test with relative errors < 2^-102 to
compensate for rounding errors.

5. **Final iteration**
 
If the Ziv's accuracy test from the previous step fails, we perform
another
iteration in 128-bit precision and check for exact outputs.


  Commit: ac1d5facf60c6e83418f8ab9d3fdfb1a8004d4aa
      https://github.com/llvm/llvm-project/commit/ac1d5facf60c6e83418f8ab9d3fdfb1a8004d4aa
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libc/src/math/generic/cbrt.cpp

  Log Message:
  -----------
  [libc][math] Remove constexpr quantifier from cbrt's utility functions. (#99349)

Fix full build failures:
https://lab.llvm.org/buildbot/#/builders/131/builds/2342


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
    M libc/test/src/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add missing -latomic for rv32 (#99337)

On rv32, libatomic is needed to build libc when mpfr and gmp are enabled.


  Commit: a10570ba91050a394ca7766a6d1386dc17f8acc6
      https://github.com/llvm/llvm-project/commit/a10570ba91050a394ca7766a6d1386dc17f8acc6
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/MC/MachObjectWriter.cpp
    A llvm/test/MC/MachO/section-offset-overflow.s

  Log Message:
  -----------
  [MachO] Detect overflow in section offset. (#98685)

The section offset field is only 32 bits; if the computed section offset
is larger, make sure we don't emit a corrupt object file.


  Commit: 2d42f840a2f08ce9635bafe56b2817d8b5099d06
      https://github.com/llvm/llvm-project/commit/2d42f840a2f08ce9635bafe56b2817d8b5099d06
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/MC/MCAsmStreamer.cpp
    A llvm/test/CodeGen/X86/global-with-max-align.ll

  Log Message:
  -----------
  [MC] Fix emission in asm of alignment 2^32. (#98688)

The alignment amount was getting corrupted due to accidental truncation.


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

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir

  Log Message:
  -----------
  [mlir][Tensor] Add pattern to fold concats of empty. (#98994)

A concatenation of empty tensors can be replaced by a single empty
tensor of the concatenated shape. Add this pattern to
`populateFoldTensorEmptyPatterns`.


  Commit: c736ca85c38ce9c30a2286382d8023604f34f9e8
      https://github.com/llvm/llvm-project/commit/c736ca85c38ce9c30a2286382d8023604f34f9e8
  Author: matthew-f <551862+matthew-f at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [clang-tidy] Ensure functions are anchored in the global namespace (#99084)

The regular expressions match functions that aren't anchored in the
global namespace. For example `::connect` matches `QObject::connect`
This change is to remove these false positives


  Commit: 86ef699060394c82dcda7e86ff70d8cabeabcc2a
      https://github.com/llvm/llvm-project/commit/86ef699060394c82dcda7e86ff70d8cabeabcc2a
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] progressive progress reporting for darwin kernel/firmware (#98845)

When doing firmware/kernel debugging, it is frequent that binaries and
debug info need to be retrieved / downloaded, and the lack of progress
reports made for a poor experience, with lldb seemingly hung while
downloading things over the network. This PR adds progress reports to
the critical sites for these use cases.


  Commit: c7b08ac01fa98db7c9ec7c3bbe9784c2d20f91e9
      https://github.com/llvm/llvm-project/commit/c7b08ac01fa98db7c9ec7c3bbe9784c2d20f91e9
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M lld/test/MachO/implicit-and-allowable-clients.test

  Log Message:
  -----------
  [lld-macho][test] Require "shell" feature for usage of `ln -s` (#99355)

The use of `ln -s` is not guaranteed to be supported on Windows.


  Commit: 6867e49fc80c8468f9a5a8376ce7d3b89fd4fb51
      https://github.com/llvm/llvm-project/commit/6867e49fc80c8468f9a5a8376ce7d3b89fd4fb51
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-07-17 (Wed, 17 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/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    A 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
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/lib/Conversion/CMakeLists.txt
    A mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][spirv] Implement vector type legalization for function signatures (#98337)

### Description
This PR implements a minimal version of function signature conversion to
unroll vectors into 1D and with a size supported by SPIR-V (2, 3 or 4
depending on the original dimension). This PR also includes new unit
tests that only check for function signature conversion.

### Future Plans
- Check for capabilities that support vectors of size 8 or 16.
- Set up `OneToNTypeConversion` and `DialectConversion` to replace the
current implementation that uses `GreedyPatternRewriteDriver`.
- Introduce other vector unrolling patterns to cancel out the
`vector.insert_strided_slice` and `vector.extract_strided_slice` ops and
fully legalize the vector types in the function body.
- Handle `func::CallOp` and declarations.
- Restructure the code in `SPIRVConversion.cpp`.
- Create test passes for testing sets of patterns in isolation.
- Optimize the way original shape is splitted into target shapes, e.g.
`vector<5xi32>` can be splitted into `vector<4xi32>` and
`vector<1xi32>`.

---------

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


  Commit: d748dab6010dfd4ddf63cd59c0a89487824aa038
      https://github.com/llvm/llvm-project/commit/d748dab6010dfd4ddf63cd59c0a89487824aa038
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port #98653 (#99356)


  Commit: 963e25ae60f43ea77b686bd506171ee7482f044a
      https://github.com/llvm/llvm-project/commit/963e25ae60f43ea77b686bd506171ee7482f044a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libcxx/include/__type_traits/add_pointer.h

  Log Message:
  -----------
  [libc++][NFC] Remove a few unused includes (#98808)


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

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/benchmarks/CMakeLists.txt
    M libcxx/benchmarks/lit.cfg.py
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/TestingLibcxx.rst

  Log Message:
  -----------
  [libc++] Remove special handling of the native C++ library in benchmarks (#98529)

There were some ad-hoc settings that allowed running the benchmarks
against the native C++ Standard Library. While this ability is very
useful, it was done before the test suite was quite independent of
libc++ itself. Instead, it is better to streamline running the
benchmarks on the native standard library by using a custom Lit
configuration like we do with the test suite.

A follow-up patch will rework the integration of benchmarks with the Lit
configuration used for the test suite so that we can reuse the same
mechanism for both, making it easy to benchmark the native standard
library.

It will also make benchmarks way more user-friendly to run since we will
be able to run them like we run individual tests, which is a pain point
right now.


  Commit: 18cdfa72e046a40deeee4372ee98602fd1a65a94
      https://github.com/llvm/llvm-project/commit/18cdfa72e046a40deeee4372ee98602fd1a65a94
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-renaming-recursive.prof
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-renaming.prof
    M llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming-recursive.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll

  Log Message:
  -----------
  [SampleFDO] Stale profile call-graph matching (#95135)

Profile staleness could be due to function renaming. Given that sample
profile loader relies on exact string matching, a trivial change in the
function signature( such as `int foo()` --> `long foo()` ) can make the
mangled name different, the function profile(including all nested
children profile) becomes unavailable.

This patch introduces stale profile call-graph level matching, targeting
at identifying the trivial function renaming and reusing the old
function profile.

Some noteworthy details:

1. Extend the LCS based CFG level matching to identify new function. 
- Extend to match function and profile have different name instead of
the exact function name matching. This leverages LCS, i.e during the
finding of callsite anchor matching, when two function name are
different, try matching the functions instead of return.
- In LCS, the equal function check is replaced by
`functionMatchesProfile`.
- Only try matching functions that are new functions(neither appears on
each side). This reduces the matching scope as we don't need to match
the originally matched function.
2.  Determine the matching by call-site anchor similarity check.
- A new function `functionMatchesProfile(IRFunc, ProfFunc)` is used to
check the renaming for the possible <IRFunc, ProfFunc> pair, use the
LCS(diff) matching to compute the equal set and we define: `Similarity =
|equalSet * 2| / (|A| + |B|)`. The profile name is marked as renamed if
the similarity is above a
threshold(`-func-profile-similarity-threshold`)

3.  Process the matching in top-down function order 
- when a caller's is done matching, the new function names are saved for
later use, using top-down order will maximize the reused results.
- `ProfileNameToFuncMap` is used to save or cache the matching result.
4. Update the original profile at the end using `ProfileNameToFuncMap`.

5. Added a new switch --salvage-unused-profile to control this, default
is false.

Verified on one Meta's internal big service, confirmed 90%+ of the found
renaming pair is good. (There could be incorrect renaming pair if the
num of the anchor is small, but checked that those functions are simple
cold function)


  Commit: 0bb68b55715487447ffceaa1ab59f7a0bc8c7979
      https://github.com/llvm/llvm-project/commit/0bb68b55715487447ffceaa1ab59f7a0bc8c7979
  Author: Doug Wyatt <doug at sonosphere.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  Performance optimizations for function effects (nonblocking attribute etc.) (#96844)

- Put new FunctionProtoType trailing objects last.
- Inline FunctionEffectsRef::get()
- Manually inline FunctionEffectsRef::Profile().

---------

Co-authored-by: Doug Wyatt <dwyatt at apple.com>


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

  Changed paths:
    M lld/ELF/LinkerScript.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ReleaseNotes.rst
    A lld/test/ELF/linkerscript/nocrossrefs.test

  Log Message:
  -----------
  [ELF] Support NOCROSSREFS and NOCROSSERFS_TO

Implement the two commands described by
https://sourceware.org/binutils/docs/ld/Miscellaneous-Commands.html

After `outputSections` is available, check each output section described
by at least one `NOCROSSREFS`/`NOCROSSERFS_TO` command. For each checked
output section, scan relocations from its input sections.
This step is slow, therefore utilize `parallelForEach(isd->sections, ...)`.

To support non SHF_ALLOC sections, `InputSectionBase::relocations`
(empty) cannot be used. In addition, we may explore eliminating this
member to speed up relocation scanning.

Some parse code is adapted from #95714.

Close #41825

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


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

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/main.cpp

  Log Message:
  -----------
  [lldb][test] Fix simulator test for std::unique_ptr (#99357)

libcxx-simulators/unique_ptr/main.cpp uses __builtin_printf, that
maps to printf on Windows. Include stdio.h to avoid linker errors
on Windows.
See https://lab.llvm.org/buildbot/#/builders/141/builds/853


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

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

  Log Message:
  -----------
  [CMake][Fuchsia] Include new/delete in baremetal targets (#99279)

These don't include libcxxabi yet so we need new/delete in libcxx.


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

  Changed paths:
    M llvm/lib/Target/ARC/ARCISelLowering.cpp
    M llvm/lib/Target/CSKY/CSKYISelLowering.cpp

  Log Message:
  -----------
  [ARC,CSKY] Update getMemcpy after #98969


  Commit: 321a0c00425adeab84bce657cac85ae4634df910
      https://github.com/llvm/llvm-project/commit/321a0c00425adeab84bce657cac85ae4634df910
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/Stmt.h
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/test/CodeGen/pragma-cx-limited-range.c

  Log Message:
  -----------
  The pragma STDC CX_LIMITED_RANGE ON should have precedence. (#98520)

The `pragma STDC CX_LIMITED_RANGE` should have precedence over the
command line `-fcomplex-arithmetic`.


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

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

  Log Message:
  -----------
  [SandboxIR][NFC] Add some comments (#99359)


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll

  Log Message:
  -----------
  [instcombine] Improve coverage for reductions of i1 types

In advance of an upcoming change to generalize some of this to scalable
vector types.


  Commit: ead486ca61ab06d46aa4b30c91d1f40e5e5e43e5
      https://github.com/llvm/llvm-project/commit/ead486ca61ab06d46aa4b30c91d1f40e5e5e43e5
  Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [ClangLinkerWrapper] Fix intermediate file naming for multi-arch compilation (#99325)

When save-temps is enabled and the given offload-archs differ
only in target features with the same arch, the intermediate
postlink.bc and postopt.bc files were getting overwritten. This
fix, suffixes the intermediate file names with the complete
TargetID.

E.g. `helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postlink.bc`
and `helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postopt.bc`


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

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

  Log Message:
  -----------
  [CMake][Fuchsia] Install libc++ for baremetal targets (#99372)

We already build the library and want to install it also.


  Commit: 194f98c2210bf40d0490613fddbf83e04c18ad9b
      https://github.com/llvm/llvm-project/commit/194f98c2210bf40d0490613fddbf83e04c18ad9b
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libcxx/cmake/caches/AIX.cmake
    M libcxx/cmake/caches/s390x-ibm-zos-ascii.cmake
    M libcxx/cmake/caches/s390x-ibm-zos.cmake
    M libcxx/include/__configuration/abi.h
    M libcxx/include/ios
    A libcxx/test/std/input.output/iostream.format/std.manip/setfill_wchar_max.pass.cpp

  Log Message:
  -----------
  [libc++] basic_ios<wchar_t> cannot store fill character WCHAR_MAX (#89305)

`libcxx std::basic_ios` uses `WEOF` to indicate the `fill` value is
uninitialized. On some platforms (e.g AIX and zOS in 64-bit mode)
`wchar_t` is 4 bytes `unsigned` and `wint_t` is also 4 bytes which means
`WEOF` cannot be distinguished from `WCHAR_MAX` by
`std::char_traits<wchar_t>::eq_int_type()`, meaning this valid character
value cannot be stored on affected platforms (as the implementation
triggers reinitialization to `widen(’ ’)`).

This patch introduces a new helper class `_FillHelper` uses a boolean
variable to indicate whether the fill character has been initialized,
which is used by default in libcxx ABI version 2. The patch does not
affect ABI version 1 except for targets AIX in 32- and 64-bit and z/OS
in 64-bit (so that the layout of the implementation is compatible with
the current IBM system provided libc++)

This is a continuation of Phabricator patch
[D124555](https://reviews.llvm.org/D124555). This patch uses a modified
version of the [approach](https://reviews.llvm.org/D124555#3566746)
suggested by @ldionne .

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Co-authored-by: David Tenty <daltenty.dev at gmail.com>


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

  Changed paths:
    M utils/bazel/README.md

  Log Message:
  -----------
  [bazel][docs] Update build documentation (#99339)

This PR updates the Quick Start section to provide more detailed build
instructions.


  Commit: 21e6777957457451196084cd48ebc42bce9619f0
      https://github.com/llvm/llvm-project/commit/21e6777957457451196084cd48ebc42bce9619f0
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M mlir/include/mlir/CAPI/Rewrite.h

  Log Message:
  -----------
  [mlir][NFC] Add rewrite header to fix standalone header compile (#99370)

This uses `MlirRewriterBase` from from `mlir-c/Rewrite.h` without
including it.


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

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

  Log Message:
  -----------
  [msan] Precommit MSan Arm NEON vst tests (#98247)

These tests show that MSan currently does not handle vst (or vld)
correctly.


  Commit: 51122fb4469b56b207bcae0c39182f961e4276fd
      https://github.com/llvm/llvm-project/commit/51122fb4469b56b207bcae0c39182f961e4276fd
  Author: Vladislav Khmelevsky <och95 at yandex.ru>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [BOLT][NFC] Fix build (#99361)

On clang 14 the build is failing with:
reference to local binding 'ParentName' declared in enclosing function
'llvm::bolt::RewriteInstance::registerFragments'


  Commit: a51f343b433120e45f186e5507e8a522d4d7192f
      https://github.com/llvm/llvm-project/commit/a51f343b433120e45f186e5507e8a522d4d7192f
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.mir
    A llvm/test/CodeGen/X86/udiv-exact.ll

  Log Message:
  -----------
  [CodeGen] Emit more efficient magic numbers for exact udivs (#87161)

Have simpler lowering for exact udivs in both SelectionDAG and
GlobalISel.

The algorithm is the same between unsigned exact divs and signed divs
save for arithmetic vs logical shift for even divisors, according to
Hacker's Delight, 2nd Edition, page 242.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrol.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/vrol-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vror-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll

  Log Message:
  -----------
  [RISCV] Teach fillUpExtensionSupportForSplat to handle nxvXi64 VMV_V_X_VL on RV32. (#99251)

A nxvXi64 VMV_V_X_VL on RV32 sign extends its 32 bit input to 64 bits.
If that input is positive, the sign extend can also be considered as a
zero extend.


  Commit: b5e4d323badbd24324bfab4366b670977b16df07
      https://github.com/llvm/llvm-project/commit/b5e4d323badbd24324bfab4366b670977b16df07
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Add MathToROCDL to fix layering check (#99377)


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

  Changed paths:
    M compiler-rt/www/index.html

  Log Message:
  -----------
  [compiler-rt][www] Update standalone build instruction (#98707)

Follow up to #71500


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

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    A llvm/test/CodeGen/RISCV/sink-and-fold-crash.mir

  Log Message:
  -----------
  [MachineSink][RISCV] Only call isConstantPhysReg or isIgnorableUse for uses. (#99363)

The included test case contains X0 as a def register. X0 is considered a
constant register when it is a use. When its a def, it means to throw
away the result value.

If we treat it as a constant register here, we will execute the continue
and not assign `DefReg` to any register. This will cause a crash when
trying to get the register class for `DefReg` after the loop.

By only checking isConstantPhysReg for uses, we will reach the `return
false` a little further down and stop processing this instruction.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp
    M llvm/lib/Target/AMDGPU/R600ISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  [AMDGPU] clang-tidy: no else after return etc. NFC. (#99298)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll

  Log Message:
  -----------
  [LV] Allow re-processing of operands of instrs feeding interleave group

Follow up to d216615518 to update dead interleave group pointer detection
to allow re-processing of operands of instructions determined to only feed
interleave groups.

This is needed because instructions feeding interleave group pointers
can become dead in any order, as per the newly added test case.


  Commit: a742693f6104055ec026852a70a68275fb82f7a0
      https://github.com/llvm/llvm-project/commit/a742693f6104055ec026852a70a68275fb82f7a0
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [ctx_prof] Add missing test for `PGOContextualProfile::getContainedGuids`


  Commit: 33cb29cc3e38990173688aee353d6cbeeb187728
      https://github.com/llvm/llvm-project/commit/33cb29cc3e38990173688aee353d6cbeeb187728
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Use cuf.alloc/cuf.free for local descriptor  (#98518)

Local descriptor for cuda allocatable need to be handled on host and
device. One solution is to duplicate the descriptor (one on the host and
one on the device) and keep them in sync or have the descriptor in
managed/unified memory so we don't to take care of any sync.
The second solution is probably the one we will implement. In order to
have more flexibility on how descriptor representing cuda allocatable
are allocated, this patch updates the lowering to use the cuf operations
alloc and free to managed them.


  Commit: fffe2728534a238ff0024e11a18280f85094dcde
      https://github.com/llvm/llvm-project/commit/fffe2728534a238ff0024e11a18280f85094dcde
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [ADT] Make set_subtract more efficient when subtrahend is larger (NFC) (#98702)

If the subtrahend is larger, iterate the minuend set instead.

Noticed when subtracting a large set from a number of other smaller
sets for an upcoming MemProf change, this change makes that much faster.

I subsequently found a couple of callsites in one file that were calling
set_subtract with a vector subtrahend, which doesn't have the "count()"
interface. Add a separate helper for subtracting a vector.


  Commit: 306196349f7e7a92156ca733f876d503049696e7
      https://github.com/llvm/llvm-project/commit/306196349f7e7a92156ca733f876d503049696e7
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  Revert "[ADT] Make set_subtract more efficient when subtrahend is larger (NFC)" (#99386)

Reverts llvm/llvm-project#98702

This broke some mlir code and needs investigation.


  Commit: 1ecffdaf27cb456aecc5a1c0272d3994d26bf645
      https://github.com/llvm/llvm-project/commit/1ecffdaf27cb456aecc5a1c0272d3994d26bf645
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/Main.cpp
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp

  Log Message:
  -----------
  [libc] Add Kernel Resource Usage to nvptx-loader (#97503)

This PR allows `nvptx-loader` to read the resource usage of `_start`,
`_begin`, and `_end` when executing CUDA binaries.

Example output:
```
$ nvptx-loader --print-resource-usage libc/benchmarks/gpu/src/ctype/libc.benchmarks.gpu.src.ctype.isalnum_benchmark.__build__
[ RUN      ] LlvmLibcIsAlNumGpuBenchmark.IsAlnumWrapper
[       OK ] LlvmLibcIsAlNumGpuBenchmark.IsAlnumWrapper: 93 cycles, 76 min, 470 max, 23 iterations, 78000 ns, 80 stddev
_begin registers: 25
_start registers: 80
_end registers: 62
  ```

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 82b800ecb35fb46881aa52000fa40b1b99aa654e
      https://github.com/llvm/llvm-project/commit/82b800ecb35fb46881aa52000fa40b1b99aa654e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Limit number of the external uses analysis, NFC.

BoUpSLP::buildExternalUses runs through all the users of the vectorized
scalars, which may require significant amount of time, if there are too
many users. Limited the analysis, if there are too many users, all of
them are replaced, not individually.


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

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  [libc] Fix wrong printf usage in AMDGPU loader


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll

  Log Message:
  -----------
  [instcombine] Extend logical reduction canonicalization to scalable vectors (#99366)

These transformations do not depend on the type being fixed in size, so
enable them for scalable vectors too. Unlike for fixed vectors, these
are only a canonicalization - the bitcast lowering for and/or/add is not
legal on a scalable vector type.


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

  Changed paths:
    M compiler-rt/lib/scudo/standalone/string_utils.h
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/vector.h

  Log Message:
  -----------
  [scudo] Add static vector functionality. (#98986)

The scudo vector implementation maintains static local data before 
switching to dynamically allocated data as the array size grows.
Users of the vector must now specify the size of the static local data 
through the vector template (the default size has been removed). 
If 0 is specified for the size of the static local data, an assertion
will
be triggered.


  Commit: 07f8a65d09608d67bfd6adbd62bb0999c7363456
      https://github.com/llvm/llvm-project/commit/07f8a65d09608d67bfd6adbd62bb0999c7363456
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
    A clang/test/CodeGenCXX/ptrauth-throw.cpp

  Log Message:
  -----------
  [clang] Ensure pointers passed to runtime support functions are correctly signed (#98276)

Updates codegen for global destructors and raising exceptions to ensure
that the function pointers being passed are signed using the correct
schema.

Notably this requires that CodeGenFunction::createAtExitStub to return
an opaque Constant* rather than a Function* as the value being emitted
is no longer necessarily a raw function pointer depending on the
configured ABI.

Co-Authored-By: Akira Hatanaka <ahatanaka at apple.com>
Co-Authored-By: John McCall <rjmccall at apple.com>


  Commit: 7647174738bf1b8e58c854c488183a849403d5db
      https://github.com/llvm/llvm-project/commit/7647174738bf1b8e58c854c488183a849403d5db
  Author: David Truby <david.truby at arm.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/test/Driver/linker-flags.f90

  Log Message:
  -----------
  [flang] Add -rtlib flag (#99058)

This patch allows the -rtlib flag with flang-new to select between the
libgcc_s and compiler-rt runtimes. The behaviour is identical to the
same flag with clang.


  Commit: 83251a22f623df8d27b6184d19b24c18d314f2bd
      https://github.com/llvm/llvm-project/commit/83251a22f623df8d27b6184d19b24c18d314f2bd
  Author: Scallop Ye <yescallop at gmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerFork.cpp

  Log Message:
  -----------
  [libFuzzer] Fix incorrect coverage number in fork mode (#82335)

Closes #82307.

I built LLVM with the changes and tested fuzzing in fork mode. The
coverage number was correct:
```
[ye at ye-arch ~]$ /home/ye/work/llvm-project/build/bin/clang++ -fsanitize=fuzzer test_fuzzer.cc
[ye at ye-arch ~]$ ./a.out corpus -fork=4
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 3152497917
INFO: Loaded 1 modules   (40 inline 8-bit counters): 40 [0x5aa6f7b310d0, 0x5aa6f7b310f8), 
INFO: Loaded 1 PC tables (40 PCs): 40 [0x5aa6f7b310f8,0x5aa6f7b31378), 
INFO: -fork=4: fuzzing in separate process(s)
INFO: -fork=4: 56 seed inputs, starting to fuzz in /tmp/libFuzzerTemp.FuzzWithFork54465.dir
#600649: cov: 36 ft: 224 corp: 56 exec/s: 300324 oom/timeout/crash: 0/0/0 time: 2s job: 1 dft_time: 0
#1548208: cov: 36 ft: 224 corp: 56 exec/s: 315853 oom/timeout/crash: 0/0/0 time: 3s job: 2 dft_time: 0
#2465991: cov: 36 ft: 224 corp: 56 exec/s: 229445 oom/timeout/crash: 0/0/0 time: 4s job: 3 dft_time: 0
#3887877: cov: 36 ft: 224 corp: 56 exec/s: 284377 oom/timeout/crash: 0/0/0 time: 5s job: 4 dft_time: 0
```


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/attr-weak.c
    M clang/test/SemaCXX/attr-weak.cpp

  Log Message:
  -----------
  [Sema] Don't drop weak_import from a declaration if its definition isn't seen (#85886)

I believe this is what the original commit (33e022650adee965c65f9aea086ee74f3fd1bad5) was trying to do.

This fixes a bug where clang removes the attribute from a declaration that follows a declaration directly contained in a linkage-specification.

rdar://61865848


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

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/include/CMakeLists.txt
    M libc/newhdrgen/class_implementation/classes/function.py
    M libc/newhdrgen/header.py

  Log Message:
  -----------
  [libc] newheadergen: configured cmake (#98828)

- all headers in the build system are generated by newheadergen
- tested on gpu-build

---------

Co-authored-by: Rose Zhang <rosezhang at google.com>


  Commit: 9ce5b38dc32a5f023e9824afe246978130b9080e
      https://github.com/llvm/llvm-project/commit/9ce5b38dc32a5f023e9824afe246978130b9080e
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libc/config/linux/x86_64/headers.txt
    A libc/newhdrgen/yaml/arpa/arpa_inet.yaml
    R libc/newhdrgen/yaml/arpa_inet.yaml
    M libc/newhdrgen/yaml/assert.yaml
    A libc/newhdrgen/yaml/gpu/gpu_rpc.yaml
    M libc/newhdrgen/yaml/math.yaml
    M libc/newhdrgen/yaml/pthread.yaml
    R libc/newhdrgen/yaml/rpc.yaml
    M libc/newhdrgen/yaml/search.yaml
    M libc/newhdrgen/yaml/sys/sys_time.yaml
    M libc/newhdrgen/yaml/wchar.yaml

  Log Message:
  -----------
  [libc] final edits to newheadergen yaml files (#98983)

- final run of integration tests to deal with incorrect YAML input
(finished sys headers, will finish the rest today)
- add any new functions made in recent PRs


  Commit: e0f3484874964ed749355d5a652e876efe3a05de
      https://github.com/llvm/llvm-project/commit/e0f3484874964ed749355d5a652e876efe3a05de
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M .git-blame-ignore-revs

  Log Message:
  -----------
  [lldb][nfc] add an nfc entry to the .git-blame-ignore-revs.


  Commit: 90cbb1ec4ff9c687f7ebca505845388655ed5582
      https://github.com/llvm/llvm-project/commit/90cbb1ec4ff9c687f7ebca505845388655ed5582
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libc/config/linux/x86_64/headers.txt

  Log Message:
  -----------
  [libc] Temporarily disable statvfs header (#99405)

The statfvs header was not generating for a while. Patch #98983 added it
to the list of headers, but it's apparently broken right now so this
patch comments it out until it can be fixed.


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

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] newheadergen: cmakelist file changes (#99404)


  Commit: d772cdd6279de1e578dfdfca7432327a1806c659
      https://github.com/llvm/llvm-project/commit/d772cdd6279de1e578dfdfca7432327a1806c659
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [ADT] Make set_subtract more efficient when subtrahend is larger (NFC) (#99401)

This patch is based on:

  commit fffe2728534a238ff0024e11a18280f85094dcde
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   Wed Jul 17 13:53:10 2024 -0700

This iteration comes with a couple of improvements:

- We now accommodate S2Ty being SmallPtrSet, which has remove_if(pred)
  but not erase(iterator).  (Lack of this code path broke the mlir
  build.)

- The code path for erase(iterator) now pre-increments the iterator to
  avoid problems with iterator invalidation.


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

  Changed paths:
    M libc/newhdrgen/yaml/wchar.yaml

  Log Message:
  -----------
  [libc] newheadergen: removing extra .h (#99408)


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

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] newheadergen: quick fix to fuchsia build (#99410)


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

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libc] newheadergen: quick fix to fuchsia build" (#99412)

Reverts llvm/llvm-project#99410


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

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libc] newheadergen: cmakelist file changes" (#99413)

Reverts llvm/llvm-project#99404


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

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/include/CMakeLists.txt
    M libc/newhdrgen/class_implementation/classes/function.py
    M libc/newhdrgen/header.py

  Log Message:
  -----------
  Revert "[libc] newheadergen: configured cmake" (#99414)

Reverts llvm/llvm-project#98828


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

  Changed paths:
    M compiler-rt/test/fuzzer/lit.cfg.py

  Log Message:
  -----------
  [NFC][fuzzer] Remove unhelpful lit notes

They are not actionable.


  Commit: 888b130bdfd98bda71e14fb10893113cbbd15733
      https://github.com/llvm/llvm-project/commit/888b130bdfd98bda71e14fb10893113cbbd15733
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M lld/wasm/Options.td

  Log Message:
  -----------
  [lld][WebAssembly] Consolidate --fatal-warnings and --no-fatal-warnings options. NFC (#99374)

Also document defaults for boolean options.

See https://reviews.llvm.org/D42859


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

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/andn-icmp.ll

  Log Message:
  -----------
  [LoongArch] Remove spurious mask operations from andn->icmp on 16 and 8 bit values (#99272)


  Commit: fe6c24000f2d7316899d4ec4c12273892326ed47
      https://github.com/llvm/llvm-project/commit/fe6c24000f2d7316899d4ec4c12273892326ed47
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/Compiler.h
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    A clang-tools-extra/clangd/ModulesBuilder.cpp
    A clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    A clang-tools-extra/clangd/ProjectModules.h
    A clang-tools-extra/clangd/ScanningProjectModules.cpp
    A clang-tools-extra/clangd/ScanningProjectModules.h
    M clang-tools-extra/clangd/test/CMakeLists.txt
    A clang-tools-extra/clangd/test/modules.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    A clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/TestFS.h
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (#66462)

Alternatives to https://reviews.llvm.org/D153114.

Try to address https://github.com/clangd/clangd/issues/1293.

See the links for design ideas and the consensus so far. We want to have
some initial support in clang18.

This is the initial support for C++20 Modules in clangd.
As suggested by sammccall in https://reviews.llvm.org/D153114,
we should minimize the scope of the initial patch to make it easier
 to review and understand so that every one are in the same page:

> Don't attempt any cross-file or cross-version coordination: i.e. don't
    > try to reuse BMIs between different files, don't try to reuse BMIs
> between (preamble) reparses of the same file, don't try to persist the
> module graph. Instead, when building a preamble, synchronously scan
> for the module graph, build the required PCMs on the single preamble
> thread with filenames private to that preamble, and then proceed to
    > build the preamble.

This patch reflects the above opinions.

# Testing in real-world project

I tested this with a modularized library:
https://github.com/alibaba/async_simple/tree/CXX20Modules. This library
has 3 modules (async_simple, std and asio) and 65 module units. (Note
that a module consists of multiple module units). Both `std` module and
`asio` module have 100k+ lines of code (maybe more, I didn't count). And
async_simple itself has 8k lines of code. This is the scale of the
project.

The result shows that it works pretty well, ..., well, except I need to
wait roughly 10s after opening/editing any file. And this falls in our
expectations. We know it is hard to make it perfect in the first move.

# What this patch does in detail

- Introduced an option `--experimental-modules-support` for the support
for C++20 Modules. So that no matter how bad this is, it wouldn't affect
current users. Following off the page, we'll assume the option is
enabled.
- Introduced two classes `ModuleFilesInfo` and
`ModuleDependencyScanner`. Now `ModuleDependencyScanner` is only used by
`ModuleFilesInfo`.
- The class `ModuleFilesInfo` records the built module files for
specific single source file. The module files can only be built by the
static member function `ModuleFilesInfo::buildModuleFilesInfoFor(PathRef
File, ...)`.
- The class `PreambleData` adds a new member variable with type
`ModuleFilesInfo`. This refers to the needed module files for the
current file. It means the module files info is part of the preamble,
which is suggested in the first patch too.
- In `isPreambleCompatible()`, we add a call to
`ModuleFilesInfo::CanReuse()` to check if the built module files are
still up to date.
- When we build the AST for a source file, we will load the built module
files from ModuleFilesInfo.

# What we need to do next

Let's split the TODOs into clang part and clangd part to make things
more clear.

The TODOs in the clangd part include:
1. Enable reusing module files across source files. The may require us
to bring a ModulesManager like thing which need to handle `scheduling`,
`the possibility of BMI version conflicts` and `various events that can
invalidate the module graph`.
2. Get a more efficient method to get the `<module-name> ->
<module-unit-source>` map. Currently we always scan the whole project
during `ModuleFilesInfo::buildModuleFilesInfoFor(PathRef File, ...)`.
This is clearly inefficient even if the scanning process is pretty fast.
I think the potential solutions include:
- Make a global scanner to monitor the state of every source file like I
did in the first patch. The pain point is that we need to take care of
the data races.
- Ask the build systems to provide the map just like we ask them to
provide the compilation database.
3. Persist the module files. So that we can reuse module files across
clangd invocations or even across clangd instances.

TODOs in the clang part include:
1. Clang should offer an option/mode to skip writing/reading the bodies
of the functions. Or even if we can requrie the parser to skip parsing
the function bodies.

And it looks like we can say the support for C++20 Modules is initially
workable after we made (1) and (2) (or even without (2)).


  Commit: 3e47f6ba4a2aae7a8414dfeafa21d8d79e806c43
      https://github.com/llvm/llvm-project/commit/3e47f6ba4a2aae7a8414dfeafa21d8d79e806c43
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  Rapply "[Target] Use range-based for loops (NFC) (#98844)"

This iteration drops hunks where the loop body adds more elements.


  Commit: ad154281230d83ee551e12d5be48bb956ef47ed3
      https://github.com/llvm/llvm-project/commit/ad154281230d83ee551e12d5be48bb956ef47ed3
  Author: David Tenty <daltenty at ibm.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M libcxx/test/std/input.output/iostream.format/std.manip/setfill_wchar_max.pass.cpp

  Log Message:
  -----------
  [NFC][libc++][test] loosen XFAIL condition for setfill_wchar_max.pass.cpp

So we can also match aarch64 triples which have four components instead of three when disabling the test, which the case on some buildbots.

Follow on to #89305


  Commit: edfe25064e13c9cabf1cf3398f7760bf0991ae3e
      https://github.com/llvm/llvm-project/commit/edfe25064e13c9cabf1cf3398f7760bf0991ae3e
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

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

  Log Message:
  -----------
  [MemProf] Consolidate increments in callee matching code (#99385)

To facilitate some follow on changes, consolidate the incrementing of
the edge iterator used during callee matching to the for loop statement.
This requires an additional adjustment in the case of tail call
handling.


  Commit: c184b94ff6546c8ba8ac54b5127189427567978f
      https://github.com/llvm/llvm-project/commit/c184b94ff6546c8ba8ac54b5127189427567978f
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [C++20] [Modules] Write ODRHash for decls in GMF

Previously, we skipped calculating ODRHash for decls in GMF when writing
them to .pcm files as an optimization. But actually, it is not
true that this will be a pure optimization. Whether or not it is
beneficial depends on the use cases. For example, if we're writing a
function `a` in module and there are 10 consumers of `a` in other TUs,
then the other TUs will pay for the cost to calculate the ODR hash for
`a` ten times. Then this optimization doesn't work. However, if all the
consumers of the module didn't touch `a`, then we can save the cost to
calculate the ODR hash of `a` for 1 times.

And the assumption to make it was: generally, the consumers of a module
may only consume a small part of the imported module. This is the reason
why we tried to load declarations, types and identifiers lazily. Then it
looks good to do the similar thing for calculating ODR hashs.

It works fine for a long time, until we started to look into the support
of modules in clangd. Then we meet multiple issue reports complaining
we're calculating ODR hash in the wrong place. To workaround these issue
reports, I decided to always write the ODRhash for decls in GMF. In my
local test, I only observed less than 1% compile time regression after
doing this. So it should be fine.


  Commit: 464d321ee8dde1eaf14b5537eaf030e6df513849
      https://github.com/llvm/llvm-project/commit/464d321ee8dde1eaf14b5537eaf030e6df513849
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    A flang/test/Transforms/stack-arrays-hlfir.f90
    M flang/test/Transforms/stack-arrays.fir

  Log Message:
  -----------
  [flang][stack-arrays] Extend pass to work on declare ops and within omp regions (#98810)

Extends the stack-arrays pass to support `fir.declare` ops. Before that,
we did not recognize malloc-free pairs for which `fir.declare` is used
to declare the allocated entity. This is because the `free` op was
invoked on the result of the `fir.declare` op and did not directly use
the allocated memory SSA value.

This also extends the pass to collect the analysis results within OpenMP
regions.


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

  Changed paths:
    M llvm/docs/SandboxIR.md
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    A llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/SandboxIR/Use.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/SandboxIR.cpp
    A llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/CMakeLists.txt
    A llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] IR Tracker (#99238)

This is the first patch in a series of patches for the IR change
tracking component of SandboxIR.
The tracker collects changes in a vector of `IRChangeBase` objects and
provides a `save()`/`accept()`/`revert()` API.

Each type of IR changing event is captured by a dedicated subclass of
`IRChangeBase`. This patch implements only one of them, that for
updating a `sandboxir::Use` source value, named `UseSet`.


  Commit: 27ee33d1368b9772f75285932c00479a0fae82ee
      https://github.com/llvm/llvm-project/commit/27ee33d1368b9772f75285932c00479a0fae82ee
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    A mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp

  Log Message:
  -----------
  [mlir][linalg] Decompose winograd operators (#96183)

Convert Linalg winograd_filter_transform, winograd_input_transform, and
winograd_output_transform into nested loops with matrix multiplication
with constant transform matrices.

Support several configurations of Winograd Conv2D, including F(2, 3),
F(4, 3) and F(2, 5). These configurations show that the implementation
can support different kernel size (3 and 5) and different output size
(2 and 4). Besides symetric kernel size 3x3 and 5x5, this patch also
supports 1x3, 3x1, 1x5, and 5x1 kernels.

The implementation is based on the paper, Fast Algorithm for
Convolutional Neural Networks. (https://arxiv.org/abs/1509.09308)

Reviewers: ftynse, Max191, GeorgeARM, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin

Reviewed By: ftynse, Max191

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


  Commit: 4782a4ab0ad43b2f47f20afbe025b841d7f0ac04
      https://github.com/llvm/llvm-project/commit/4782a4ab0ad43b2f47f20afbe025b841d7f0ac04
  Author: Joachim <jenke at itc.rwth-aachen.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/depend_iterator_bug.c
    M clang/test/OpenMP/task_codegen.c

  Log Message:
  -----------
  [OpenMP] Fix calculation of dependencies for multi-dimensional iteration space (#99347)

The expectation for multiple iterators used in a single depend clause
(`depend(iterator(i=0:5,j=0:5), in:x[i][j])`) is that the iterator space
is the product of the iteration vectors (25 in that case). The current
codeGen only works correctly, if `numIterators() = 1`. For more
iterators, the execution results in runtime assertions or segfaults.
The modified codeGen first calculates the iteration space, then
multiplies to the number of dependencies in the depend clause and
finally adds to the total number of iterator dependencies.


  Commit: 810adbaa0236eed10ecfd9f96837b6d23d308a7d
      https://github.com/llvm/llvm-project/commit/810adbaa0236eed10ecfd9f96837b6d23d308a7d
  Author: Tristan Ross <rosscomputerguy at protonmail.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h

  Log Message:
  -----------
  [RISCV] Remove unused include in RISCVMCTargetDesc.h (#98790)

Goes in hand with #97130, split out to figure out CI fails. Should just
build whatever subprojects utilize the `RISCVMCTargetDesc.h` header and
it should build & test just like normal.

Co-authored-by: pca006132 <john.lck40 at gmail.com>


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

  Changed paths:
    M clang/lib/AST/Interp/InterpBlock.cpp
    M clang/lib/AST/Interp/InterpState.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Be more cautious about Block initialization state

... when moving a Block to a DeadBlock. Only invoke the MoveFn if the
old block was initialized at all.


  Commit: 0e986e395f9cd759b859ba0c934c0d73de4554c8
      https://github.com/llvm/llvm-project/commit/0e986e395f9cd759b859ba0c934c0d73de4554c8
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/utils/mlgo-utils/pyproject.toml

  Log Message:
  -----------
  [MLGO] Fix MLGO executable scripts

The MLGO executable scripts were previously set up incorrectly with the
entrypoints. This patch corrects the entrypoints so that the scripts
work as expected rather than throwing import errors in the wrapper.


  Commit: 1e6672af2497042d5dad0236c2ad9e61f879ac07
      https://github.com/llvm/llvm-project/commit/1e6672af2497042d5dad0236c2ad9e61f879ac07
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/runtime/command.cpp

  Log Message:
  -----------
  [Flang][Runtime] Simplify StringLength implementation

This implementation relies on arithmetic conversion, let's see what
happens when we do

    std::size_t length{std::strlen(string)};
    if (length <= std::numeric_limits<std::int64_t>::max())
        return static_cast<std::int64_t>(length);

1) if size_t == uint32_t (or lower), then the comparison operator
   invokes integral promotion to uint64_t, the comparison happens, it's
   fine.

2) if size_t == uint64_t, then the comparison is done between unsigned
   types, which implies a conversion of
   std::numeric_limits<std::int64_t>::max() to uint64_t, which happens
   without accuracy loss, fine

3) if size_t == uint128_t (or higher), then we invoke integral promotion
   of std::int64_t, it's also fine.

So this snippet has the same behavior as the existing one, while being
easier to read.


  Commit: f36331770267501e157ac34afc3ca7d7a0bfb52c
      https://github.com/llvm/llvm-project/commit/f36331770267501e157ac34afc3ca7d7a0bfb52c
  Author: Alexander Pivovarov <pivovaa at amazon.com>
  Date:   2024-07-17 (Wed, 17 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/Stmt.h
    M clang/lib/AST/MicrosoftMangle.cpp
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat] Add support for f8E4M3 IEEE 754 type (#97179)

This PR adds `f8E4M3` type to APFloat.

`f8E4M3` type  follows IEEE 754 convention

```c
f8E4M3 (IEEE 754)
- Exponent bias: 7
- Maximum stored exponent value: 14 (binary 1110)
- Maximum unbiased exponent value: 14 - 7 = 7
- Minimum stored exponent value: 1 (binary 0001)
- Minimum unbiased exponent value: 1 − 7 = −6
- Precision specifies the total number of bits used for the significand (mantisa), 
    including implicit leading integer bit = 3 + 1 = 4
- Follows IEEE 754 conventions for representation of special values
- Has Positive and Negative zero
- Has Positive and Negative infinity
- Has NaNs

Additional details:
- Max exp (unbiased): 7
- Min exp (unbiased): -6
- Infinities (+/-): S.1111.000
- Zeros (+/-): S.0000.000
- NaNs: S.1111.{001, 010, 011, 100, 101, 110, 111}
- Max normal number: S.1110.111 = +/-2^(7) x (1 + 0.875) = +/-240
- Min normal number: S.0001.000 = +/-2^(-6)
- Max subnormal number: S.0000.111 = +/-2^(-6) x 0.875 = +/-2^(-9) x 7
- Min subnormal number: S.0000.001 = +/-2^(-6) x 0.125 = +/-2^(-9)
```

Related PRs:
- [PR-97118](https://github.com/llvm/llvm-project/pull/97118) Add f8E4M3
IEEE 754 type to mlir


  Commit: 7b08c2774ca7350b372f70f63135eacc04d739c5
      https://github.com/llvm/llvm-project/commit/7b08c2774ca7350b372f70f63135eacc04d739c5
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp

  Log Message:
  -----------
  [mlir][Linalg] Remove unused header include.

There seems to be no direct usage of any tosa utils.


  Commit: 0ce3ea1bfffcbd62195cf07e34477cc7cc5c5009
      https://github.com/llvm/llvm-project/commit/0ce3ea1bfffcbd62195cf07e34477cc7cc5c5009
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td

  Log Message:
  -----------
  [AMDGPU] Simplify selection of llvm.amdgcn.inverse.ballot. NFCI. (#99345)


  Commit: 14c323cfd66454c65324c4d5b9d9b6a9c5651eca
      https://github.com/llvm/llvm-project/commit/14c323cfd66454c65324c4d5b9d9b6a9c5651eca
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/test/Driver/amdgpu-openmp-toolchain.c

  Log Message:
  -----------
  [OpenMP][AMDGPU] Do not attach -fcuda-is-device (#99002)

-fcuda-is-device flag is not used for OpenMP offloading for AMD GPUs and
it does not need to be added as clang cc1 option for OpenMP code.

This PR has the same functionality as
https://github.com/llvm/llvm-project/pull/96909 but it doesn't introduce
regression for virtual function support.


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Protect ByteCodeEmitter against unfinished fns

This is similar to a check in TextNodeDumper.cpp. Without this, we will
crash later when trying to iterate over FuncDecl->params().


  Commit: 4b9bcabdf05346fd72db0d1ad88faa9b969a8f13
      https://github.com/llvm/llvm-project/commit/4b9bcabdf05346fd72db0d1ad88faa9b969a8f13
  Author: David Green <david.green at arm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    A llvm/test/CodeGen/AArch64/stack-hazard.ll

  Log Message:
  -----------
  [AArch64] Add streaming-mode stack hazards. (#98956)

Under some SME contexts, a coprocessor with its own separate cache will
be used for FPR operations. This can create hazards if the CPU and the
SME unit try to access the same area of memory, including if the access
is to an area of the stack.

To try to alleviate that, this patch attempts to introduce extra padding
into the stack frame between FP and GPR accesses, controlled by the
StackHazardSize option. Without changing the layout of the stack frame,
a stack object of the right size is added between GPR and FPR CSRs.
Another is added to the stack objects section, and stack objects are
sorted so that FPR > Hazard padding slot > GPRs (where possible).

Unfortunately some things are not handled well (VLA area, FPR arguments
on the stack, object with both GPR and FPR accesses), but if those are
controlled by the user then the entire stack frame becomes GPR at the
start/end with FPR in the middle, surrounded by Hazard padding. This can
greatly help reduce something that can be difficult for the user to
control themselves.

The current implementation is opt-in through an
-aarch64-stack-hazard-size flag, and should have no effect if the option
is unset. In the long run the implementation might change (for example
using more base pointers to separate in more cases, re-enabling ldp/stp
using an extra register, etc), but this gets at least something for
people to use in llvm-19 if they need it. The only change whilst the
option is unset will be a fix for making sure the stack increment is
added at the right place when it cannot be converted to postinc
(++MBBI). I believe without extra padding that can not normally be
reached.


  Commit: 8afb395aeef5335554c623f92f48cbdc9ffe927d
      https://github.com/llvm/llvm-project/commit/8afb395aeef5335554c623f92f48cbdc9ffe927d
  Author: Ilya Leoshkevich <iii at linux.ibm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    R compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_bad_report_path_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp

  Log Message:
  -----------
  [sanitizer] Fix running sanitizer_bad_report_path_test on Linux as root (#97732)

Running tests as root is not the greatest idea, however, there is one
valid use case - running them in a container in order to verify LLVM on
different distros. There is no reason to configure unprivileged users
in a container, so one works as root.
    
sanitizer_bad_report_path_test assumes that creating a file in a
non-writable directory would fail, which is not the always case. For
example, when we are on Linux and CAP_DAC_OVERRIDE, which root has, is
in effect. Therefore, one solution is to drop it. However, that would
be Linux-specific.
    
Instead, use argv[0] as if it were a directory. mkdir() on top of a
file should be prohibited by all supported Posix operating systems.
Combine this with a partial revert of commit f4214e1469ad ("[sanitizer]
Skip test on Android where chmod is not working"), since we shouldn't
need to exclude Android anymore.


  Commit: a19e5aedd9b15ecf0b05bafb7d20e13c952b4531
      https://github.com/llvm/llvm-project/commit/a19e5aedd9b15ecf0b05bafb7d20e13c952b4531
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/second.f90

  Log Message:
  -----------
  [flang] load SECOND result in genSecond (#99342)

Until genSecond, all intrinsic `genXXX` returning scalar intrinsic
(except NULL) were returning them as value.

The code calling genIntrinsicCall is using that assumption when
generation the asExprOp because hflir.expr<> of scalar are badly
supported in tools (I should likely just forbid them all together), the
type is meant for "non trivial" values: arrays, character, and derived
type. For instance, the added tests crashed with error: `'arith.subf' op
operand #0 must be floating-point-like, but got '!hlfir.expr<f32>'`

Load the result in genSecond and add an assert after genIntrinsicCall to
better enforce this.


  Commit: e93df78bd46b585c0bdabdbdc95410e4c08b9d38
      https://github.com/llvm/llvm-project/commit/e93df78bd46b585c0bdabdbdc95410e4c08b9d38
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
    M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s

  Log Message:
  -----------
  [llvm/DWARF] Recursively resolve DW_AT_signature references (#97423)

findRecursively follows DW_AT_specification and DW_AT_abstract_origin
references, but not DW_AT_signature. As far as I can tell, there is no
fundamental difference between these attributes that would make this
behavior desirable, and this just seems like a consequence of the fact
that this attribute is newer. This patch aims to change that.

The motivation is some code in lldb, which assumes that it can construct
a qualified name of a type by just walking the parent chain and looking
at the name attribute. This works for "regular" debug info, even when
some of the DIEs are just forward declarations, but it breaks in the
presence of type units, because of the need to explicitly resolve the
signature reference.

While LLDB does not use the llvm's DWARFDie class (yet?), this seems
like a very important change in the overall API, and any divergence here
would complicate eventual reunification, which is why I am making the
change in the llvm API first. However, putting lldb aside, I think this
change is beneficial in llvm on its own, as it allows us to remove the
explicit DW_AT_signature resolution in the DWARFTypePrinter.


  Commit: 09cbb45edd149d30766c87be4628e4df13f3496d
      https://github.com/llvm/llvm-project/commit/09cbb45edd149d30766c87be4628e4df13f3496d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [BOLT][DWARF][NFC] A better DIEBuilder for the llvm API change in #98905 (#99324)

The caller (cloneAttribute) already switches on the reference type. By
aligning the cases with the retrieval functions, we can avoid branching
twice.


  Commit: 2ef7cbf71c98246d6f3a9c63dea75b76c7b5e928
      https://github.com/llvm/llvm-project/commit/2ef7cbf71c98246d6f3a9c63dea75b76c7b5e928
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/Ofast.c

  Log Message:
  -----------
  [clang] Add deprecation warning for `-Ofast` driver option (#98736)

This patch implements consensus on the corresponding RFC documented
here: https://discourse.llvm.org/t/rfc-deprecate-ofast/78687/72
Specifically, I added a deprecation warning for `-Ofast`, that suggests
to use `-O3` or `-O3` with `-ffast-math`, and a new diagnostic group for
aforementioned warning.
Deprecation period is going to be lengthy, so I hope this PR can be
merged in time for Clang 19.


  Commit: cf66cec7c4481ff39525232d64a4d5215cca3ac5
      https://github.com/llvm/llvm-project/commit/cf66cec7c4481ff39525232d64a4d5215cca3ac5
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  Recommit "[PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers" (3rd Try) (#99292)

The first fix forgot to fixup the commutative matchers...


  Commit: 94cd18b7fcf239b85698ad70f145ca5fa5edd516
      https://github.com/llvm/llvm-project/commit/94cd18b7fcf239b85698ad70f145ca5fa5edd516
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll

  Log Message:
  -----------
  [CVP] Add test for phi merging of vectors (NFC)


  Commit: 3eba28d1fd3347a1658f68b63285148b0bb25fab
      https://github.com/llvm/llvm-project/commit/3eba28d1fd3347a1658f68b63285148b0bb25fab
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg-disabled.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/warn-dangling-local.cpp

  Log Message:
  -----------
  [clang] Extend lifetime analysis to support assignments for pointer-like objects. (#99032)

This is a follow-up patch to #96475 to detect dangling assignments for
C++ pointer-like objects (classes annotated with the
`[[gsl::Pointer]]`). Fixes #63310.

Similar to the behavior for built-in pointer types, if a temporary owner
(`[[gsl::Owner]]`) object is assigned to a pointer-like class object,
and this temporary object is destroyed at the end of the full assignment
expression, the assignee pointer is considered dangling. In such cases,
clang will emit a warning:

```
/tmp/t.cpp:7:20: warning: object backing the pointer my_string_view will be destroyed at the end of the full-expression [-Wdangling-assignment-gsl]
    7 |   my_string_view = CreateString();
      |                    ^~~~~~~~~~~~~~
1 warning generated.
```

This new warning is `-Wdangling-assignment-gsl`. It is initially
disabled, but I intend to enable it by default in clang 20.

I have initially tested this patch on our internal codebase, and it has
identified many use-after-free bugs, primarily related to `string_view`.


  Commit: 26af44b3985c762b2cbaf348f8012a30af09151f
      https://github.com/llvm/llvm-project/commit/26af44b3985c762b2cbaf348f8012a30af09151f
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    A llvm/test/Transforms/SCCP/preserving-debugloc-signedinst-branch-feasible-succ.ll

  Log Message:
  -----------
  [DebugInfo][SCCPSolver] Fix missing debug locations (#98876)

Fixes #98875


  Commit: 57539418bae45e3c972e8f4f0a88577f807e8697
      https://github.com/llvm/llvm-project/commit/57539418bae45e3c972e8f4f0a88577f807e8697
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/var-sized-fragment.ll
    A llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll

  Log Message:
  -----------
  [SROA] Fix debug locations for variables with non-zero offsets  (#97750)

Fixes issue #61981 by adjusting variable location offsets (in the DIExpression)
when splitting allocas.

Patch [4/4] to fix structured bindings in SROA.

NOTE: There's still a bug in mem2reg which generates incorrect locations in some
situations: if the variable fragment has an offset into the new (split) alloca,
mem2reg will fail to convert that into a bit shift (the location contains a
garbage offset). That's not addressed here.

insertNewDbgInst - Now takes the address-expression and FragmentInfo as
  separate parameters because unlike dbg_declares dbg_assigns want those to go
  to different places. dbg_assign records put the variable fragment info in the
  value expression only (whereas dbg_declare has only one expression so puts it
  there - ideally this information wouldn't live in DIExpression, but that's
  another issue).

MigrateOne - Modified to correctly compute the necessary offsets and fragment
  adjustments. The previous implementation produced bogus locations for variables
  with non-zero offsets. The changes replace most of the body of this lambda, so
  it might be easier to review in a split-diff view and focus on the change as a
  whole than to compare it to the old implementation.

  This uses calculateFragmentIntersect and extractLeadingOffset added in previous
  patches in this series, and createOrReplaceFragment described below.

createOrReplaceFragment - Similar to DIExpression::createFragmentExpression
  except for 3 important distinctions:

    1. The new fragment isn't relative to an existing fragment.
    2. There are no checks on the the operation types because it is assumed
       the location this expression is computing is not implicit (i.e., it's
       always safe to create a fragment because arithmetic operations apply
       to the address computation, not to an implicit value computation).
    3. Existing extract_bits are modified independetly of fragment changes
       using \p BitExtractOffset. A change to the fragment offset or size
       may affect a bit extract. But a bit extract offset can change
       independently of the fragment dimensions.

  Returns the new expression, or nullptr if one couldn't be created.  Ideally
  this is only used to signal that a bit-extract has become zero-sized (and thus
  the new debug record has no size and can be dropped), however, it fails for
  other reasons too - see the FIXME below.

  FIXME: To keep the scope of this change focused on non-bitfield structured
  bindings the function bails in situations that
  DIExpression::createFragmentExpression fails. E.g. when fragment and bit
  extract sizes differ. These limitations can be removed in the future.


  Commit: cbd255942b52c3576aa0dca444811512fff43714
      https://github.com/llvm/llvm-project/commit/cbd255942b52c3576aa0dca444811512fff43714
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py

  Log Message:
  -----------
  [lldb] add RISCV target specific info in API tests (#99039)

Add information about RISCV first register in python API testsuite, that
is used to check register readability in tests.

Fixed tests on RISCV target:

TestBreakpointByFileColonLine.BreakpointByLineAndColumnTestCase
TestAddressBreakpoints.AddressBreakpointTestCase
TestBreakpointAutoContinue.BreakpointAutoContinue
TestInterruptBacktrace.TestInterruptingBacktrace
TestBadAddressBreakpoints.BadAddressBreakpointTestCase
TestScriptedResolver.TestScriptedResolver
TestStopHookScripted.TestStopHooks
TestBreakpointConditions.BreakpointConditionsTestCase
TestLocalVariables.LocalVariablesTestCase
TestFindLineEntry.FindLineEntry
TestScriptedResolver.TestScriptedResolver
TestInlineSourceFiles.InlineSourceFilesTestCase
TestModuleAndSection.ModuleAndSectionAPIsTestCase
TestFrameVar.TestFrameVar
TestInferiorAssert.AssertingInferiorTestCase
TestInferiorCrashing.CrashingInferiorTestCase
TestInferiorCrashingStep.CrashingInferiorStepTestCase
TestRegistersIterator.RegistersIteratorTestCase
TestCoroutineHandle.TestCoroutineHandle
TestWithLimitDebugInfo.TestWithLimitDebugInfo
TestLLDBIterator.LLDBIteratorTestCase
TestMemoryWrite.MemoryWriteTestCase
TestNestedTemplate.NestedTemplateTestCase
TestParrayVrsCharArrayChild.TestParrayVrsCharArrayChild
TestRecursiveInferior.CrashingRecursiveInferiorTestCase
TestRecursiveInferiorStep.CrashingRecursiveInferiorStepTestCase
TestRunLocker.TestRunLocker
TestSampleTest.RenameThisSampleTestTestCase
TestUniqueTypes3.UniqueTypesTestCase3
TestPrintStackTraces.ThreadsStackTracesTestCase
TestUnicodeSymbols.TestUnicodeSymbols
TestUnusedInlinedParameters.TestUnusedInlinedParameters
TestValueVarUpdate.ValueVarUpdateTestCase
TestPtrRef2Typedef.PtrRef2TypedefTestCase
TestDataFormatterStdIterator.StdIteratorDataFormatterTestCase
TestDataFormatterStdString.StdStringDataFormatterTestCase
TestDataFormatterStdVBool.StdVBoolDataFormatterTestCase


  Commit: 26cb88e3210af24942310a192431c8d7c3544e21
      https://github.com/llvm/llvm-project/commit/26cb88e3210af24942310a192431c8d7c3544e21
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
    M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s

  Log Message:
  -----------
  Revert "[llvm/DWARF] Recursively resolve DW_AT_signature references" (#99444)

Reverts llvm/llvm-project#97423 due to a failure in the
cross-project-tests.


  Commit: 80865c01e1b8d3a6bea308fda7bbc53047dcc2e7
      https://github.com/llvm/llvm-project/commit/80865c01e1b8d3a6bea308fda7bbc53047dcc2e7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    A clang/test/OpenMP/reverse_ast_print.cpp
    A clang/test/OpenMP/reverse_codegen.cpp
    A clang/test/OpenMP/reverse_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    A openmp/runtime/test/transform/reverse/foreach.cpp
    A openmp/runtime/test/transform/reverse/intfor.c
    A openmp/runtime/test/transform/reverse/iterfor.cpp
    A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-intfor.cpp

  Log Message:
  -----------
  [Clang][OpenMP] Add reverse directive (#92916)

Add the reverse directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).

---------

Co-authored-by: Alexey Bataev <a.bataev at outlook.com>


  Commit: 1dfbd07255f50ab3920d397dda5f8f9c05020f76
      https://github.com/llvm/llvm-project/commit/1dfbd07255f50ab3920d397dda5f8f9c05020f76
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/known-bits.ll
    M llvm/test/Analysis/ValueTracking/known-fpclass.ll
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `llvm.vector.reverse` with `DemandedElts`; NFC


  Commit: 6ef970b65f93b0f7fbcd8ffc44fb9b9af58cc097
      https://github.com/llvm/llvm-project/commit/6ef970b65f93b0f7fbcd8ffc44fb9b9af58cc097
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Consistently propagate `DemandedElts` is `computeKnownBits`


  Commit: 72ff0499bba72eecc1b3d19833027b6c04337041
      https://github.com/llvm/llvm-project/commit/72ff0499bba72eecc1b3d19833027b6c04337041
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Consistently propagate `DemandedElts` is `isKnownNonZero`


  Commit: e8eeda8e4dc581ae744bc64a2683b5533fec8922
      https://github.com/llvm/llvm-project/commit/e8eeda8e4dc581ae744bc64a2683b5533fec8922
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [ValueTracking] Consistently propagate `DemandedElts` is `ComputeNumSignBits`


  Commit: 0589762e4e42a21796ca74eeb356cdfc50eaa232
      https://github.com/llvm/llvm-project/commit/0589762e4e42a21796ca74eeb356cdfc50eaa232
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-fpclass.ll

  Log Message:
  -----------
  [ValueTracking] Consistently propagate `DemandedElts` is `computeKnownFPClass`

Closes #99080


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

  Changed paths:
    M llvm/test/Transforms/SCCP/phis.ll

  Log Message:
  -----------
  [SCCP] Add tests for vectors ins phis (NFC)


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

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/safestack/safestack.cpp
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/test/safestack/lit.cfg.py

  Log Message:
  -----------
  [safestack] Various Solaris fixes (#99290)

Even with the `-u __safestack_init` link order fixed on Solaris, there
are still several safestack test issues left:

- While 540fd42c755f20f7b79c6c79493ec36d8cb9b3d3 enabled safestack on
Solaris in the driver unconditionally, it ignored that Solaris also
exists on SPARC and forgot to enable SPARC support for the runtime lib.
This patch fixes that.

- The tests fail to link with undefined references to
`__sanitizer_internal_memset` etc in `safestack.cpp.o` and
`interception_linux.cpp.o`. These are from indirectly including
`sanitizer_redefine_builtins.h`. Instead of using the implementations
from `sanitizer_common` as was done in [[safestack] Various Solaris
fixes](https://github.com/llvm/llvm-project/pull/98469), this patch
disables the interception as discussed in [Revert "[safestack] Various
Solaris fixes"](https://github.com/llvm/llvm-project/pull/98541). A
similar issue affects 32-bit Linux/sparc where compiling `safestack.cpp`
with `-ftrivial-auto-var-init=pattern` causes the compiler to generate
calls to `memset` to initialize a `pthread_attr_t` which is larger than
can be handled inline. This is avoided by defining
`SANITIZER_COMMON_NO_REDEFINE_BUILTINS` in `safestack.cpp` and also
adding definitions of the interceptors that just forward to `libc` for
the benefit of `interception_linux.cpp`.

- The `pthread*.c` tests `FAIL` with

``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:227
size ```

The problem is that `pthread_attr_init` initializes the `stacksize`
attribute to 0, signifying the default. Unless explicitly overridded, it
stays that way. I think this is allowed by XPG7. Since safestack cannot
deal with this, I set `size` to the defaults documented in
`pthread_create(3C)`. Unfortunately, there's no macro for those values
outside of private `libc` headers.

- The Solaris `syscall` interface isn't stable. This is not just a
theoretical concern, but the syscalls have changed incompatibly several
times in the past. Therefore this patch switches the implementations of
`TgKill` (where `SYS_lwp_kill` doesn't exist on Solaris 11.4 anyway),
`Mmap`, `Munmap`, and `Mprotect` to the same `_REAL*` solution already
used in `sanitizer_solaris.cpp`.

With those changes, safestack compiles and all tests `PASS`, so the
tests are re-enabled for good.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.


  Commit: b1864a8d6ab8bfd346922e36d80e684a4eaf3248
      https://github.com/llvm/llvm-project/commit/b1864a8d6ab8bfd346922e36d80e684a4eaf3248
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/test/MachO/link-search-at-rpath.s
    M lld/test/MachO/rpath.s

  Log Message:
  -----------
  [lld-macho] Ignore duplicate `-rpath` entries (#99289)

Starting with Xcode 16 (dyld-1122), Apple's binary utilities, e.g.
`dyld_info` (but not dyld itself), will refuse to load binaries built
against the macOS 15 SDK or newer that contain the same `LC_RPATH`
entry multiple times:

https://github.com/apple-oss-distributions/dyld/blob/rel/dyld-1122/mach_o/Policy.cpp#L246-L249

`ld-prime` deduplicates entries (regardless of the deployment target),
we now do the same. We also match `ld-prime`'s and `ld64`'s behavior by
warning on duplicate `-rpath` arguments. This can be disabled by the
LLD-specific `--no-warn-duplicate-rpath` flag.


  Commit: 1ce89899ad33a0d2976859d8d278dba4342cbb6b
      https://github.com/llvm/llvm-project/commit/1ce89899ad33a0d2976859d8d278dba4342cbb6b
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false in unnecessary-value-param inside templates (#98488)

Summary:
If callExpr is type dependent, there is no way to analyze individual
arguments until template specialization. Before this diff only calls
with dependent callees were skipped so unnecessary-value-param was
processing arguments that had non-dependent type that gave false
positives because the call was not fully resolved till specialization.
So now instead of checking type dependent callee, the whole expression
will be checked for type dependent.

Test Plan: check-clang-tools


  Commit: dfddc0c4843baaf9605aeb1c4f82eac185e90265
      https://github.com/llvm/llvm-project/commit/dfddc0c4843baaf9605aeb1c4f82eac185e90265
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/atomic
    M libcxx/include/expected
    M libcxx/include/filesystem
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/functional
    M libcxx/include/iterator
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/module.modulemap
    M libcxx/include/numeric
    M libcxx/include/ostream
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/stop_token
    M libcxx/include/string_view
    M libcxx/include/type_traits
    M libcxx/include/utility
    M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
    M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
    M libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
    M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/type_traits/is_callable.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
    M libcxx/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
    M libcxx/test/libcxx/type_traits/lazy_metafunctions.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.no_exceptions.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.pass.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.bind.partial/compose.pass.cpp
    M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++] Include the rest of the detail headers by version in the umbrella headers (#96032)

This is a follow-up to #83740.


  Commit: c6144cb0de35013e19ddd4d9fbc86367bb1ba223
      https://github.com/llvm/llvm-project/commit/c6144cb0de35013e19ddd4d9fbc86367bb1ba223
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [ValueTracking] Remove unnecessary `m_ElementWiseBitCast` from `isKnownNonZeroFromOperator`; NFC


  Commit: d097f430a172a5d798a39b416b1af84f4ec572e1
      https://github.com/llvm/llvm-project/commit/d097f430a172a5d798a39b416b1af84f4ec572e1
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp

  Log Message:
  -----------
  [lldb] Fixed the error `unable to launch a GDB server` in API tests (#98833)

TestPlatformLaunchGDBServer.py runs `ldb-server` w/o parameters
`--min-gdbserver-port`, `--max-gdbserver-port` or `--gdbserver-port`. So
`gdbserver_portmap` is empty and
`gdbserver_portmap.GetNextAvailablePort()` will return 0. Do not call
`portmap_for_child.AllowPort(0)` in this case. Otherwise
`portmap_for_child.GetNextAvailablePort()` will allocate and never free
the port 0 and next call `portmap_for_child.GetNextAvailablePort()` will
fail.

Added few asserts in `GDBRemoteCommunicationServerPlatform::PortMap` to
avoid such issue in the future.

This patch fixes a bug added in #88845. The behaviour is very close to
#97537 w/o parameters `--min-gdbserver-port`, `--max-gdbserver-port` and
`--gdbserver-port`.


  Commit: ba8e4920ca57518f429bcf0a68ed3d48195fb1e6
      https://github.com/llvm/llvm-project/commit/ba8e4920ca57518f429bcf0a68ed3d48195fb1e6
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp

  Log Message:
  -----------
  [MLIR] NFC. Remove anti-patterns given the default null init for Value (#99457)

Remove anti-patterns given the default null init for Value. Drop some
extra includes while on this file. NFC.

Co-authored-by: GitHub runner <github-runner at polymagelabs.com>


  Commit: e4a2d74e0917d481ecda8e8ff0c0af3c683c9441
      https://github.com/llvm/llvm-project/commit/e4a2d74e0917d481ecda8e8ff0c0af3c683c9441
  Author: Him188 <tguan at nvidia.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll

  Log Message:
  -----------
  [AArch64][GISel] Always fold G_SHL into addressing mode where possible, unless the subtarget has addr-lsl-slow-14 (#96603)

Before this patch, we fold G_SHL into addressing mode lsl only when
there is exactly one usage, or all the usages are memory ops, or we are
optimizing for size. However, lsl is free on all aarch64 targets except
those with FeatureAddrLSLSlow14.

This patch uses this fact and always folds G_SHL into lsl for memory
ops, with exceptions for FeatureAddrLSLSlow14.


This patch also fixes GISel 15% regression in TSVC kernel s482, and
brings regression in s291 from 20% to 10%.


  Commit: c661422db04d86b83c1bfeed18e31745a3725357
      https://github.com/llvm/llvm-project/commit/c661422db04d86b83c1bfeed18e31745a3725357
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [Clang] Handle OMPReverseDirectiveClass in switch


  Commit: 783e07f3a4f4684613ffb4a442c97f25c83f309b
      https://github.com/llvm/llvm-project/commit/783e07f3a4f4684613ffb4a442c97f25c83f309b
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/ashr-demand.ll

  Log Message:
  -----------
  [InstCombine] Add tests cases related to demanded use bits for ashr

When trying to improve value tracking in
   https://github.com/llvm/llvm-project/pull/97693
some regressions was found due to a "weirdness" in simplify demanded
use bits for ashr. Normally an ashr is replaced by lshr when the
shifted in bits aren't demanded. Some years ago (see commit
22178dd33b346020) there was a test case motivating to keep the ashr
when any sign bit (besides the shifted in bits) was demanded. The
weird part about it is that the better we get at analysing known sign
bits, the less likely it is that we canonicalize from ashr to lshr.
That makes it hard to tune other combines to work based on the
canonicalization, as well as possibly resulting in unexpected
regressions when improving value tracking.

This patch adds a test case for which it would be better to
canonicalize ashr into lshr when possible. Worth mentioning is also
that reverting 22178dd33b346020 doesn't seem to cause regressions
in any other lit tests (not even the one added in 22178dd33b346020).


  Commit: b8c4c58ecf186dd91f40bdff4d1bdad403435789
      https://github.com/llvm/llvm-project/commit/b8c4c58ecf186dd91f40bdff4d1bdad403435789
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/ashr-demand.ll

  Log Message:
  -----------
  [InstCombine] Turn AShr into LShr more often in SimplifyDemandedUseBits (#99155)

The functional change here is to undo "llvm-svn: 311773", aka D36936,
aka commit 22178dd33b3460207b8. That patch avoided to convert AShr
into LShr in SimplifyDemandedUseBits based on known sign bits
analysis. Even if it would be legal to turn the shift into a
logical shift (given by the fact that the shifted in bits wasn't
demanded), that patch prevented converting the shift into LShr when
any of the original sign bits were demanded.
One side effect of the reverted functionalty was that the better we
were at computing number of sign bits, the less likely it was that
we would replace AShr by LShr during SimplifyDemandedUseBits. This
was seen in https://github.com/llvm/llvm-project/pull/97693/ when
an improvement of ComputeNumSignBits resulted in regressions due
to no longer rewriting AShr to LShr.
The test case from D36936 still passes after this commit. So it seems
like at least the compiler has been taught how to optimize that
scenario even if we do the AShr->LShr transform more aggressively.


  Commit: c68c289984d161d220b9434be5dbbfc387981e23
      https://github.com/llvm/llvm-project/commit/c68c289984d161d220b9434be5dbbfc387981e23
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Parser/openmp-parsers.cpp
    A flang/test/Parser/OpenMP/proc-bind.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add support for proc_bind=primary (#99319)

The support was missing only in the parser, all other phases handle the
primary option for proc_bind.

Fixes one of the issues in parsing for gomp/affinity-1.f90.
(https://discourse.llvm.org/t/proposal-rename-flang-new-to-flang/69462/60)


  Commit: da0c8b275564f814a53a5c19497669ae2d99538d
      https://github.com/llvm/llvm-project/commit/da0c8b275564f814a53a5c19497669ae2d99538d
  Author: Hau Hsu <hau.hsu at sifive.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_mapping.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [RISCV][sanitizer] Fix sanitizer support for different virtual memory layout (#66743)

This PR combines the following reviews from Phabricator:
* https://reviews.llvm.org/D139823
* https://reviews.llvm.org/D139827

Other related (and merged) reviews are:
* https://reviews.llvm.org/D152895
* https://reviews.llvm.org/D152991
* https://reviews.llvm.org/D152990

---------

Co-authored-by: Kito Cheng <kito.cheng at gmail.com>


  Commit: 4a19be5d45e4b1e02c2512023151be5d56ef5744
      https://github.com/llvm/llvm-project/commit/4a19be5d45e4b1e02c2512023151be5d56ef5744
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/string
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][strings] P2591R5: Concatenation of strings and string views (#88389)

Implemented: https://wg21.link/P2591R5
- https://eel.is/c++draft/string.syn
- https://eel.is/c++draft/string.op.plus

---------

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


  Commit: b7a6cca218aef4e18ce03a58561555ef0dee7231
      https://github.com/llvm/llvm-project/commit/b7a6cca218aef4e18ce03a58561555ef0dee7231
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  [libc++][test] XFAIL sized deallocation tests for AIX, z/OS, and MinGW (#98960)

The sized deallocation test cases fail on AIX, z/OS, and MinGW because
they default to `-fno-sized-deallocation`. This patch XFAILs these test
cases for the affected targets. Once they change the default, we will
get `unexpectedly pass`.


  Commit: 6838c7afb2d2fa5eb642a4b5922ae55d97f7b344
      https://github.com/llvm/llvm-project/commit/6838c7afb2d2fa5eb642a4b5922ae55d97f7b344
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Revise IDE folder structure (#89746)

Reviewers of #89153 suggested to break up the patch into per-subproject
patches. This is the libclc part. See #89153 for the entire series and
motivation.

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: c0084c36ed55ce78331aca7d0d10781a9f00b256
      https://github.com/llvm/llvm-project/commit/c0084c36ed55ce78331aca7d0d10781a9f00b256
  Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp

  Log Message:
  -----------
  [mlir][BytecodeReader] Const qualify *SectionReader, NFC (#99376)

`StringSectionReader`, `ResourceSectionReader` and
`PropertiesSectionReader` are immutable after `initialize` so this PR
adds const to their parsing functions and references in `AttrTypeReader`
and `DialectReader`.


  Commit: 7e6a73959ae97b1f9476a90290a492ba90cb950d
      https://github.com/llvm/llvm-project/commit/7e6a73959ae97b1f9476a90290a492ba90cb950d
  Author: Romaric Jodin <rjodin at chromium.org>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libclc/clspv/lib/math/fma.cl
    M libclc/generic/include/clc/convert.h
    M libclc/generic/include/math/clc_ldexp.h
    M libclc/generic/lib/clcmacro.h
    M libclc/generic/lib/gen_convert.py
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/atan.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/atanpi.cl
    M libclc/generic/lib/math/cbrt.cl
    M libclc/generic/lib/math/clc_ldexp.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_remquo.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/clc_sw_binary.inc
    M libclc/generic/lib/math/clc_sw_unary.inc
    M libclc/generic/lib/math/cos.cl
    M libclc/generic/lib/math/cosh.cl
    M libclc/generic/lib/math/cospi.cl
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/fdim.inc
    M libclc/generic/lib/math/frexp.inc
    M libclc/generic/lib/math/ilogb.cl
    M libclc/generic/lib/math/lgamma.cl
    M libclc/generic/lib/math/lgamma_r.cl
    M libclc/generic/lib/math/lgamma_r.inc
    M libclc/generic/lib/math/log10.cl
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/log2.cl
    M libclc/generic/lib/math/log_base.h
    M libclc/generic/lib/math/logb.cl
    M libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/remquo.inc
    M libclc/generic/lib/math/rootn.inc
    M libclc/generic/lib/math/sin.cl
    M libclc/generic/lib/math/sincos.inc
    M libclc/generic/lib/math/sinh.cl
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/tanh.cl

  Log Message:
  -----------
  libclc: increase fp16 support (#98149)

Increase fp16 support to allow clspv to continue to be OpenCL compliant
following the update of the OpenCL-CTS adding more testing on math
functions and conversions with half.

Math functions are implemented by upscaling to fp32 and using the fp32
implementation. It garantees the accuracy required for half-precision
float-point by the CTS.


  Commit: 61a58633d541780e34e6d459af2631b3539d415f
      https://github.com/llvm/llvm-project/commit/61a58633d541780e34e6d459af2631b3539d415f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn

  Log Message:
  -----------
  [gn build] Port fe6c24000f2d (clangd modules)


  Commit: d1d14b78d18a9f45f36e580fdd8d499a4bf09093
      https://github.com/llvm/llvm-project/commit/d1d14b78d18a9f45f36e580fdd8d499a4bf09093
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 5338bd3c8ac5


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

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

  Log Message:
  -----------
  [libc] Remove `strerror_r` on the GPU for now

Summary:
This function has conflicting definitions, which makes it difficult to
use in an offloading setting. Disable it for now.


  Commit: cb3de24b5c0a662ba4a03c6c06a2d765d558bf62
      https://github.com/llvm/llvm-project/commit/cb3de24b5c0a662ba4a03c6c06a2d765d558bf62
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2c.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__iterator/concepts.h
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_binary_predicate.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_equivalence_relation.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_strict_weak_order.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_unary_predicate.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_regular_unary_invocable.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_unary_invocable.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][iterator][ranges] P2997R1: Removing the common reference requirement from the indirectly invocable concepts (#98817)

Implements as DR against C++20: https://wg21.link/P2997R1

References:
- https://eel.is/c++draft/indirectcallable.indirectinvocable
- https://eel.is/c++draft/version.syn#header:%3cversion%3e

---------

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/revec-fix-99411.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix false assumption of the source for castToScalarTyElem. (#99424)

The argument V may come from adjustExtracts, which is the vector operand
of ExtractElementInst. In addition, it is not existed in getTreeEntry.

The vector operand of ExtractElementInst may have a type of <1 x Ty>,
ensuring that the number of elements in ScalarTy and VecTy are equal.

reference: https://github.com/llvm/llvm-project/issues/99411


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

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

  Log Message:
  -----------
  Revert d43ec97de081755990264049eba09cb7c83cb321 "[X86] combineConcatVectorOps - IsConcatFree - peek through bitcasts to find inplace subvectors."

I've been given reports of this causing infinite loops downstream - I'm going to revert for now while I investigate.


  Commit: 8badfccefeaff2c05ef71a8d2fd6d803a1b4e129
      https://github.com/llvm/llvm-project/commit/8badfccefeaff2c05ef71a8d2fd6d803a1b4e129
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/CMakeLists.txt
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/src/ctype/CMakeLists.txt
    M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp

  Log Message:
  -----------
  [libc] Add Multithreaded GPU Benchmarks (#98964)

This PR runs benchmarks on a 32 threads (A single warp on NVPTX) by
default, adding the option for single threaded benchmarks. We can
specify that a benchmark should be run on a single thread using the
`SINGLE_THREADED_BENCHMARK()` macro.

I chose to use a flag here so that other options could be added in the
future.


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

  Changed paths:
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/C/C2y/n3254.c
    M clang/test/Sema/alignas.c

  Log Message:
  -----------
  Fix a regression with alignas on structure members in C (#98642)

This was a 19.x regression and thus has no release note.

Fixes #95032


  Commit: c5f402f95d9617882b26d5799f503383b895c2e4
      https://github.com/llvm/llvm-project/commit/c5f402f95d9617882b26d5799f503383b895c2e4
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp

  Log Message:
  -----------
  [APINotes] Reduce memory footprint for Obj-C/C++ contexts

We were storing extraneous data for certain Objective-C/C++ entities.
Specifically, for declarations that can be nested in another context
(such as functions) we were storing the kind of the parent context in
addition to its ID. The ID is always sufficient.

This removes the logically incorrect usages of `ContextTableKey` that
don't actually describe a context, but rather describe a single
declaration. This introduces `SingleDeclTableKey` to store that kind of
entities in a more compact and reasonable way.


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

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

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


  Commit: 27ec379f636ceac655faa290e78735ea98e02cbf
      https://github.com/llvm/llvm-project/commit/27ec379f636ceac655faa290e78735ea98e02cbf
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll

  Log Message:
  -----------
  [AMDGPU] Do not select llvm.amdgcn.inverse.ballot with wrong wave size (#99470)

This produces a "cannot select" error, instead of failing later with an
illegal vgpr to sgpr copy.


  Commit: 7f2bd53b142ec147da9f8bd98775be1d14457ba1
      https://github.com/llvm/llvm-project/commit/7f2bd53b142ec147da9f8bd98775be1d14457ba1
  Author: Robin Caloudis <robin.caloudis at gmx.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/include/__math/traits.h
    M libcxx/test/std/numerics/c.math/isfinite.pass.cpp

  Log Message:
  -----------
  [libc++] Fix acceptance of convertible-to-{float,double,long double} in std::isfinite() (#98841)

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


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

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

  Log Message:
  -----------
  [X86] Add getGFNICtrlMask helper for the constant creation and bitcasting. NFC.


  Commit: fde51e24b593087a15494203ef68a77bb4f12115
      https://github.com/llvm/llvm-project/commit/fde51e24b593087a15494203ef68a77bb4f12115
  Author: Janet Cobb <jason.e.cobb at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][test] Raise a useful error when no -std=c++NN flag is found to work (#99423)

Recently ran into an issue with symptoms very similar to
https://github.com/llvm/llvm-project/issues/56816 while attempting to
build and test libc++ on NixOS. The error message is cryptic (just
`StopIteration`), which was very annoying to track down. The error at
least saying "hey your compiler's bad" would have saved me quite a bit
of time figuring out the issue.


  Commit: 3eb666e292baf87c969be733de858b0cb7ead13f
      https://github.com/llvm/llvm-project/commit/3eb666e292baf87c969be733de858b0cb7ead13f
  Author: Krasimir Georgiev <krasimir at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  update bazel for a6d2da8b9d7be19816dd4c76b02016c19618c1be


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

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/new-delete.cpp

  Log Message:
  -----------
  [clang][Interp] Run record destructors when deallocating dynamic memory


  Commit: 4dfa75c663e53be1d548b340e562dd5c4e87fe65
      https://github.com/llvm/llvm-project/commit/4dfa75c663e53be1d548b340e562dd5c4e87fe65
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__type_traits/is_enum.h
    R libcxx/include/__type_traits/is_scoped_enum.h
    M libcxx/include/module.modulemap
    M libcxx/include/type_traits

  Log Message:
  -----------
  [libc++] Merge is_scoped_enum.h into is_enum.h (#99458)


  Commit: 561246e90282a72b5b0c437cbbdae171526aad8f
      https://github.com/llvm/llvm-project/commit/561246e90282a72b5b0c437cbbdae171526aad8f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/include/__type_traits/remove_cv.h

  Log Message:
  -----------
  [libc++][NFC] Remove wrong #endif comment


  Commit: 15495b8cd4051d05c1b88c919e7c509a8ea4056a
      https://github.com/llvm/llvm-project/commit/15495b8cd4051d05c1b88c919e7c509a8ea4056a
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/test/CAPI/rewrite.c

  Log Message:
  -----------
  [mlir] Fix unused-variable warning w/o assertions. (#99489)


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

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

  Log Message:
  -----------
  [clang][Interp] Fix CheckCallable for undefined-and-not-constexpr fns


  Commit: d9cb65ff483a2f79d0d3f0239796abe829372e52
      https://github.com/llvm/llvm-project/commit/d9cb65ff483a2f79d0d3f0239796abe829372e52
  Author: Romaric Jodin <rjodin at chromium.org>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libclc/generic/include/clc/convert.h
    M libclc/generic/lib/gen_convert.py

  Log Message:
  -----------
  libclc: fix convert with half (#99481)

Fix following update of libclc introducing more fp16 support:
https://github.com/llvm/llvm-project/commit/7e6a73959ae97b1f9476a90290a492ba90cb950d


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

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

  Log Message:
  -----------
  Revert "[clang][Interp] Fix CheckCallable for undefined-and-not-constexpr fns"

This reverts commit d00b35534d068510025d22e5bd9c4fdac45757fb.

This breaks the ms-constexpr test:
https://lab.llvm.org/buildbot/#/builders/144/builds/2605


  Commit: a778909168746e266ad52b817a758328cdd28311
      https://github.com/llvm/llvm-project/commit/a778909168746e266ad52b817a758328cdd28311
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4dfa75c663e5


  Commit: 684a61506a3ddc943b8baef1d14c96bbf82e6c04
      https://github.com/llvm/llvm-project/commit/684a61506a3ddc943b8baef1d14c96bbf82e6c04
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__chrono/weekday.h
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/comparisons.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Remove non-standard relational operators for `std::chrono::weekday` (#98730)

These operators are absent in https://eel.is/c++draft/time.syn and a note in
https://eel.is/c++draft/time.cal.wd.overview#1 indicates that the absence is 
intended.

This patch removes the undocumented extension, while providing a migration path
for vendors by providing the `_LIBCPP_ENABLE_REMOVED_WEEKDAY_RELATIONAL_OPERATORS`
macro. This macro will be honored for the LLVM 19 release and will be removed after 
that, at which point allocator will be removed unconditionally.


  Commit: 078198f310d55925ccd9e1aa5b6ff4af3b36bbc7
      https://github.com/llvm/llvm-project/commit/078198f310d55925ccd9e1aa5b6ff4af3b36bbc7
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  [DebugInfo][InstrRef] Index DebugVariables and some DILocations (#99318)

A lot of time in LiveDebugValues is spent computing DenseMap keys for
DebugVariables, and they're made up of three pointers, so are large.
This patch installs an index for them: for the SSA and value-to-location
mapping parts of InstrRefBasedLDV we don't need to access things like
the variable declaration or the inlining site, so just use a uint32_t
identifier for each variable fragment that's tracked. The compile-time
performance improvements are substantial (almost 0.4% on the tracker).

About 80% of this patch is just replacing DebugVariable references with
DebugVariableIDs instead, however there are some larger consequences. We
spend lots of time fetching DILocations when emitting DBG_VALUE
instructions, so index those with the DebugVariables: this means all
DILocations on all new DBG_VALUE instructions will normalise to the
first-seen DILocation for the variable (which should be fine).

We also used to keep an ordering of when each variable was seen first in
a DBG_* instruction, in the AllVarsNumbering collection, so that we can
emit new DBG_* instructions in a stable order. We can hang this off the
DebugVariable index instead, so AllVarsNumbering is deleted.

Finally, rather than ordering by AllVarsNumbering just before DBG_*
instructions are linked into the output MIR, store instructions along
with their DebugVariableID, so that they can be sorted by that instead.


  Commit: 50b657c8f655a86826e94131729b0f13a58acbca
      https://github.com/llvm/llvm-project/commit/50b657c8f655a86826e94131729b0f13a58acbca
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  Revert "[DebugInfo][InstrRef] Index DebugVariables and some DILocations (#99318)"

This reverts commit 078198f310d55925ccd9e1aa5b6ff4af3b36bbc7.

Buildbots unhappy, I must have fluffed it


  Commit: 1a80153ba91f1e623c042fa0ae1ee5ab67087c0e
      https://github.com/llvm/llvm-project/commit/1a80153ba91f1e623c042fa0ae1ee5ab67087c0e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [LV][NFC]Simplify the structure and improve message of safe distance analysis for scalable vectorization. (#99487)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bitreverse.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll

  Log Message:
  -----------
  [X86] getGFNICtrlMask - create a vXi8 mask instead of a bitcasted vXi64 mask.

Helps avoid some missed load-folds by stripping away bitcasts and make it easier to grok the GF2P8AFFINEQB masks.


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

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

  Log Message:
  -----------
  Reapply "[clang][Interp] Fix CheckCallable for undefined-and-not-constexpr fns"

This reverts commit ad7aeb0ff58ebd29f68adb85c64e8010639e2a76.


  Commit: cd495d2cdd84a22026a115c7e9923c27b196732e
      https://github.com/llvm/llvm-project/commit/cd495d2cdd84a22026a115c7e9923c27b196732e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    A a-abfdec1d.o.tmp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/Driver/ftime-trace-sections.cpp
    M clang/test/Driver/ftime-trace.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/lib/Support/TimeProfiler.cpp

  Log Message:
  -----------
  Add source file name for template instantiations in -ftime-trace (#98320)

This is helpful in identifying file and location which contain the particular template declaration.


  Commit: 1cc107234969c33a7036b9694da57f4223e3e4d7
      https://github.com/llvm/llvm-project/commit/1cc107234969c33a7036b9694da57f4223e3e4d7
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_uscmp.mir
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelEmitter.td

  Log Message:
  -----------
  [GlobalIsel] Add G_SCMP and G_UCMP instructions (#98894)

https://github.com/llvm/llvm-project/pull/83227


  Commit: 47b63cd508f993d9fab2acfbf0dcf86cdc8c5335
      https://github.com/llvm/llvm-project/commit/47b63cd508f993d9fab2acfbf0dcf86cdc8c5335
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/reproduce-thin-archive-objc.s
    M lld/test/MachO/reproduce-thin-archives.s

  Log Message:
  -----------
  [lld-macho] Save all thin archive members in repro tarball (#97169)

Previously, we only saved those members of thin archives into a repro
file that were actually used during linking. However, -ObjC handling
requires us to inspect all members, even those that don't end up being
loaded.

We weren't handling missing members correctly and crashed with an
"unhandled `Error`" failure in LLVM_ENABLE_ABI_BREAKING_CHECKS builds.

To fix this, we now eagerly load all object files and warn when
encountering missing members (in the instances where it wasn't a hard
error before). To avoid having to patch out the checks when dealing
with older repro files, the `--no-warn-thin-archive-missing-members`
flag is added as an escape hatch.


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

  Changed paths:
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  [clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)

Whenever these tests change, it's difficult to see why they don't match,
and the diff after you've fixed them isn't easy to grok. By splitting
them with a sed pipe, we fix both issues simultaneously.


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

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/cxx11.cpp

  Log Message:
  -----------
  [clang][Interp] Diagnose out-of-range casts to enum types


  Commit: 7d74ca9513a3fa53b482230c20b1977a1f3d121b
      https://github.com/llvm/llvm-project/commit/7d74ca9513a3fa53b482230c20b1977a1f3d121b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueLattice.h
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
    M llvm/test/Transforms/SCCP/phis.ll

  Log Message:
  -----------
  [ValueLattice] Support constant vectors in mergeIn() (#99466)

This is a followup to vector support in LVI/CVP/SCCP. In mergeIn(), if
one of the operands is a vector of integer constant, we should try to
convert it into a constant range, in case that allows performing a range
union to something better than overdefined.


  Commit: 9711f6bda1363eb3b8850ee67958ab90357db006
      https://github.com/llvm/llvm-project/commit/9711f6bda1363eb3b8850ee67958ab90357db006
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/GVN/condprop.ll

  Log Message:
  -----------
  [GVN] Add additional tests for pointer replacement (NFC)


  Commit: f6b06b42a3f4f59ff33da20d42358f2768eaf726
      https://github.com/llvm/llvm-project/commit/f6b06b42a3f4f59ff33da20d42358f2768eaf726
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Headers/ptrauth.h
    A clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
    A clang/test/CodeGen/ptrauth-function-type-discriminator-cast.c

  Log Message:
  -----------
  [PAC] Implement function pointer re-signing (#98847)

Re-signing occurs when function type discrimination is enabled and a
function pointer is converted to another function pointer type that
requires signing using a different discriminator. A function pointer is
re-signed using discriminator zero when it's converted to a pointer to a
non-function type such as `void*`.

---------

Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Co-authored-by: John McCall <rjmccall at apple.com>


  Commit: 676efd0ffb717215c752f200fe14163732290dcc
      https://github.com/llvm/llvm-project/commit/676efd0ffb717215c752f200fe14163732290dcc
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  Reapply 078198f310d5 "Index DebugVariables and some DILocations"

Now revised to actually make the unit test compile, which I'd been
ignoring. No actual functional change, it's a type difference.
Original commit message follows.

[DebugInfo][InstrRef] Index DebugVariables and some DILocations (#99318)

A lot of time in LiveDebugValues is spent computing DenseMap keys for
DebugVariables, and they're made up of three pointers, so are large.
This patch installs an index for them: for the SSA and value-to-location
mapping parts of InstrRefBasedLDV we don't need to access things like
the variable declaration or the inlining site, so just use a uint32_t
identifier for each variable fragment that's tracked. The compile-time
performance improvements are substantial (almost 0.4% on the tracker).

About 80% of this patch is just replacing DebugVariable references with
DebugVariableIDs instead, however there are some larger consequences. We
spend lots of time fetching DILocations when emitting DBG_VALUE
instructions, so index those with the DebugVariables: this means all
DILocations on all new DBG_VALUE instructions will normalise to the
first-seen DILocation for the variable (which should be fine).

We also used to keep an ordering of when each variable was seen first in
a DBG_* instruction, in the AllVarsNumbering collection, so that we can
emit new DBG_* instructions in a stable order. We can hang this off the
DebugVariable index instead, so AllVarsNumbering is deleted.

Finally, rather than ordering by AllVarsNumbering just before DBG_*
instructions are linked into the output MIR, store instructions along
with their DebugVariableID, so that they can be sorted by that instead.


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

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

  Log Message:
  -----------
  [DAG] tryToFoldExtendSelectLoad - reuse existing SDLoc. NFC.


  Commit: 2bdcfbe62cb9a08df4b58a17d44be0a3082df053
      https://github.com/llvm/llvm-project/commit/2bdcfbe62cb9a08df4b58a17d44be0a3082df053
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/SemaCXX/cxx-deprecated.cpp

  Log Message:
  -----------
  [clang] Fix crash in concept deprecation (#98622)

There is a gap between `getAs<AutoType>()` and
`getConstrainedAutoType()` that the original patch #92295 was not aware
of.

Fixes #98164


  Commit: a2d309912a2863dfe7286ffde67b968e8c720b07
      https://github.com/llvm/llvm-project/commit/a2d309912a2863dfe7286ffde67b968e8c720b07
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/aarch64-fmv-resolver-emission.c
    M clang/test/CodeGen/aarch64-mixed-target-attributes.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    A clang/test/CodeGenCXX/aarch64-fmv-resolver-emission.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/CodeGenCXX/fmv-namespace.cpp

  Log Message:
  -----------
  [FMV][AArch64] Do not emit ifunc resolver on use. (#97761)

It was raised in https://github.com/llvm/llvm-project/issues/81494 that
we are not generating correct code when there is no TU-local caller.

The suggestion was to emit a resolver:
* Whenever there is a use in the TU.
* When the TU has a definition of the default version.

See the comment for more details:

https://github.com/llvm/llvm-project/issues/81494#issuecomment-1985963497

This got addressed with https://github.com/llvm/llvm-project/pull/84405.

Generating a resolver on use means that we may end up with multiple
resolvers across different translation units. Those resolvers may not be
the same because each translation unit may contain different version
declarations (user's fault). Therefore the order of linking the final
image determines which of these weak symbols gets selected, resulting in
non consisted behavior. I am proposing to stop emitting a resolver on
use and only do so in the translation unit which contains the default
definition. This way we guarantee the existence of a single resolver.
Now, when a versioned function is used we want to emit a declaration of
the function symbol omitting the multiversion mangling.

I have added a requirement to ACLE mandating that all the function
versions are declared in the translation unit which contains the default
definition: https://github.com/ARM-software/acle/pull/328


  Commit: 9af3628ce7400a96205a4c4468867c3c11dd4b2f
      https://github.com/llvm/llvm-project/commit/9af3628ce7400a96205a4c4468867c3c11dd4b2f
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/test/CodeGen/SystemZ/systemz-abi.c

  Log Message:
  -----------
  [SystemZ] Fix transparent_union calling convention

The SystemZ ABI code was missing code to handle the transparent_union
extension.  Arguments of such types are specified to be passed like
the first member of the union, instead of according to the usual
ABI calling convention for aggregates.

This did not make much difference in practice as the SystemZ ABI
already specifies that 1-, 2-, 4- or 8-byte aggregates are passed
in registers.  However, there *is* a difference if the first member
of the transparent union is a scalar integer type smaller than word
size - if passed as a scalar, it needs to be zero- or sign-extended
to word size, while if passed as aggregate, it is not.

Fixed by adding code to handle transparent_union similar to what
is done on other targets.


  Commit: 0c4023ae3b64c54ff51947e9776aee0e963c5635
      https://github.com/llvm/llvm-project/commit/0c4023ae3b64c54ff51947e9776aee0e963c5635
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll

  Log Message:
  -----------
  [RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)

We were only checking that the node from the worklist is a supported
root. We weren't checking the strategy or any of its operands unless it
was the original node. For any other node, we just rechecked the
original node's strategy and operands.

The effect of this is that we don't do all of the transformations at
once. Instead, when there were multiple possible nodes to transform we
would only do them as each node was visited by the main DAG combine
worklist.

The test shows a case where we widened an instruction without removing
all of the uses of the vsext. The sext is shared by one node that shares
another sext node with the root another node that doesn't share anything
with the root.


  Commit: 342bd4b89355c27203b5f1abd8c43de6b01aba14
      https://github.com/llvm/llvm-project/commit/342bd4b89355c27203b5f1abd8c43de6b01aba14
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_two_objects_same_name.s

  Log Message:
  -----------
  [orc] Add the name of static archives to the name of their member objects (#99407)

Changes "MyObj.o" to "/path/to/libMyLib.a(MyObj.o)".

This allows us to differentiate between objects that have the same
basename but came from different archives. It also fixes a bug where if
two such objects were both linked and both have initializer sections
their initializer symbol would cause a duplicate symbol error.

rdar://131782514


  Commit: 10627d20044cb13d3fa60a3bce31d37edb3a591f
      https://github.com/llvm/llvm-project/commit/10627d20044cb13d3fa60a3bce31d37edb3a591f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll

  Log Message:
  -----------
  Revert "[RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)"

This reverts commit 0c4023ae3b64c54ff51947e9776aee0e963c5635.

I messed up re-generating the test after the change.


  Commit: 0ce11a1a763d46e4afe678f3f94a1932c1dcfe5d
      https://github.com/llvm/llvm-project/commit/0ce11a1a763d46e4afe678f3f94a1932c1dcfe5d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [libc++] Add a release note about C++03 being frozen after LLVM 21 (#95894)

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 2bf91db0c743f041c9f83609399f75654c07445a
      https://github.com/llvm/llvm-project/commit/2bf91db0c743f041c9f83609399f75654c07445a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++] Use char_traits::copy while inserting when possible (#97201)

This reduces the number of asm lines from 707 to 519 for this snippet:
```c++
auto test(std::string& str, const char* begin, const char* end) {
  str.insert(str.begin(), begin, end);
}
```
While that's not a performance metric, I've never seen a use of `memcpy`
result in a performance regression for any realistic usage.


  Commit: 77ac07444d32668d5826ef27c24180fb10425213
      https://github.com/llvm/llvm-project/commit/77ac07444d32668d5826ef27c24180fb10425213
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll

  Log Message:
  -----------
  Re-commit "[RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)"

With correct test update.

Original message:

We were only checking that the node from the worklist is a supported
root. We weren't checking the strategy or any of its operands unless it
was the original node. For any other node, we just rechecked the
original node's strategy and operands.

The effect of this is that we don't do all of the transformations at
once. Instead, when there were multiple possible nodes to transform we
would only do them as each node was visited by the main DAG combine
worklist.

The test shows a case where we widened an instruction without removing
all of the uses of the vsext. The sext is shared by one node that shares
another sext node with the root another node that doesn't share anything
with the root.


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

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

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Remove DWO ranges base (#99284)

Removes getters and setters for DWO ranges base due to it not being
used.


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

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

  Log Message:
  -----------
  [clang][Interp][test] Use fixed triple in cxx11 test

This uses 'long', which has a different size on Windows. The test
I copied this from also uses x86_64-linux.

This should fix the bot:
https://lab.llvm.org/buildbot/#/builders/81/builds/853


  Commit: fe04aafe6c27f32ad4ba38e552d06d14431cb2de
      https://github.com/llvm/llvm-project/commit/fe04aafe6c27f32ad4ba38e552d06d14431cb2de
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
    M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
    M mlir/test/Dialect/Affine/loop-tiling-validity.mlir

  Log Message:
  -----------
  [MLIR][Affine] NFC. Expose affine loop tiling validity utility (#99459)

Move the utility to check for the validity of tiling affine loop nests
to affine loop utils and expose for users outside the loop tiling pass
or downstream users.


  Commit: 06ab30b57450694818dbb649dec2a687f44df7f4
      https://github.com/llvm/llvm-project/commit/06ab30b57450694818dbb649dec2a687f44df7f4
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll

  Log Message:
  -----------
  [AMDGPU] Constant folding of llvm.amdgcn.trig.preop (#98562)

If the parameters(the input and segment select) coming in to
amdgcn.trig.preop intrinsic are compile time constants, we pre-compute
the output of amdgcn.trig.preop on the CPU and replaces the uses with
the computed constant.

This work extends the patch https://reviews.llvm.org/D120150 to make it
a complete coverage.

For the segment select, only src1[4:0] are used. A segment select is
invalid if we are selecting the 53-bit segment beyond the [1200:0] range
of the 2/PI table. 0 is returned when a segment select is not valid.


  Commit: 371777695fe1b5407753ef2232d1b73014d3e501
      https://github.com/llvm/llvm-project/commit/371777695fe1b5407753ef2232d1b73014d3e501
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [LV] Assert uniform recipes don't get predicated for when vectorizing.

Add assertion ensuring invariant on construction, split off as suggested
from https://github.com/llvm/llvm-project/pull/98892.


  Commit: d06b55e7934635049d55efff2dc9e745f911240c
      https://github.com/llvm/llvm-project/commit/d06b55e7934635049d55efff2dc9e745f911240c
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/runtime/misc-intrinsic.cpp

  Log Message:
  -----------
  [Flang][Runtime] Improve runtime implementation of the RENAME intrinsic (#99445)

The RENAME implementation in the Fortran runtime had a few glitches that
had to be addressed:

- Wrong usage of RTDECL (fixed)
- Issue fatal error when trying to use RENAME on a target device (fixed)


  Commit: 3d69bbc35158822c9e1371b5c37a24213a8a81fc
      https://github.com/llvm/llvm-project/commit/3d69bbc35158822c9e1371b5c37a24213a8a81fc
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
    M llvm/test/MC/SystemZ/insn-bad.s
    M llvm/test/MC/SystemZ/insn-good.s

  Log Message:
  -----------
  Allow MAY(R)? to accept the high components of register pairs (#98606)

The HFP instructions `MAY` and `MAYR`, unlike any other floating point
instructions, allow the specification of a 128bit register pair by
either the lower-numbered or the higher-numbered component register. In
order to support this, but change as little about codegen as possible,
the existing `MAY(R)?` definition is made `CodeGenOnly`, while a copy is
provided for the assembler and disassembler, which simply accepts a
64bit floating point register in place of the 128bit one. This copy is
stripped of its pattern to prevent codegen from using it.
The corresponding assembly tests that checked the register specification
rule that this commit removes from `MAY(R)?` have also been removed.


  Commit: 574dbe3e9cdaf94b390015a53b76f87bdaf68aae
      https://github.com/llvm/llvm-project/commit/574dbe3e9cdaf94b390015a53b76f87bdaf68aae
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp

  Log Message:
  -----------
  suppresses unused variable warning (#99526)


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/revec-fix-99411.ll
    R llvm/test/Transforms/SLPVectorizer/revec-fix-99411.ll

  Log Message:
  -----------
  Move the test to the correct folder. A test specified for a target
should remain in its designated folder.


  Commit: 13a8f8d51962b59949496c460ea0b8ad22ae908a
      https://github.com/llvm/llvm-project/commit/13a8f8d51962b59949496c460ea0b8ad22ae908a
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferAttrs] Set attributes for `remainder` (#99521)

Fixes one of the issues in
https://github.com/llvm/llvm-project/issues/99497.


  Commit: 1c55586e9a475a09b7d769e7fc9a254e7150c972
      https://github.com/llvm/llvm-project/commit/1c55586e9a475a09b7d769e7fc9a254e7150c972
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [clang] Fix typo in comments


  Commit: ce8c43fe274f3f090cad2342af6032176efb846f
      https://github.com/llvm/llvm-project/commit/ce8c43fe274f3f090cad2342af6032176efb846f
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  Fix assertion of null pointer samples in inline replay mode (#99378)

Fix https://github.com/llvm/llvm-project/issues/97108. In inline replay
mode, `CalleeSamples` may be null and the order doesn't matter.


  Commit: b2dcf62c514d3c9c143c85bd029d22098b92c38d
      https://github.com/llvm/llvm-project/commit/b2dcf62c514d3c9c143c85bd029d22098b92c38d
  Author: Meredith Julian <35236176+mjulian31 at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/i1-ext-load.ll
    A llvm/test/CodeGen/NVPTX/i1-load-lower.ll

  Log Message:
  -----------
  [NVPTX] fix emission for i1 load and extload (#99392)

Currently, an illegal 2-byte load from a 1-byte global variable is being
generated. This change instead generates a 1-byte load and zero-extends
it to i16 register. This was always the intended behavior of the
function.

In addition, an i1 ext load of any kind needs to be promoted. A missing
setLoadExtAction for ISD::EXTLOAD was causing an "Unhandled source type"
unreachable due to an illegal i1 ext load during ISelDAGtoDAG (see below
bug).

Bug https://github.com/llvm/llvm-project/issues/98033.


  Commit: 04bcd74df73af6fed16bfd0d6784fc0aec582bc0
      https://github.com/llvm/llvm-project/commit/04bcd74df73af6fed16bfd0d6784fc0aec582bc0
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    R a-abfdec1d.o.tmp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/Driver/ftime-trace-sections.cpp
    M clang/test/Driver/ftime-trace.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/lib/Support/TimeProfiler.cpp

  Log Message:
  -----------
  Revert "Add source file name for template instantiations in -ftime-trace" (#99534)

Reverts llvm/llvm-project#98320

Breaks windows tests:

```
Step 8 (test-build-unified-tree-check-clang-unit) failure: test (failure)
******************** TEST 'Clang-Unit :: Support/./ClangSupportTests.exe/1/3' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\tools\clang\unittests\Support\.\ClangSupportTests.exe-Clang-Unit-4296-1-3.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=3 GTEST_SHARD_INDEX=1 C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\tools\clang\unittests\Support\.\ClangSupportTests.exe
--

Script:
--
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\tools\clang\unittests\Support\.\ClangSupportTests.exe --gtest_filter=TimeProfilerTest.TemplateInstantiations
--
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\clang\unittests\Support\TimeProfilerTest.cpp(278): error: Expected equality of these values:
  R"(
Frontend
| ParseFunctionDefinition (fooB)
| ParseFunctionDefinition (fooMTA)
| ParseFunctionDefinition (fooA)
| ParseDeclarationOrFunctionDefinition (test.cc:3:5)
| | ParseFunctionDefinition (user)
| PerformPendingInstantiations
| | InstantiateFunction (fooA<int>, ./a.h:7)
| | | InstantiateFunction (fooB<int>, ./b.h:3)
| | | InstantiateFunction (fooMTA<int>, ./a.h:4)
)"
    Which is: "\nFrontend\n| ParseFunctionDefinition (fooB)\n| ParseFunctionDefinition (fooMTA)\n| ParseFunctionDefinition (fooA)\n| ParseDeclarationOrFunctionDefinition (test.cc:3:5)\n| | ParseFunctionDefinition (user)\n| PerformPendingInstantiations\n| | InstantiateFunction (fooA<int>, ./a.h:7)\n| | | InstantiateFunction (fooB<int>, ./b.h:3)\n| | | InstantiateFunction (fooMTA<int>, ./a.h:4)\n"
  buildTraceGraph(Json)
    Which is: "\nFrontend\n| ParseFunctionDefinition (fooB)\n| ParseFunctionDefinition (fooMTA)\n| ParseFunctionDefinition (fooA)\n| ParseDeclarationOrFunctionDefinition (test.cc:3:5)\n| | ParseFunctionDefinition (user)\n| PerformPendingInstantiations\n| | InstantiateFunction (fooA<int>, .\\a.h:7)\n| | | InstantiateFunction (fooB<int>, .\\b.h:3)\n| | | InstantiateFunction (fooMTA<int>, .\\a.h:4)\n"
With diff:
@@ -7,5 +7,5 @@
 | | ParseFunctionDefinition (user)
 | PerformPendingInstantiations
-| | InstantiateFunction (fooA<int>, ./a.h:7)
-| | | InstantiateFunction (fooB<int>, ./b.h:3)
-| | | InstantiateFunction (fooMTA<int>, ./a.h:4)\n
+| | InstantiateFunction (fooA<int>, .\\a.h:7)
+| | | InstantiateFunction (fooB<int>, .\\b.h:3)
+| | | InstantiateFunction (fooMTA<int>, .\\a.h:4)\n



C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\clang\unittests\Support\TimeProfilerTest.cpp:278
Expected equality of these values:
  R"(
Frontend
| ParseFunctionDefinition (fooB)
| ParseFunctionDefinition (fooMTA)
| ParseFunctionDefinition (fooA)
| ParseDeclarationOrFunctionDefinition (test.cc:3:5)
| | ParseFunctionDefinition (user)
| PerformPendingInstantiations
| | InstantiateFunction (fooA<int>, ./a.h:7)

```


  Commit: 9fb049c8c6a77026fa75a8d36b386a7f5a60613a
      https://github.com/llvm/llvm-project/commit/9fb049c8c6a77026fa75a8d36b386a7f5a60613a
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/llvm_libc_ext.td
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    A libc/src/__support/FPUtil/generic/mul.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/dmulf128.h
    A libc/src/math/dmull.h
    A libc/src/math/f16mul.h
    A libc/src/math/f16mulf.h
    A libc/src/math/f16mulf128.h
    A libc/src/math/f16mull.h
    A libc/src/math/fmulf128.h
    A libc/src/math/fmull.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/dmulf128.cpp
    A libc/src/math/generic/dmull.cpp
    A libc/src/math/generic/f16mul.cpp
    A libc/src/math/generic/f16mulf.cpp
    A libc/src/math/generic/f16mulf128.cpp
    A libc/src/math/generic/f16mull.cpp
    M libc/src/math/generic/fmul.cpp
    A libc/src/math/generic/fmulf128.cpp
    A libc/src/math/generic/fmull.cpp
    M libc/test/src/math/CMakeLists.txt
    R libc/test/src/math/FMulTest.h
    A libc/test/src/math/MulTest.h
    A libc/test/src/math/dmull_test.cpp
    A libc/test/src/math/f16mul_test.cpp
    A libc/test/src/math/f16mulf_test.cpp
    A libc/test/src/math/f16mull_test.cpp
    M libc/test/src/math/fmul_test.cpp
    A libc/test/src/math/fmull_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    R libc/test/src/math/smoke/FMulTest.h
    A libc/test/src/math/smoke/MulTest.h
    A libc/test/src/math/smoke/dmulf128_test.cpp
    A libc/test/src/math/smoke/dmull_test.cpp
    A libc/test/src/math/smoke/f16mul_test.cpp
    A libc/test/src/math/smoke/f16mulf128_test.cpp
    A libc/test/src/math/smoke/f16mulf_test.cpp
    A libc/test/src/math/smoke/f16mull_test.cpp
    M libc/test/src/math/smoke/fmul_test.cpp
    A libc/test/src/math/smoke/fmulf128_test.cpp
    A libc/test/src/math/smoke/fmull_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h

  Log Message:
  -----------
  [libc][math][c23] Add {f,d}mul{l,f128} and f16mul{,f,l,f128} C23 math functions (#98972)

Part of #93566.
                
Fixes #94833.


  Commit: b37bdadbe784339e455915368a4893d3bd4a1193
      https://github.com/llvm/llvm-project/commit/b37bdadbe784339e455915368a4893d3bd4a1193
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/newhdrgen/class_implementation/classes/function.py
    M libc/newhdrgen/header.py
    R libc/newhdrgen/tests/output/test_small.h
    M libc/newhdrgen/tests/test_integration.py

  Log Message:
  -----------
  [libc] newheadergen: adding h_def_file arg to test (#99397)

- spacing with _NOEXCEPT


  Commit: 78e3bfc120c8a23e246f544a5e9fb122828a21a7
      https://github.com/llvm/llvm-project/commit/78e3bfc120c8a23e246f544a5e9fb122828a21a7
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  [LLDB][test] Drop OS/HOST_OS detection code from Makefile.rules (#99535)

Remove commands for OS/HOST_OS detection from Makefile.rules to simplify
it, since logic for these variables has been implemented in
`lldb/packages/Python/lldbsuite/test/lldbplatformutil.py`
(7021e44b2f0e11717c0d82456bad0fed4a0b48f9).


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

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

  Log Message:
  -----------
  [SandboxIR][Tracker] Track eraseFromParent() (#99431)

This patch adds tracking support for Instruction::eraseFromParent(). The
Instruction is not actually being erased, but instead it is detached
from the instruction list and drops its Use edges. The original
instruction position and Use edges are saved in the `EraseFromParent`
change object, and are being used during `revert()` to restore the
original state.


  Commit: 507c18b445ef88d985d95181db8107f669aed998
      https://github.com/llvm/llvm-project/commit/507c18b445ef88d985d95181db8107f669aed998
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst

  Log Message:
  -----------
  [clang-tidy] Few tiny fixes after #99084

Update documentation, and correct configuration


  Commit: 5431a31f87387763cca8d014e7c07394bab7a1ad
      https://github.com/llvm/llvm-project/commit/5431a31f87387763cca8d014e7c07394bab7a1ad
  Author: Rafael Stahl <dummdoof-doof at web.de>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Fix gsl::not_null template parameter (#99472)

`T` is expected to be a pointer type.

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-nullptr


  Commit: 280d90d0fdb2734af6c071064c6f87a8fe8d06d0
      https://github.com/llvm/llvm-project/commit/280d90d0fdb2734af6c071064c6f87a8fe8d06d0
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll

  Log Message:
  -----------
  AMDGPU: Add back half and bfloat support for global_load_tr16 pats (#99540)

half and bfloat are common types for 16-bit elements. The support of
them was original there and dropped due to some reasons. This work adds
the support of the float types back.


  Commit: 9527d77aefcf214944a4c8bd284dde3ffe9dff60
      https://github.com/llvm/llvm-project/commit/9527d77aefcf214944a4c8bd284dde3ffe9dff60
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp

  Log Message:
  -----------
  [mlir][spirv] Restructure code in `SPIRVConversion.cpp`. NFC. (#99393)


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

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

  Log Message:
  -----------
  [LLVM] Silence compiler-rt warning in runtimes build (#99525)

Summary:
The `compiler-rt` project wants `LLVM_CMAKE_DIR` but the
`llvm_ExternalProject_add` interface sets the `LLVM_CONFIG_PATH`. This
patch just makes the utility pass that as well.


  Commit: 5e8cd29d62a72ed18e7bc782554d7f14eccec0ee
      https://github.com/llvm/llvm-project/commit/5e8cd29d62a72ed18e7bc782554d7f14eccec0ee
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/VectorCombine/RISCV/vecreduce-of-cast.ll

  Log Message:
  -----------
  [RISCV] Add coverage for vector combine reduce(cast x) transformation

This covers both the existing trunc transform - basically checking
that it performs sanely with the RISCV cost model - and a planned
change to handle sext/zext as well.


  Commit: eed72d4381261bfe1acb693fb8751c05765c4831
      https://github.com/llvm/llvm-project/commit/eed72d4381261bfe1acb693fb8751c05765c4831
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Support filling liveness 'holes' in the tile allocator (#98350)

Holes in a live range are points where the corresponding value does not
need to be in a tile/register. If the tile allocator keeps track of
these holes it can reuse tiles for more values (avoiding spills).

Take this simple example:

```mlir
func.func @example(%cond: i1) {
  %tileA = arm_sme.get_tile : vector<[4]x[4]xf32>
  cf.cond_br %cond, ^bb2, ^bb1
^bb1:
  // If we end up here we never use %tileA again!
  "test.some_use"(%tileB) : (vector<[4]x[4]xf32>) -> ()
  cf.br ^bb3
^bb2:
  "test.some_use"(%tileA) : (vector<[4]x[4]xf32>) -> ()
  cf.br ^bb3
^bb3:
  return
}
```

If you were to calculate the liveness of %tileA and %tileB. You'd see
there is a hole in the liveness of %tileA in bb1:

```
      %tileA  %tileB
^bb0:  Live
^bb1:          Live
^bb2:  Live
```

The tile allocator can make use of that hole and reuse the tile ID it
assigned to %tileA for %tileB.


  Commit: e2c3cd7f3d0cd40bd8506ab305573d61a1ae25d9
      https://github.com/llvm/llvm-project/commit/e2c3cd7f3d0cd40bd8506ab305573d61a1ae25d9
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/FLATInstructions.td

  Log Message:
  -----------
  AMDGPU: Loop over the types for global_load_tr16 pats (NFC) (#99551)


  Commit: 82cca0c77e935b4972c31745d94edef616970b6c
      https://github.com/llvm/llvm-project/commit/82cca0c77e935b4972c31745d94edef616970b6c
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetCallingConv.h
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Verifier/byval-size-limit.ll
    M llvm/test/Verifier/param-align.ll
    M llvm/test/Verifier/param-attr-align.ll
    M llvm/test/Verifier/param-ret-align.ll

  Log Message:
  -----------
  [IR] Unify max alignment for arguments with generic max align. (#99257)

The 2^14 limit was completely arbitrary; the generic limit is still
arbitrary, but at least it's the same arbitrary limit as everything
else.

While I'm here, also add a verifier check for the ByValOrByRefSize.


  Commit: 892c58cf7490c219ff8fc4dc0d2497e062a9c665
      https://github.com/llvm/llvm-project/commit/892c58cf7490c219ff8fc4dc0d2497e062a9c665
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-load-error.cl

  Log Message:
  -----------
  [Clang][AMDGPU] Add builtins for instrinsic `llvm.amdgcn.raw.ptr.buffer.load` (#99258)


  Commit: 52d947b5c14173b0aee96e419a04a49f83e5a283
      https://github.com/llvm/llvm-project/commit/52d947b5c14173b0aee96e419a04a49f83e5a283
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [LV] Remove unnecessary variable from InnerLoopVectorizer::createBitOrPointerCast. NFC

DstVTy is already a VectorType, we don't need to cast it again. This
used to be a cast to FixedVectorType that was changed to support
scalable vectors.


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

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

  Log Message:
  -----------
  [msan] Precommit MSan Arm NEON vst tests with origin-tracking (#99555)

This adds an abridged copy of neon_vst.ll (from
https://github.com/llvm/llvm-project/commit/ff0821583eab1651ff126bbf4f881e6163b67435),
but with origin tracking enabled.

The test will be updated when MSan's Arm NEON support is improved (e.g.,
https://github.com/llvm/llvm-project/pull/99360).


  Commit: a0662176a9b40462aafbb17cd8eb8cf6a65e940e
      https://github.com/llvm/llvm-project/commit/a0662176a9b40462aafbb17cd8eb8cf6a65e940e
  Author: Iuri Chaer <iuri.chaer at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/algorithms/set_intersection.bench.cpp
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__algorithm/iterator_operations.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/set_intersection.h
    M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/types.h
    M libcxx/test/std/ranges/range.adaptors/range.transform/types.h
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
   [libc++] Speed up set_intersection() by fast-forwarding over ranges of non-matching elements with one-sided binary search. (#75230)

One-sided binary search, aka meta binary search, has been in the public
domain for decades, and has the general advantage of being constant time
in the best case, with the downside of executing at most 2*log(N)
comparisons vs classic binary search's exact log(N). There are two
scenarios in which it really shines: the first one is when operating
over non-random-access iterators, because the classic algorithm requires
knowing the container's size upfront, which adds N iterator increments
to the complexity. The second one is when traversing the container in
order, trying to fast-forward to the next value: in that case the
classic algorithm requires at least O(N*log(N)) comparisons and, for
non-random-access iterators, O(N^2) iterator increments, whereas the
one-sided version will yield O(N) operations on both counts, with a
best-case of O(log(N)) comparisons which is very common in practice.


  Commit: b1fd6f0996a9d6e6ebfa0cc3df0fe499c5ccdf65
      https://github.com/llvm/llvm-project/commit/b1fd6f0996a9d6e6ebfa0cc3df0fe499c5ccdf65
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] newheadergen: cmake config newhdrgen (#99543)

- revert to revert for patch
https://github.com/llvm/llvm-project/pull/98828
- revert to revert https://github.com/llvm/llvm-project/pull/99410
- revert to revert https://github.com/llvm/llvm-project/pull/99413


  Commit: 05275b05ca58e4d015eea1503f120e6967ef1b91
      https://github.com/llvm/llvm-project/commit/05275b05ca58e4d015eea1503f120e6967ef1b91
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  fixup! [clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)

Looks like sed on the ppc64-aix bot does not support the '\n' literal. Let's
try using `tr` to perform that substitution. Failing that, we can revert.


  Commit: 5c9fc3cdd7acae4ede998f2983e6107f3c0ea36a
      https://github.com/llvm/llvm-project/commit/5c9fc3cdd7acae4ede998f2983e6107f3c0ea36a
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/config/config.json
    M libc/config/linux/aarch64/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/dev/undefined_behavior.rst
    M libc/spec/posix.td
    M libc/src/__support/OSUtil/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/pid.cpp
    A libc/src/__support/OSUtil/pid.h
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/thread.h
    A libc/src/__support/threads/tid.h
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/getpid.h
    A libc/src/unistd/gettid.cpp
    A libc/src/unistd/gettid.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/fork.cpp
    M libc/src/unistd/linux/getpid.cpp
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/do_start.cpp
    M libc/test/integration/src/unistd/CMakeLists.txt
    M libc/test/integration/src/unistd/fork_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/gettid_test.cpp

  Log Message:
  -----------
  [libc] implement cached process/thread identity (#98989)

migrated from https://github.com/llvm/llvm-project/pull/95965 due to
corrupted git history


  Commit: 415ca24f8e392bca6f6295e667be2f02211fc303
      https://github.com/llvm/llvm-project/commit/415ca24f8e392bca6f6295e667be2f02211fc303
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/config/config.json
    M libc/config/linux/aarch64/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/dev/undefined_behavior.rst
    M libc/spec/posix.td
    M libc/src/__support/OSUtil/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    R libc/src/__support/OSUtil/linux/pid.cpp
    R libc/src/__support/OSUtil/pid.h
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/thread.h
    R libc/src/__support/threads/tid.h
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/getpid.h
    R libc/src/unistd/gettid.cpp
    R libc/src/unistd/gettid.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/fork.cpp
    M libc/src/unistd/linux/getpid.cpp
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/do_start.cpp
    M libc/test/integration/src/unistd/CMakeLists.txt
    M libc/test/integration/src/unistd/fork_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    R libc/test/src/unistd/gettid_test.cpp

  Log Message:
  -----------
  Revert "[libc] implement cached process/thread identity" (#99559)

Reverts llvm/llvm-project#98989


  Commit: af5352fe8e66e71ae381498745c0e52ca56478c6
      https://github.com/llvm/llvm-project/commit/af5352fe8e66e71ae381498745c0e52ca56478c6
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-store-error.cl

  Log Message:
  -----------
  [Clang][AMDGPU] Use unsigned data type for `__builtin_amdgcn_raw_buffer_store_*` (#99546)


  Commit: 4272847546225bcf2e83e09e3a620bf286c058fd
      https://github.com/llvm/llvm-project/commit/4272847546225bcf2e83e09e3a620bf286c058fd
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [clang][deps] Don't treat ObjC method args as module directives (#97654)

`import:(type)name` is a method argument decl in ObjC, but the C++20
preprocessing rules say this is a preprocessing line.

Because the dependency directive scanner is not language dependent, this
patch extends the C++20 rule to exclude `module :` (which is never a
valid module decl anyway), and `import :` that is not followed by an
identifier.

This is ok to do because in C++20 mode the compiler will later error on
lines like this anyway, and the dependencies the scanner returns are
still correct.


  Commit: 06518cea3905556d8d1eea4088132ebb234bfdab
      https://github.com/llvm/llvm-project/commit/06518cea3905556d8d1eea4088132ebb234bfdab
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  Revert "[clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)"

This reverts commit c0c4ad5d9a6e05e0b1f5f98ce2e08d479b281be8.

And the fixup broke another bot. Darn.

https://lab.llvm.org/buildbot/#/builders/46/builds/1896


  Commit: 719b2ac42e42807c9282052718cbc91e0cac930c
      https://github.com/llvm/llvm-project/commit/719b2ac42e42807c9282052718cbc91e0cac930c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/cmake/caches/Apple.cmake
    A libcxx/test/configs/apple-libc++-shared.cfg.in
    M libcxx/utils/ci/apple-install-libcxx.sh
    A libcxxabi/src/vendor/apple/shims.cpp
    A libcxxabi/test/configs/apple-libc++abi-shared.cfg.in

  Log Message:
  -----------
  [libc++] Allow testing Apple's system library as it is installed (#99086)

In order to test libc++ under the "Apple System Library" configuration,
we need to run the tests using DYLD_LIBRARY_PATH. This is required
because libc++ gets an install_name of /usr/lib when built as a system
library, which means that we must override the copy of libc++ used by
the whole process. This effectively reverts 2cf2f1b, which was the wrong
solution for the problem I was having.

Of course, this assumes that the just-built libc++ is sufficient to
replace the system library, which is not actually the case
out-of-the-box. Indeed, the system library contains a few symbols that
are not provided by the upstream library, leading to undefined symbols
when replacing the system library by the just-built one.

To solve this problem, we separately build shims that provide those
missing symbols and we manually link against them when we build
executables in the tests. While this is somewhat brittle, it provides a
localized and unintrusive way to allow testing the Apple system
configuration in an upstream environment, which has been a frequent
request.


  Commit: 50b5bb717ca5d2ec78587551bc90a8ddd0cc8983
      https://github.com/llvm/llvm-project/commit/50b5bb717ca5d2ec78587551bc90a8ddd0cc8983
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libcxx/utils/ci/apple-install-libcxx.sh

  Log Message:
  -----------
  [libc++] Add comment about matching standard version in apple-install-libcxx

This was forgotten when I landed #99086


  Commit: 4f786c6823956f72ef0b9eee57bf0c462842b609
      https://github.com/llvm/llvm-project/commit/4f786c6823956f72ef0b9eee57bf0c462842b609
  Author: vporpo <vporpodas at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [SandboxIR][Tracker] Track Instruction::removeFromParent() (#99541)

This patch adds the necessary functionality to the Tracker and to the
Sandbox IR API functions for tracking calls to removeFromParent().


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/RISCV/vecreduce-of-cast.ll

  Log Message:
  -----------
  [vectorcombine] Pull sext/zext through reduce.or/and/xor (#99548)

This extends the existing foldTruncFromReductions transform to handle
sext and zext as well. This is only legal for the bitwise reductions
(and/or/xor) and not the arithmetic ones (add, mul). Use the same
costing decision to drive whether we do the transform.


  Commit: 19c9a1c2fd2c3849439bca2ba5084dada4d1f47f
      https://github.com/llvm/llvm-project/commit/19c9a1c2fd2c3849439bca2ba5084dada4d1f47f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [LAA] Include IndirectUnsafe in ::isPossiblyBackward.

Similarly to Unknown, IndirectUnsafe should also be considered possibly
backward, as it may be a backwards dependency e.g. via loading
different base pointers.

This also brings isPossiblyBackward in line with
Dependence::isSafeForVectorization. At the moment this can't be tested,
as it is not possible to write a test with an AddRec that is based on a
loop varying value. But this may change in the future and may cause
mis-compiles in the future.


  Commit: 2ec1a39bcb1ab893f4b6cde7fc9e24cfdff0aeb6
      https://github.com/llvm/llvm-project/commit/2ec1a39bcb1ab893f4b6cde7fc9e24cfdff0aeb6
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Preprocessing/directive-contin-with-pp.F90

  Log Message:
  -----------
  [flang][preprocessor] Handle initial "MACRO&" with no space (#98684)

The prescanner checks lines that begin with a keyword macro name to see
whether they should be treated as a comment or compiler directive
instead of a source line. This fails when the potential keyword macro
name is extended with identifier characters via Fortran line
continuation. Disable line continuation during this check.


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

  Changed paths:
    M libc/utils/MPFRWrapper/CMakeLists.txt

  Log Message:
  -----------
  [libc][CMake] Set library type of libcMPFRWrapper to STATIC (#99527)

Fixes linker errors due to hidden symbols when running CMake with
-DBUILD_SHARED_LIBS=ON.


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

  Changed paths:
    M llvm/test/MC/AArch64/elf-reloc-ptrauth.s

  Log Message:
  -----------
  [AArch64,test] Remove over reliance on section offsets and symbol indexes


  Commit: 99faa038c66872f6507dfe1d5aa470ba13e58614
      https://github.com/llvm/llvm-project/commit/99faa038c66872f6507dfe1d5aa470ba13e58614
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp:621:16: error:
  unused variable 'removed' [-Werror,-Wunused-variable]


  Commit: 6c6baf019a25710cdc3c3971b09cd6332d0379c0
      https://github.com/llvm/llvm-project/commit/6c6baf019a25710cdc3c3971b09cd6332d0379c0
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  Revert "[clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)"

This reverts commit 06518cea3905556d8d1eea4088132ebb234bfdab.
This reverts commit 05275b05ca58e4d015eea1503f120e6967ef1b91.
This reverts commit c0c4ad5d9a6e05e0b1f5f98ce2e08d479b281be8.


  Commit: 05bce3f079b677edd0efd28e3923f4776ffb8b59
      https://github.com/llvm/llvm-project/commit/05bce3f079b677edd0efd28e3923f4776ffb8b59
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Suppress potential unused warning (#99573)

When building in release mode, the assert will be dropped, making
`remove` unused.


  Commit: a41a4b8feda789529e4e927d9d6a04b7be8e9664
      https://github.com/llvm/llvm-project/commit/a41a4b8feda789529e4e927d9d6a04b7be8e9664
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

  Log Message:
  -----------
  Revert "[mlir][ArmSME] Suppress potential unused warning (#99573)" (#99578)

This reverts commit 05bce3f079b677edd0efd28e3923f4776ffb8b59.

The work was already done in 99faa03.


  Commit: 8be714b6724f1f2f57442f2cdd3a0625c053d872
      https://github.com/llvm/llvm-project/commit/8be714b6724f1f2f57442f2cdd3a0625c053d872
  Author: Ilya Leoshkevich <iii at linux.ibm.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp

  Log Message:
  -----------
  [sanitizer] Fix running sanitizer_set_report_path_test on Android (#99469)

sanitizer_set_report_path_test outputs the following on an Android
builder [1]:

ERROR: Can't create directory:
/data/local/tmp/Output/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/compiler_rt_build_android_arm/test/sanitizer_common/asan-arm-Android/Posix/Output/sanitizer_set_report_path_test.cpp.tmp
Path
/data/local/tmp/Output/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/compiler_rt_build_android_arm/test/sanitizer_common/asan-arm-Android/Posix/Output/sanitizer_set_report_path_test.cpp.tmp.report_path/report.24954

The order of messages is reversed. 

The test can use strcmp+assert instead of CHECK for `__sanitizer_get_report_path` output.

[1]
https://lab.llvm.org/buildbot/#/builders/186/builds/703/steps/26/logs/stdio

---------

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: 1f6f97e2b64a9c4c51712d32b53e07d2a20e0cc0
      https://github.com/llvm/llvm-project/commit/1f6f97e2b64a9c4c51712d32b53e07d2a20e0cc0
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [Clang] Loop over FieldDecls instead of all Decls (#99574)

Only FieldDecls are important when determining GEP indices. A struct
defined within another struct has the same semantics as if it were
defined outside of the struct. So there's no need to look into
RecordDecls that aren't a field.

See commit 5bcf31ebfad8 ("[Clang] Loop over FieldDecls instead of all
Decls (#89453)")

Fixes 2039.


  Commit: f1a8db1a1f93a7e921e10c362a659712a4be2a33
      https://github.com/llvm/llvm-project/commit/f1a8db1a1f93a7e921e10c362a659712a4be2a33
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/include/CMakeLists.txt
    R libc/newhdrgen/yaml/arpa/arpa_inet.yaml
    A libc/newhdrgen/yaml/arpa/inet.yaml
    R libc/newhdrgen/yaml/gpu/gpu_rpc.yaml
    A libc/newhdrgen/yaml/gpu/rpc.yaml
    A libc/newhdrgen/yaml/sys/auxv.yaml
    A libc/newhdrgen/yaml/sys/epoll.yaml
    A libc/newhdrgen/yaml/sys/ioctl.yaml
    A libc/newhdrgen/yaml/sys/mman.yaml
    A libc/newhdrgen/yaml/sys/prctl.yaml
    A libc/newhdrgen/yaml/sys/random.yaml
    A libc/newhdrgen/yaml/sys/resource.yaml
    A libc/newhdrgen/yaml/sys/select.yaml
    A libc/newhdrgen/yaml/sys/sendfile.yaml
    A libc/newhdrgen/yaml/sys/socket.yaml
    A libc/newhdrgen/yaml/sys/stat.yaml
    A libc/newhdrgen/yaml/sys/statvfs.yaml
    R libc/newhdrgen/yaml/sys/sys_auxv.yaml
    R libc/newhdrgen/yaml/sys/sys_epoll.yaml
    R libc/newhdrgen/yaml/sys/sys_ioctl.yaml
    R libc/newhdrgen/yaml/sys/sys_mman.yaml
    R libc/newhdrgen/yaml/sys/sys_prctl.yaml
    R libc/newhdrgen/yaml/sys/sys_random.yaml
    R libc/newhdrgen/yaml/sys/sys_resource.yaml
    R libc/newhdrgen/yaml/sys/sys_select.yaml
    R libc/newhdrgen/yaml/sys/sys_sendfile.yaml
    R libc/newhdrgen/yaml/sys/sys_socket.yaml
    R libc/newhdrgen/yaml/sys/sys_stat.yaml
    R libc/newhdrgen/yaml/sys/sys_statvfs.yaml
    R libc/newhdrgen/yaml/sys/sys_syscall.yaml
    R libc/newhdrgen/yaml/sys/sys_time.yaml
    R libc/newhdrgen/yaml/sys/sys_types.yaml
    R libc/newhdrgen/yaml/sys/sys_utsname.yaml
    R libc/newhdrgen/yaml/sys/sys_wait.yaml
    A libc/newhdrgen/yaml/sys/syscall.yaml
    A libc/newhdrgen/yaml/sys/time.yaml
    A libc/newhdrgen/yaml/sys/types.yaml
    A libc/newhdrgen/yaml/sys/utsname.yaml
    A libc/newhdrgen/yaml/sys/wait.yaml

  Log Message:
  -----------
  [libc][newhdrgen] Remove redundant yaml prefixes (#99581)

Since the yaml files are already organized into folders, the name of the
file doesn't also need to be prefixed by what folder it's in.


  Commit: 202785708ed0ff11770f8ae8603514d2c9a54bd9
      https://github.com/llvm/llvm-project/commit/202785708ed0ff11770f8ae8603514d2c9a54bd9
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang][runtime] Clear leftTabLimit at in FinishReadingRecord (#98822)

ExternalFileUnit::FinishReadingRecord() is called at the end of a READ
statement, unless the read is non-advancing and there was no error. In
the event of an erroneous non-advancing read, however,
FinishReadingRecord() leaves ConnectionState::leftTabLimit inhabited by
a value, leaving the impression that the *next* record is undergoing a
non-advancing operation, and this cause the next operation to fail. In
the test case in the reported bug, the next operation is a BACKSPACE,
and it ends up doing nothing. The fix is to always reset leftTabLimit in
FinishReadingRecord.

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


  Commit: ef94732b4fa0512a3a635766b872c1574a1aade4
      https://github.com/llvm/llvm-project/commit/ef94732b4fa0512a3a635766b872c1574a1aade4
  Author: Connie <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/utils/lit/lit/builtin_commands/cat.py

  Log Message:
  -----------
  [llvm-lit] Resolve TypeError in built-in cat -v implementation (#98363)

When using -v in lit's internal implementation of cat, there is a
TypeError when the file data is passed into convertToCaretAndMNotation()
as a str, because bytearray() requires an encoded string. This patch
encodes the str before passing it through bytearray().


  Commit: 6c09a9bf6c6247299b53833602e6bb312dfda555
      https://github.com/llvm/llvm-project/commit/6c09a9bf6c6247299b53833602e6bb312dfda555
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/array-constr-values.f90
    M flang/test/Semantics/assign10.f90

  Log Message:
  -----------
  [flang] Check assignment conformance for derived types (#99059)

Derived type assignment checking needs to account for the possibility of
derived assignment. The implementation was checking compile-time
conformance errors only on the path for assignments of intrinsic types.
Add a static array conformance check in the derived type flow once it
has been established that no defined assignment exists.

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


  Commit: 0004ca670a960d3573137679b3c67a7b3932530a
      https://github.com/llvm/llvm-project/commit/0004ca670a960d3573137679b3c67a7b3932530a
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/headers.txt
    M libc/newhdrgen/yaml/math.yaml
    M libc/newhdrgen/yaml/sys/statvfs.yaml
    M libc/src/sys/statvfs/linux/CMakeLists.txt

  Log Message:
  -----------
  [libc] Removed __LIBC_CONST_ATTR attribute and updated math.yaml with the new math functions (#99571)

- deleted attribute from fabs function
- added math functions from #98972
- also updated statvfs files so that it can be generated


  Commit: 40ed6ba016ea59106e18e610cc17df43e0192ee4
      https://github.com/llvm/llvm-project/commit/40ed6ba016ea59106e18e610cc17df43e0192ee4
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/docs/Extensions.md
    A flang/test/Semantics/parent-comp-name.f90

  Log Message:
  -----------
  [flang][NFC] Document an intentional violation of the standard (#99073)

The Fortran standard committees passed an "interp" request at their June
2024 meetings that is distinct from nearly every other Fortran compiler
that I tried (6) in an an ambiguous case (parent component naming when
the base type has been renamed via USE association). Document this case
in flang/docs/Extensions.md as an intentional instance of
non-conformance chosen for portability and better usability.


  Commit: adacb5010f5ca6e923b3cf2d8ea47cbaab96099d
      https://github.com/llvm/llvm-project/commit/adacb5010f5ca6e923b3cf2d8ea47cbaab96099d
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [libc] Restore DECLS_FILE_PATH property (#99583)

The DECLS_FILE_PATH property is supposed to be set on the targets for
the generated headers for the GPU build installation. It got missed when
creating the cmake rule for new headergen.


  Commit: c675a9be63b67682477e5cbdc01c450f66bbc59a
      https://github.com/llvm/llvm-project/commit/c675a9be63b67682477e5cbdc01c450f66bbc59a
  Author: pcc <peter at pcc.me.uk>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Object/ArchiveWriter.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/test/Object/archive-malformed-object.test

  Log Message:
  -----------
  Object: Don't error out on malformed bitcode files.

An error reading a bitcode file most likely indicates that the file
was created by a compiler from the future. Normally we don't try to
implement forwards compatibility for bitcode files, but when creating
an archive we can implement best-effort forwards compatibility by
treating the file as a blob and not creating symbol index entries for
it. lld and mold ignore the archive symbol index, so provided that
you use one of these linkers, LTO will work as long as lld or the
gold plugin is newer than the compiler. We only ignore errors if the
archive format is one that is supported by a linker that is known to
ignore the index, otherwise there's no chance of this working so we
may as well error out. We print a warning on read failure so that
users of linkers that rely on the symbol index can diagnose the issue.

This is the same behavior as GNU ar when the linker plugin returns
an error when reading the input file. If the bitcode file is actually
malformed, it will be diagnosed at link time.

Reviewers: MaskRay, dwblaikie, jh7370

Reviewed By: MaskRay, dwblaikie, jh7370

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


  Commit: 433e09cf257526a24afc98326bd60fbf09923359
      https://github.com/llvm/llvm-project/commit/433e09cf257526a24afc98326bd60fbf09923359
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Add filegroups for MLIR bindings sources (#98396)

This can be useful if downstream projects configure their pybind
differently, similar to how local_config_python isn't defined here.


  Commit: e73d51d3c8ea61fa34658f22147e65f95411eca2
      https://github.com/llvm/llvm-project/commit/e73d51d3c8ea61fa34658f22147e65f95411eca2
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Semantics/definable.cpp
    A flang/test/Semantics/associate03.f90

  Log Message:
  -----------
  [flang] ASSOCIATE/SELECT TYPE entities aren't pointer/allocatable (#99364)

Fix what seems to be a regression in semantics in definability checking:
the construct entities of ASSOCIATE and SELECT TYPE constructs are never
pointers or allocatables, even when their selectors are so. SELECT RANK
construct entities, however, can be pointers or allocatables.


  Commit: 043aca3990e3d47a25777f83569260aa4d822ae5
      https://github.com/llvm/llvm-project/commit/043aca3990e3d47a25777f83569260aa4d822ae5
  Author: RoseZhang03 <rosezhang at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    R libc/newhdrgen/class_implementation/classes/include.py
    M libc/newhdrgen/gpu_headers.py
    M libc/newhdrgen/header.py
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] newhdrgen: removed Include class (#99584)

Include class is not used (includes are made through Macro class, Type
class, and imports from .h.def files).


  Commit: 0684db30a1e3226a0bfe4c5d839d1355a66ea4ba
      https://github.com/llvm/llvm-project/commit/0684db30a1e3226a0bfe4c5d839d1355a66ea4ba
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M flang/lib/Parser/Fortran-parsers.cpp
    A flang/test/Semantics/struct03.f90

  Log Message:
  -----------
  [flang] A nested STRUCTURE must declare entities (#99379)

When a DEC legacy STRUCTURE definition appears within another, its
STRUCTURE statement must also declare some components of the enclosing
structure.

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


  Commit: bda1893a62b2081780fe1c000d6447b73d42aa2c
      https://github.com/llvm/llvm-project/commit/bda1893a62b2081780fe1c000d6447b73d42aa2c
  Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [compiler-rt] Add `DumpAllRegisters` impl (#99049)

- Add implementation for x86_64 and linux
- Add test

The output is like

==XXYYZZ==Register values:
rax = 0x...  rbx = 0x...  rcx = 0x...  rdx = 0x...
rdi = 0x...  rsi = 0x...  rbp = 0x...  rsp = 0x...
 r8 = 0x...   r9 = 0x...  r10 = 0x...  r11 = 0x...
r12 = 0x...  r13 = 0x...  r14 = 0x...  r15 = 0x...


  Commit: 996d31c7ba841fdc3bd375f3fed4d8324618425b
      https://github.com/llvm/llvm-project/commit/996d31c7ba841fdc3bd375f3fed4d8324618425b
  Author: Sam James <sam at gentoo.org>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [msan] Fix goo.gl link in comment for Valgrind paper

goo.gl is going away: https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/

Fix goo.gl link from:
- http://goo.gl/QKbem
+ https://static.usenix.org/event/usenix05/tech/general/full_papers/seward/seward_html/usenix2005.html
and reflow the comment a bit to make it look a bit better after the URL change,
although it's not perfect now.

Committed as obvious.

Bug: https://github.com/llvm/llvm-project/issues/99586


  Commit: 4120570dc408a6ccc7133b4bdbaf5cf6c4af9db7
      https://github.com/llvm/llvm-project/commit/4120570dc408a6ccc7133b4bdbaf5cf6c4af9db7
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M lldb/bindings/headers.swig
    A lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
    M lldb/bindings/interfaces.swig
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDefines.h
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBFileSpec.h
    M lldb/include/lldb/API/SBProcess.h
    A lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/Core/PluginManager.h
    A lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/API/CMakeLists.txt
    M lldb/source/API/SBProcess.cpp
    A lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
    M lldb/source/Symbol/CMakeLists.txt
    A lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    A lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py

  Log Message:
  -----------
  [LLDB][SaveCore] Add SBSaveCoreOptions Object, and SBProcess::SaveCore() overload (#98403)

This PR adds `SBSaveCoreOptions`, which is a container class for options
when LLDB is taking coredumps. For this first iteration this container
just keeps parity with the extant API of `file, style, plugin`. In the
future this options object can be extended to allow users to take a
subset of their core dumps.


  Commit: 9e4c236650ac8220c4121ceb335de7df6ec4cb36
      https://github.com/llvm/llvm-project/commit/9e4c236650ac8220c4121ceb335de7df6ec4cb36
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4120570dc408


  Commit: 71ab0dc6f02b7fd07de272dfcd67ccdb2399ab4f
      https://github.com/llvm/llvm-project/commit/71ab0dc6f02b7fd07de272dfcd67ccdb2399ab4f
  Author: Sam James <sam at gentoo.org>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/docs/CompileCudaWithLLVM.rst

  Log Message:
  -----------
  [docs] Fix goo.gl link in comment for 'Straight-line scalar optimizations' paper

goo.gl is going away: https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/

Fix goo.gl link from:
- https://goo.gl/4Rb9As
+ https://docs.google.com/document/d/1momWzKFf4D6h8H3YlfgKQ3qeZy5ayvMRh6yR-Xn2hUE

Committed as obvious.

Bug: https://github.com/llvm/llvm-project/issues/99586


  Commit: 59441f29323c37c7d0b21bcdd3db96506d1b24d2
      https://github.com/llvm/llvm-project/commit/59441f29323c37c7d0b21bcdd3db96506d1b24d2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_x86_64.cpp

  Log Message:
  -----------
  [sanitizer] Use strict-whitespace in tests


  Commit: 914a00a9c94bf1a0b857abdc5a06857914cc46c7
      https://github.com/llvm/llvm-project/commit/914a00a9c94bf1a0b857abdc5a06857914cc46c7
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    A utils/bazel/third_party_build/pybind.BUILD

  Log Message:
  -----------
  [bazel] Add support for pybind (#98398)

Previously these targets were disabled, but with a relatively new
rules_python we can build these pointing at a hermetic python, which
allows us to build these safely. Users can still access the files
directly if they need to customize how these are built.


  Commit: f304b883730785a204a5197dd407305b5b1dfaaa
      https://github.com/llvm/llvm-project/commit/f304b883730785a204a5197dd407305b5b1dfaaa
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Port #98403 (#99592)


  Commit: c0725804e6bc0f1b418db096099897e7fb029a0e
      https://github.com/llvm/llvm-project/commit/c0725804e6bc0f1b418db096099897e7fb029a0e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/unittests/ADT/SetOperationsTest.cpp

  Log Message:
  -----------
  [ADT] Add unit tests for set_subtract (#99561)

This patch adds a couple of unit tests:

- SetSubtractSmallPtrSet exercises the code path involving remove_if,
  added in d772cdd6279de1e578dfdfca7432327a1806c659.  Note that
  SmallPtrSet supports remove_if.

- SetSubtractSmallVector exercises the code path involving
  S1.erase(*SI) and ensures that set_subtract continues to accept S2
  being a vector, which does not have contains.


  Commit: bf4347b3da31625ce1ae2dd4ffb5c557072e03c0
      https://github.com/llvm/llvm-project/commit/bf4347b3da31625ce1ae2dd4ffb5c557072e03c0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp

  Log Message:
  -----------
  [sanitizer_common] Use %p to print addresses (#98578)

Pointers print more leading zeroes for better alignment.


  Commit: 467f96951c44fc7851e296ad76228503a49d7675
      https://github.com/llvm/llvm-project/commit/467f96951c44fc7851e296ad76228503a49d7675
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [compiler-rt] Fix a warning

This patch fixes:

  compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp:126:72:
  error: format specifies type 'void *' but the argument has type
  'uptr *' (aka 'unsigned long *') [-Werror,-Wformat-pedantic]


  Commit: d4b28fb7516c5a5ecded4154c207288da1949a6b
      https://github.com/llvm/llvm-project/commit/d4b28fb7516c5a5ecded4154c207288da1949a6b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/CMakeLists.txt
    M compiler-rt/test/ctx_profile/CMakeLists.txt
    M compiler-rt/test/fuzzer/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/interception/CMakeLists.txt
    M compiler-rt/test/memprof/CMakeLists.txt
    M compiler-rt/test/msan/CMakeLists.txt
    M compiler-rt/test/nsan/CMakeLists.txt
    M compiler-rt/test/rtsan/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/scudo/standalone/CMakeLists.txt
    M compiler-rt/test/tsan/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Cleanup use of COMPILER_RT_INCLUDE_TESTS (#98246)

1. Move checks into parent test/CMakeLists.txt
2. COMPILER_RT_INCLUDE_TESTS disable both lit and
   gtests. Before it was very inconsistent between
   sanitizers.


  Commit: 98ebdd0ca9a72c072a1dbe1af2fa7f1adcbb09ae
      https://github.com/llvm/llvm-project/commit/98ebdd0ca9a72c072a1dbe1af2fa7f1adcbb09ae
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Fix `unused variable 'RegName'` warning


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

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

  Log Message:
  -----------
  [SandboxIR][Tracker] Track Instruction::moveBefore() (#99568)

This implements tracking of moving instrs with `moveBefore()`.


  Commit: 962d018234cb8c94e387fe3950cd030658850541
      https://github.com/llvm/llvm-project/commit/962d018234cb8c94e387fe3950cd030658850541
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-linux.c

  Log Message:
  -----------
  [clang] [hexagon] handle --unwindlib arg (#99552)

Signed-off-by: Brian Cain <bcain at quicinc.com>


  Commit: e1d0913a85d4034e875cd93ab531c2001afe6620
      https://github.com/llvm/llvm-project/commit/e1d0913a85d4034e875cd93ab531c2001afe6620
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M utils/bazel/WORKSPACE

  Log Message:
  -----------
  [bazel] Replace git_repository with http_archive. (#99422)

The current git_repository usage points to tags, which leads to warnings
that the build may not be reproducable due to not using a git sha.

The docs for
[git_repository](https://bazel.build/rules/lib/repo/git#git_repository)
recommend using `http_archive`, so switch to that instead. Also bump to
newer versions for these two repos.


  Commit: 1df2e0c344f0ddf7e09a9c89eba6bbee52142344
      https://github.com/llvm/llvm-project/commit/1df2e0c344f0ddf7e09a9c89eba6bbee52142344
  Author: Allen <zhongyunde at huawei.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [clang codegen] Emit int TBAA metadata on FP math libcall expf (#96025)

Base on the discussion
https://discourse.llvm.org/t/fp-can-we-add-pure-attribute-for-math-library-functions-default/79459,
math libcalls set errno, so it should emit "int" TBAA metadata on FP
libcalls to solve the alias issue.

Note: Only add support for expf in this PR

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


  Commit: e475bb7ac33d7bc0446fe86858f5c3073cd48c97
      https://github.com/llvm/llvm-project/commit/e475bb7ac33d7bc0446fe86858f5c3073cd48c97
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/allocator_traits.h
    A libcxx/include/__memory/inout_ptr.h
    A libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    M libcxx/include/version
    M libcxx/modules/std/memory.inc
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.convert.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.ctor.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.convert.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.ctor.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/types.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][memory] P1132R8: `out_ptr` - a scalable output pointer abstraction (#73618)

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

Implements:
- https://wg21.link/P1132R8 - `out_ptr` - a scalable output pointer
abstraction
- https://eel.is/c++draft/smartptr.adapt - 20.3.4 Smart pointer adaptors
- https://wg21.link/LWG3734 - Inconsistency in `inout_ptr` and `out_ptr`
for empty case
- https://wg21.link/LWG3897- `inout_ptr` will not update raw pointer to
0

---------

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


  Commit: 401d7bcabc0affc38a6e52ffad782eedf0a5ec5a
      https://github.com/llvm/llvm-project/commit/401d7bcabc0affc38a6e52ffad782eedf0a5ec5a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

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


  Commit: 3023b15fb1ec00dbe6a1cb630236125f500978ef
      https://github.com/llvm/llvm-project/commit/3023b15fb1ec00dbe6a1cb630236125f500978ef
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
    M bolt/test/X86/jump-table-fixed-ref-pic.test

  Log Message:
  -----------
  [BOLT] Support POSSIBLE_PIC_FIXED_BRANCH

Detect and support fixed PIC indirect jumps of the following form:
```
movslq  En(%rip), %r1
leaq  PIC_JUMP_TABLE(%rip), %r2
addq  %r2, %r1
jmpq  *%r1
```

with PIC_JUMP_TABLE that looks like following:

```
  JT:  ----------
   E1:| L1 - JT  |
      |----------|
   E2:| L2 - JT  |
      |----------|
      |          |
         ......
   En:| Ln - JT  |
       ----------
```

The code could be produced by compilers, see
https://github.com/llvm/llvm-project/issues/91648.

Test Plan: updated jump-table-fixed-ref-pic.test

Reviewers: maksfb, ayermolo, dcci, rafaelauler

Reviewed By: rafaelauler

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


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

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/pseudoprobe-decoding-inline.test

  Log Message:
  -----------
  [BOLT] Expose pseudo probe function checksum and GUID (#99389)

Add a BinaryFunction field for pseudo probe function GUID.
Populate it during pseudo probe section parsing, and emit it in YAML
profile (both regular and BAT), along with function checksum.

To be used for stale function matching.

Test Plan: update pseudoprobe-decoding-inline.test


  Commit: 6c3aa626b28d60411b14c593f3e0443cf37fc84d
      https://github.com/llvm/llvm-project/commit/6c3aa626b28d60411b14c593f3e0443cf37fc84d
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCPseudoProbe.h

  Log Message:
  -----------
  [MC][NFC] Use std::map for AddressProbesMap

AddressProbesMap is keyed by binary addresses, and it makes sense to
treat them as ordered. This also enables slicing by binary function/
binary basic block, to be used in BOLT
(https://github.com/llvm/llvm-project/pull/99554).

Test Plan: NFC

Reviewers: wlei-llvm

Reviewed By: wlei-llvm

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


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

  Changed paths:
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/test/X86/pseudoprobe-decoding-inline.test

  Log Message:
  -----------
  [BOLT] Attach pseudo probes to blocks in YAML profile

Read pseudo probes in regular and BAT YAML profile generation, and
attach them to YAML profile basic blocks. This exposes GUID, probe id,
and probe type in profile for future use in stale profile matching.

Test Plan: updated pseudoprobe-decoding-inline.test

Reviewers: dcci, rafaelauler, ayermolo, maksfb

Reviewed By: rafaelauler

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


  Commit: 871740761f15df9436fc5e31c0c0ef17b9294891
      https://github.com/llvm/llvm-project/commit/871740761f15df9436fc5e31c0c0ef17b9294891
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/combine-udiv.ll
    M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll

  Log Message:
  -----------
  [CodeGen] Remove checks for vectors in unsigned division prior to computing leading zeros (#99524)

It turns out we can safely use
DAG.computeKnownBits(N0).countMinLeadingZeros() with constant legal
vectors, so remove the check for it.


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sucmp.ll

  Log Message:
  -----------
  [GlobalIsel] import G_SCMP and G_UCMP (#99518)

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


  Commit: 687fc08e7c7755f68838040edb00d4f64e0bebe7
      https://github.com/llvm/llvm-project/commit/687fc08e7c7755f68838040edb00d4f64e0bebe7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/unittests/ADT/SetOperationsTest.cpp

  Log Message:
  -----------
  [ADT] Use UnorderedElementsAre in SetOperationsTest.cpp (NFC) (#99596)


  Commit: 88e9bd822fe088eff74f49081b890071538fa40c
      https://github.com/llvm/llvm-project/commit/88e9bd822fe088eff74f49081b890071538fa40c
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/x86_target_features.c

  Log Message:
  -----------
  [X86][Driver] Enable feature zu for -mapxf

This is follow-up for #78901 after validation.
Drop the comments for stability since zu is the last feature for cpuid APX_F.


  Commit: 592233a962fc870b5270d4e55aab5fe8941ac676
      https://github.com/llvm/llvm-project/commit/592233a962fc870b5270d4e55aab5fe8941ac676
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
    M llvm/utils/TableGen/Common/DAGISelMatcher.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp

  Log Message:
  -----------
  [TableGen][SelectionDAG] Make CheckValueTypeMatcher use MVT::SimpleValueType (#99537)

The original `CheckValueTypeMatcher` stores StringRef as the member
variable type, however it's more efficient to use use
MVT::SimpleValueType since it prevents string comparison in isEqualImpl,
it also reduce the memory consumption in each object.


  Commit: 79a0b665934a3de1113d1df90a9d677f39d9389a
      https://github.com/llvm/llvm-project/commit/79a0b665934a3de1113d1df90a9d677f39d9389a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M bolt/lib/Profile/CMakeLists.txt

  Log Message:
  -----------
  [BOLT] Add MC dependency for Profile


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

  Changed paths:
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/lib/safestack/safestack_util.h

  Log Message:
  -----------
  [safestack] Various 32-bit Linux fixes (#99455)

When enabling 32-bit testing on Linux/i386 and Linux/sparc, many tests
`FAIL`:

- All Linux/i386 tests `FAIL` with ``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:95
MAP_FAILED != addr ``` because the safestack `mmap` implementation
doesn't work there. This patch adjusts it to match the
`sanitizer_linux.cpp.c` one.
- On 32-bit Linux/sparc, the `pthread*.c` tests `FAIL` because a `tid_t`
(`uint64_t`) `tid` arg was passed to `syscall(SYS_tgkill)` while `tid`
is actually a `pid_t` (`int`). Fixed by adding a cast.

Tested on `x86_64-pc-linux-gnu` (32 and 64-bit) and
`sparc64-unknown-linux-gnu` (32 and 64-bit).


  Commit: 2e5b4516b70be9b8d45d4ecd0bd72c41e91ce6fb
      https://github.com/llvm/llvm-project/commit/2e5b4516b70be9b8d45d4ecd0bd72c41e91ce6fb
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    A llvm/test/Transforms/SimpleLoopUnswitch/preserving-debugloc-trivial-terminators.ll

  Log Message:
  -----------
  [DebugInfo][SimpleLoopUnswitch] Fix missing debug location updates for new terminators (#98789)

Fix #98787 .


  Commit: 3b78dfa10c4b77581cc29c4510aefe919ae660ba
      https://github.com/llvm/llvm-project/commit/3b78dfa10c4b77581cc29c4510aefe919ae660ba
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M libcxx/CMakeLists.txt
    A libcxx/cmake/Modules/HandleLibC.cmake
    M libcxx/cmake/config-ix.cmake
    M libcxx/include/CMakeLists.txt
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc][libcxx] Support for building libc++ against LLVM libc (#99287)

Provide an option to build libc++ against LLVM libc and set the CMake
compile and link options appropriately when the option is enabled.


  Commit: 2f0910d2d74419ef1ebf814b471af721ee78b464
      https://github.com/llvm/llvm-project/commit/2f0910d2d74419ef1ebf814b471af721ee78b464
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pch-in-module-units.cppm

  Log Message:
  -----------
  [C++20] [Modules] Skip ODR checks if either declaration comes from GMF

This patch tries to workaround the case that:
- in a module unit that imports another module unit
- both the module units including overlapped headers
- the compiler emits false positive ODR violation diagnostics for the
  overlapped headers if ODR check is enabled
- the current module units enables PCH

For the third point, we disabled ODR check if the declarations comes
from GMF. However, due to the forth point, the check whether the
declaration comes from GMF failed. Then we still going to check it and
then the users get false positive checks.

What's worse is that, this always happens in clangd, where will generate
the PCH automatically before parsing the input files.

The root cause of the problem we mixed the modules in the semantical
level and the module in the serialization level.

The problem is pretty fundamental and we need time to fix that. But 19.x
is going to be branched and I hope to give clangd better user
experience. So I decided to land this workaround even if it is pretyy
niche and may only work for the case of clangd's pattern.


  Commit: 377e1ebdd4ed64c996566b8cede857c7e4c1fc0f
      https://github.com/llvm/llvm-project/commit/377e1ebdd4ed64c996566b8cede857c7e4c1fc0f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/debug_stacks.cpp

  Log Message:
  -----------
  [asan] Consume leading zeroes in a test


  Commit: 55a7be55a5fcf1c0837d62660157a45f8a52eb4f
      https://github.com/llvm/llvm-project/commit/55a7be55a5fcf1c0837d62660157a45f8a52eb4f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-18 (Thu, 18 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/test/MC/AArch64/mapping-across-sections.s

  Log Message:
  -----------
  [AArch64,ELF] Use getCurrentSection().first in changeSection

Similar to the NVPTX change 4ae23bcca144b542f16d45acc8f270e156e2fa4e.
And improve the tests.


  Commit: 6f710fef838185cbbe11193b30d6adc354b08b28
      https://github.com/llvm/llvm-project/commit/6f710fef838185cbbe11193b30d6adc354b08b28
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [Doc] Update documentation for no-transitive-change (#96453)

(Some backgrounds, not required to read:
https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755)

This is the document part for the no-transitive-change
(https://github.com/llvm/llvm-project/pull/86912,
https://github.com/llvm/llvm-project/pull/92083,
https://github.com/llvm/llvm-project/pull/92085,
https://github.com/llvm/llvm-project/pull/92511) to provide the ability
for build system to skip some unnecessary recompilations.

See the patch for examples.


  Commit: 90668d240417422827d0468aa32b6aaa88105859
      https://github.com/llvm/llvm-project/commit/90668d240417422827d0468aa32b6aaa88105859
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll

  Log Message:
  -----------
  [CVP][LVI] Add support for InsertElementInst in LVI (#99368)

Currently, the LVI analysis pass doesn't support InsertElementInst
vector instruction. Due to this, some optimization opportunities are
missed. For example, in the below example, ICMP instruction can be
folded but it doesn't.

```
...
%ie1 = insertelement <2 x i32> poison, i32 10, i64 0
%ie2 = insertelement <2 x i32> %ie1, i32 20, i64 1
%icmp = icmp <2 x i1> %ie2, <i32 40, i32 40>
...
```

This change adds InsertElementInst support in the LVI analysis pass to
fix the motivating example.


  Commit: a1d77caaabbb5279b734c061dab36b2138ec476d
      https://github.com/llvm/llvm-project/commit/a1d77caaabbb5279b734c061dab36b2138ec476d
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
    M clang/test/CodeGen/ptrauth-function-type-discriminator-cast.c
    M clang/test/CodeGen/ptrauth-function-type-discriminator.c
    M clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
    M clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
    M clang/test/CodeGenCXX/ptrauth-throw.cpp
    M clang/test/CodeGenCXX/ptrauth-thunks.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
    M clang/test/SemaCXX/ptrauth-incomplete-virtual-member-function-return-arg-type.cpp
    M clang/test/SemaCXX/vtable_pointer_authentication_attribute.cpp

  Log Message:
  -----------
  [test][PAC][clang] Add missing tests against linux triples (#99482)

Enhance tests introduced in #94056, #96992, #98276 and #98847 by adding
RUN and CHECK lines against linux triples.


  Commit: 2df9fd7edb73c1c2b27bda433ae0795bc8076dd3
      https://github.com/llvm/llvm-project/commit/2df9fd7edb73c1c2b27bda433ae0795bc8076dd3
  Author: Haowei <haowei at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/test/InstallAPI/diagnostics-dsym.test

  Log Message:
  -----------
  Fix diagnostics-dsym.test on mac-arm64 (#99399)

The check ordering of diagnostics-dsym.test is wrong and it causes
test failure when running on mac-arm64 machine. This patch fixes it.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir

  Log Message:
  -----------
  [mlir][linalg] Restrict scalable vectorisation (#98639)

Updates `vectorizeScalableVectorPrecondition` so that scalable
vectorisation is only applied in well understood and tested scenarios.

It's unlikely that we would ever want an arbitrary dimension to be
scalable. While the Linalg vectoriser should be flexible enough to
handle all possibilities:
  * in more "exotic" cases, we are likely to struggle with lowerings
    further down the compilation stack,
  * it would be impractical given the limitations of LLVM (which usually
    reflect the limitations of actual hardware) - e.g. no support for
    "scalable" arrays of scalable or fixed width vectors (*).

Ultimately, the goal of this patch is to better document what's
currently supported. While this PR adds some new restrictions, no
existing tests are affected.

(*) At MLIR vector level that would correspond to e.g.
`vector<[4]x8xf32>`.


  Commit: 8d0cbef0eddb6c651be5880bdeb0a7709629ac9f
      https://github.com/llvm/llvm-project/commit/8d0cbef0eddb6c651be5880bdeb0a7709629ac9f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [ADT] Use range-based for loops (NFC) (#99605)


  Commit: e6668b1be8acbabeea0704bdc224637059aaa2af
      https://github.com/llvm/llvm-project/commit/e6668b1be8acbabeea0704bdc224637059aaa2af
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir

  Log Message:
  -----------
  [mlir][tosa] Use roundeven in TOSA cast splat constant op folding (#99484)

The behavior of TOSA Cast operation for floating-point to integers is to round to the nearest even. This commit aligns the behavior of folding a TOSA Cast of a float splat to int, so it also uses roundeven.


  Commit: 5c93a94f5adaa304922a936842162cba91785211
      https://github.com/llvm/llvm-project/commit/5c93a94f5adaa304922a936842162cba91785211
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/OpenMP/interchange_ast_print.cpp
    A clang/test/OpenMP/interchange_codegen.cpp
    A clang/test/OpenMP/interchange_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    A openmp/runtime/test/transform/interchange/foreach.cpp
    A openmp/runtime/test/transform/interchange/intfor.c
    A openmp/runtime/test/transform/interchange/iterfor.cpp
    A openmp/runtime/test/transform/interchange/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/interchange/parallel-wsloop-collapse-intfor.cpp

  Log Message:
  -----------
  [Clang][OpenMP] Add interchange directive (#93022)

Add the interchange directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).


  Commit: c248d05c6807baba34ff4fb254176e300922ea72
      https://github.com/llvm/llvm-project/commit/c248d05c6807baba34ff4fb254176e300922ea72
  Author: Emanuele Rocca <emanuele.rocca at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/test/PCH/aarch64-sve-types.c

  Log Message:
  -----------
  [Clang] make SVE types known to device targets too (#99446)

For the purpose of preprocessing and declarations in header files,
ensure clang accepts SVE types for both device and host targets.

Co-authored-by: Sander De Smalen <sander.desmalen at arm.com>


  Commit: c81366709574bb95bad86011a44e80a7f97f2c56
      https://github.com/llvm/llvm-project/commit/c81366709574bb95bad86011a44e80a7f97f2c56
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/Lex/PPEmbedParameters.h
    M clang/lib/Lex/PPDirectives.cpp
    A clang/test/Preprocessor/embed_search_paths.c

  Log Message:
  -----------
  [clang] Fix static analyzer concerns in #embed code (#99331)

1. Dead code in `LookupEmbedFile`. The loop always exited on the first
iteration. This was also causing a bug of not checking all directories
provided by `--embed-dir`.

2. Use of uninitialized variable `CurTok` in `LexEmbedParameters`. It
was used to initialize the field which seems to be unused. Removed
unused field, this way `CurTok` should be initialized by Lex method.


  Commit: 25f4bd8872b2c15c641c8e915afb54b39d119d8a
      https://github.com/llvm/llvm-project/commit/25f4bd8872b2c15c641c8e915afb54b39d119d8a
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-clear-kill-flags.mir

  Log Message:
  -----------
  AMDGPU: Clear kill flags after FoldZeroHighBits (#99582)

After folding, all uses of the result register are going to be replaced
by the operand register. The kill flags on the uses of the result and
operand registers are no longer valid after the replacement, and need to
be cleared.
The only exception is, however, if the kill flag is set for the operand
register, we are sure the last use of the result register is the new
last use of the operand register, and thus we are safe to keep the kill
flags.


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

  Changed paths:
    M compiler-rt/test/safestack/CMakeLists.txt
    M compiler-rt/test/safestack/lit.cfg.py
    M compiler-rt/test/safestack/lit.site.cfg.py.in

  Log Message:
  -----------
  [safestack] Support multilib testing (#98002)

While working on my safestack patches, I noticed that only the default
multilib was tested even though all multilib versions of
`libclang_rt.safestack.a` were built.

This patch fixes this, patterned after the ubsan testing support.

Tested on `amd64-pc-solaris2.11` (`amd64` and `i386`),
`sparcv9-sun-solaris2.11` (`sparcv9` and `sparc`), `x86_64-pc-linux-gnu`
(`x86_64` and `i386`), and `sparc64-unknown-linux-gnu` (`sparcv9` and
`sparc`).


  Commit: ae2e66b03b7a793642d6291ccd8de2252637416a
      https://github.com/llvm/llvm-project/commit/ae2e66b03b7a793642d6291ccd8de2252637416a
  Author: David Green <david.green at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

  Log Message:
  -----------
  [AArch64] Use TargetStackID::ScalableVector instead of hard-coded values. NFC


  Commit: a6b204b82745764e1460aa1dc26e69ff73195c60
      https://github.com/llvm/llvm-project/commit/a6b204b82745764e1460aa1dc26e69ff73195c60
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/test/ELF/aarch64-reloc-implicit-addend.test

  Log Message:
  -----------
  [lld][AArch64] Fix handling of SHT_REL relocation addends. (#98291)

Normally, AArch64 ELF objects use the SHT_RELA type of relocation
section, with addends stored in each relocation. But some legacy AArch64
object producers still use SHT_REL in some situations, storing the
addend in the initial value of the data item or instruction immediate
field that the relocation will modify. LLD was mishandling relocations
of this type in multiple ways.

Firstly, many of the cases in the `getImplicitAddend` switch statement
were apparently based on a misunderstanding. The relocation types that
operate on instructions should be expecting to find an instruction of
the appropriate type, and should extract its immediate field. But many
of them were instead behaving as if they expected to find a raw 64-, 32-
or 16-bit value, and wanted to extract the right range of bits. For
example, the relocation for R_AARCH64_ADD_ABS_LO12_NC read a 16-bit word
and extracted its bottom 12 bits, presumably on the thinking that the
relocation writes the low 12 bits of the value it computes. But the
input addend for SHT_REL purposes occupies the immediate field of an
AArch64 ADD instruction, which meant it should have been reading a
32-bit AArch64 instruction encoding, and extracting bits 10-21 where the
immediate field lives. Worse, the R_AARCH64_MOVW_UABS_G2 relocation was
reading 64 bits from the input section, and since it's only relocating a
32-bit instruction, the second half of those bits would have been
completely unrelated!

Adding to that confusion, most of the values being read were first
sign-extended, and _then_ had a range of bits extracted, which doesn't
make much sense. They should have first extracted some bits from the
instruction encoding, and then sign-extended that 12-, 19-, or 21-bit
result (or whatever else) to a full 64-bit value.

Secondly, after the relocated value was computed, in most cases it was
being written into the target instruction field via a bitwise OR
operation. This meant that if the instruction field didn't initially
contain all zeroes, the wrong result would end up in it. That's not even
a 100% reliable strategy for SHT_RELA, which in some situations is used
for its repeatability (in the sense that applying the relocation twice
should cause the second answer to overwrite the first, so you can
relocate an image in advance to its most likely address, and then do it
again at load time if that turns out not to be available). But for
SHT_REL, when you expect nonzero immediate fields in normal use, it
couldn't possibly work. You could see the effect of this in the existing
test, which had a lot of FFFFFF in the expected output which there
wasn't any plausible justification for.

Finally, one relocation type was actually missing: there was no support
for R_AARCH64_ADR_PREL_LO21 at all.

So I've rewritten most of the cases in `getImplicitAddend`; replaced the
bitwise ORs with overwrites; and replaced the previous test with a much
more thorough one, obtained by writing an input assembly file with
explicitly specified relocations on instructions that also have
carefully selected immediate fields, and then doing some yaml2obj
seddery to turn the RELA relocation section into a REL one.


  Commit: 270f5e42b8daab586ffcd2b46ff41486199f6626
      https://github.com/llvm/llvm-project/commit/270f5e42b8daab586ffcd2b46ff41486199f6626
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll

  Log Message:
  -----------
  [LV] Add tests where uniform recipe gets predicated for scalable VFs.

Currently the tests crash, due to a VPReplicateRecipe getting predicated
for scalable vectors.

Precommits tests for https://github.com/llvm/llvm-project/pull/98892.

Test cases for
 * https://github.com/llvm/llvm-project/issues/80416 and
 * https://github.com/llvm/llvm-project/issues/94328


  Commit: e8fbefe15b101d7d30366cbe2ac068449923f5e2
      https://github.com/llvm/llvm-project/commit/e8fbefe15b101d7d30366cbe2ac068449923f5e2
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [TLI] Add basic support for remquo libcall (#99611)

This patch adds basic support for `remquo`. Constant folding support
will be submitted in a subsequent patch.

Related issue: https://github.com/llvm/llvm-project/issues/99497


  Commit: 39185da16228efb4a09a30d6825a6f508c4755a3
      https://github.com/llvm/llvm-project/commit/39185da16228efb4a09a30d6825a6f508c4755a3
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [Clang][AArch64] Add missing SME/SVE2.1 feature macros (#98285)

The 2022 SME2.1and SVE2.1 feature macros are missing from Clang. Passing
'-target-feature +sve2p1' and 'target-feature +sme2p1' should prompt
Clang to define __ARM_FEATURE_SVE2p1 and __ARM_FEATURE_SME2p1
respectively, including their prerequisits..

This patch includes __ARM_FEATURE_SVE2p1 and __ARM_FEATURE_SME2p1, plus
a clang preprocessor test for each. It also ensures that the Clang macro
builder is used in a consistent fashion across Targets/AArch64.cpp.

The specification for SVE2.1 is documented in the latest (2024 Q1) ACLE
release: https://github.com/ARM-software/acle/releases . SME2p1 is not
yet featured in ACLE documentation but its features are described under
https://developer.arm.com/documentation/ddi0487/latest/


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

  Changed paths:
    M libcxx/test/std/time/time.clock/time.clock.file/now.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Remove picolib UNSUPPORTED for now.pass.cpp (#99503)

This ARM semihosting call was implemented in QEMU by
https://gitlab.com/qemu-project/qemu/-/commit/4d834039c2107cb86931cb3f22ca3de6e4e42b06
and is present in the qemu-system-arm v8.1.3 used by the builders.


  Commit: e5df657bbf38f8fcd9dd8c9e79262ca184f2598b
      https://github.com/llvm/llvm-project/commit/e5df657bbf38f8fcd9dd8c9e79262ca184f2598b
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaCXX/instantiate-template-broken-nontype-default.cpp

  Log Message:
  -----------
  [Sema] Fix assertion error in Sema::FindInstantiatedDecl (#96509)

...when looking for a template instantiation with a non-type parameter of
unknown type and with a default value.

This can happen when a template non-type parameter has a broken
expression that gets replaced by a `RecoveryExpr`.


  Commit: 092dd9ca2d5149e3252098610c73e4fa42d831b9
      https://github.com/llvm/llvm-project/commit/092dd9ca2d5149e3252098610c73e4fa42d831b9
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll

  Log Message:
  -----------
  [AArch64] Remove redundant instructions in int-to-fp of lowest vector… (#98602)

… element. 
When converting the lowest element (that in lane 0) of a vector from an
integer to a floating-point value, LLVM should select the SIMD scalar
variant of CVTF
(https://developer.arm.com/documentation/dui0801/g/A64-SIMD-Scalar-Instructions/SCVTF--scalar--integer-)
to avoid the FPR to GPR register transfers that are required to use the
general floating-point variant
(https://developer.arm.com/documentation/dui0801/g/A64-Floating-point-Instructions/SCVTF--scalar--integer-).
This is possible as the lowest element can be referred to by the
corresponding scalar sub-register with the width of the vector's
constituent elements.

This patch adds new TableGen patterns to remove these redundant
instructions for AArch64, as well as back-end tests to ensure the new
preferred instruction selection result is produced. Existing tests that
relied on the previous selection result have also been updated.


  Commit: ac6061e084250a377baa552842261797aa6da6a8
      https://github.com/llvm/llvm-project/commit/ac6061e084250a377baa552842261797aa6da6a8
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/unittests/Analysis/LoadsTest.cpp

  Log Message:
  -----------
  [Analysis] Add new function isDereferenceableReadOnlyLoop (#97292)

I created this patch due to a reviewer request on PR #88385 to split off
the analysis changes, however without the other code in that PR I can
only test the new function with unit tests.


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

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/ashr.ll

  Log Message:
  -----------
  [CVP] Regenerate test checks (NFC)


  Commit: 6235698f47828747d3b1b0418e547e2e4ff9138f
      https://github.com/llvm/llvm-project/commit/6235698f47828747d3b1b0418e547e2e4ff9138f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll

  Log Message:
  -----------
  [CVP] Add tests for range return attributes (NFC)


  Commit: b7b0071680e60c60da9d4d858f944fd95d76fd42
      https://github.com/llvm/llvm-project/commit/b7b0071680e60c60da9d4d858f944fd95d76fd42
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/double_reduct.ll
    M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-zext.ll
    M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64][SVE] Improve code quality of vector unsigned/signed add reductions. (#97339)

For SVE we don't have to zero extend and sum part of the result before
issuing UADDV instruction. Also this change allows to handle bigger than
a legal vector type more efficiently and lower a fixed-length vector
type to SVE's UADDV where appropriate.


  Commit: 17f98baf704f90dbf892fe0b0150715f09252499
      https://github.com/llvm/llvm-project/commit/17f98baf704f90dbf892fe0b0150715f09252499
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll

  Log Message:
  -----------
  [LV] Add test with users both demanding all lanes and first-lane-only.

Add a test case where scalar steps are used by both a VPReplicateRecipe
(demands all scalar lanes) and a VPInstruction that only demands the
first lane.

Test case for https://github.com/llvm/llvm-project/issues/88849.


  Commit: a27037becd1bdea568e2f970d4b85fa5e02f3b08
      https://github.com/llvm/llvm-project/commit/a27037becd1bdea568e2f970d4b85fa5e02f3b08
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/lldb-forward.h

  Log Message:
  -----------
  [lldb] Forward-declare lldb-private::SaveCoreOptions

to avoid including private headers from the API headers.

This fixes API tests which link against the lldb library.


  Commit: 7f763b162ff0f72bbd98e73da9b10d5d3941247b
      https://github.com/llvm/llvm-project/commit/7f763b162ff0f72bbd98e73da9b10d5d3941247b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Sort clause definitions (#99504)

This patch moves the `filter` clause definition to keep alphabetical
sorting of OpenMPClauses.td.


  Commit: 6cc8774228a4162ebadfa636086a171f82e51a8c
      https://github.com/llvm/llvm-project/commit/6cc8774228a4162ebadfa636086a171f82e51a8c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC] Add support for hybrid_patchable attribute. (#92965)


  Commit: 5a45fed188dce2ae6c4da23ba61c9b8df87f08f4
      https://github.com/llvm/llvm-project/commit/5a45fed188dce2ae6c4da23ba61c9b8df87f08f4
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/Ofast.c

  Log Message:
  -----------
  [clang][NFC] Fix typo in `-Ofast` deprecation warning

A follow-up for #98736


  Commit: 02cb5bcab4f5232bbc5ecacb3d5d94fd487baa23
      https://github.com/llvm/llvm-project/commit/02cb5bcab4f5232bbc5ecacb3d5d94fd487baa23
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [ADT] Teach set_intersect to erase with iterators (#99569)

Without this patch, we erase an element in S1 by value even though we
have an interator pointing to it.  This patch tries to use erase(iter)
to avoid redundant lookups.


  Commit: 0f231567719c99caa99164d8f91bad50883dab03
      https://github.com/llvm/llvm-project/commit/0f231567719c99caa99164d8f91bad50883dab03
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
    M llvm/test/MC/LoongArch/Relocations/relocations.s

  Log Message:
  -----------
  [LoongArch] Support parsing the `%le_{hi20,add,lo12}_r` modifiers

Reviewed By: SixWeining

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


  Commit: 6b98ab95f0d36705b5a1fc1e755c992ba2329c89
      https://github.com/llvm/llvm-project/commit/6b98ab95f0d36705b5a1fc1e755c992ba2329c89
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/test/ELF/loongarch-tls-le.s

  Log Message:
  -----------
  [lld][ELF][LoongArch] Add support for R_LARCH_LE_{HI20,ADD,LO12}_R relocations

Reviewed By: SixWeining

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll

  Log Message:
  -----------
  [VPlan] Relax assertion retrieving a scalar from VPTransformState::get.

The current assertion VPTransformState::get when retrieving a single
scalar only does not account for cases where a def has multiple users,
some demanding all scalar lanes, some demanding only a single scalar.

For an example, see the modified test case. Relax the assertion by also
allowing requesting scalar lanes only when the Def doesn't have only its
first lane used.

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


  Commit: 812694c449b222e960a39ccb517a074c08db4a71
      https://github.com/llvm/llvm-project/commit/812694c449b222e960a39ccb517a074c08db4a71
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/numsignbits-shl.ll

  Log Message:
  -----------
  [ValueTracking] Pre-commit ComputeNumSignBits test for (shl (zext X), C)

Adding a test case for potential simplifications of
  (shl (zext X), C)
based on number of known sign bits in X.


  Commit: 098bd842a7e50853fa231f8b73c24ec5006fe063
      https://github.com/llvm/llvm-project/commit/098bd842a7e50853fa231f8b73c24ec5006fe063
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/numsignbits-shl.ll

  Log Message:
  -----------
  [ValueTracking] Let ComputeKnownSignBits handle (shl (zext X), C) (#97693)

Add simple support for looking through a zext when doing
ComputeKnownSignBits for shl. This is valid for the case when
all extended bits are shifted out, because then the number of sign
bits can be found by analysing the zext operand.

The solution here is simple as it only handle a single zext (not
passing remaining left shift amount during recursion). It could be
possible to generalize this in the future by for example passing an
'OffsetFromMSB' parameter to ComputeNumSignBitsImpl, telling it to
calculate number of sign bits starting at some offset from the most
significant bit.


  Commit: 008df3cf85e9bb1532c079bfd7a7a00e90e0a3c6
      https://github.com/llvm/llvm-project/commit/008df3cf85e9bb1532c079bfd7a7a00e90e0a3c6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-19 (Fri, 19 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/X86/consecutive-ptr-uniforms.ll

  Log Message:
  -----------
  [LV] Check isPredInst instead of isScalarWithPred in uniform analysis. (#98892)

Any instruction marked as uniform will result in a uniform
VPReplicateRecipe. If it requires predication, it will be placed in a
replicate region, even if isScalarWithPredication returns false.

Check isPredicatedInst instead of isScalarWithPredication to avoid
generating uniform VPReplicateRecipes placed inside a replicate region.
This fixes an assertion when using scalable VFs.

Fixes https://github.com/llvm/llvm-project/issues/80416. 
Fixes https://github.com/llvm/llvm-project/issues/94328.
Fixes https://github.com/llvm/llvm-project/issues/99625.

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


  Commit: 42a7c424b65050c5522e7055ab1486b572d86b69
      https://github.com/llvm/llvm-project/commit/42a7c424b65050c5522e7055ab1486b572d86b69
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [clang] Add `std::span` to the default gsl pointer annotation list. (#99622)


  Commit: 243af2ff217f65ef291232faa60779b86e01a967
      https://github.com/llvm/llvm-project/commit/243af2ff217f65ef291232faa60779b86e01a967
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  [LLDB][test] Improve SHELL detection on Windows in Makefile.rules (#99532)

In MinGW make, the `%windir%` variable has a lowercase name `$(windir)`
when launched from cmd.exe, and `$(WINDIR)` name when launched from
MSYS2, since MSYS2 represents standard Windows environment variables
names in upper case.

This commit makes Makefile.rules consider both run variants.


  Commit: e404eed24bebd5e3e04fc153eb330bae7d92107f
      https://github.com/llvm/llvm-project/commit/e404eed24bebd5e3e04fc153eb330bae7d92107f
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [clang] Add the `const` to all default lists in SemaAttr.cpp, NFC

Address the comment in https://github.com/llvm/llvm-project/pull/99622#issuecomment-2238800532


  Commit: fdfc49186318727653cf6b13686bb77cfed60e33
      https://github.com/llvm/llvm-project/commit/fdfc49186318727653cf6b13686bb77cfed60e33
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp

  Log Message:
  -----------
  [lldb] SHT_NOBITS sections type (#99044)

.sbss section was recognized as eSectionTypeOther, but has to be
eSectionTypeZeroFill.

Fixed tests for RISCV target:

TestClassLoadingViaMemberTypedef.TestCase

TestClassTemplateNonTypeParameterPack.TestCaseClassTemplateNonTypeParameterPack
TestThreadSelectionBug.TestThreadSelectionBug
lldbsuite.test.lldbtest.TestOffsetof
lldbsuite.test.lldbtest.TestOffsetofCpp
TestTargetDumpTypeSystem.TestCase
TestCPP11EnumTypes.CPP11EnumTypesTestCase
TestCppIsTypeComplete.TestCase
TestExprCrash.ExprCrashTestCase
TestDebugIndexCache.DebugIndexCacheTestcase


  Commit: 6da23b647ea0c7961a31742e3daac80f4c08e99c
      https://github.com/llvm/llvm-project/commit/6da23b647ea0c7961a31742e3daac80f4c08e99c
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/Sema/attr-counted-by-bounds-safety-vlas.c

  Log Message:
  -----------
  [BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (#92623)

This adds the `-fexperimental-bounds-safety` cc1 and corresponding
language option. This language option enables "-fbounds-safety" which is
a bounds-safety extension for C that is being incrementally upstreamed.

This cc1 flag is not exposed as a driver flag yet because most of the
implementation isn't upstream yet.

The language option is used to make a small semantic change to how the
`counted_by` attribute is treated. Without
`-fexperimental-bounds-safety` the attribute is allowed (but emits a
warning) on a flexible array member where the element type is a struct
with a flexible array member. With the flag this situation is an error.

E.g.

```
struct has_unannotated_FAM {
  int count;
  char buffer[];
};

struct buffer_of_structs_with_unnannotated_FAM {
  int count;
  // Forbidden with `-fexperimental-bounds-safety`
  struct has_unannotated_FAM Arr[] __counted_by(count);
};
```

rdar://125400392


  Commit: ef47bbb4715de5790308cac166d8cd05020e8e18
      https://github.com/llvm/llvm-project/commit/ef47bbb4715de5790308cac166d8cd05020e8e18
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/timing/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add AMDGPU Timing to CMake (#99603)

`libc/benchmarks/gpu/timing/CMakeLists.txt` did not correctly build
`amdgpu` utils. This PR fixes that issue by adding `amdgpu` to the loop
that adds the correct sub directories.


  Commit: 123c036bd361de9ed6baa0090e5942105764e8db
      https://github.com/llvm/llvm-project/commit/123c036bd361de9ed6baa0090e5942105764e8db
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp

  Log Message:
  -----------
  Recommit "[TBAA] Emit distinct TBAA tags for pointers with different depths,types. (#76612)"

This reverts the revert commit bee240367cc48bbc93fe5eb57d537968dfe4419f.

This version includes updates to the tests to use patterns when matching
the pointer argument.

Original commit message:

    This patch extends Clang's TBAA generation code to emit distinct tags
    for incompatible pointer types.

    Pointers with different element types are incompatible if the pointee
    types are also incompatible (modulo sugar/modifiers).

    Express this in TBAA by generating different tags for pointers based on
    the pointer depth and pointee type. To get the TBAA tag for the pointee
    type it uses getTypeInfoHelper on the pointee type.

    (Moved from https://reviews.llvm.org/D122573)

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


  Commit: 176bf50cd244505e38f8838a55568060dd3913e8
      https://github.com/llvm/llvm-project/commit/176bf50cd244505e38f8838a55568060dd3913e8
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp

  Log Message:
  -----------
  [clang][NFC] Move Bounds Safety Sema code to `SemaBoundsSafety.cpp` (#99330)

This patch adds a new `SemaBoundsSafety.cpp` source file and moves the
existing `CheckCountedByAttrOnField` function and related helper
functions and types from `SemaDeclAttr.cpp` into the new source file.
The `CheckCountedByAttrOnField` function is now a method on the Sema
class and now has doxygen comments.

The goal behind this refactor is to clearly separate the
`-fbounds-safety` Sema code from everything else.

Although `counted_by(_or_null)` and `sized_by(_or_null)` attributes have
a meaning outside of `-fbounds-safety` it seems reasonable to also have
the Sema logic live in `SemaBoundsSafety.cpp` since the intention is
that the attributes will have the same semantics (but not necessarily
the same enforcement).

As `-fbounds-safety` is upstreamed additional Sema checks will be added
to `SemaBoundsSafety.cpp`.

rdar://131777237


  Commit: 7b60f2dcfbe11ddb62f7a6f2d374c1a3ff556eb0
      https://github.com/llvm/llvm-project/commit/7b60f2dcfbe11ddb62f7a6f2d374c1a3ff556eb0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [gn build] Port 176bf50cd244


  Commit: 7122b70cfc8e23a069410215c363da76d842bda4
      https://github.com/llvm/llvm-project/commit/7122b70cfc8e23a069410215c363da76d842bda4
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/Preprocessor/Inputs/big_char.txt
    M clang/test/Preprocessor/embed_codegen.cpp
    M clang/test/Preprocessor/embed_weird.cpp

  Log Message:
  -----------
  [clang] Fix underlying type of EmbedExpr (#99050)

This patch makes remaining cases of #embed to emit int type since there
is an agreement to do that for C. C++ is being discussed, but in general
we don't want to produce different types for C and C++.


  Commit: 7d8375b86ee490acafb4254603ccd4edc2a58256
      https://github.com/llvm/llvm-project/commit/7d8375b86ee490acafb4254603ccd4edc2a58256
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    A clang/test/Driver/darwin-print-libgcc-file-name.c

  Log Message:
  -----------
  [clang][driver] Fix -print-libgcc-file-name on Darwin platforms (#98325)

On Darwin, -print-libgcc-file-name was returning a nonsensical result.
It would return the name of the library that would be used by the
default toolchain implementation, but that was something that didn't
exist on Darwin.

Fixing this requires initializing the Darwin toolchain before processing
`-print-libgcc-file-name`. Previously, the Darwin toolchain would only
be initialized when building the jobs for this compilation, which is too
late since `-print-libgcc-file-name` requires the toolchain to be
initialized in order to provide the right results.

rdar://90633749

Co-authored-by: Gabor Horvath <gaborh at apple.com>


  Commit: 007aa6d1b274baf0b4d1c02a8d7d56f219e5f127
      https://github.com/llvm/llvm-project/commit/007aa6d1b274baf0b4d1c02a8d7d56f219e5f127
  Author: Yangyu Chen <cyy at cyyself.name>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [SLP] Increase UsesLimit to 64 (#99467)

Since commit 82b800ecb35fb46881aa52000fa40b1b99aa654e addressed the
issue #99327 , we see some performance regression (13%) on some
verilator generated C++ code. This is because the UsesLimit is set to 8,
which is too small for the verilator generated code. I have analyzed the
need for the UsesLimit from [1] and found that the UsesLimit should be
at least 64 to cover most of these cases. Thus, This patch increases the
UsesLimit to 64.

Link:
https://github.com/llvm/llvm-project/issues/99327#issuecomment-2236052879
[1]

Signed-off-by: Yangyu Chen <cyy at cyyself.name>


  Commit: 8a79dc7e6f765f3f49c5dd9330fc0826d3362858
      https://github.com/llvm/llvm-project/commit/8a79dc7e6f765f3f49c5dd9330fc0826d3362858
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    A clang/test/APINotes/Inputs/Headers/Methods.apinotes
    A clang/test/APINotes/Inputs/Headers/Methods.h
    M clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
    M clang/test/APINotes/Inputs/Headers/Namespaces.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/methods.cpp
    M clang/test/APINotes/namespaces.cpp

  Log Message:
  -----------
  [APINotes] Support annotating C++ methods

This adds support for adding Clang attributes to C++ methods declared
within C++ records by using API Notes.

For instance:
```
Tags:
- Name: IntWrapper
  Methods:
  - Name: getIncremented
    Availability: none
```

This is the first instance of something within a C++ record being
annotated with API Notes, so it adds the necessary infra to make a C++
record an "API Notes context".

Notably this does not add support for nested C++ tags. That will be
added in a follow-up patch.

rdar://131387880


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

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

  Log Message:
  -----------
  [clang][Interp] Control InitStack activity state in visitInitList

This doesn't change anything about the current tests, but helps
once those tests change because of #97308


  Commit: 47c08fb8d79ec1bf85cc542be6ca2591ebf2d361
      https://github.com/llvm/llvm-project/commit/47c08fb8d79ec1bf85cc542be6ca2591ebf2d361
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/test/CodeGen/tbaa-pointers.c

  Log Message:
  -----------
  [TBAA] Remove references to entry BB in check lines for tbaa-pointers.c

Follow-up to 123c036bd361d to remove references to entry BB name from
checks, to fix tests for builds that do not generate block names.


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

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/Sema/switch.c

  Log Message:
  -----------
  [clang][Interp] Only diagnose out of bounds enum values in C++


  Commit: 38d0b2d174efe05504a18988299b4d78d37999b7
      https://github.com/llvm/llvm-project/commit/38d0b2d174efe05504a18988299b4d78d37999b7
  Author: Rafael Ubal <rubal at mathworks.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Shape/canonicalize.mlir
    A mlir/test/Dialect/Shape/unranked-tensor-lowering.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir] New canonicalization patterns for shape.shape_of and tensor.reshape (#98531)

This PR includes 3 new canonicalization patterns:

- Operation `shape.shape_of`: shape of reshape

```
// Before
func.func @f(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>) -> tensor<?xindex> {
  %reshape = tensor.reshape %arg0(%arg1) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
  %0 = shape.shape_of %reshape : tensor<*xf32> -> tensor<?xindex>
  return %0 : tensor<?xindex>
}

// After
func.func @f(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>) -> tensor<?xindex> {
  return %arg1 : tensor<?xindex>
}
```

- Operation `tensor.reshape`: reshape of reshape

```
// Before
func.func @fold_tensor_reshape(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>, %arg2: tensor<?xindex>) -> tensor<*xf32> {
  %0 = tensor.reshape %arg0(%arg1) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
  %1 = tensor.reshape %0(%arg2) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
  return %1 : tensor<*xf32>
}

// After
func.func @fold_tensor_reshape(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>, %arg2: tensor<?xindex>) -> tensor<*xf32> {
  %reshape = tensor.reshape %arg0(%arg2) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
  return %reshape : tensor<*xf32>
}
```

- Operation `tensor.reshape`: reshape 1D to 1D

```
// Before
func.func @fold_reshape_1d(%input: tensor<?xf32>, %shape: tensor<1xindex>) -> tensor<?xf32> {
  %0 = tensor.reshape %input(%shape) : (tensor<?xf32>, tensor<1xindex>) -> tensor<?xf32>
  return %0 : tensor<?xf32>
}

// After
func.func @fold_reshape_1d(%arg0: tensor<?xf32>, %arg1: tensor<1xindex>) -> tensor<?xf32> {
  return %arg0 : tensor<?xf32>
}
```

These three canonicalization patterns cooperate to simplify the IR
structure emerging from the lowering of certain element-wise ops with
unranked tensor inputs. See file `unranked-tensor-lowering.mlir` in the
proposed change list for a detailed example and description.

For context, this PR is meant to enable code optimizations for the code
generated while lowering ops `quant.qcast` and `quant.dcast` with
unranked tensors, as proposed in
https://discourse.llvm.org/t/rfc-improvements-in-the-quant-dialect/79942
(implementation currently in progress).


  Commit: 4c28494e7842b26a566f9406f71510eda4a9e576
      https://github.com/llvm/llvm-project/commit/4c28494e7842b26a566f9406f71510eda4a9e576
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-bv-multi-uses.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for incorrect minbitwidth analysis for trunc'ed bv, NFC.


  Commit: c719d7b390481b095c7498fe75a0bcf60a24bad9
      https://github.com/llvm/llvm-project/commit/c719d7b390481b095c7498fe75a0bcf60a24bad9
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c

  Log Message:
  -----------
  [FMV][AArch64] Do not optimize away runtime checks for implied features (#99522)

When generating the body of the ifunc resolver, clang skips runtime
checks for features that are implied from the command line. We bend this
rule for certain features (memtag, bti, dgh), but this happens quite
arbitrarily in my opinion. The reasoning is that some features are in
the HINT instruction space, meaning they operate as NOPs if the hardware
does not support them. Still the user wants to detect their presence
with runtime checks. See #90928 for details.

I think we should always perform runtime checks regardless of the
feature and then try to statically resolve calls whenever a function is
compiled with a sufficiently high set of architecture features (so
including target/target_version/target_clones attributes, and command
line options). This is what GCC does. We have an open PR in LLVM
GlobalOpt since it was suggested not to perform such codegen
optimizations in clang anyway. See #87939.


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

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-acos.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-asin.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-cosh.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-sinh.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-tanh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/f16-instructions.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
    M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
    M llvm/test/CodeGen/AArch64/vec-libcalls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll

  Log Message:
  -----------
  [aarch64] Add hyperbolic and arc trig intrinsic lowering (#98937)

## The change(s)
- `VecFuncs.def`: define intrinsic to  sleef/armpl mapping
- `LegalizerHelper.cpp`: add missing `fewerElementsVector` handling for
the new trig intrinsics
- `AArch64ISelLowering.cpp`: Add arch64 specializations for lowering
like neon instructions
- `AArch64LegalizerInfo.cpp`: Legalize the new trig intrinsics. aarch64
has specail legalization requirments in `AArch64LegalizerInfo.cpp`. If
we redirect the clang builtin without handling this we will break the
aarch64 compiler

## History
This change is part of an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This change adds wasm lowering cases for `acos`, `asin`, `atan`, `cosh`,
`sinh`, and `tanh`.

https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966

## Why is aarch64 needed
The last step is to redirect the `acos`, `asin`, `atan`, `cosh`, `sinh`,
and `tanh` to emit the intrinsic. We can't emit the intrinsic without
the intrinsics becoming legal for aarch64 in `AArch64LegalizerInfo.cpp`


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    A llvm/test/CodeGen/WebAssembly/libcalls-trig.ll

  Log Message:
  -----------
  [WebAssembly] Add Support for Arc and Hyperbolic trig llvm intrinsics (#98755)

## Change:
- WebAssemblyRuntimeLibcallSignatures.cpp: Expose the RTLIB's for use by
WASM
-  Add trig specific test cases

## History
This change is part of an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This change adds wasm lowering cases for `acos`, `asin`, `atan`, `cosh`,
`sinh`, and `tanh`.

https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966

## Why Web Assembly?
>From past changes to try and support constraint intrinsics the changes
to the trig builtins to emit intrinsics\constraint intrinsics broke the
WASM build. This is an attempt to preempt any such build break.

- https://github.com/llvm/llvm-project/pull/95082
-
https://github.com/llvm/llvm-project/pull/94559#issuecomment-2159923215


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

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/constrained-math-builtins.c
    M clang/test/CodeGen/libcalls.c
    M clang/test/CodeGen/math-libcalls.c
    M clang/test/CodeGenOpenCL/builtins-f16.cl

  Log Message:
  -----------
  [clang] Emit constraint intrinsics for arc and hyperbolic trig clang builtins (#98949)

## Change(s)
- `Builtins.td` - Add f16 support for libm arc and hyperbolic trig
functions
- `CGBuiltin.cpp` - Emit constraint intrinsics for trig clang builtins

## History
This change is part of an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics. Which was discussed in
this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This change adds wasm lowering cases for `acos`, `asin`, `atan`, `cosh`,
`sinh`, and `tanh`.

https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966

## Precursor PR(s)

Note this PR needs Merge after:
- #98937
- #98755


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

  Changed paths:
    M libc/include/llvm-libc-types/struct_statvfs.h
    M libc/src/sys/statvfs/fstatvfs.h
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/statvfs.h

  Log Message:
  -----------
  [libc] Fix headers for statvfs implementation

Summry:
@lntue


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-bv-multi-uses.ll

  Log Message:
  -----------
  [SLP]Do not trunc bv nodes, if the user is vectorized an requires wider type.

If at least a single user of the gathered trunc'ed instruction is
vectorized and requires wider type, than the trunc node, such
gathers/buildvectors should not be optimized for better bitwidth.


  Commit: f1c27a9b269ead54d348e19b78b608c961c9e647
      https://github.com/llvm/llvm-project/commit/f1c27a9b269ead54d348e19b78b608c961c9e647
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    A a-abfdec1d.o.tmp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/Driver/ftime-trace-sections.cpp
    M clang/test/Driver/ftime-trace.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/lib/Support/TimeProfiler.cpp

  Log Message:
  -----------
  Reapply "Add source file name for template instantiations in -ftime-trace" (#99545)

Fix the Windows test.


  Commit: 9da9127fec7b0a252b80d60b09b8c0ccedb41672
      https://github.com/llvm/llvm-project/commit/9da9127fec7b0a252b80d60b09b8c0ccedb41672
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/hypotf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/HypotTest.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Fix signaling nan handling of hypot(f) and improve hypotf performance. (#99432)

The errors were reported by Paul Zimmermann with the CORE-MATH project's
test suites:
```
zimmerma at tartine:/tmp/core-math$ CORE_MATH_CHECK_STD=true LIBM=$L ./check.sh hypot
Running worst cases check in --rndn mode...
FAIL x=snan y=inf ref=qnan z=inf
Running worst cases check in --rndz mode...
FAIL x=snan y=inf ref=qnan z=inf
Running worst cases check in --rndu mode...
FAIL x=snan y=inf ref=qnan z=inf
Running worst cases check in --rndd mode...
Spurious inexact exception for x=0x1.ffffffffffffep+24 y=0x1p+0 (z=0x1.0000000000001p+25)
```


  Commit: 71e2b8df30ad78f5f86bf0d6729296282e061a5c
      https://github.com/llvm/llvm-project/commit/71e2b8df30ad78f5f86bf0d6729296282e061a5c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [clang] NFC, simplify the code in CheckExprLifetime.cpp (#99637)

No need to get the Owner/Pointer attr via the type. The Decl has this
attr information.


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

  Changed paths:
    M clang/test/CodeGen/tbaa-pointers.c

  Log Message:
  -----------
  [TBAA] Remove remaining entry BB in check lines for tbaa-pointers.c (2)

Missed out of 47c08fb8d79ec.


  Commit: 4b9fab591916eec9fd1942f37afe3b137b564089
      https://github.com/llvm/llvm-project/commit/4b9fab591916eec9fd1942f37afe3b137b564089
  Author: David Truby <david.truby at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90

  Log Message:
  -----------
  [flang][OpenMP] Implement lastprivate with collapse (#99500)

This patch enables the lastprivate clause to be used in the presence of
the collapse clause.

Note: the way we currently implement lastprivate means that this adds a
large number of compare instructions to the end of every iteration of
the loop. This is a clearly non-optimal thing to do, but lastprivate in
general will need re-implementing to prevent this. This is planned as
part of the delayed privatization work. This current implementation is
just a stop-gap measure as generating sub-optimal but working code is
better than crashing out.


  Commit: 9d86722eeecbb1dd6a53c10f7c44fdc317de6809
      https://github.com/llvm/llvm-project/commit/9d86722eeecbb1dd6a53c10f7c44fdc317de6809
  Author: Dhruv Chauhan <dhruv.chauhan at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [TOSA] Add lowering for `tosa.sin` and `tosa.cos` (#99651)

Lower tosa ops to `mlir::math::SinOp` and `mlir::math::CosOp` as part of
the tosa to linalg conversion.
Added lit tests for conversion.


  Commit: ac11430983d0d89b7ccd8e10a1a3d02ad7e2208d
      https://github.com/llvm/llvm-project/commit/ac11430983d0d89b7ccd8e10a1a3d02ad7e2208d
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/src/time/linux/nanosleep.cpp

  Log Message:
  -----------
  [libc] Fix missing sysroot path for kernel headers when crosscompiling (#99588)

When crosscompiling, we need to search for the linux kernel headers in the sysroot but since #97486 the linux kernel headers were always searched in /usr/include.

This patch fixes this behaviour by prepending a '=' to where we search for the kernel headers. As per the gcc/clang's documentation a '=' before the path is replaced by the sysroot.

This patch also includes a fix for rv32, that fails to compile due to a missing definition of CLOCK_REALTIME after this change.


  Commit: cf50a84dc0327c1ff732011d74d2c126a2b93af6
      https://github.com/llvm/llvm-project/commit/cf50a84dc0327c1ff732011d74d2c126a2b93af6
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/test/CodeGen/ubsan-function.cpp

  Log Message:
  -----------
  [PAC] Authenticate function pointers in UBSan type checks (#99590)

The function pointer needs to be authenticated before doing the type
checks.


  Commit: d463617d7772c5e3275cf8c4a8a21d17b3d03d86
      https://github.com/llvm/llvm-project/commit/d463617d7772c5e3275cf8c4a8a21d17b3d03d86
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/test/CodeGen/ptrauth-function-type-discriminator.c

  Log Message:
  -----------
  [PAC] Fix a crash when signing a pointer to a function with an incomplete enum parameter (#99595)

Use int as the underlying type when the enum type is incomplete.


  Commit: 2d69c3628bb23a33e5fa36c6ec02fdc57c622dde
      https://github.com/llvm/llvm-project/commit/2d69c3628bb23a33e5fa36c6ec02fdc57c622dde
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

  Log Message:
  -----------
  [tsan] Consume leading zeroes in a test

Follow up to #98578


  Commit: d1ca1d017fe2712dd53adb6072fe1c1e5e1c7cb1
      https://github.com/llvm/llvm-project/commit/d1ca1d017fe2712dd53adb6072fe1c1e5e1c7cb1
  Author: Guillermo Callaghan <guillermo.callaghan at huawei.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Linalg/continuous-tiling-full.mlir

  Log Message:
  -----------
  [mlir] Makes `zip_shortest` an optional keyword in `transform.foreach` (#98492)

This PR addresses a [comment] made by @ftynse about the syntax for
`ForeachOp`. The syntax was modified by @muneebkhan85 in #82792, where
the attribute dictionary was moved to the middle.
This patch moves it back to its original place at the end. And
introduces an optional keyword for `zip_shortest`.

[comment]:
https://github.com/llvm/llvm-project/pull/82792#pullrequestreview-2132814144


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

  Changed paths:
    M libcxx/docs/TestingLibcxx.rst

  Log Message:
  -----------
  [libc++][docs] Add tip for developers running the test suite on macOS (#99544)


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

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Refactor buildkite-pipeline.yml (#99483)

This patch removes unused stuff from the Buildkite pipeline definition.


  Commit: 600d4937521210eb8c5fd3e1107e50ec5cb246f2
      https://github.com/llvm/llvm-project/commit/600d4937521210eb8c5fd3e1107e50ec5cb246f2
  Author: David Green <david.green at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    A llvm/lib/Target/AArch64/peephole-sxtw.mir
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll

  Log Message:
  -----------
  [AArch64] Remove superfluous sxtw in peephole opt (#96293)

Across a basic-block we might have an i32 extract from a value that only
operates on upper bits (for example a sxtw). We can replace the COPY
with a new version skipping the sxtw.

This is a re-commit of 7f2a5dfe35f8bbaca2819644c7aa844f938befd6, with a fix for
removing all the intermediate COPY nodes (and some extra debug logging).


  Commit: 1bdd761c4c12d016c90db82b36d93b09869703ae
      https://github.com/llvm/llvm-project/commit/1bdd761c4c12d016c90db82b36d93b09869703ae
  Author: David Green <david.green at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    R llvm/test/CodeGen/AArch64/arm64-sqxtn2-combine.ll
    M llvm/test/CodeGen/AArch64/qmovn.ll

  Log Message:
  -----------
  [AArch64] Additional sqxtn and uqxtn tests. NFC

There are also some sqxtun2 tests if I got them correct. The
arm64-sqxtn2-combine.ll test was moved to qmovn to keep them
in the same place.


  Commit: 6e68b75e6634e9809e2af5d68c87a4eb4282217e
      https://github.com/llvm/llvm-project/commit/6e68b75e6634e9809e2af5d68c87a4eb4282217e
  Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/vni8-live-reg-opt.ll

  Log Message:
  -----------
  [AMDGPU] Reland: Do not use original PHIs in coercion chains

Change-Id: I579b5c69a85997f168ed35354b326524b6f84ef7


  Commit: 09fec4688234d899c82a5526874177c734dcc91b
      https://github.com/llvm/llvm-project/commit/09fec4688234d899c82a5526874177c734dcc91b
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/lit.local.cfg
    R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt

  Log Message:
  -----------
  [AMDGPU][RFC] Combine asm and disasm tests. (#92895)

Eliminates the need to replicate the same instructions in MC and
MC/Disassembler tests and synchronize changes in them. Also highlights
differences between disassembled, reassembled and original instructions.


  Commit: 04760bfadb399cc4ded9b32bd523ec7703aa7462
      https://github.com/llvm/llvm-project/commit/04760bfadb399cc4ded9b32bd523ec7703aa7462
  Author: nicole mazzuca <nicole at strega-nil.co>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/ranges_find_last.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap
    M libcxx/include/version
    M libcxx/modules/std/algorithm.inc
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last_if.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last_if_not.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_nonbool.compile.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][ranges] P1223R5: `find_last` (#99312)

Implements [P1223R5][] completely.

Includes an implementation of `find_last`, `find_last_if`, and
`find_last_if_not`.

[P1223R5]: https://wg21.link/p1223r5


  Commit: 22eb290a9696e2a3fd042096c61e35eca2fcce0c
      https://github.com/llvm/llvm-project/commit/22eb290a9696e2a3fd042096c61e35eca2fcce0c
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-07-19 (Fri, 19 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.ll

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

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 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.

SIE tracker: TOOLCHAIN-16951


  Commit: 2f8b64d327a27a73b57a54eb5d1f28c41e650aee
      https://github.com/llvm/llvm-project/commit/2f8b64d327a27a73b57a54eb5d1f28c41e650aee
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M flang/CMakeLists.txt
    M flang/module/iso_fortran_env.f90
    A flang/module/iso_fortran_env_impl.f90
    M flang/runtime/CMakeLists.txt
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/flang-driver/CMakeLists.txt

  Log Message:
  -----------
  [flang][runtime] Build ISO_FORTRAN_ENV to export kind arrays as linkable symbols (#95388)

Moves definitions of the kind arrays into a Fortran MODULE to not only
emit the MOD file, but also compile that MODULE file into an object
file. This file is then linked into libFortranRuntime.so.

Eventually this workaround PR shoud be redone and a proper runtime build
should be setup that will then also compile Fortran MODULE files.

Fixes #89403

---------

Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Co-authored-by: Michael Kruse <github at meinersbur.de>


  Commit: 9ba524427321b931bad156860755adf420aeec6a
      https://github.com/llvm/llvm-project/commit/9ba524427321b931bad156860755adf420aeec6a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

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

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

This patch adds a new temporary option to still use the legacy cost
model after https://github.com/llvm/llvm-project/pull/92555. It defaults
to false and the only intended use is to adjust the default to true in
the soon-to-be-cut release branch.

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


  Commit: a56f37d3bc46f711a1bb8eda6839eb51d1af7d11
      https://github.com/llvm/llvm-project/commit/a56f37d3bc46f711a1bb8eda6839eb51d1af7d11
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M flang/lib/Lower/Allocatable.cpp
    A flang/test/Lower/OpenMP/firstprivate-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90

  Log Message:
  -----------
  [flang][Lower] get ultimate symbol when querying if pointer or allocatable (#99528)

This fixes a bug in OpenMP privatisation. The privatised variables are
created as though they are host associated clones of the original
variables. These privatised variables do not contain the allocatable
attribute themselves and so we need to check if the ultimate symbol is
allocatable. Having or not having this flag influences whether lowering
determines that this is a whole allocatable assignment, which then
causes hlfir.assign not to get the realloc flag, which cases the
allocatable not to be allocated when it is assigned to (leading to a
segfault running the newly added test).

I also did the same for pointer variables because I would imagine they
could experience the same issue.

There is no fallout on tests outside of OpenMP, and the gfortran test
suite still passes, so I think this doesn't break host other kinds of
host associated symbols.


  Commit: 54dab7dfcfdffe7bd8697737fbd65fda8385d77e
      https://github.com/llvm/llvm-project/commit/54dab7dfcfdffe7bd8697737fbd65fda8385d77e
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_origins.ll

  Log Message:
  -----------
  [msan] Implement support for Arm NEON vst{2,3,4} instructions (#99360)

This adds support for vst{2,3,4}, which are not correctly handled by
handleUnknownIntrinsic/handleVector{Load,Store}Intrinsic.

This patch also updates the tests introduced in
https://github.com/llvm/llvm-project/pull/98247 and
https://github.com/llvm/llvm-project/pull/99555

---------

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: 0f0cfcff2ca65e295cd84d3eda6f8e93b76cb3a8
      https://github.com/llvm/llvm-project/commit/0f0cfcff2ca65e295cd84d3eda6f8e93b76cb3a8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TailDuplicator.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/ARC/ARCFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86PreTileConfig.cpp
    M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp

  Log Message:
  -----------
  CodeGen: Avoid some references to MachineFunction's getMMI (#99652)

MachineFunction's probably should not include a backreference to
the owning MachineModuleInfo. Most of these references were used
just to query the MCContext, which MachineFunction already directly
stores. Other contexts are using it to query the LLVMContext, which
can already be accessed through the IR function reference.


  Commit: a8b90c835291df9a6c152fd32de666192aa0da77
      https://github.com/llvm/llvm-project/commit/a8b90c835291df9a6c152fd32de666192aa0da77
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libc/newhdrgen/tests/input/test_small.yaml
    M libc/newhdrgen/tests/test_integration.py

  Log Message:
  -----------
  [libc][newheadergen]: adding entry_point testing (#99587)


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

  Changed paths:
    M lldb/include/lldb/Target/DynamicLoader.h
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h

  Log Message:
  -----------
  [lldb/Target] Add GetStartSymbol method to DynamicLoader plugins (#99673)

This patch introduces a new method to the dynamic loader plugin, to
fetch its `start` symbol.

This can be useful to resolve the `start` symbol address for instance.

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


  Commit: 9b02b75c4d035192d9f24038f70107d7ffbb0f77
      https://github.com/llvm/llvm-project/commit/9b02b75c4d035192d9f24038f70107d7ffbb0f77
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp

  Log Message:
  -----------
  [libc] Increase test timeout (#99678)

This patch increases the timeout of the libc test from 1s to 10s, mostly because rv32 runs in a qemu image and sometimes 1s is just not enough for the test to finish when there are other tests running in parallel


  Commit: 0ca98af7f96fcc5a1e16c314b3da8eb76c510207
      https://github.com/llvm/llvm-project/commit/0ca98af7f96fcc5a1e16c314b3da8eb76c510207
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    A compiler-rt/test/sanitizer_common/TestCases/FreeBSD/dump_registers_x86_64.cpp

  Log Message:
  -----------
  Dump regs fbsd fix (#99676)


  Commit: 49ef0a8dc2d3b8e9d7c515f5eb350d1cc0336ef0
      https://github.com/llvm/llvm-project/commit/49ef0a8dc2d3b8e9d7c515f5eb350d1cc0336ef0
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-07-19 (Fri, 19 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
    R llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll

  Log Message:
  -----------
  Revert "[NVPTX] Add Volta Load/Store Atomics (.relaxed, .acquire, .release) and Volatile (.mmio/.volatile) support" (#99695)

Reverts llvm/llvm-project#98022


  Commit: 06a352245e0b1eb0d5c3c404cf4ae60145fd2b42
      https://github.com/llvm/llvm-project/commit/06a352245e0b1eb0d5c3c404cf4ae60145fd2b42
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    A a-abfdec1d.o.tmp
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
    M bolt/test/X86/jump-table-fixed-ref-pic.test
    M bolt/test/X86/pseudoprobe-decoding-inline.test
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Lex/PPEmbedParameters.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Expr.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/Opcodes.td
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAttr.cpp
    A clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/APINotes/Inputs/Headers/Methods.apinotes
    A clang/test/APINotes/Inputs/Headers/Methods.h
    M clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
    M clang/test/APINotes/Inputs/Headers/Namespaces.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/methods.cpp
    M clang/test/APINotes/namespaces.cpp
    M clang/test/AST/Interp/cxx11.cpp
    A clang/test/AST/Interp/cxx2a.cpp
    M clang/test/AST/Interp/new-delete.cpp
    M clang/test/C/C2y/n3254.c
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/X86/math-builtins.c
    A clang/test/CodeGen/aarch64-fmv-resolver-emission.c
    M clang/test/CodeGen/aarch64-mixed-target-attributes.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/constrained-math-builtins.c
    M clang/test/CodeGen/libcalls.c
    M clang/test/CodeGen/math-libcalls-tbaa.cpp
    M clang/test/CodeGen/math-libcalls.c
    A clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
    A clang/test/CodeGen/ptrauth-function-type-discriminator-cast.c
    M clang/test/CodeGen/ptrauth-function-type-discriminator.c
    M clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/ubsan-function.cpp
    A clang/test/CodeGenCXX/aarch64-fmv-resolver-emission.cpp
    M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/CodeGenCXX/fmv-namespace.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
    M clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
    M clang/test/CodeGenCXX/ptrauth-throw.cpp
    M clang/test/CodeGenCXX/ptrauth-thunks.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store.cl
    M clang/test/CodeGenOpenCL/builtins-f16.cl
    M clang/test/Driver/Ofast.c
    A clang/test/Driver/darwin-print-libgcc-file-name.c
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/ftime-trace-sections.cpp
    M clang/test/Driver/ftime-trace.cpp
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/lto-jobs.c
    M clang/test/Driver/ps4-linker.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/InstallAPI/diagnostics-dsym.test
    A clang/test/Modules/pch-in-module-units.cppm
    A clang/test/OpenMP/interchange_ast_print.cpp
    A clang/test/OpenMP/interchange_codegen.cpp
    A clang/test/OpenMP/interchange_messages.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    A clang/test/OpenMP/reverse_ast_print.cpp
    A clang/test/OpenMP/reverse_codegen.cpp
    A clang/test/OpenMP/reverse_messages.cpp
    M clang/test/PCH/aarch64-sve-types.c
    A clang/test/Preprocessor/Inputs/big_char.txt
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/embed_codegen.cpp
    A clang/test/Preprocessor/embed_search_paths.c
    M clang/test/Preprocessor/embed_weird.cpp
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/alignas.c
    A clang/test/Sema/attr-counted-by-bounds-safety-vlas.c
    M clang/test/Sema/switch.c
    M clang/test/SemaCXX/cxx-deprecated.cpp
    A clang/test/SemaCXX/instantiate-template-broken-nontype-default.cpp
    M clang/test/SemaCXX/ptrauth-incomplete-virtual-member-function-return-arg-type.cpp
    M clang/test/SemaCXX/vtable_pointer_authentication_attribute.cpp
    A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-load-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-store-error.cl
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/lib/asan/asan_mapping.h
    M compiler-rt/lib/safestack/safestack.cpp
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/lib/safestack/safestack_util.h
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/debug_stacks.cpp
    M compiler-rt/test/ctx_profile/CMakeLists.txt
    M compiler-rt/test/fuzzer/CMakeLists.txt
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/interception/CMakeLists.txt
    M compiler-rt/test/memprof/CMakeLists.txt
    M compiler-rt/test/msan/CMakeLists.txt
    M compiler-rt/test/nsan/CMakeLists.txt
    M compiler-rt/test/rtsan/CMakeLists.txt
    M compiler-rt/test/safestack/CMakeLists.txt
    M compiler-rt/test/safestack/lit.cfg.py
    M compiler-rt/test/safestack/lit.site.cfg.py.in
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    A compiler-rt/test/sanitizer_common/TestCases/FreeBSD/dump_registers_x86_64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_x86_64.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
    M compiler-rt/test/scudo/standalone/CMakeLists.txt
    M compiler-rt/test/tsan/CMakeLists.txt
    M compiler-rt/test/tsan/debug_alloc_stack.cpp
    M cross-project-tests/lit.cfg.py
    M cross-project-tests/lit.site.cfg.py.in
    M flang/CMakeLists.txt
    M flang/docs/Extensions.md
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/module/iso_fortran_env.f90
    A flang/module/iso_fortran_env_impl.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/misc-intrinsic.cpp
    M flang/runtime/unit.cpp
    A flang/test/Lower/OpenMP/firstprivate-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    A flang/test/Parser/OpenMP/proc-bind.f90
    M flang/test/Preprocessing/directive-contin-with-pp.F90
    M flang/test/Semantics/array-constr-values.f90
    M flang/test/Semantics/assign10.f90
    A flang/test/Semantics/associate03.f90
    A flang/test/Semantics/parent-comp-name.f90
    A flang/test/Semantics/struct03.f90
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/flang-driver/CMakeLists.txt
    M libc/CMakeLists.txt
    M libc/benchmarks/gpu/CMakeLists.txt
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/src/ctype/CMakeLists.txt
    M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp
    M libc/benchmarks/gpu/timing/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/gpu/support.rst
    M libc/docs/math/index.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/struct_statvfs.h
    M libc/newhdrgen/class_implementation/classes/function.py
    R libc/newhdrgen/class_implementation/classes/include.py
    M libc/newhdrgen/gpu_headers.py
    M libc/newhdrgen/header.py
    M libc/newhdrgen/tests/input/test_small.yaml
    R libc/newhdrgen/tests/output/test_small.h
    M libc/newhdrgen/tests/test_integration.py
    R libc/newhdrgen/yaml/arpa/arpa_inet.yaml
    A libc/newhdrgen/yaml/arpa/inet.yaml
    R libc/newhdrgen/yaml/gpu/gpu_rpc.yaml
    A libc/newhdrgen/yaml/gpu/rpc.yaml
    M libc/newhdrgen/yaml/math.yaml
    A libc/newhdrgen/yaml/sys/auxv.yaml
    A libc/newhdrgen/yaml/sys/epoll.yaml
    A libc/newhdrgen/yaml/sys/ioctl.yaml
    A libc/newhdrgen/yaml/sys/mman.yaml
    A libc/newhdrgen/yaml/sys/prctl.yaml
    A libc/newhdrgen/yaml/sys/random.yaml
    A libc/newhdrgen/yaml/sys/resource.yaml
    A libc/newhdrgen/yaml/sys/select.yaml
    A libc/newhdrgen/yaml/sys/sendfile.yaml
    A libc/newhdrgen/yaml/sys/socket.yaml
    A libc/newhdrgen/yaml/sys/stat.yaml
    A libc/newhdrgen/yaml/sys/statvfs.yaml
    R libc/newhdrgen/yaml/sys/sys_auxv.yaml
    R libc/newhdrgen/yaml/sys/sys_epoll.yaml
    R libc/newhdrgen/yaml/sys/sys_ioctl.yaml
    R libc/newhdrgen/yaml/sys/sys_mman.yaml
    R libc/newhdrgen/yaml/sys/sys_prctl.yaml
    R libc/newhdrgen/yaml/sys/sys_random.yaml
    R libc/newhdrgen/yaml/sys/sys_resource.yaml
    R libc/newhdrgen/yaml/sys/sys_select.yaml
    R libc/newhdrgen/yaml/sys/sys_sendfile.yaml
    R libc/newhdrgen/yaml/sys/sys_socket.yaml
    R libc/newhdrgen/yaml/sys/sys_stat.yaml
    R libc/newhdrgen/yaml/sys/sys_statvfs.yaml
    R libc/newhdrgen/yaml/sys/sys_syscall.yaml
    R libc/newhdrgen/yaml/sys/sys_time.yaml
    R libc/newhdrgen/yaml/sys/sys_types.yaml
    R libc/newhdrgen/yaml/sys/sys_utsname.yaml
    R libc/newhdrgen/yaml/sys/sys_wait.yaml
    A libc/newhdrgen/yaml/sys/syscall.yaml
    A libc/newhdrgen/yaml/sys/time.yaml
    A libc/newhdrgen/yaml/sys/types.yaml
    A libc/newhdrgen/yaml/sys/utsname.yaml
    A libc/newhdrgen/yaml/sys/wait.yaml
    M libc/newhdrgen/yaml_to_classes.py
    M libc/spec/llvm_libc_ext.td
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    A libc/src/__support/FPUtil/generic/mul.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/dmulf128.h
    A libc/src/math/dmull.h
    A libc/src/math/f16mul.h
    A libc/src/math/f16mulf.h
    A libc/src/math/f16mulf128.h
    A libc/src/math/f16mull.h
    A libc/src/math/fmulf128.h
    A libc/src/math/fmull.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/dmulf128.cpp
    A libc/src/math/generic/dmull.cpp
    A libc/src/math/generic/f16mul.cpp
    A libc/src/math/generic/f16mulf.cpp
    A libc/src/math/generic/f16mulf128.cpp
    A libc/src/math/generic/f16mull.cpp
    M libc/src/math/generic/fmul.cpp
    A libc/src/math/generic/fmulf128.cpp
    A libc/src/math/generic/fmull.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/sys/statvfs/fstatvfs.h
    M libc/src/sys/statvfs/linux/CMakeLists.txt
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/statvfs.h
    M libc/src/time/linux/nanosleep.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/src/math/CMakeLists.txt
    R libc/test/src/math/FMulTest.h
    A libc/test/src/math/MulTest.h
    A libc/test/src/math/dmull_test.cpp
    A libc/test/src/math/f16mul_test.cpp
    A libc/test/src/math/f16mulf_test.cpp
    A libc/test/src/math/f16mull_test.cpp
    M libc/test/src/math/fmul_test.cpp
    A libc/test/src/math/fmull_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    R libc/test/src/math/smoke/FMulTest.h
    M libc/test/src/math/smoke/HypotTest.h
    A libc/test/src/math/smoke/MulTest.h
    A libc/test/src/math/smoke/dmulf128_test.cpp
    A libc/test/src/math/smoke/dmull_test.cpp
    A libc/test/src/math/smoke/f16mul_test.cpp
    A libc/test/src/math/smoke/f16mulf128_test.cpp
    A libc/test/src/math/smoke/f16mulf_test.cpp
    A libc/test/src/math/smoke/f16mull_test.cpp
    M libc/test/src/math/smoke/fmul_test.cpp
    A libc/test/src/math/smoke/fmulf128_test.cpp
    A libc/test/src/math/smoke/fmull_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libclc/CMakeLists.txt
    M libclc/clspv/lib/math/fma.cl
    M libclc/cmake/modules/AddLibclc.cmake
    M libclc/generic/include/clc/convert.h
    M libclc/generic/include/math/clc_ldexp.h
    M libclc/generic/lib/clcmacro.h
    M libclc/generic/lib/gen_convert.py
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/atan.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/atanpi.cl
    M libclc/generic/lib/math/cbrt.cl
    M libclc/generic/lib/math/clc_ldexp.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_remquo.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/clc_sw_binary.inc
    M libclc/generic/lib/math/clc_sw_unary.inc
    M libclc/generic/lib/math/cos.cl
    M libclc/generic/lib/math/cosh.cl
    M libclc/generic/lib/math/cospi.cl
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/fdim.inc
    M libclc/generic/lib/math/frexp.inc
    M libclc/generic/lib/math/ilogb.cl
    M libclc/generic/lib/math/lgamma.cl
    M libclc/generic/lib/math/lgamma_r.cl
    M libclc/generic/lib/math/lgamma_r.inc
    M libclc/generic/lib/math/log10.cl
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/log2.cl
    M libclc/generic/lib/math/log_base.h
    M libclc/generic/lib/math/logb.cl
    M libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/remquo.inc
    M libclc/generic/lib/math/rootn.inc
    M libclc/generic/lib/math/sin.cl
    M libclc/generic/lib/math/sincos.inc
    M libclc/generic/lib/math/sinh.cl
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/tanh.cl
    M libcxx/CMakeLists.txt
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/algorithms/set_intersection.bench.cpp
    A libcxx/cmake/Modules/HandleLibC.cmake
    M libcxx/cmake/caches/Apple.cmake
    M libcxx/cmake/config-ix.cmake
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2c.rst
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/iterator_operations.h
    M libcxx/include/__algorithm/lower_bound.h
    A libcxx/include/__algorithm/ranges_find_last.h
    M libcxx/include/__algorithm/set_intersection.h
    M libcxx/include/__chrono/weekday.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__memory/allocator_traits.h
    A libcxx/include/__memory/inout_ptr.h
    A libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__type_traits/is_enum.h
    R libcxx/include/__type_traits/is_scoped_enum.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/remove_cv.h
    M libcxx/include/algorithm
    M libcxx/include/atomic
    M libcxx/include/expected
    M libcxx/include/filesystem
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/functional
    M libcxx/include/iterator
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/module.modulemap
    M libcxx/include/numeric
    M libcxx/include/ostream
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/stop_token
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/type_traits
    M libcxx/include/utility
    M libcxx/include/version
    M libcxx/modules/std/algorithm.inc
    M libcxx/modules/std/memory.inc
    M libcxx/src/CMakeLists.txt
    A libcxx/test/configs/apple-libc++-shared.cfg.in
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
    M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
    M libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
    M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/type_traits/is_callable.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
    M libcxx/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
    M libcxx/test/libcxx/type_traits/lazy_metafunctions.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.no_exceptions.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.pass.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.bind.partial/compose.pass.cpp
    M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last_if.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last_if_not.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_nonbool.compile.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_binary_predicate.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_equivalence_relation.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_strict_weak_order.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_unary_predicate.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_regular_unary_invocable.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_unary_invocable.compile.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/std/numerics/c.math/isfinite.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/types.h
    M libcxx/test/std/ranges/range.adaptors/range.transform/types.h
    M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp
    A libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/comparisons.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/now.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.convert.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.ctor.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.convert.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.ctor.pass.cpp
    A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.verify.cpp
    A libcxx/test/std/utilities/smartptr/adapt/types.h
    M libcxx/test/support/test_iterators.h
    M libcxx/utils/ci/apple-install-libcxx.sh
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/params.py
    A libcxxabi/src/vendor/apple/shims.cpp
    A libcxxabi/test/configs/apple-libc++abi-shared.cfg.in
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    M lld/test/ELF/aarch64-reloc-implicit-addend.test
    M lld/test/ELF/loongarch-tls-le.s
    M lld/test/MachO/link-search-at-rpath.s
    A lld/test/MachO/reproduce-thin-archive-objc.s
    M lld/test/MachO/reproduce-thin-archives.s
    M lld/test/MachO/rpath.s
    M lldb/bindings/headers.swig
    A lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
    M lldb/bindings/interfaces.swig
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDefines.h
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBFileSpec.h
    M lldb/include/lldb/API/SBProcess.h
    A lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/Core/PluginManager.h
    A lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/Target/DynamicLoader.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/CMakeLists.txt
    M lldb/source/API/SBProcess.cpp
    A lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Symbol/CMakeLists.txt
    A lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    A lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
    M lldb/test/Shell/helper/toolchain.py
    M lldb/test/Shell/lit.site.cfg.py.in
    M lldb/tools/lldb-server/lldb-platform.cpp
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/docs/CompileCudaWithLLVM.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/ADT/SetOperations.h
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/Analysis/ValueLattice.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/TailDuplicator.h
    M llvm/include/llvm/CodeGen/TargetCallingConv.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/include/llvm/Object/ArchiveWriter.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/Support/TimeProfiler.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    A llvm/lib/Target/AArch64/peephole-sxtw.mir
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/ARC/ARCFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    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/PPCFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86PreTileConfig.cpp
    M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/Analysis/ValueTracking/known-bits.ll
    M llvm/test/Analysis/ValueTracking/known-fpclass.ll
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll
    A llvm/test/Analysis/ValueTracking/numsignbits-shl.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sucmp.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-acos.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-asin.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-cosh.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-sinh.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-tanh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    R llvm/test/CodeGen/AArch64/arm64-sqxtn2-combine.ll
    A llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
    M llvm/test/CodeGen/AArch64/double_reduct.ll
    M llvm/test/CodeGen/AArch64/f16-instructions.ll
    M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
    M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
    M llvm/test/CodeGen/AArch64/qmovn.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
    M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-zext.ll
    M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
    M llvm/test/CodeGen/AArch64/vec-libcalls.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-clear-kill-flags.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/vni8-live-reg-opt.ll
    A llvm/test/CodeGen/NVPTX/i1-ext-load.ll
    A llvm/test/CodeGen/NVPTX/i1-load-lower.ll
    R llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    A llvm/test/CodeGen/WebAssembly/libcalls-trig.ll
    M llvm/test/CodeGen/X86/bitreverse.ll
    M llvm/test/CodeGen/X86/combine-udiv.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
    A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.ll
    A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_two_objects_same_name.s
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst.ll
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_origins.ll
    M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
    M llvm/test/MC/AArch64/mapping-across-sections.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/lit.local.cfg
    R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
    M llvm/test/MC/LoongArch/Relocations/relocations.s
    M llvm/test/MC/SystemZ/insn-bad.s
    M llvm/test/MC/SystemZ/insn-good.s
    A llvm/test/MachineVerifier/test_uscmp.mir
    M llvm/test/Object/archive-malformed-object.test
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
    M llvm/test/Transforms/GVN/condprop.ll
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
    M llvm/test/Transforms/InstCombine/ashr-demand.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
    A llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/SCCP/phis.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-bv-multi-uses.ll
    A llvm/test/Transforms/SLPVectorizer/X86/revec-fix-99411.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/preserving-debugloc-trivial-terminators.ll
    A llvm/test/Transforms/VectorCombine/RISCV/vecreduce-of-cast.ll
    A llvm/test/Verifier/byval-size-limit.ll
    M llvm/test/Verifier/param-align.ll
    M llvm/test/Verifier/param-attr-align.ll
    M llvm/test/Verifier/param-ret-align.ll
    M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/ADT/SetOperationsTest.cpp
    M llvm/unittests/Analysis/LoadsTest.cpp
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
    M llvm/utils/TableGen/Common/DAGISelMatcher.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn
    M llvm/utils/lit/lit/builtin_commands/cat.py
    M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/CAPI/rewrite.c
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Affine/loop-tiling-validity.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
    M mlir/test/Dialect/Linalg/continuous-tiling-full.mlir
    M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
    M mlir/test/Dialect/Shape/canonicalize.mlir
    A mlir/test/Dialect/Shape/unranked-tensor-lowering.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    A openmp/runtime/test/transform/interchange/foreach.cpp
    A openmp/runtime/test/transform/interchange/intfor.c
    A openmp/runtime/test/transform/interchange/iterfor.cpp
    A openmp/runtime/test/transform/interchange/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/interchange/parallel-wsloop-collapse-intfor.cpp
    A openmp/runtime/test/transform/reverse/foreach.cpp
    A openmp/runtime/test/transform/reverse/intfor.c
    A openmp/runtime/test/transform/reverse/iterfor.cpp
    A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-intfor.cpp
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    A utils/bazel/third_party_build/pybind.BUILD

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/69cacb8e610a...06a352245e0b

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