[all-commits] [llvm/llvm-project] dd7d81: Fix simplification of x + x//c*-c to x mod c. (#98...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Tue Jul 16 10:28:43 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/lvnfcintroduce-isscalablevectorizationallowed-to-refactor-getmaxlegalscalablevf
  Home:   https://github.com/llvm/llvm-project
  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: 0538ddcc98daa2977a32efe65de2fd6d831c214c
      https://github.com/llvm/llvm-project/commit/0538ddcc98daa2977a32efe65de2fd6d831c214c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-07-16 (Tue, 16 Jul 2024)

  Changed paths:
    M .github/CODEOWNERS
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf5-addr-section-reuse.s
    M bolt/test/X86/match-functions-with-calls-as-anchors.test
    M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.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/bugprone/implicit-widening-of-multiplication-result-constants.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
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Interp/Boolean.h
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Integral.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/ABIInfoImpl.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    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/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Headers/mm3dnow.h
    M clang/lib/Headers/x86intrin.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/Interp/c23.c
    M clang/test/AST/Interp/lambda.cpp
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    R clang/test/CodeGen/X86/3dnow-builtins.c
    M clang/test/CodeGen/X86/x86_64-vaarg.c
    M clang/test/CodeGen/builtins-x86.c
    M clang/test/CodeGen/ifunc.c
    M clang/test/CodeGen/kcfi.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/nullptr.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
    A clang/test/Driver/msse2avx.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    A clang/test/Driver/ps4-linker.c
    R clang/test/Driver/ps4-ps5-linker.c
    A clang/test/Driver/ps5-linker.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Headers/mm3dnow.c
    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
    M clang/test/Preprocessor/embed_codegen.cpp
    M clang/test/Preprocessor/embed_constexpr.cpp
    M clang/test/Preprocessor/embed_weird.cpp
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaTemplate/instantiate-local-class.cpp
    M clang/tools/c-index-test/c-index-test.c
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CXIndexDataConsumer.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M compiler-rt/CODE_OWNERS.TXT
    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/nsan/nsan.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/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/ubsan/ubsan_diag.cpp
    A compiler-rt/test/msan/Linux/prctl.cpp
    M compiler-rt/test/profile/instrprof-gc-sections.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
    M flang/docs/Intrinsics.md
    M flang/include/flang/Frontend/TargetOptions.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/Target.h
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Driver/tune-cpu-fir.f90
    A flang/test/Lower/Intrinsics/second.f90
    A flang/test/Lower/tune-cpu-llvm.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/tools/bbc/bbc.cpp
    M flang/tools/tco/tco.cpp
    M flang/unittests/Optimizer/FIRContextTest.cpp
    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
    M libc/config/baremetal/api.td
    M libc/config/baremetal/config.json
    M libc/config/config.json
    M libc/config/gpu/api.td
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/api.td
    M libc/docs/configure.rst
    M libc/include/assert.h.def
    M libc/include/uchar.h.def
    M libc/include/wchar.h.def
    A libc/newhdrgen/yaml/assert.yaml
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/spin_lock.h
    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/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/UnitTest/LibcTest.cpp
    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/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/nearest_integer_funcs_perf.cpp
    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/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 libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/wchar/CMakeLists.txt
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__mdspan/extents.h
    M libcxx/include/__ranges/single_view.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_fundamental.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/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/mdspan
    M libcxx/include/module.modulemap
    M libcxx/include/type_traits
    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
    A libcxx/test/std/ranges/range.factories/range.single.view/empty.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M lld/wasm/Driver.cpp
    M lldb/docs/index.rst
    A lldb/docs/resources/qemu-testing.rst
    R lldb/docs/use/qemu-testing.rst
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Core/EmulateInstruction.h
    M lldb/include/lldb/Host/Config.h.cmake
    A lldb/include/lldb/Symbol/SymbolLocation.h
    M lldb/include/lldb/Target/Process.h
    A lldb/include/lldb/Target/VerboseTrapFrameRecognizer.h
    M lldb/include/lldb/Utility/Event.h
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    A lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
    M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
    M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Target/AssertFrameRecognizer.cpp
    M lldb/source/Target/CMakeLists.txt
    M lldb/source/Target/Process.cpp
    A lldb/source/Target/VerboseTrapFrameRecognizer.cpp
    M lldb/source/Utility/Event.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
    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
    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
    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
    M lldb/test/API/functionalities/load_unload/TestLoadUnload.py
    M lldb/test/API/python_api/event/TestEvents.py
    A lldb/test/API/python_api/event/stop_hook.py
    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
    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
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
    M lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
    A lldb/test/Shell/Recognizer/Inputs/verbose_trap.cpp
    A lldb/test/Shell/Recognizer/verbose_trap.test
    M lldb/test/Shell/SymbolFile/add-dsym.test
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Process/ProcessEventDataTest.cpp
    M llvm/docs/Frontend/PerformanceTips.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MyFirstTypoFix.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    A llvm/docs/SandboxIR.md
    M llvm/docs/UserGuides.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/ADT/PackedVector.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    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/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
    M llvm/include/llvm/Demangle/MicrosoftDemangle.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/PatternMatch.h
    A llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/include/llvm/IR/VectorBuilder.h
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/include/llvm/Support/GenericIteratedDominanceFrontier.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/DwarfEHPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    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/lib/IR/CMakeLists.txt
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Metadata.cpp
    A llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/IR/VectorBuilder.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.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/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    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/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
    M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
    M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.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/SIMemoryLegalizer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.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/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
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    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
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopRotation.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.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/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
    A llvm/test/Analysis/ValueTracking/knownbits-x86-hadd-hsub.ll
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-casts.mir
    M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/ptrauth-call.ll
    M llvm/test/CodeGen/AArch64/ptrauth-invoke.ll
    M llvm/test/CodeGen/AArch64/typepromotion-overflow.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/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/check-subtarget-features.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
    A llvm/test/CodeGen/AMDGPU/global-alias.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/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wavefrontsize.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
    M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
    A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll
    A llvm/test/CodeGen/NVPTX/rcp-opt.ll
    A llvm/test/CodeGen/PowerPC/peephole-combineRLWINM-liveness.mir
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    R llvm/test/CodeGen/X86/3dnow-intrinsics.ll
    M llvm/test/CodeGen/X86/combine-shl.ll
    M llvm/test/CodeGen/X86/combine-srl.ll
    R llvm/test/CodeGen/X86/commute-3dnow.ll
    M llvm/test/CodeGen/X86/expand-vr64-gr64-copy.mir
    M llvm/test/CodeGen/X86/inline-asm-memop.ll
    A llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
    M llvm/test/CodeGen/X86/pr35982.ll
    M llvm/test/CodeGen/X86/pr53247.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    R llvm/test/CodeGen/X86/stack-folding-3dnow.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/wave32.s
    A llvm/test/MC/AsmParser/sse2avx-att.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10-wave32.txt
    M llvm/test/MC/RISCV/attribute-arch.s
    A llvm/test/MC/X86/intel-syntax-expr.s
    A llvm/test/Transforms/AggressiveInstCombine/memchr.ll
    M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
    A llvm/test/Transforms/LoopIdiom/AArch64/ctlz.ll
    A llvm/test/Transforms/LoopRotate/minsize-disable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
    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
    A llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
    A llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-extractelements.ll
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Verifier/intrinsic-immarg.ll
    M llvm/test/tools/llvm-readobj/ELF/ARM/attribute-big-endian.test
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/lto/lto.cpp
    M llvm/unittests/Analysis/VectorUtilsTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
    M llvm/utils/TableGen/X86ManualInstrMapping.def
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/X86/AsmParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
    M mlir/docs/DialectConversion.md
    M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
    M mlir/include/mlir/Bytecode/BytecodeOpInterface.h
    M mlir/include/mlir/Bytecode/BytecodeReaderConfig.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    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/include/mlir/Transforms/DialectConversion.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
    M mlir/lib/Bytecode/Writer/IRNumbering.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.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/AffineExpr.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
    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/SCF/canonicalize.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/Integration/GPU/CUDA/async.mlir
    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
    A mlir/test/Target/LLVMIR/Import/tune-cpu.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    A mlir/test/Target/LLVMIR/tune-cpu.mlir
    A mlir/test/Transforms/test-block-legalization.mlir
    M mlir/test/mlir-tblgen/gen-dialect-doc.td
    M mlir/test/python/dialects/vector.py
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/unittests/IR/AffineExprTest.cpp
    M openmp/libompd/gdb-plugin/ompd/ompd.py
    M openmp/libompd/gdb-plugin/ompd/ompd_callbacks.py
    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/archer/tests/lit.cfg
    M openmp/tools/multiplex/tests/custom_data_storage/custom_data_storage.c
    M openmp/tools/multiplex/tests/print/print.c
    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/stdlib/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
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase, address comments

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/e2c6fc26f3a0...0538ddcc98da

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