[all-commits] [llvm/llvm-project] c5b11a: [NVPTX] support immediate values in st.param instr...

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue May 28 00:05:19 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/mcclangllvm-readobjyaml2obj-support-crel-relocation-format
  Home:   https://github.com/llvm/llvm-project
  Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
      https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  [NVPTX] support immediate values in st.param instructions (#91523)

Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.


  Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
      https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Remove unused removeLastOperand (NFC).

The last use of the function has been removed a while ago. Remove the
unused function.


  Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
      https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/tools/dsymutil/MachODebugMapParser.cpp

  Log Message:
  -----------
  [dsymutil] Use operator==(StringRef, StringRef) (NFC)


  Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
      https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h

  Log Message:
  -----------
  [DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)


  Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
      https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp

  Log Message:
  -----------
  [DXIL] Use consistent SmallVector parameters

Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886


  Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
      https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/ARM/frem-power2.ll

  Log Message:
  -----------
  [DAG] Use copysign in frem power-2 fold. (#91751)

As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.

In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan


  Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
      https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll

  Log Message:
  -----------
  [VectorCombine] Don't transform single shuffles in shuffleToIdentity

This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.


  Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
      https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: match IR basic block labels (#88979)

Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.

Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.

We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.

This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.

I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.

Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.


  Commit: d34be649af1aa849c21a5a0570617c3a89d5f0b8
      https://github.com/llvm/llvm-project/commit/d34be649af1aa849c21a5a0570617c3a89d5f0b8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [ThinLTO]Sort imported GUIDs before cache key update (#92622)

Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)

@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.


  Commit: 7b977e0f644c43232732e149b03d41de321d804e
      https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)

The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
      https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Reformat


  Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
      https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]

`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.

`clang_rt.ctx_profile` has been introduced in #92456.


  Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
      https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h

  Log Message:
  -----------
  [NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)

In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.


  Commit: ef890572f379273da09db964b9ea1b67aa324762
      https://github.com/llvm/llvm-project/commit/ef890572f379273da09db964b9ea1b67aa324762
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

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


  Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
      https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)

This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
  %y = and i64 %x, 16383
  %z = xor i64 %y, 16368
  ret i64 %z
}
```


  Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
      https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
  Author: David Green <david.green at arm.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Additional extend tests for shuffleToIdentity. NFC


  Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
      https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.

The only difference is the operand index for the element index variable.


  Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
      https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Pass lib path into test

Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828


  Commit: e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
      https://github.com/llvm/llvm-project/commit/e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/X86/pr92569.ll

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison

We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.

Fixes #92569


  Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
      https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92096


  Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
      https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92576


  Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
      https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"

Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit cef6387e52578366c2332275dad88b9953b55336.


  Commit: 6447abe067c8088a5cc093fe872719374e174068
      https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/AST/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-late-parsed-off.c
    R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    R clang/test/Sema/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    R clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"

Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.


  Commit: c587483da0b50efa04146fde205da1d16731e12e
      https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"

Issue #92687

This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.


  Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
      https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)

At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.


  Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
      https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp

  Log Message:
  -----------
  [CodeGen][SDAG] Skip preferred extend at O0 (#92643)

This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.


  Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
      https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [CodeGen][SDAG] Track returntwice in lowering info (#92640)

This saves an extra iteration over the all instructions of the function.


  Commit: eab92cb7f33be16a6a17549182e9237112b7a183
      https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)

This PR is to address the issue #84640


  Commit: c1c1567d60983298a0db0efefd78899985464f19
      https://github.com/llvm/llvm-project/commit/c1c1567d60983298a0db0efefd78899985464f19
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll

  Log Message:
  -----------
  SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)


  Commit: b050048d35f6580fb427e6de9063444aa85625c6
      https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)

Simplify a common pattern generated for masks when folding the tail.

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


  Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
      https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst

  Log Message:
  -----------
  HLSL availability diagnostics design doc (#92207)

Design document for the HLSL availability diagnostic modes

Fixes microsoft/hlsl-specs#190

---------

Co-authored-by: Xiang Li <python3kgae at outlook.com>


  Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
      https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
  Author: Isaac David <61389980+orion160 at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/docs/ORCv2.rst

  Log Message:
  -----------
  [DOCS] ORCv2.rst Typo (#89482)


  Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
      https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Parser/attr-availability.c
    M clang/test/Sema/attr-availability-ios.c
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl

  Log Message:
  -----------
  [Clang][HLSL] Add environment parameter to availability attribute (#89809)

Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.

This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.

The environment parameter is currently supported only for HLSL.

Fixes #89802


  Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
      https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll

  Log Message:
  -----------
  ValueTracking: Correct undef handling for constant FP vectors (#92557)

Treat undef as unknown, and poison as ignorable.


  Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
      https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s

  Log Message:
  -----------
  [BOLT] Fix preserved offset in fixDoubleJumps (#92485)


  Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
      https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)

Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.

Related to [77615](https://github.com/llvm/llvm-project/pull/77615).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: ad625a407622ba5817ef58e30357139a40cf929e
      https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid std::string copy. NFC

Fix #92702


  Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
      https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
  Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  Update llvm-bugs.yml (#77243)


  Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
      https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)


  Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
      https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Clean up SortIncludesTest.cpp

Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.


  Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
      https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp

  Log Message:
  -----------
  [mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)


  Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
      https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)

* Given the code sequence
   ```
   bb:
     %vtable = load ptr, ptr %d, !prof !8
     %vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
     %1 = load ptr, ptr %vfn
     %call = tail call i32 %1(ptr %d), !prof !9
  ```
   The transformation looks like

   ```
   bb:
    %vtable = load ptr, ptr %d, align 8
    %vfn = getelementptr inbounds i8, ptr %vtable, i64 8  <-- Inst 1
    %func-addr = load ptr, ptr %vfn, align 8  <-- Inst 2
    # compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18

  if.true.direct_targ:                              ; preds = %bb
    %2 = tail call i32 @<direct-call>(ptr nonnull %d)
    br label %if.end.icp

  if.false.orig_indirect:                           ; preds = %bb
    %call = tail call i32 %func-addr(ptr nonnull %d)
    br label %if.end.icp

if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]

   ```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)

* The parent patch is https://github.com/llvm/llvm-project/pull/81181


  Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
      https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [clang] Use operator==(StringRef, StringRef) (NFC) (#92708)


  Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
      https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll

  Log Message:
  -----------
  [SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)


  Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
      https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [llvm] Use StringRef::contains (NFC) (#92710)


  Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
      https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it (#92353)

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

Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.


  Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
      https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileReader.cpp
    A bolt/test/X86/yaml-non-simple.test

  Log Message:
  -----------
  [BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)

YAML profile for non-simple functions without CFG is
  1) useless for optimizations,
  2) can't be attached, similar to fdata profile,
  3) would be reported as invalid/stale even if the profile is valid.

Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.

Test Plan: added yaml-non-simple.test


  Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
      https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Fold pointer adding in integer to arithmetic add (#91596)

Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
  %base = inttoptr i32 %x to ptr
  %ptr = getelementptr inbounds i8, ptr %base, i32 %y
  %r = ptrtoint ptr %ptr to i32
  ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
  %r = add i32 %x, %y
  ret i32 %r
}
```

The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.

### Motivation

It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is


https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873

``` llvm
  %conv.i188 = zext i32 %145 to i64
  %add.i189 = add i64 %conv.i188, %125
  %146 = load i16, ptr %num_aux_entries10.i, align 2
  %conv2.i191 = zext i16 %146 to i64
  %mul.i192 = shl nuw nsw i64 %conv2.i191, 3
  %add3.i193 = add i64 %add.i189, %mul.i192
  %147 = inttoptr i64 %add3.i193 to ptr
  %sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
  %sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
  %sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
  %add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
  %sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
  %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```

where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.


  Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
      https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)


  Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
      https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)

Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.


  Commit: 8de7890572296830b27b6e6db39b36810bc98c31
      https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  [ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)

The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.

[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195


  Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
      https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] Remove unused ASTWriter::getTypeID

As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.


  Commit: b6e102e08cd35543175459494211a3a15f793302
      https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll

  Log Message:
  -----------
  [SCEV] Don't use non-deterministic constant folding for trip counts (#90942)

When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.

Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.

Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.


  Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
      https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    R llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)

Reverts llvm/llvm-project#88024

Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)


  Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
      https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [llvm] Use SmallString::str (NFC) (#92712)


  Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
      https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Only set Info.memVT when not later overridden (#92670)

For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).


  Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
      https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  [MC] Make UseAssemblerInfoForParsing mostly true

Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).

`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.

I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.

```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
  ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc     # succeeded

% clang -c b.cc     # succeeded with this patch
% clang -S b.cc     # still failed
<inline asm>:4:5: error: expected absolute expression
    4 | .if . -_start == 1
      |     ^
1 error generated.
```

However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.

Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841

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


  Commit: eac743d1b01fd44bc742e1ccc2be8360908bdbf8
      https://github.com/llvm/llvm-project/commit/eac743d1b01fd44bc742e1ccc2be8360908bdbf8
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll

  Log Message:
  -----------
  MIPS: Support '%w' token in inline asm template for MSA (#91920)

MSA registers share the FPRs as its bottom half. So that we can use MSA
instructions to work with normal float/double:
   double a, b, c;
   asm volatile ("fmadd.d %w0, %w1, %w2" : "+f"(a) : "f"(b), "f"(c));

GCC has support it for quite long time.


  Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
      https://github.com/llvm/llvm-project/commit/d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c

  Log Message:
  -----------
  Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)

MSA requires -mfp64. If FP64 is supported by CPU (mips32r2+), and no
-mfp32/-mfpxx is explicitly given, let's add +fp64. Otherwise some cmd
like
   clang --target=mips -mips32r5 -mmsa
will issue LLVM backend ICE.


  Commit: 073488cb1f2ca131253efa3171bd56be34ba9fb3
      https://github.com/llvm/llvm-project/commit/073488cb1f2ca131253efa3171bd56be34ba9fb3
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: Use FP32 by default if CPU is mips1 (#92122)

FP32 is the only supported FPMode of mips1.
FPXX requires MIPS2+ and FP64 requires MIPS32r2+.


  Commit: dd8cb3d4f120edcf5fc3939594ee086c44010274
      https://github.com/llvm/llvm-project/commit/dd8cb3d4f120edcf5fc3939594ee086c44010274
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/mips-eh_frame-pic.s

  Log Message:
  -----------
  [ELF] Support high address DW_EH_sdata4 for ELFCLASS32

When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.

In LLVM, this appears a MIPS-specific issue.
Fix #88852

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


  Commit: 2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
      https://github.com/llvm/llvm-project/commit/2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/pr92233.ll

  Log Message:
  -----------
  [PowerPC]perform bitcast lowering only at 64 bit

Perform bitcast lowering requires 64-bit to be native supported,
However this is not true on 32-bit targets. Explicitly require
64-bit target.

Fixes #92233


  Commit: a027bea438e285380450f5b380be072f44ee0312
      https://github.com/llvm/llvm-project/commit/a027bea438e285380450f5b380be072f44ee0312
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll

  Log Message:
  -----------
  [LoongArch] Select {DIV,MOD}.{W,WU} instruction to eliminate explicit sign extension (#92205)


  Commit: 6582efc263c0df921b88b03bbdcd28a89daaa641
      https://github.com/llvm/llvm-project/commit/6582efc263c0df921b88b03bbdcd28a89daaa641
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [Clang] Fix __is_array returning true for zero-sized arrays (#86652)

Fixes #54705


  Commit: da6a0b7af29a222b2e16a10155b49d4fafe967f3
      https://github.com/llvm/llvm-project/commit/da6a0b7af29a222b2e16a10155b49d4fafe967f3
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/OpenCLBuiltins.td

  Log Message:
  -----------
  [OpenCL] Add cl_khr_kernel_clock builtins (#91950)


  Commit: 50b2bd4a25bb3a7a0790cb59e1240099efd7092e
      https://github.com/llvm/llvm-project/commit/50b2bd4a25bb3a7a0790cb59e1240099efd7092e
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/objc_external_category.m

  Log Message:
  -----------
  [clang][ExtractAPI] Remove symbols defined in categories to external types unless requested (#92522)

rdar://128259890


  Commit: b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
      https://github.com/llvm/llvm-project/commit/b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
  Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll

  Log Message:
  -----------
  [RISCV][CostModel] Remove cost of icmp inst in icmp+select with SFB. (#91158)

With ShortFowrardBranchOpt(SFB) or ConditionalMoveFusion, scalar
ICmp and scalar Select instructions will lower to SELECT_CC
and lower to PseudoCCMOVGPR which will generate a conditional
branch instruction and a move instruction.
The cost of scalar (ICmp + Select) = (0 + Select instruction cost)


  Commit: f5211d79b9edf56c08143491ccde38d480b40ab8
      https://github.com/llvm/llvm-project/commit/f5211d79b9edf56c08143491ccde38d480b40ab8
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll

  Log Message:
  -----------
  [DebugInfo][GVNSink] Fix #77415: GVNSink fails to optimize LLVM IR with debug info (#77602)

This PR fixes issue #77415 and is revised from PR #77419 .

PR #77419 breaks the newly added test in the same PR on windows, because
GVNSink is non-deterministic when sorting `BasicBlock*` pointers. This
is reflected in the failure report.

```
# | C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll:28:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sink = phi i32 [ %a, %if.then ], [ %b, %if.else ]
# |          ^
# | <stdin>:24:8: note: scanning from here
# | if.end: ; preds = %if.else, %if.then
# |        ^
# | <stdin>:25:2: note: possible intended match here
# |  %b.sink = phi i32 [ %b, %if.else ], [ %a, %if.then ]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll
```

According to the report, what the CheckFile wants to match is the
`%a.sink`, however there is `%b.sink`. But this mismatch does not mean
that this commit is wrong, since the occurrence of either `%a.sink` or
`%b.sink` is correct. The root cause of this test failure is the strict
check rule in the regression test committed.

So I refined the regression test with a more general check rule to only
detect whether there is an instruction with suffix `.sink` in the
`if.end` block. Hope this won't fail the test. If this PR still fails to
build, I will close this PR and try to find another right way to fix
this.


  Commit: d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
      https://github.com/llvm/llvm-project/commit/d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Add PreTest for optimizing `MOV` to `ORR`


  Commit: 384bf545a1a7d8dfd16afd20ef07eb845495bac4
      https://github.com/llvm/llvm-project/commit/384bf545a1a7d8dfd16afd20ef07eb845495bac4
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl

  Log Message:
  -----------
  [Driver][PS5] Set visibility option defaults (#92091)

Adjust the PS5 driver defaults for the -fvisibility-from-dllstorageclass
sub-options so that only globals with dllimport/dllexport annotations
are adjusted. This allows globals without dllimport/export to retain
the visibility and pre-emptability assigned during IR-Gen. Set
-fvisibility=hidden on PS5 by default to compensate for no longer
overriding the visibility of definitions without dllexport. Note there
is no behavior change for PS4 (the behavior of overriding the
visibility for all globals is retained on PS4).


  Commit: ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
      https://github.com/llvm/llvm-project/commit/ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Optimize `MOV` to `ORR` when load symmetric constants (#86249)

This change looks for cases of symmetric constant loading.
`symmetric constant load` is when the upper 32 bits and lower 32 bits
of a 64-bit register load the same value.

When it finds this, it replaces it with an instruction that loads only
the lower 32 bits of the constant and stores it in the upper and lower
bits simultaneously.

For example:
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = MOVKXi $x8, 49370, 32
  renamable $x8 = MOVKXi $x8, 320, 48
becomes
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = ORRXrs $x8, $x8, 32


  Commit: 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
      https://github.com/llvm/llvm-project/commit/702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  [Coverage] Rework !SystemHeadersCoverage (#91446)

- Introduce `LeafExprSet`,
  - Suppress traversing LAnd and LOr expr under system headers.
- Handle LAnd and LOr as instrumented leaves to override
`!isInstrumentedCondition(C)`.
- Replace Loc with FileLoc if it is expanded with system headers.

Fixes #78920


  Commit: 2217d1706a76d3f298899f824354ca9d96c45813
      https://github.com/llvm/llvm-project/commit/2217d1706a76d3f298899f824354ca9d96c45813
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py

  Log Message:
  -----------
  [lldb][Windows] Fixed LibcxxChronoTimePointSecondsSummaryProvider() (#92701)

This patch fixes #92574. It is a replacement for #92575.


  Commit: 8e8d2595dafa230a3da7f410200d89f05b6e8d87
      https://github.com/llvm/llvm-project/commit/8e8d2595dafa230a3da7f410200d89f05b6e8d87
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/Profile/c-unreachable-after-switch.c
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll

  Log Message:
  -----------
  [ConstantFolding] Canonicalize constexpr GEPs to i8 (#89872)

This patch canonicalizes constant expression GEPs to use i8 source
element type, aka ptradd. This is the ConstantFolding equivalent of the
InstCombine canonicalization introduced in #68882.

I believe all our optimizations working on constant expression GEPs
(like GlobalOpt etc) have already been switched to work on offsets, so I
don't expect any significant fallout from this change.

This is part of:
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699


  Commit: 21419071e197ca2f813a983c319a2213844dc72d
      https://github.com/llvm/llvm-project/commit/21419071e197ca2f813a983c319a2213844dc72d
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll

  Log Message:
  -----------
  InstSimplify: increase shufflevector test coverage (#92407)

Add examples of patterns that can be simplified, but are currently not.
This patch serves as a pre-commit test.


  Commit: 605ae4e93be8976095c7eedf5c08bfdb9ff71257
      https://github.com/llvm/llvm-project/commit/605ae4e93be8976095c7eedf5c08bfdb9ff71257
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt SimplifyHLFIRIntrinsics to run on all top level ops (#92573)

This means that this pass will also run on hlfir intrinsics which are
not inside of functions.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).


  Commit: 1ef081b05c562936fc025dde39b444066d9d470f
      https://github.com/llvm/llvm-project/commit/1ef081b05c562936fc025dde39b444066d9d470f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  movimm-expand-ldst.mir (d3d6565c2453) requires asserts


  Commit: 9f449c34278191193f2f2cbc96c333548ad20238
      https://github.com/llvm/llvm-project/commit/9f449c34278191193f2f2cbc96c333548ad20238
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Use TreeEntry::getOperand if setOperandsInOrder is called (#92727)

already.


  Commit: 6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
      https://github.com/llvm/llvm-project/commit/6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Split OpenMP dialect definitions (#91741)

This patch splits definitions for the OpenMP dialect into multiple files
to simplify the addition of new features, reduce merge conflicts, make
it easier to understand, etc. The split is based on the structure of the
more mature LLVMIR dialect. More specifically:

- The OpenMP dialect definition is located in OpenMPDialect.td.
- Base classes for OpenMP operations and types, as well as generic
OpenMP types are moved to OpenMPOpBase.td.
- OpenMP enumeration attributes, their case attributes and shared base
classes for these are placed in OpenMPEnums.td.
- Other OpenMP attributes are separated into OpenMPAttrDefs.td.
- OpenMPOps.td only contains operation definitions.

Even though this change should be useful on its own, it is intended as a
precursor to a follow-up PR in which operation arguments and attributes
are split into clause-specific classes which are then shared by all
operations to which they apply to. Without this prior change, that
approach would make the OpenMPOps.td file harder to navigate.


  Commit: f6ae8e6381a02b10091589d7742fab389f847ea9
      https://github.com/llvm/llvm-project/commit/f6ae8e6381a02b10091589d7742fab389f847ea9
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir

  Log Message:
  -----------
  [mlir][irdl] Fix missing verifier in irdl.parametric (#92700)

The parametric op was not checking the symbol it points to is a type or
attribute. This PR also fixes a small bug where an invalid IRDL file
would not end processing in mlir-opt. I also improved the error messages
for the already handled irdl.base invalid symbols.


  Commit: 82c5d350d200ccc5365d40eac187b9ec967af727
      https://github.com/llvm/llvm-project/commit/82c5d350d200ccc5365d40eac187b9ec967af727
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll

  Log Message:
  -----------
  [VPlan] Add commutative binary OR matcher, use in transform. (#92539)

Split off from https://github.com/llvm/llvm-project/pull/89386, this
extends the binary matcher to support matching commuative operations.
This is used for a new m_c_BinaryOr matcher, used in simplifyRecipe.

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


  Commit: 36899d693d91719e7e6cd0f0ee4cf579111b8509
      https://github.com/llvm/llvm-project/commit/36899d693d91719e7e6cd0f0ee4cf579111b8509
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [CloneFunction] Remove check that is no longer necessary (#92577)

We do not need to concern ourselves with CGSCC since all remaining CG
related updates went away in fa6ea7a419f37befbed04368bcb8af4c718facbb as
pointed out by @nikic in
https://github.com/llvm/llvm-project/pull/87963#issuecomment-2113937182.


  Commit: 04ae6e600a3090ccc1f80d0110a1108aa73a54f8
      https://github.com/llvm/llvm-project/commit/04ae6e600a3090ccc1f80d0110a1108aa73a54f8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Fix incorrect inferrence about the signbit of sqrt (#92510)

According to IEEE Std 754-2019, `sqrt` returns nan when the input is
negative (except for -0). In this case, we cannot make assumptions about
sign bit of the result.

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


  Commit: d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
      https://github.com/llvm/llvm-project/commit/d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  [LAA] Add tests with invariant accesses using vector types.

Extra tests for https://github.com/llvm/llvm-project/pull/92307


  Commit: 1553b21f6d3b620b8e32121b974793342820ab8c
      https://github.com/llvm/llvm-project/commit/1553b21f6d3b620b8e32121b974793342820ab8c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Fix missing template arg packs during the transformation (#92535)

clang rejects some valid code (see testcases) because of an incorrect
transformed deduction guides. This patch fixes it.

We miss the template argument packs during the transformation (`auto
(type-parameter-0-0...) -> Foo<>`). In
`TreeTransform::TransformTemplateArguments `, we have a logic of
handling template argument packs which were originally added to support
CTAD alias, it doesn't seem to be needed, we need to unpack them.


  Commit: d0dc29c2084a18c33b1b5b1cad9fd42215869746
      https://github.com/llvm/llvm-project/commit/d0dc29c2084a18c33b1b5b1cad9fd42215869746
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] HasOneUse builtin predicate on PatFrags (#91578)

This predicate tells GlobalISelEmitter and DAGISelEmitter to check that
the instruction to emit has only one use of its result. This can be used
on a PatFrag instead of defining custom predicates for both emitters per
record that requires it.


  Commit: 64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
      https://github.com/llvm/llvm-project/commit/64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp

  Log Message:
  -----------
  [clang] Make PS template DLL attribute propagation the same as MSVC (#92549)

For PlayStation, make the propagation of DLL import/export attributes
for explicit template instantiations the same as MSVC and Windows
Itanium.


  Commit: c2f92a33464bd9b76007ad5817952000add0033e
      https://github.com/llvm/llvm-project/commit/c2f92a33464bd9b76007ad5817952000add0033e
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll

  Log Message:
  -----------
  [DebugInfo][NaryReassociate] Fix missing debug location updates (#92545)

Fixes #92537


  Commit: 60fe1e9e657180cc66dc5b1211b06144f010852b
      https://github.com/llvm/llvm-project/commit/60fe1e9e657180cc66dc5b1211b06144f010852b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [clang] Use SmallString::str (NFC) (#92717)


  Commit: 2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
      https://github.com/llvm/llvm-project/commit/2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461)

Fix linkage of `build_name`; it is not supposed to have external
linkage.


  Commit: 3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
      https://github.com/llvm/llvm-project/commit/3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    R offload/plugins-nextgen/exports

  Log Message:
  -----------
  [Offload] Remove unused version script for plugins

Summary:
The plugins are no longer linked to a share library, making this unused
and useless.


  Commit: 02f1a992035f40b49435f0e7f358badd152d9dc2
      https://github.com/llvm/llvm-project/commit/02f1a992035f40b49435f0e7f358badd152d9dc2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [DivRemPairs] Pre-commit tests for PR #92627 (#92628)

The tests are added to a new AMDGPU/ subdirectory since I found the
missed optimization while hacking on AMDGPU code. Also, this ensures
that AMDGPU, which uses DivRemPass, is being checked for existing
expected behavior.


  Commit: 8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
      https://github.com/llvm/llvm-project/commit/8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll

  Log Message:
  -----------
  [DivRemPairs] Do not freeze poisons that can't be undef (#92627)

Per comments in DivRemPairs, the rewrite from
```llvm
    %div = div %X, %Y
    %rem = rem %X, %Y
```
to
```llvm
    %div = div %X, %Y
    %.mul = mul %div, %Y
    %rem = sub %X, %mul
```
is unsound when %X or %Y are undef.

However, it is known to be sound if %X or %Y are poison but can't be
undef, since both the pre- and post-rewrite %rem are `poison`.

Additionally, proofs: https://alive2.llvm.org/ce/z/xtNQ8j

A comment in the pass listed a TODO for changing a usage of
isGuaranteedNotToBeUndefOrPoison() in the pass to something that only
detects undef. Such a function has been implemented since the time that
TODO was written, but has not been used.

Therefore, this commit updates DivRemPairs to use
isGuaranteedNotToBeUndef() instead.


  Commit: e33db249b53fb70dce62db3ebd82d42239bd1d9d
      https://github.com/llvm/llvm-project/commit/e33db249b53fb70dce62db3ebd82d42239bd1d9d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Reland "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92718)

The original PR is reviewed in
https://github.com/llvm/llvm-project/pull/88024, and this PR adds one
line (https://github.com/llvm/llvm-project/pull/92718/commits/b9f04d199dec4f3c221d981dcb91e55298d0693f)
to fix test

Limit to one thread for in-process ThinLTO to test `LLVM_DEBUG` log.
- This should fix build bot failure like
https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876
- I could repro the failure and see interleaved log messages by using
`-thinlto-threads=all`

**Original Commit Message:**

The goal is to populate `declaration` import status if a new flag
`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases ([better call-graph
sort](https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5)
or [cross-module
auto-init](https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195))
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.


  Commit: 3efaf9caa56393597839b796d34f92459c711605
      https://github.com/llvm/llvm-project/commit/3efaf9caa56393597839b796d34f92459c711605
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash when diagnosing near-match for 'constexpr' redeclaration in C++11 (#92452)

Clang crashes when diagnosing the following invalid redeclaration in
C++11:
```
struct A {
  void f();
};

constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration` tries to create a
fix-it to remove `const` from the out-of-line declaration of `f`, but
there is no `SourceLocation` for the `const` qualifier (it's implicitly
`const` due to `constexpr`) and an assert in
`FunctionTypeInfo::getConstQualifierLoc` fails.

This patch changes `DiagnoseInvalidRedeclaration` to only suggest the removal of the
`const` qualifier when it was explicitly specified in the _cv-qualifier-seq_ of the declaration.


  Commit: 2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
      https://github.com/llvm/llvm-project/commit/2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix CMake dependency in CUF/Attributes (#92751)

flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp includes
CUFDialect.h.inc, but the target generating that isn't currently
depended on in CUF/Attributes. This patch adds that missing dependency.

Fixes #92635


  Commit: 9def85f99aba66fb5a266d2abf60c3802ff13c6a
      https://github.com/llvm/llvm-project/commit/9def85f99aba66fb5a266d2abf60c3802ff13c6a
  Author: inglorion <inglorion at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/utils/revert_checker.py

  Log Message:
  -----------
  [revert_checker] replace Phabricator URIs with GitHub URIs (#92102)

LLVM is now using GitHub. This change makes revert_checker.py -u
generate commit links that go to GitHub, instead of the old Phabricator
URIs.


  Commit: 586ecd75606e70a8d16cb1717809acce652ffe7f
      https://github.com/llvm/llvm-project/commit/586ecd75606e70a8d16cb1717809acce652ffe7f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Relax vector restriction for rootn libcall folds (#92594)

We could try harder for nonsplat vectors but probably not worth the
effort.


  Commit: 0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
      https://github.com/llvm/llvm-project/commit/0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp

  Log Message:
  -----------
  [NFC][amdgpuarch] Correct file names in file header comments (#92294)


  Commit: 097e96d0d1ad9cceb461bb3487af0a2ec42176e4
      https://github.com/llvm/llvm-project/commit/097e96d0d1ad9cceb461bb3487af0a2ec42176e4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll

  Log Message:
  -----------
  [LegalizeTypes] Use VP_AND for zext_inreg in PromoteIntRes_VPFunnelShift.

I may eventually add getVPZeroExtendInReg to SelectionDAG if there are
other cases, but for now just hardcode it.


  Commit: 9964c2c33d750d60b512d518899fa2147576f3f3
      https://github.com/llvm/llvm-project/commit/9964c2c33d750d60b512d518899fa2147576f3f3
  Author: Pradeep Kumar <pradeepisro49 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [MILR][NVVM] Fix missing semicolon in nvvm.barrier.arrive Op (#92769)

This commit fixes the missing semicolon in the PTX codegen path where
barrier id is provided for the NVVM BarrierArriveOp. Also, updated
nvvm-to-llvm.mlir lit test to reflect the same

Co-authored-by: pradeepku <pradeepku at nvidia.com>


  Commit: 4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
      https://github.com/llvm/llvm-project/commit/4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp

  Log Message:
  -----------
  [clang][NFC] Rename `SemaRISCVVectorLookup.cpp` into `SemaRISCV.cpp`

In preparation for #92682.


  Commit: d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
      https://github.com/llvm/llvm-project/commit/d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update the list of Core issues


  Commit: 0047df9af4a106560197850438d6543dcb87d839
      https://github.com/llvm/llvm-project/commit/0047df9af4a106560197850438d6543dcb87d839
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll

  Log Message:
  -----------
  [SPIR-V] reqd_work_group_size and work_group_size_hint metadata are correctly converted to the LocalSize and LocalSizeHint execution mode (#92552)

The goal of this PR is to ensure that reqd_work_group_size and
work_group_size_hint metadata are correctly converted to the LocalSize
and LocalSizeHint execution mode.

reqd_work_group_size and work_group_size_hint require 3 operands (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Execution_Mode),
if metadata contains less operands, just add a default value (1).


  Commit: 50be0b1b967eeb479989ed26c13d17a53845dd1e
      https://github.com/llvm/llvm-project/commit/50be0b1b967eeb479989ed26c13d17a53845dd1e
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that internal intrinsic functions "ptrcast" for PHI's operand are inserted at the correct positions (#92536)

The goal of the PR is to ensure that newly inserted `ptrcast` internal
intrinsic functions are inserted at the correct positions, and don't
break rules of instruction domination and PHI nodes grouping at top of
basic block.


  Commit: 1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
      https://github.com/llvm/llvm-project/commit/1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [mlir] [openmp] fix bazel build (#92790)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3575d23ca866e0510b322e4520d6cbcebee18c22
      https://github.com/llvm/llvm-project/commit/3575d23ca866e0510b322e4520d6cbcebee18c22
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp

  Log Message:
  -----------
  [clang][CodeGen] Remove unused LValue::getAddress CGF arg. (#92465)

This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.


  Commit: 285f1392da07f6b0bcaa7d106c00b1e9fda25333
      https://github.com/llvm/llvm-project/commit/285f1392da07f6b0bcaa7d106c00b1e9fda25333
  Author: David Green <david.green at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Some more tests for different cmp's and fp consts. NFC


  Commit: a0e3e76385feca289f03576b17d5e9cc7783c9b4
      https://github.com/llvm/llvm-project/commit/a0e3e76385feca289f03576b17d5e9cc7783c9b4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h

  Log Message:
  -----------
  [mlir] Remove redundant include in Passes.h header (NFC)


  Commit: e24610532b87eaae06dedec8f7c90764cd9ba19c
      https://github.com/llvm/llvm-project/commit/e24610532b87eaae06dedec8f7c90764cd9ba19c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 4f5bc4bb55a8


  Commit: fd87d765c0455265aea4595a3741a96b4c078fbc
      https://github.com/llvm/llvm-project/commit/fd87d765c0455265aea4595a3741a96b4c078fbc
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Don't build CXXDependentScopeMemberExprs for potentially implicit class member access expressions (#92318)

According to [expr.prim.id.general] p2:
> If an _id-expression_ `E` denotes a non-static non-type member of some
class `C` at a point where the current class is `X` and
> - `E` is potentially evaluated or `C` is `X` or a base class of `X`,
and
> - `E` is not the _id-expression_ of a class member access expression,
and
> - if `E` is a _qualified-id_, `E` is not the un-parenthesized operand
of the unary `&` operator,
>
> the _id-expression_ is transformed into a class member access
expression using `(*this)` as the object expression.

Consider the following:
```
struct A
{
    void f0();

    template<typename T>
    void f1();
};

template<typename T>
struct B : T
{
    auto g0() -> decltype(T::f0()); // ok

    auto g1() -> decltype(T::template f1<int>()); // error: call to non-static member function without an object argument
};

template struct B<A>;
```

Clang incorrectly rejects the call to `f1` in the _trailing-return-type_
of `g1`. Furthermore, the following snippet results in a crash during
codegen:
```
struct A
{
    void f();
};

template<typename T>
struct B : T
{
    template<typename U>
    static void g();
    
    template<>
    void g<int>()
    {
        return T::f(); // crash here
    }
};

template struct B<A>;
```
This happens because we unconditionally build a
`CXXDependentScopeMemberExpr` (with an implicit object expression) for
`T::f` when parsing the template definition, even though we don't know
whether `g` is an implicit object member function yet.

This patch fixes these issues by instead building
`DependentScopeDeclRefExpr`s for such expressions, and only transforming
them into implicit class member access expressions during instantiation.
Since we implemented the MS "unqualified lookup into dependent bases"
extension by building an implicit class member access (and relying on
the first component name of the _nested-name-specifier_ to be looked up
in the context of the object expression during instantiation), we
instead pre-append a fake _nested-name-specifier_ that refers to the
injected-class-name of the enclosing class. This patch also refactors
`Sema::BuildQualifiedDeclarationNameExpr` and
`Sema::BuildQualifiedTemplateIdExpr`, streamlining their implementation
and removing any redundant checks.


  Commit: c6486633d2656faecea8d7eb426bb22c52ddfd14
      https://github.com/llvm/llvm-project/commit/c6486633d2656faecea8d7eb426bb22c52ddfd14
  Author: Yingchi Long <i at lyc.dev>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/test/CodeGen/BPF/xadd.ll

  Log Message:
  -----------
  [BPF] report `Invalid usage of the XADD return value"` elegantly (#92742)

Previously `report_fatal_error` is used for reporting something goes
wrong in the backend, but this is confusing because `report_fatal_error`
basically means there are something unexpected & crashed in the backend.

So, turn this "crash" into an elegant error reporting. After this patch,
clang can diagnose it:

    bpf-crash.c:4:30: error: Invalid usage of the XADD return value
4 | u32 next_event_id() { return __sync_fetch_and_add(&GLOBAL_EVENT_ID,
1); }
        |                              ^
    1 error generated.


  Commit: 549fdda3e1e4e01acd6a11f3808d6500b4ded36c
      https://github.com/llvm/llvm-project/commit/549fdda3e1e4e01acd6a11f3808d6500b4ded36c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refactor int_amdgcn_mov_dpp8 patterns. NFC. (#92764)

I still don't see why we need to select to different Real instructions
on different targets, but at least this is less verbose.


  Commit: 3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
      https://github.com/llvm/llvm-project/commit/3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  Fix test for non-Itanium ABIs.

This amends 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed to hopefully get
the test passing for Windows again.


  Commit: 245491a9f384e4c53421196533c2a2b693efaf8d
      https://github.com/llvm/llvm-project/commit/245491a9f384e4c53421196533c2a2b693efaf8d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [MC] Disable MCAssembler based constant folding for DwarfDebug

Related to the poor performance of MCAssembler based constant folding
(see `bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const` and
`AttemptToFoldSymbolOffsetDifference`),
commit 9500a5d02e23f9b43294e5f662ac099f8989c0e4 (#91082) caused -O0 -g
compile time regression.

9500a5d02e23f9b43294e5f662ac099f8989c0e4 special cased .eh_frame FDE
emitting. This patch adds a special case to .debug_* emitting as well to
mitigate the rest regression.

The MCAssembler based constant folding strategy should be improved to
remove the two special cases.


  Commit: bce3680f45b57f6ce745cb7da659f2ece745a1d1
      https://github.com/llvm/llvm-project/commit/bce3680f45b57f6ce745cb7da659f2ece745a1d1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [LAA] Move logic to compute start and end of a pointer to helper (NFC).

This allows use at other places, in particular an updated version of
https://github.com/llvm/llvm-project/pull/92307.


  Commit: acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
      https://github.com/llvm/llvm-project/commit/acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose current instantiation used as an incomplete base class (#92597)

Consider the following:
```
template<typename T>
struct A
{
    struct B : A { };
};
```
According to [class.derived.general] p2:
> [...] A _class-or-decltype_ shall denote a (possibly cv-qualified)
class type that is not an incompletely defined class; any cv-qualifiers
are ignored. [...]

Although GCC and EDG rejects this, Clang accepts it. This is incorrect,
as `A` is incomplete within its own definition (outside of a
complete-class context). This patch correctly diagnoses instances where
the current instantiation is used as a base class before it is complete.

Conversely, Clang erroneously rejects the following:
```
template<typename T>
struct A 
{
    struct B;

    struct C : B { };

    struct B : C { }; // error: circular inheritance between 'C' and 'A::B'
};
```
Though it may seem like no valid specialization of this template can be
instantiated, an explicit specialization of either member classes for an
implicit instantiated specialization of `A` would permit the definition
of the other member class to be instantiated, e.g.:
```
template<>
struct A<int>::B { };

A<int>::C c; // ok
```
So this patch also does away with this error. This means that circular
inheritance is diagnosed during instantiation of the definition as a
consequence of requiring the base class type to be complete (matching
the behavior of GCC and EDG).


  Commit: a91d5c07f2357f10a5378bb3b0e439847f2b8e00
      https://github.com/llvm/llvm-project/commit/a91d5c07f2357f10a5378bb3b0e439847f2b8e00
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/dealloc.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target-common-block.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target04.f90
    M flang/test/Semantics/OpenMP/declare-target05.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/declare-target07.f90
    M flang/test/Semantics/OpenMP/default-clause.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/default02.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend02.f90
    M flang/test/Semantics/OpenMP/depend03.f90
    M flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-cycle.f90
    M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
    M flang/test/Semantics/OpenMP/do-ordered.f90
    M flang/test/Semantics/OpenMP/do-schedule01.f90
    M flang/test/Semantics/OpenMP/do-schedule02.f90
    M flang/test/Semantics/OpenMP/do-schedule03.f90
    M flang/test/Semantics/OpenMP/do-schedule04.f90
    M flang/test/Semantics/OpenMP/do01-positivecase.f90
    M flang/test/Semantics/OpenMP/do01.f90
    R flang/test/Semantics/OpenMP/do02.f90
    M flang/test/Semantics/OpenMP/do03.f90
    M flang/test/Semantics/OpenMP/do04-positivecase.f90
    M flang/test/Semantics/OpenMP/do04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do05.f90
    M flang/test/Semantics/OpenMP/do06-positivecases.f90
    M flang/test/Semantics/OpenMP/do06.f90
    M flang/test/Semantics/OpenMP/do07.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do11.f90
    M flang/test/Semantics/OpenMP/do12.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do14.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do17.f90
    M flang/test/Semantics/OpenMP/do18.f90
    M flang/test/Semantics/OpenMP/do19.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/firstprivate01.f90
    M flang/test/Semantics/OpenMP/firstprivate02.f90
    M flang/test/Semantics/OpenMP/flush01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/invalid-branch.f90
    M flang/test/Semantics/OpenMP/lastprivate01.f90
    M flang/test/Semantics/OpenMP/lastprivate02.f90
    M flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-simd01.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-cancel.f90
    M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90
    M flang/test/Semantics/OpenMP/nested01.f90
    M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/ordered02.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    M flang/test/Semantics/OpenMP/parallel-critical-do.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections-do.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/parallel01.f90
    M flang/test/Semantics/OpenMP/parallel02.f90
    M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
    M flang/test/Semantics/OpenMP/private01.f90
    M flang/test/Semantics/OpenMP/private02.f90
    M flang/test/Semantics/OpenMP/reduction-subtract.f90
    M flang/test/Semantics/OpenMP/reduction01.f90
    M flang/test/Semantics/OpenMP/reduction02.f90
    M flang/test/Semantics/OpenMP/reduction03.f90
    M flang/test/Semantics/OpenMP/reduction04.f90
    M flang/test/Semantics/OpenMP/reduction05.f90
    M flang/test/Semantics/OpenMP/reduction06.f90
    M flang/test/Semantics/OpenMP/reduction07.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/reduction10.f90
    M flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/reduction12.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/resolve01.f90
    M flang/test/Semantics/OpenMP/resolve02.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/OpenMP/resolve04.f90
    M flang/test/Semantics/OpenMP/resolve05.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/target02.f90
    M flang/test/Semantics/OpenMP/task01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop-simd01.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    R flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90

  Log Message:
  -----------
  [Flang][OpenMP] Disable all OpenMP semantics tests on Windows (#92739)

Removes two XFAILed tests, the other tests are marked UNSUPPORTED only
on windows.


  Commit: e75b58cfc666fc168d05580d2b7fd274830a4dd0
      https://github.com/llvm/llvm-project/commit/e75b58cfc666fc168d05580d2b7fd274830a4dd0
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp

  Log Message:
  -----------
  [Clang][Sema] Do not add implicit 'const' when matching constexpr function template explicit specializations after C++14 (#92449)

Clang incorrectly accepts the following when using C++14 or later:
```
struct A {
  template<typename T>
  void f() const;

  template<>
  constexpr void f<int>();
};
```
Non-static member functions declared `constexpr` are only implicitly
`const` in C++11. This patch makes clang reject the explicit
specialization of `f` in language modes after C++11.


  Commit: 6430939baaa6222518d58d9192160312fca09327
      https://github.com/llvm/llvm-project/commit/6430939baaa6222518d58d9192160312fca09327
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/cmake/caches/HLSL.cmake

  Log Message:
  -----------
  [HLSL][CMake] Cache files don't have generator vars (#92793)

Doh! CMake cache scripts don't have generator variables set yet, so the
script can't depend on the generator variables. Instead I've added a
variable that a user can specify to enable the distribution settings.


  Commit: 1eb7f055d9ae5d14de8e4f75687dc2cf45511300
      https://github.com/llvm/llvm-project/commit/1eb7f055d9ae5d14de8e4f75687dc2cf45511300
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  CodeGen: Fix libcall names for exp10 on the various darwins (#92520)

It's really great that we have the same information duplicated in
TargetLibraryInfo and RuntimeLibcalls which both assume everything by
default.

Should fix issue reported after #92287


  Commit: e1c06c380ce01a4524df8061171e63cad010e4e6
      https://github.com/llvm/llvm-project/commit/e1c06c380ce01a4524df8061171e63cad010e4e6
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Fix error in #88512. (#92770)

Fixes error in GlobalISel CTLZ lowering caused by
[#88512](https://github.com/llvm/llvm-project/pull/88512).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: fdd245ad856f85019bb408ed5c14984823e7077f
      https://github.com/llvm/llvm-project/commit/fdd245ad856f85019bb408ed5c14984823e7077f
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [MLIR][Vector] Implement transferXXPermutationLowering as MaskableOpRewritePattern (#91987)

* Implements `TransferWritePermutationLowering`,
`TransferReadPermutationLowering` and
`TransferWriteNonPermutationLowering` as a MaskableOpRewritePattern.
Allowing to exit gracefully when such use of a xferOp is inside a
`vector::MaskOp`
* Updates MaskableOpRewritePattern to handle MemRefs and buffer
semantics providing empty `Value()` as a return value for
`matchAndRewriteMaskableOp` now represents successful rewriting without
value to replace the original op.

Split of https://github.com/llvm/llvm-project/pull/90835


  Commit: c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
      https://github.com/llvm/llvm-project/commit/c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619)

The current definition is a bit fuzzy... replace it with something
that's somewhat rigorous.

For functions, the definition is pretty narrow; as a consequence of
language-level non-determinism, it's impossible to tell whether two
functions are equivalent, so just embrace the non-determinism. For
constants, we're pretty strict; otherwise you end up concluding
constants can actually change value, which is bad for alias analysis. I
think C++ standard don't allow any non-deterministic operations in
constants, so we should be okay there? Poison is per-byte to allow some
ambiguity in the way padding is defined.


  Commit: 0da1a6ceb595fa91e3af20bf7f304ba275526f3c
      https://github.com/llvm/llvm-project/commit/0da1a6ceb595fa91e3af20bf7f304ba275526f3c
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td

  Log Message:
  -----------
  [mlir][polynomial] split polynomial types tablegen (#92805)

Similar to https://github.com/llvm/llvm-project/pull/92613, but for
types.

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
      https://github.com/llvm/llvm-project/commit/3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Don't fold rootn(x, 1) to input for strictfp functions (#92595)

We need to insert a constrained canonicalize.

Depends #92594


  Commit: 2a45f89aee8b05bb031c6e337df1524921de2e97
      https://github.com/llvm/llvm-project/commit/2a45f89aee8b05bb031c6e337df1524921de2e97
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `isKnowNonZero` of `X op (X != 0)`; NFC


  Commit: 223284316081e1af369c2d560da88e6211669250
      https://github.com/llvm/llvm-project/commit/223284316081e1af369c2d560da88e6211669250
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Recognize `X op (X != 0)` as non-zero

The ops supported are: `add`, `sub`, `xor`, `or`, `umax`, `uadd.sat`

Proofs: https://alive2.llvm.org/ce/z/8ZMSRg

The `add` case actually comes up in SPECInt, the rest are here mostly
for completeness.

Closes #88579


  Commit: 250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
      https://github.com/llvm/llvm-project/commit/250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/chrono.cpp

  Log Message:
  -----------
  [libcxx] Add cast to avoid pointer casting warning on Windows (#92738)

This avoids the following build time warning, when building with the
latest nightly Clang:

warning: cast from 'FARPROC' (aka 'int (*)() __attribute__((stdcall))')
to
'GetSystemTimeAsFileTimePtr' (aka 'void (*)(_FILETIME *)
__attribute__((stdcall))')
converts to incompatible function type [-Wcast-function-type-mismatch]

This warning seems to have appeared since Clang commit
999d4f840777bf8de26d45947192aa0728edc0fb, which restructured.

The GetProcAddress function returns a `FARPROC` type, which is `int
(WINAPI *)()`. Directly casting this to another function pointer type
triggers this warning, but casting to a `void*` inbetween avoids this
issue. (On Unix-like platforms, dlsym returns a `void*`, which doesn't
exhibit this casting problem.)


  Commit: 1f07bfb92c2a62731a5ae3ec2d135e3869634c01
      https://github.com/llvm/llvm-project/commit/1f07bfb92c2a62731a5ae3ec2d135e3869634c01
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Implement folding logic for size 0 tensor and memref ops (#90814)

Implement folding and rewrite logic to eliminate no-op tensor and memref
operations. This handles two specific cases:

1. tensor.insert_slice operations where the size of the inserted slice
is known to be 0.
2. memref.copy operations where either the source or target memrefs are
known to be emtpy.

Co-authored-by: Spenser Bauman <sabauma at fastmail>


  Commit: 753f7e814514ddb2bb2fd837549d5958cf0ef343
      https://github.com/llvm/llvm-project/commit/753f7e814514ddb2bb2fd837549d5958cf0ef343
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp

  Log Message:
  -----------
  [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (#92612)

In building AddrSpaceQualType
(https://github.com/llvm/llvm-project/pull/90048), there is a bug in
removeAddrSpaceQualType() for arrays. Arrays are weird because
qualifiers on the element type also count as qualifiers on the type, so
getSingleStepDesugaredType() can't remove the sugar on arrays. This
results in an infinite loop in removeAddrSpaceQualType. To fix the
issue, we use ASTContext::getUnqualifiedArrayType instead, which strips
the qualifier off the element type, then reconstruct the array type.


  Commit: 51ba7a816ccdadf7f943fb30a1933ded72a4c178
      https://github.com/llvm/llvm-project/commit/51ba7a816ccdadf7f943fb30a1933ded72a4c178
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/src/setjmp/x86_64/CMakeLists.txt

  Log Message:
  -----------
  [libc][setjmp] disable -ftrivial-auto-var-init=pattern for now (#92796)

This would consistently fail for me locally, to the point where I could not run
ninja libc-unit-tests without ninja libc_setjmp_unittests failing.

Turns out that since I enabled -ftrivial-auto-var-init=pattern in
commit 1d5c16d ("[libc] default enable -ftrivial-auto-var-init=pattern (#78776)")
this has been a problem. Our x86_64 setjmp definition disabled -Wuninitialized,
so we wound up clobbering these registers and instead backing up
0xAAAAAAAAAAAAAAAA rather than the actual register value.

The implemenation should be rewritten entirely. I've proposed three different
ways to do so (linked below). Until we decide which way to go, at least disable
this hardening feature for this function for now so that the unit tests go back
to green.

Link: #87837
Link: #88054
Link: #88157
Fixes: #91164


  Commit: dce197ac9219319e5ea76a110100e87e225684d8
      https://github.com/llvm/llvm-project/commit/dce197ac9219319e5ea76a110100e87e225684d8
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h

  Log Message:
  -----------
  [libc][errno] remove mips+sparc specific errnos (#92798)

These are untested and unsupported platforms. The pattern used makes sense for
platform specific error numbers, but these are platforms we do not support.
Excise this code.

Link: #91150


  Commit: 7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
      https://github.com/llvm/llvm-project/commit/7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h

  Log Message:
  -----------
  [MCA] use std::function instead of function_ref when storing (#91039)

This patch changes uses of llvm::function_ref for std::function when
storing the callback inside of a class. The LLVM Programmer's manual
mentions that llvm::function_ref is not safe to store as it contains
pointers to external memory that are not guaranteed to exist in the
future when it is stored.

This causes issues when setting callbacks inside of a class that manages
MCA state. Passing a lambda directly to the set callback functions will
end up causing UB/segfaults when the lambda is called as some external
memory is now invalid. This is easy to work around (create a separate
std::function, pass that into the function setting the callback), but
isn't ideal.


  Commit: 33b7833891dcacf9e81e911ed59932fd55113fff
      https://github.com/llvm/llvm-project/commit/33b7833891dcacf9e81e911ed59932fd55113fff
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Add more specialize patterns (#91153)

Currently only linalg.copy is recognized when trying to specialize
linalg.generics back to named op. This diff enables recognition of more
generic to named op e.g. linalg.fill, elemwise unary/binary.


  Commit: 110f6a740b4f63f8eabefc24ad90e98357782949
      https://github.com/llvm/llvm-project/commit/110f6a740b4f63f8eabefc24ad90e98357782949
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG] Add getVPZeroExtendInReg. NFC (#92792)

Use it for 2 places in LegalizeIntegerTypes that created a VP_AND.


  Commit: 8018e4c569d34b5913a4cc78f08f25f778dec866
      https://github.com/llvm/llvm-project/commit/8018e4c569d34b5913a4cc78f08f25f778dec866
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [LegalizeTypes] Use SelectionDAG::SplitVector to simplify some code. NFC (#92816)


  Commit: e8dc8d614ada201e250fbf075241b2b6180943b5
      https://github.com/llvm/llvm-project/commit/e8dc8d614ada201e250fbf075241b2b6180943b5
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c

  Log Message:
  -----------
  Add new Python API `SBCommandInterpreter::GetTranscript()` (#90703)

# Motivation

Currently, the user can already get the "transcript" (for "what is the
transcript", see `CommandInterpreter::SaveTranscript`). However, the
only way to obtain the transcript data as a user is to first destroy the
debugger, then read the save directory. Note that destroy-callbacks
cannot be used, because 1\ transcript data is private to the command
interpreter (see `CommandInterpreter.h`), and 2\ the writing of the
transcript is *after* the invocation of destory-callbacks (see
`Debugger::Destroy`).

So basically, there is no way to obtain the transcript:
* during the lifetime of a debugger (including the destroy-callbacks,
which often performs logging tasks, where the transcript can be useful)
* without relying on external storage

In theory, there are other ways for user to obtain transcript data
during a debugger's life cycle:
* Use Python API and intercept commands and results.
* Use CLI and record console input/output.

However, such ways rely on the client's setup and are not supported
natively by LLDB.


# Proposal

Add a new Python API `SBCommandInterpreter::GetTranscript()`.

Goals:
* It can be called at any time during the debugger's life cycle,
including in destroy-callbacks.
* It returns data in-memory.

Structured data:
* To make data processing easier, the return type is `SBStructuredData`.
See comments in code for how the data is organized.
* In the future, `SaveTranscript` can be updated to write different
formats using such data (e.g. JSON). This is probably accompanied by a
new setting (e.g. `interpreter.save-session-format`).

# Alternatives

The return type can also be `std::vector<std::pair<std::string,
SBCommandReturnObject>>`. This will make implementation easier, without
having to translate it to `SBStructuredData`. On the other hand,
`SBStructuredData` can convert to JSON easily, so it's more convenient
for user to process.

# Privacy

Both user commands and output/error in the transcript can contain
privacy data. However, as mentioned, the transcript is already available
to the user. The addition of the new API doesn't increase the level of
risk. In fact, it _lowers_ the risk of privacy data being leaked later
on, by avoiding writing such data to external storage.

Once the user (or their code) gets the transcript, it will be their
responsibility to make sure that any required privacy policies are
guaranteed.

# Tests

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
```

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/commands/session/save/TestSessionSave.py
```

---------

Co-authored-by: Roy Shi <royshi at meta.com>
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 9f62775038b9135709a2c3c7ea97c944278967a2
      https://github.com/llvm/llvm-project/commit/9f62775038b9135709a2c3c7ea97c944278967a2
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py

  Log Message:
  -----------
  SBDebugger: Add new APIs `AddDestroyCallback` and `RemoveDestroyCallback` (#89868)

# Motivation

Individual callers of `SBDebugger::SetDestroyCallback()` might think
that they have registered their callback and expect it to be called when
the debugger is destroyed. In reality, only the last caller survives,
and all previous callers are forgotten, which might be a surprise to
them. Worse, if this is called in a race condition, which callback
survives is less predictable, which may case confusing behavior
elsewhere.

# This PR

Allows multiple destroy callbacks to be registered and all called when
the debugger is destroyed.

**EDIT**: Adds two new APIs: `AddDestroyCallback()` and
`ClearDestroyCallback()`. `SetDestroyCallback()` will first clear then
add the given callback. Tests are added for the new APIs.

## Tests

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
```

## (out-dated, see comments below) Semantic change to
`SetDestroyCallback()`

~~Currently, the method overwrites the old callback with the new one.
With this PR, it will NOT overwrite. Instead, it will hold on to both.
Both callbacks get called during destroy.~~

~~**Risk**: Although the documentation of `SetDestroyCallback()` (see
[C++](https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#afa1649d9453a376b5c95888b5a0cb4ec)
and
[python](https://lldb.llvm.org/python_api/lldb.SBDebugger.html#lldb.SBDebugger.SetDestroyCallback))
doesn't really specify the behavior, there is a risk: if existing call
sites rely on the "overwrite" behavior, they will be surprised because
now the old callback will get called. But as the above said, the current
behavior of "overwrite" itself might be unintended, so I don't
anticipate users to rely on this behavior. In short, this risk might be
less of a problem if we correct it sooner rather than later (which is
what this PR is trying to do).~~

## (out-dated, see comments below) Implementation

~~The implementation holds a `std::vector<std::pair<callback, baton>>`.
When `SetDestroyCallback()` is called, callbacks and batons are appended
to the `std::vector`. When destroy event happen, the `(callback, baton)`
pairs are invoked FIFO. Finally, the `std::vector` is cleared.~~

# (out-dated, see comments below) Alternatives considered

~~Instead of changing `SetDestroyCallback()`, a new method
`AddDestroyCallback()` can be added, which use the same
`std::vector<std::pair<>>` implementation. Together with
`ClearDestroyCallback()` (see below), they will replace and deprecate
`SetDestroyCallback()`. Meanwhile, in order to be backward compatible,
`SetDestroyCallback()` need to be updated to clear the `std::vector` and
then add the new callback. Pros: The end state is semantically more
correct. Cons: More steps to take; potentially maintaining an
"incorrect" behavior (of "overwrite").~~

~~A new method `ClearDestroyCallback()` can be added. Might be
unnecessary at this point, because workflows which need to set then
clear callbacks may exist but shouldn't be too common at least for now.
Such method can be added later when needed.~~

~~The `std::vector` may bring slight performance drawback if its
implementation doesn't handle small size efficiently. However, even if
that's the case, this path should be very cold (only used during init
and destroy). Such performance drawback should be negligible.~~

~~A different implementation was also considered. Instead of using
`std::vector`, the current `m_destroy_callback` field can be kept
unchanged. When `SetDestroyCallback()` is called, a lambda function can
be stored into `m_destroy_callback`. This lambda function will first
call the old callback, then the new one. This way, `std::vector` is
avoided. However, this implementation is more complex, thus less
readable, with not much perf to gain.~~

---------

Co-authored-by: Roy Shi <royshi at meta.com>


  Commit: 00d7e67f8352308288db483f03294460a38a3773
      https://github.com/llvm/llvm-project/commit/00d7e67f8352308288db483f03294460a38a3773
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [libc] Fix constant address space on global clock

Summary:
I did this wrong in the first version, because `extern "C"` doesn't
imply it's extern when used directly.


  Commit: 93540455669ab9ad55bd7e24a42a305194a109af
      https://github.com/llvm/llvm-project/commit/93540455669ab9ad55bd7e24a42a305194a109af
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp

  Log Message:
  -----------
  [NFC][flang][runtime] Avoid recursion in EditCharacterOutput and EditLogicalOutput. (#92806)


  Commit: bccac125e196bd5afeeb2fef93cf501f4b9f7f83
      https://github.com/llvm/llvm-project/commit/bccac125e196bd5afeeb2fef93cf501f4b9f7f83
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang][runtime] Added io-api-minimal.cpp to the offload build. (#92807)


  Commit: 888e087b09dbd658a03f27c475ada50d37323987
      https://github.com/llvm/llvm-project/commit/888e087b09dbd658a03f27c475ada50d37323987
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unused function declaration. NFC


  Commit: bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
      https://github.com/llvm/llvm-project/commit/bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/runtime/X86/hot-end-symbol.s

  Log Message:
  -----------
  [BOLT] Ignore special symbols as function aliases in updateELFSymbolTable

Exempt special symbols (hot text/data and _end symbol) from normal
handling. We only need to set their value and make them absolute.

If these symbols are handled as normal symbols and if they alias
functions we may create non-sensical symbols, e.g. __hot_start.cold.

Test Plan: updated hot-end-symbol.s

Reviewers: maksfb, rafaelauler, ayermolo, dcci

Reviewed By: dcci, maksfb

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


  Commit: 7064e4b1633811da984261fdc585ba4438efe827
      https://github.com/llvm/llvm-project/commit/7064e4b1633811da984261fdc585ba4438efe827
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] Split and rename WriteVISlideX into WriteVSlideUpX and WriteVSlideDownX (#92605)

Some processors might have different latencies and/or rthroughput for
slide up and down operations on integer vectors, yet there is only a
single SchedWrite for both of them at this moment. This patch splits
this SchedWrite into two as well as drop the "I" before "Slide" since
such information is redundant. We also do the same renaming on
`WriteVISlideI`.
Note that we only split the X variant (i.e. using a register value for
index offset) for now.

This is effectively NFC.


  Commit: 3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
      https://github.com/llvm/llvm-project/commit/3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [llvm-profdata] Fix some style and clang-tidy issues

Fix #92761
Fix #92762


  Commit: 45968da95d8959a7c4ca7d56f501bb12de413fcc
      https://github.com/llvm/llvm-project/commit/45968da95d8959a7c4ca7d56f501bb12de413fcc
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll

  Log Message:
  -----------
  [AMDGPU] Fix an issue that wrong index is used in calculation of byte provider when the op is extract_vector_elt (#91697)

Fixes: SWDEV-460097


  Commit: d1aca0ae2e0c52298966e35e4312e21045d4c6e4
      https://github.com/llvm/llvm-project/commit/d1aca0ae2e0c52298966e35e4312e21045d4c6e4
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp

  Log Message:
  -----------
  [WebAssembly] Define __WASM_EXCEPTIONS__ for -fwasm-exceptions (#92604)

When using other specific exception options in Clang, such as
`-fseh-exceptions` or `-fsjlj-exceptions`, Clang defines a corresponding
preprocessor such as `-D__USING_SJLJ_EXCEPTIONS__`. Emscripten does that
in our own build system:

https://github.com/emscripten-core/emscripten/blob/7dcd7f40749918e141dc33397d2f4311dd80637a/tools/system_libs.py#L1577-L1578

But to make Wasm EH usable in non-Emscripten toolchain, this has to be
defined somewhere else. This PR makes Wasm EH consistent with other
exception scheme by letting it defined by Clang depending on the
exception option.

We have been using `__USING_WASM_EXCEPTIONS__` in our current library
code, but this changes it to `__WASM_EXCEPTIONS__` for its conciseness,
and I will update other parts of LLVM as follow-ups. This does not break
anything currently working, because we have not been defining anything
in Clang so far.


  Commit: 8ce2045be0ce708af0bfce5dc14632fa15dc743a
      https://github.com/llvm/llvm-project/commit/8ce2045be0ce708af0bfce5dc14632fa15dc743a
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang][Sema] Avoid pack expansion for expanded empty PackIndexingExprs (#92385)

We previously doubled the id-expression expansion, even when the pack
was expanded to empty. The previous condition for determining whether we
should expand couldn't distinguish between cases where 'the expansion
was previously postponed' and 'the expansion occurred but resulted in
emptiness.'

In the latter scenario, we crash because we have not been examining the
current lambda's parent local instantiation scope since
[D98068](https://reviews.llvm.org/D98068): Any Decls instantiated in the
parent scope are not visible to the generic lambda, and thus any attempt
of looking for instantiated Decls in the lambda is capped to the current
Lambda's LIS.

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


  Commit: 4cebe5a43ba83eab477358ef4da665b43463bb68
      https://github.com/llvm/llvm-project/commit/4cebe5a43ba83eab477358ef4da665b43463bb68
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] NFC: add test for cwg2398 ambiguity issue


  Commit: 85e1124049cd8aa1e58c101e082100ba74df7e42
      https://github.com/llvm/llvm-project/commit/85e1124049cd8aa1e58c101e082100ba74df7e42
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)"

This reverts commit 2a97b507dc643b7ee3bc651b3f21b754cfba433c.

It has broken LLVM testsuite on various bots
https://lab.llvm.org/buildbot/#/builders/184/builds/12760
https://lab.llvm.org/buildbot/#/builders/197/builds/14376
https://lab.llvm.org/buildbot/#/builders/179/builds/10176


  Commit: 1486653dcfd706db5b634676af4734a915179da1
      https://github.com/llvm/llvm-project/commit/1486653dcfd706db5b634676af4734a915179da1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT] Use StringRef::contains (NFC) (#92842)


  Commit: b2d7d72ff2408dcc27048e08d50ac719ff03a89e
      https://github.com/llvm/llvm-project/commit/b2d7d72ff2408dcc27048e08d50ac719ff03a89e
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/aarch64-varargs.c

  Log Message:
  -----------
  [AArch64] Use ptrmask for vaarg stack alignment (#92836)


  Commit: 560c2fd3d427a5e2dc2361abde1142f3fda40253
      https://github.com/llvm/llvm-project/commit/560c2fd3d427a5e2dc2361abde1142f3fda40253
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    M llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  NVPTX: fix test failures under ptxas-12.0.

(Because ptxas-12 no longer supports 32-bit.)

Fixes c5b11a710e01304908e3f320e40bc9da9f6a8de4 and 8da3a8f550d0b266411b2dc177dff8591ee86cb2.


  Commit: 1c58208d899285318c89e069268145c85ec33368
      https://github.com/llvm/llvm-project/commit/1c58208d899285318c89e069268145c85ec33368
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Remove redundnat llvm::, clang::, etc.


  Commit: 64aafd6908e3aa36c4504bc10f8d9fc819513f6c
      https://github.com/llvm/llvm-project/commit/64aafd6908e3aa36c4504bc10f8d9fc819513f6c
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unneeded multiply in RISCV CodeGenTypes (#92644)

The NumVectors other than 1 is handled by the code above.


  Commit: 8be079cdddfd628d356d9ddb5ab397ea95fb1030
      https://github.com/llvm/llvm-project/commit/8be079cdddfd628d356d9ddb5ab397ea95fb1030
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    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/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Bump Zaamo and Zalrsc to version 1.0 (#91556)

The ratified information can be found here:
https://wiki.riscv.org/display/HOME/Ratified+Extensions


  Commit: b4492c910cc6a3593b429b0ca16a1c7970e8b879
      https://github.com/llvm/llvm-project/commit/b4492c910cc6a3593b429b0ca16a1c7970e8b879
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [RISCV] Use an enum for demanded LMUL in RISCVInsertVSETVLI. NFC (#92513)

In needVSETVLI used by the forward insertion pass, we have some rules
where we can relax the demanded fields for slides and splats when VL=1.

However this only works if we don't increase LMUL to anything > M1
otherwise we would end up clobbering random registers.

Rather than check the VSETVLIInfo we're transitioning to, store this
information in DemandedFields and have isCompatible check it.

That way an upcoming patch can share these VL=1 rules with
RISCVCoalesceVSETVLI, which uses isCompatible and not needVSETVLI.


  Commit: c9dc52d424b7a264d4bcb29d7f56551304396d7f
      https://github.com/llvm/llvm-project/commit/c9dc52d424b7a264d4bcb29d7f56551304396d7f
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] add JSON option to pass X<label> arguments (#91770)


  Commit: 6658e1a3fdfebfc9d1805029ca0e4de643634927
      https://github.com/llvm/llvm-project/commit/6658e1a3fdfebfc9d1805029ca0e4de643634927
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    A flang/test/Semantics/OpenMP/masked.f90

  Log Message:
  -----------
  Adding parsing and semantic check support for omp masked (#91432)

omp masked directive in OpenMP 5.2 allows to specify code regions which
are expected to be executed by thread ids specified by the programmer.
Filter clause of the directive allows to specify the thread id. This
change adds the parsing support for the directive


  Commit: ac7c482ca581cdab11558b5a37ae5095a1638fd2
      https://github.com/llvm/llvm-project/commit/ac7c482ca581cdab11558b5a37ae5095a1638fd2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [MemCpyOpt] Add extra debug output (NFC)


  Commit: 312c132467717461f3b00eccddbd615aa6aa483b
      https://github.com/llvm/llvm-project/commit/312c132467717461f3b00eccddbd615aa6aa483b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Adjust BUILD file for 33b7833891dcacf9e81e911ed59932fd55113fff


  Commit: e411c88b7223d87520af819fdc012c9dbb46e575
      https://github.com/llvm/llvm-project/commit/e411c88b7223d87520af819fdc012c9dbb46e575
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp

  Log Message:
  -----------
  Use StringRef::find_first_of(char), etc (NFC) (#92841)


  Commit: 66b76faffb211b3cb2d58e3ab9401e6396447de9
      https://github.com/llvm/llvm-project/commit/66b76faffb211b3cb2d58e3ab9401e6396447de9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll

  Log Message:
  -----------
  AMDGPU: Directly emit sqrt intrinsic when folding rootn(x, 2) (#92598)

This avoids depending on pre/post link runs.

Depends #92595


  Commit: e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
      https://github.com/llvm/llvm-project/commit/e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Unify getDemanded between forward and backwards passes in RISCVInsertVSETVLI (#92860)

We have two rules in needVSETVLI where we can relax the demanded fields
for slides and splats when VL=1.

However these aren't present in getDemanded which prevents us from
coalescing some vsetvlis around slides and splats in the backwards pass.

The reasoning as to why they weren't in getDemanded is that these
require us to check the value of the AVL operand, which may be stale in
the backwards pass: the actual VL or VTYPE value may differ from what
was precisely requested in the pseudo's operands.

Using the original operands should actually be fine though, as we only
care about what was originally demanded by the instruction. The current
value of VL or VTYPE shouldn't influence this.

This addresses some of the regressions we are seeing in #70549 from
splats and slides getting reordered.


  Commit: 50dbbe5a0afd76f3c26c03da5af65e7263ac8664
      https://github.com/llvm/llvm-project/commit/50dbbe5a0afd76f3c26c03da5af65e7263ac8664
  Author: henke9600 <168358614+henke9600 at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [SROA] Use stable sort for slices to avoid non-determinism (#91609)

Found this while trying to build a LLVM toolchain reproducibly from both
Debian 12 and FreeBSD 14. With these changes they come out bit-by-bit
identical.

Previously there was a mix of stable and unstable sorts for slices, now
only stable sorts are used.


  Commit: 6246b495adcbdff7d2ec4f37dfb656542adf909d
      https://github.com/llvm/llvm-project/commit/6246b495adcbdff7d2ec4f37dfb656542adf909d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll

  Log Message:
  -----------
  [RISCV] Select ISD::AVGCEILS/AVGFLOORS as vaadd. (#92839)

I think the behaviors are the same if this describes their behavior.

AVGFLOORS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1 before truncating to the original bit width.
This is vaadd with rdn rounding mode.

AVGCEILS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1. If the bit shifted out is 1, it adds 1 to
the shifted value. Then truncates to the original bit width. This is vaadd
with rnu rounding mode.

I think this wasn't implemented previously because there was some
confusion about what average means. Some may expect average to round
towards zero, but there is no way to do that in RISC-V or with the
SelectionDAG nodes. Related issue
https://github.com/riscv/riscv-v-spec/issues/935


  Commit: 2631531764f0e732a0e96ab066de27d08b604655
      https://github.com/llvm/llvm-project/commit/2631531764f0e732a0e96ab066de27d08b604655
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fma.ll

  Log Message:
  -----------
  [InstCombine] Removing the combine of fmuladd with fast flag

We should treat fmuladd like an fma intrinsic, and any regressions need to be
addressed by dealing with fma/fmuladd in other contexts.


  Commit: f2e787e7030126f5f55bb4e90cc83827f25e1219
      https://github.com/llvm/llvm-project/commit/f2e787e7030126f5f55bb4e90cc83827f25e1219
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add some tests with reduced flag sets, NFC

We remove the combine for fmuladd with fast flag on PR90434,
and add these tests with reduced flags to show they have identity
results.


  Commit: 9c7848171779dffb2e23cc7db6b518612e804a74
      https://github.com/llvm/llvm-project/commit/9c7848171779dffb2e23cc7db6b518612e804a74
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Support multiple indices in reorderGEP (#92339)

The code was essentially already ready to handle multiple indices -- we
only need to adjust the non-negative index check to check all indices,
instead of only the first one.


  Commit: 675e7bd1b94f78f0567b4327f187841c0cde36f9
      https://github.com/llvm/llvm-project/commit/675e7bd1b94f78f0567b4327f187841c0cde36f9
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.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/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Support postRA vsetvl insertion pass (#70549)

This patch try to get rid of vsetvl implict vl/vtype def-use chain and
improve the register allocation quality by moving the vsetvl insertion
pass after RVV register allocation

It will gain the benefit for the following optimization from

1. unblock scheduler's constraints by removing vl/vtype def-use chain
2. Support RVV re-materialization
3. Support partial spill

This patch add a new option `-riscv-vsetvl-after-rvv-regalloc=<1|0>` to
control this feature and default set as disable.


  Commit: 56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
      https://github.com/llvm/llvm-project/commit/56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/docs/MemorySSA.rst

  Log Message:
  -----------
  Documentation: Fix C++ examples in MemorySSA documentation (#92802)


  Commit: c4d6867b786a0c850de824fe5452acf6c3c676ca
      https://github.com/llvm/llvm-project/commit/c4d6867b786a0c850de824fe5452acf6c3c676ca
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  InstSimplify: strip bad TODO (NFC) (#92754)

foldIdentityShuffles requires two sets of canceling shuffles. If there
are any intervening instructions, they are feeding in the result of the
first set of shuffles. To eliminate the two sets of shuffles, you'd have
to rewrite the head of the intervening instructions to feed in the
operand of the first set of shuffles. Since modifying the IR in any way
is disallowed by an analysis, strip this bad TODO.


  Commit: 63d81311a2569226781dc00481feb91ea1423571
      https://github.com/llvm/llvm-project/commit/63d81311a2569226781dc00481feb91ea1423571
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  VectorCombine: add tests written for InstSimplify (#92776)

2141907 (InstSimplify: increase shufflevector test coverage) was
recently merged as a pre-commit test for some work that was misguided.
It turns out that InstSimplify can never work on those tests, but the
tests are useful nevertheless; move them to VectorCombine to support the
development of VectorCombine::foldShuffleToIdentity.


  Commit: bfb5fe218ec7aa282375905189bf0aab79609c04
      https://github.com/llvm/llvm-project/commit/bfb5fe218ec7aa282375905189bf0aab79609c04
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Fold transpose into xfer read to enable in-flight transpose (#92562)

vector.transpose ops whose inputs come from vector.transfer_read can be
eliminated by folding the transpose into the xfer op to enable in-flight
transposition when converting xfer read to arm_sme.tile_load.


  Commit: e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
      https://github.com/llvm/llvm-project/commit/e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  VectorCombine: refactor foldShuffleToIdentity (NFC) (#92766)

Lift out the long lambdas into static functions, use C++ destructing
syntax, and fix other minor things to improve the readability of the
function.


  Commit: 566431ce087d34eaec390cff13251e743688928f
      https://github.com/llvm/llvm-project/commit/566431ce087d34eaec390cff13251e743688928f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [NFC] Improve the comment about `std::min_element` being `constepxr` in libstdc++


  Commit: d094bb660d48fd1beadc0e2456f104ab2cc7f52c
      https://github.com/llvm/llvm-project/commit/d094bb660d48fd1beadc0e2456f104ab2cc7f52c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstSimplify] Avoid use of ConstantExpr::getICmp() (NFC)

Use ConstantFoldCompareInstOperands() instead.


  Commit: 1e86e924288221826e0fb93d33be80d65f198ae6
      https://github.com/llvm/llvm-project/commit/1e86e924288221826e0fb93d33be80d65f198ae6
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll

  Log Message:
  -----------
  [LoongArch] Enable interleaved vectorization (#92629)

This PR enables interleaved vectorization for LoongArch, with a default
interleaving factor of `2`.


  Commit: 7efafb0109b899d501a6508a0329e0c181964c47
      https://github.com/llvm/llvm-project/commit/7efafb0109b899d501a6508a0329e0c181964c47
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [IRBuilder] Migrate fcmp to folding API

This was one of the last leftovers still using a Create-style
instead of Fold-style API. Convert FoldICmp into FoldCmp so it
can handle both icmp and fcmp.


  Commit: fea29ee41d50c5603338f5af4728ddbdf93aaec2
      https://github.com/llvm/llvm-project/commit/fea29ee41d50c5603338f5af4728ddbdf93aaec2
  Author: Zibi <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp

  Log Message:
  -----------
  [libc++][z/OS] Switch to use TEST_HAS_NO_INT128 as per comment in PR 92261 (#92434)

Follow up to llvm#92261.


  Commit: 8b8ad75cc94aad88c505bdca71c903774f9e75c7
      https://github.com/llvm/llvm-project/commit/8b8ad75cc94aad88c505bdca71c903774f9e75c7
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp

  Log Message:
  -----------
  [libcxx] removes unnecessary traits from `has_unique_object_representations` (#69241)

`remove_cv_t` and `remove_all_extents_t` are taken care of by the
built-in trait, so we don't need to use them directly.

---------

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


  Commit: 74f1e29133bc0f984d159493552b843f771087d0
      https://github.com/llvm/llvm-project/commit/74f1e29133bc0f984d159493552b843f771087d0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll

  Log Message:
  -----------
  [Tests] Regenerate test checks (NFC)

To minimize future diffs.


  Commit: d89f20058b45e3836527e816af7ed7372e1d554d
      https://github.com/llvm/llvm-project/commit/d89f20058b45e3836527e816af7ed7372e1d554d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in formatting goto labels in macros (#92494)

Fixes #92300.


  Commit: af8f1554b8e7844304ce61b49b06e5b7946e9c47
      https://github.com/llvm/llvm-project/commit/af8f1554b8e7844304ce61b49b06e5b7946e9c47
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb-dap] Don't send expanded descriptions for "hover" expressions (#92726)

VSCode will automatically ask for the children (in structured form) so
there's no point in sending the textual representation. This can make
displaying hover popups for complex variables with complicated data
formatters much faster. See discussion on #77026 for context.


  Commit: b7941dc860e7b827baa4902aa32dab86fb9d6a31
      https://github.com/llvm/llvm-project/commit/b7941dc860e7b827baa4902aa32dab86fb9d6a31
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/OpenMP/threadprivate_codegen.cpp

  Log Message:
  -----------
  [OpenMP] Regenerate test checks (NFC)


  Commit: ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
      https://github.com/llvm/llvm-project/commit/ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
  Author: Kristof Beyls <kristof.beyls at llvm.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [DevPolicy] Drop requirement to contribute also under the legacy license (#92394)

See
https://discourse.llvm.org/t/relicensing-next-step-dropping-requirement-to-contribute-also-under-the-legacy-license/78351
for more details.


  Commit: bbd54e08b08f5ccd38c4665178e65c58f7b14459
      https://github.com/llvm/llvm-project/commit/bbd54e08b08f5ccd38c4665178e65c58f7b14459
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/functionalities/bt-interrupt/main.c
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp

  Log Message:
  -----------
  Reapply "[lldb/aarch64] Fix unwinding when signal interrupts a leaf f… (#92503)

…unction (#91321)"

This reapplies fd1bd53ba5a06f344698a55578f6a5d79c457e30, which was
reverted due to a test failure on aarch64/windows. The failure was
caused by a combination of several factors:
- clang targeting aarch64-windows (unlike msvc, and unlike clang
targeting other aarch64 platforms) defaults to -fomit-frame-pointers
- lldb's code for looking up register values for `<same>` unwind rules
is recursive
- the test binary creates a very long chain of fp-less function frames
(it manages to fit about 22k frames before it blows its stack)

Together, these things have caused lldb to recreate the same deep
recursion when unwinding through this, and blow its own stack as well.
Since lldb frames are larger, about 4k frames like this was sufficient
to trigger the stack overflow.

This version of the patch works around this problem by increasing the
frame size of the test binary, thereby causing it to blow its stack
sooner. This doesn't fix the issue -- the same problem can occur with a
real binary -- but it's not very likely, as it requires an infinite
recursion in a simple (so it doesn't use the frame pointer) function
with a very small frame (so you can fit a lot of them on the stack).

A more principled fix would be to make lldb's lookup code non-recursive,
but I believe that's out of scope for this patch.

The original patch description follows:

A leaf function may not store the link register to stack, but we it can
still end up being a non-zero frame if it gets interrupted by a signal.
Currently, we were unable to unwind past this function because we could
not read the link register value.

To make this work, this patch:
- changes the function-entry unwind plan to include the `fp|lr = <same>`
rules. This in turn necessitated an adjustment in the generic
instruction emulation logic to ensure that `lr=[sp-X]` can override the
`<same>` rule.
- allows the `<same>` rule for pc and lr in all
`m_all_registers_available` frames (and not just frame zero).

The test verifies that we can unwind in a situation like this, and that
the backtrace matches the one we computed before getting a signal.


  Commit: e96948a6e88966e1efe110d981aeb84f09cbb98e
      https://github.com/llvm/llvm-project/commit/e96948a6e88966e1efe110d981aeb84f09cbb98e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  AMDGPU: Fix typos in test names


  Commit: 2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
      https://github.com/llvm/llvm-project/commit/2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  AMDGPU: Fix testing unaligned double atomics in atomic scan tests

Fix copy paste error using align 4 double atomics. Test the meaningful
correctly aligned cases, the unaligned case emits broken libcalls.


  Commit: 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
      https://github.com/llvm/llvm-project/commit/502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/dealloc.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target-common-block.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target04.f90
    M flang/test/Semantics/OpenMP/declare-target05.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/declare-target07.f90
    M flang/test/Semantics/OpenMP/default-clause.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/default02.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend02.f90
    M flang/test/Semantics/OpenMP/depend03.f90
    M flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-cycle.f90
    M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
    M flang/test/Semantics/OpenMP/do-ordered.f90
    M flang/test/Semantics/OpenMP/do-schedule01.f90
    M flang/test/Semantics/OpenMP/do-schedule02.f90
    M flang/test/Semantics/OpenMP/do-schedule03.f90
    M flang/test/Semantics/OpenMP/do-schedule04.f90
    M flang/test/Semantics/OpenMP/do01-positivecase.f90
    M flang/test/Semantics/OpenMP/do01.f90
    M flang/test/Semantics/OpenMP/do03.f90
    M flang/test/Semantics/OpenMP/do04-positivecase.f90
    M flang/test/Semantics/OpenMP/do04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do05.f90
    M flang/test/Semantics/OpenMP/do06-positivecases.f90
    M flang/test/Semantics/OpenMP/do06.f90
    M flang/test/Semantics/OpenMP/do07.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do11.f90
    M flang/test/Semantics/OpenMP/do12.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do14.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do17.f90
    M flang/test/Semantics/OpenMP/do18.f90
    M flang/test/Semantics/OpenMP/do19.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/firstprivate01.f90
    M flang/test/Semantics/OpenMP/firstprivate02.f90
    M flang/test/Semantics/OpenMP/flush01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/invalid-branch.f90
    M flang/test/Semantics/OpenMP/lastprivate01.f90
    M flang/test/Semantics/OpenMP/lastprivate02.f90
    M flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-simd01.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-cancel.f90
    M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90
    M flang/test/Semantics/OpenMP/nested01.f90
    M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/ordered02.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    M flang/test/Semantics/OpenMP/parallel-critical-do.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections-do.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/parallel01.f90
    M flang/test/Semantics/OpenMP/parallel02.f90
    M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
    M flang/test/Semantics/OpenMP/private01.f90
    M flang/test/Semantics/OpenMP/private02.f90
    M flang/test/Semantics/OpenMP/reduction-subtract.f90
    M flang/test/Semantics/OpenMP/reduction01.f90
    M flang/test/Semantics/OpenMP/reduction02.f90
    M flang/test/Semantics/OpenMP/reduction03.f90
    M flang/test/Semantics/OpenMP/reduction04.f90
    M flang/test/Semantics/OpenMP/reduction05.f90
    M flang/test/Semantics/OpenMP/reduction06.f90
    M flang/test/Semantics/OpenMP/reduction07.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/reduction10.f90
    M flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/reduction12.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/resolve01.f90
    M flang/test/Semantics/OpenMP/resolve02.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/OpenMP/resolve04.f90
    M flang/test/Semantics/OpenMP/resolve05.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/target02.f90
    M flang/test/Semantics/OpenMP/task01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop-simd01.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests without runtime issues on Windows (#92824)


  Commit: 352dc7d4bb246ef0ecda4005934770e2a976ee4c
      https://github.com/llvm/llvm-project/commit/352dc7d4bb246ef0ecda4005934770e2a976ee4c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [LV] Propagate PredicatedBBsAfterVectorization to predecessors.

This fixes some cases where predicated BBs where missed previously,
leading to under-estimating the cost of those blocks.


  Commit: 37813e09fa8b67ec858ad3c82dcf72a8ff306b03
      https://github.com/llvm/llvm-project/commit/37813e09fa8b67ec858ad3c82dcf72a8ff306b03
  Author: martinboehme <mboehme at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn

  Log Message:
  -----------
  [clang][dataflow] Make `CNFFormula` externally accessible. (#92401)

This component can be useful when creating implementations of `Solver`,
as some
SAT solvers require the input to be in 3-CNF.

As part of making `CNFFormula` externally accessible, I have moved some
member
variables out of it that aren't really part of the representation of a
3-CNF
formula and thus live better elsewhere:

*  `WatchedHead` and `NextWatched` have been moved to
`WatchedLiteralsSolverImpl`, as they're part of the specific algorithm
used
   by that SAT solver.

* `Atomics` has become an output parameter of `buildCNF()` because it
has to do
with the relationship between a `CNFFormula` and the set of `Formula`s
it is
derived from rather than being an integral part of the representation of
a
   3-CNF formula.

I have also made all member variables private and added appropriate
accessors.


  Commit: a098beaff7670e5986b790b6ba93999fa21c6b48
      https://github.com/llvm/llvm-project/commit/a098beaff7670e5986b790b6ba93999fa21c6b48
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/include/lldb/lldb-types.h

  Log Message:
  -----------
  [lldb] Move callback_token_t out of #ifdef windows

Also make it a int32_t to match the surrounding code.


  Commit: 9d70975c7a72f3fa58d2d63090b92886dbf8a32b
      https://github.com/llvm/llvm-project/commit/9d70975c7a72f3fa58d2d63090b92886dbf8a32b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove an assertion that's too strong

Both types need to boil down to a vector type with the same length
and their element types need to match, but we still can't compare
them with == since they might be sugared, etc.


  Commit: 7cee61c82f7fe5a563c2781e855c13238c44931f
      https://github.com/llvm/llvm-project/commit/7cee61c82f7fe5a563c2781e855c13238c44931f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/test/Lower/OpenMP/lastprivate-iv.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix lastprivate store issue (#92777)

Fix an issue where the lastprivate variable type is different from the
type used for the index of the loop.

Fixes #79780


  Commit: 1b377dbeb73ef3abec246fe11fc98ec699625c0c
      https://github.com/llvm/llvm-project/commit/1b377dbeb73ef3abec246fe11fc98ec699625c0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll

  Log Message:
  -----------
  [LAA] Check accesses don't overlap early to determine NoDep (#92307)

Use getStartAndEndForAccess to compute the start and end of both src 
and sink (factored out to helper in bce3680f45b57f). If they do not
overlap (i.e. SrcEnd <= SinkStart || SinkEnd <= SrcStart), there is no
dependence, regardless of stride.

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


  Commit: 808fc8406973f958fa76acba2d7648d215d9681b
      https://github.com/llvm/llvm-project/commit/808fc8406973f958fa76acba2d7648d215d9681b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix dummy DeclRefExprs for function pointers


  Commit: 375761bcaba9ba5694890ece6eed5db286fc4fd1
      https://github.com/llvm/llvm-project/commit/375761bcaba9ba5694890ece6eed5db286fc4fd1
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/nofpclass.c

  Log Message:
  -----------
  [Clang] Emit lifetime markers for non-aggregate temporary allocas (#90849)

This patch extends https://reviews.llvm.org/D68611 and emits lifetime
markers for temporary allocas of non-aggregate types as well.


  Commit: bb3d261f55e72e313fd8ddfefac3b47cfca2f656
      https://github.com/llvm/llvm-project/commit/bb3d261f55e72e313fd8ddfefac3b47cfca2f656
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Protect GetPtrField ops from unknown size arrays


  Commit: 9677e8171c19f1a15c0234724f083bc9473c545a
      https://github.com/llvm/llvm-project/commit/9677e8171c19f1a15c0234724f083bc9473c545a
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp

  Log Message:
  -----------
  [lldb/dwarf] Fix DW_IDX_parent processing for split dwarf (#92745)

DWARFDebugInfo only knows how to resolve references in its own file, but
in split dwarf, the index entries will refer to DIEs in the separate
(DWO) file. To resolve the DIERef correctly we'd either need to go
through the SymbolFileDWARF to get the full logic for resolving a
DIERef, or use the fact that ToDIERef already looks up the correct unit
while computing its result.

This patch does the latter.

This bug manifested itself in not being able to find type definitions
for types in namespaces, so I've modified one of our type resolving test
cases to run with debug_names, and added a namespaced class into it (it
originally contained only a top-level class).


  Commit: 45a5d8d6dba6156c24825b3a04378e999f8af82d
      https://github.com/llvm/llvm-project/commit/45a5d8d6dba6156c24825b3a04378e999f8af82d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h

  Log Message:
  -----------
  [lldb] Clean up unused includes in DebugNamesDWARFIndex


  Commit: d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
      https://github.com/llvm/llvm-project/commit/d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix discarding construct exprs with zero initializers

We need to create the temporary earlier so the
visitZeroRecordInitializer() call has access to it.


  Commit: b7d911b76a6c44a3fcec56dd7e5fde9fbe63f4fe
      https://github.com/llvm/llvm-project/commit/b7d911b76a6c44a3fcec56dd7e5fde9fbe63f4fe
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Reduce instantiation depth in `infinite-instantiations.test` (#92888)

This patch reduces template instantiation depth in
`infinite-instantiations.test`, because it doesn't seem to be concerned
with the default instantiation depth in particular, but has a very
material impact on testing times of clangd. Which subsequently affects
CI run times for all Clang changes.

The following numbers are taken from
https://buildkite.com/llvm-project/github-pull-requests/builds/65299,
but they are the same for any CI run with clangd:
Linux:
```
Slowest Tests:
--------------------------------------------------------------------------
35.19s: Clangd :: infinite-instantiation.test
5.53s: Clangd :: protocol.test
1.48s: Clang Tools :: clang-tidy/checkers/modernize/use-emplace.cpp
1.40s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
1.17s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
1.15s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
1.10s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
1.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
1.06s: Clang Tools :: clang-tidy/checkers/misc/const-correctness-values.cpp
1.02s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
1.00s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
0.97s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-basic.cpp
0.95s: Clang Tools :: clang-tidy/checkers/modernize/use-std-print.cpp
0.93s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-extra.cpp
0.92s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
0.90s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
0.90s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
0.89s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
0.88s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
0.85s: Clangd Unit Tests :: ./ClangdTests/Hover/All
```
Windows:
```
Slowest Tests:
--------------------------------------------------------------------------
244.74s: Clangd :: infinite-instantiation.test
11.42s: Clangd :: protocol.test
8.97s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
7.44s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
6.71s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
6.61s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
6.42s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
6.32s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
6.01s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
5.62s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
5.58s: Clang Tools :: clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
5.46s: Clang Tools :: clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
5.08s: Clang Tools :: clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
5.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-declaration.cpp
4.99s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
4.91s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
4.87s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
4.79s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
4.78s: Clang Tools :: clang-tidy/infrastructure/clean-up-code.cpp
4.76s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
```


  Commit: 6ff82363dfd21be1af799f47e64115ffe8edb8d5
      https://github.com/llvm/llvm-project/commit/6ff82363dfd21be1af799f47e64115ffe8edb8d5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt InlineElementals to run on all top level ops (#92734)

This means that this pass will also run on hlfir elemental operations
which are not inside of functions.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).

While I was updating the tests I noticed that the optimized
bufferization pass and some cse were missing from the optimized pipeline
in flang/test/Driver/mlir-pass-pipeline.f90. I fixed this in this
commit.


  Commit: a7521fd162cac93da37df9151d233692fd61998f
      https://github.com/llvm/llvm-project/commit/a7521fd162cac93da37df9151d233692fd61998f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    A clang/test/AST/Interp/sycl.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_sycl_unique_stable_name


  Commit: 18e7bcbae12bc2e2cf9888844a0b3f12075f508c
      https://github.com/llvm/llvm-project/commit/18e7bcbae12bc2e2cf9888844a0b3f12075f508c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Reject inc/dec ops before C++ 14


  Commit: 5693678cae86ac433aa8bd9ed3920c8c93b5817b
      https://github.com/llvm/llvm-project/commit/5693678cae86ac433aa8bd9ed3920c8c93b5817b
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    A lld/test/COFF/arm64ec-exports.s

  Log Message:
  -----------
  [LLD][COFF] Demangle ARM64EC export names. (#87068)


  Commit: 46d8bb08cfd3798977b4e22881514dc9d77425c2
      https://github.com/llvm/llvm-project/commit/46d8bb08cfd3798977b4e22881514dc9d77425c2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix initializing zero-size arrays


  Commit: 1664610130b88ef168e33eddfe973a3f11bd4261
      https://github.com/llvm/llvm-project/commit/1664610130b88ef168e33eddfe973a3f11bd4261
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Introduce `SemaPseudoObject` (#92646)

This patch moves `Sema` functions that handle pseudo-objects into the
new `SemaPseudoObject` class. This continues previous efforts to split
`Sema` up. Additional context can be found in #84184.
As usual, in order to help reviewing this, formatting changes are split
into a separate commit.


  Commit: 45293b5edb7f320bc1b14b6ce8ac90ed111baa53
      https://github.com/llvm/llvm-project/commit/45293b5edb7f320bc1b14b6ce8ac90ed111baa53
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: handleTargetFeatures, add +fp64 if +msa and no other +-fp (#92728)

Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)
added +fp64 for `clang`, while not for `clang -cc1`. So

   clang -cc1 -triple=mips -target-feature +msa -S

will emit an asm source file without ".module fp=64".


  Commit: f3aaaafe50697a1d9985836adb0b167aab05047c
      https://github.com/llvm/llvm-project/commit/f3aaaafe50697a1d9985836adb0b167aab05047c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for fences in SIInsertWaitcnts (#92902)

We insert required waits for fences in SIMemoryLegalizer.


  Commit: 4e86b0006b639f10df108a885a54ff0eddb40217
      https://github.com/llvm/llvm-project/commit/4e86b0006b639f10df108a885a54ff0eddb40217
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for buffer stores in SIInsertWaitcnts (#92903)


  Commit: 2117136b2b78ef3b83202909ffaf351598da8bd5
      https://github.com/llvm/llvm-project/commit/2117136b2b78ef3b83202909ffaf351598da8bd5
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix bad directory path in `infinite-instantiations.test`

Addresses buildbot failure https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888


  Commit: 558f3ea4aef718f953d3f38a45363d8a91988292
      https://github.com/llvm/llvm-project/commit/558f3ea4aef718f953d3f38a45363d8a91988292
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for indexed resources in SIInsertWaitcnts (#92905)

I do not understand what optimization this was supposed to implement.
It has never been enabled. I suspect it no longer applies to GCN/RDNA
architectures.


  Commit: f78b1a40864470f7eb30dfda44a6ea8e845346a5
      https://github.com/llvm/llvm-project/commit/f78b1a40864470f7eb30dfda44a6ea8e845346a5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add test for #92887 (NFC)


  Commit: 263224e4481b0850539a93a272184aac4abe86d4
      https://github.com/llvm/llvm-project/commit/263224e4481b0850539a93a272184aac4abe86d4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Require poison operand in canEvaluateShuffled transform

This transform works on single-source shuffles, which require that
the second operand is poison, not undef. Otherwise we may convert
undef to poison.

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


  Commit: c1b5b7c19b76f8d153f7ae9350d217b74888ed93
      https://github.com/llvm/llvm-project/commit/c1b5b7c19b76f8d153f7ae9350d217b74888ed93
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90

  Log Message:
  -----------
  [flang][Lower] Emit exiting branches from within constructs (#92455)

When lowering IfConstruct, CaseConstruct, and SelectTypeConstruct, emit
branches that exit the construct in each block that is still
unterminated after the FIR has been generated in it.

The same thing may be needed for SelectRankConstruct, once it's
supported.

This eliminates the need for inserting branches in `genFIR(Evaluation)`.

Follow-up to PR https://github.com/llvm/llvm-project/pull/91614.


  Commit: 557a0be3af798cf55b1ef54fc98a84fa5a4ade42
      https://github.com/llvm/llvm-project/commit/557a0be3af798cf55b1ef54fc98a84fa5a4ade42
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add test for splat shuffle miscompile (NFC)


  Commit: ecd269e8305330c185bbedbd5a59e887122333ba
      https://github.com/llvm/llvm-project/commit/ecd269e8305330c185bbedbd5a59e887122333ba
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in splat shuffle fold

We can't canonicalize these to a splat shuffle, as doing so would
convert undef -> poison.


  Commit: 2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
      https://github.com/llvm/llvm-project/commit/2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison instead of m_Undef in some places (NFCI)

I believe that in these cases other conditions already ensure that
the second operand is not used, this is mostly for clarity.


  Commit: b8e3d8021648478229697edeeb8539c99dbe5503
      https://github.com/llvm/llvm-project/commit/b8e3d8021648478229697edeeb8539c99dbe5503
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Add test for incorrect shuffle of unop transform (NFC)


  Commit: 8f1c984325bd679b2634a6173db69548da87ac71
      https://github.com/llvm/llvm-project/commit/8f1c984325bd679b2634a6173db69548da87ac71
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in shuffle of unop transform

Otherwise this may not actually be a single-source shuffle.


  Commit: a53e568b16db60eaeb4886232841c2a884f484fc
      https://github.com/llvm/llvm-project/commit/a53e568b16db60eaeb4886232841c2a884f484fc
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AIX] Set memrchr to unavailable (#92588)

`memrchr` is not available on AIX. This patch turns it off so the
optimizer will not generate it to cause link errors.


  Commit: fbc798e4426b322ed0e03019c20d929f2eaade22
      https://github.com/llvm/llvm-project/commit/fbc798e4426b322ed0e03019c20d929f2eaade22
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison instead of m_Undef (NFCI)

In this case, isIdentityWithExtract() should already ensure that
this is a single-source shuffle. This just makes things more
explicit.


  Commit: a15b685c2d868eaf408d05baa50baa3c9f5cc740
      https://github.com/llvm/llvm-project/commit/a15b685c2d868eaf408d05baa50baa3c9f5cc740
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'reduction' sema for compute constructs (#92808)

'reduction' has a few restrictions over normal 'var-list' clauses:

1- On parallel, a num_gangs can only have 1 argument when combined with
reduction. These two aren't able to be combined on any other of the
compute constructs however.

2- The vars all must be 'numerical data types' types of some sort, or a
'composite of numerical data types'. A list of types is given in the
standard as a minimum, so we choose 'isScalar', which covers all of
these types and keeps types that are actually numeric. Other compilers
don't seem to implement the 'composite of numerical data types', though
we do.

3- Because of the above restrictions, member-of-composite is not
allowed, so any access via a memberexpr is disallowed. Array-element and
sub-arrays (aka array sections) are both permitted, so long as they meet
the requirements of #2.

This patch implements all of these for compute constructs.


  Commit: d0e0205bfc5a147f8744a176a10f185af7520c26
      https://github.com/llvm/llvm-project/commit/d0e0205bfc5a147f8744a176a10f185af7520c26
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in single shuffle fold

Otherwise we'll convert undef to poison. Alive2 was already flagging
the existing test8 test as a miscompile.


  Commit: 8d5b7d4d11ea47b9903b634f4159986422855383
      https://github.com/llvm/llvm-project/commit/8d5b7d4d11ea47b9903b634f4159986422855383
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison() instead of m_Undef() (NFCI)

In this case, the isIdentityWithExtract() checks should already
guarantee that these are single-source shuffles, so this is just
for clarity.


  Commit: 7c640d1d43d7a151100e92c678757e0ce897bcc2
      https://github.com/llvm/llvm-project/commit/7c640d1d43d7a151100e92c678757e0ce897bcc2
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix directory separators in `infinite-instatiation.test`

Another take at fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26920 and https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888


  Commit: 530d4c9bf3d963f51375a1d7afb32f439d9c94a9
      https://github.com/llvm/llvm-project/commit/530d4c9bf3d963f51375a1d7afb32f439d9c94a9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [InstCombine] Use m_Poison() instead of m_Undef() (NFCI)

In this case the shuffle mask checks should already guarantee a
single-source shuffle, so this is just for clarity.


  Commit: 4ae896fe979b7db501cabde4b6b3504478958682
      https://github.com/llvm/llvm-project/commit/4ae896fe979b7db501cabde4b6b3504478958682
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] HasOneUse uses (#92534)

#91578 implements `HasOneUse` predicate on `PatFrag`, so this commit
uses it within AMDGPU.


  Commit: 76748119bfd52ff6647740a06e29e3584e22ee16
      https://github.com/llvm/llvm-project/commit/76748119bfd52ff6647740a06e29e3584e22ee16
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Add irtranslator/legalizer/selector support for G_FREEZE. (#92744)

This patch adds support for G_FREEZE on riscv. It will be selected into
a copy instruction.
 
The ll test is copied from the AArch64 patch:
https://github.com/llvm/llvm-project/commit/665da596854bf07ee25f368855156dde43845013.


  Commit: 7c19058d2a8e05383988b92cf4004c4cd8a54951
      https://github.com/llvm/llvm-project/commit/7c19058d2a8e05383988b92cf4004c4cd8a54951
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/CodeGen/darwin-target-variant.c
    M llvm/lib/IR/Module.cpp
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll

  Log Message:
  -----------
  [Darwin][IR] Don't error on target_variant mismatch when linking IR (#92297)

Change the ModuleFlag type for target_variant to warning to avoid error
out when the value is different. This matches the linker behavior when
linking object files.

rdar://125874272


  Commit: f52d29c9ab7d3c712d36c28d00adc95fe7d52805
      https://github.com/llvm/llvm-project/commit/f52d29c9ab7d3c712d36c28d00adc95fe7d52805
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [Clang][Sema] Refactor handling of vector subscript expressions (NFC) (#92778)


  Commit: ea43a30899df5c3c36412392c8f4db79973a1c43
      https://github.com/llvm/llvm-project/commit/ea43a30899df5c3c36412392c8f4db79973a1c43
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll

  Log Message:
  -----------
  [AMDGPU] Vectorize more 16 bit shuffles (#90648)

In the case of larger vectors, we should still prefer the vectorized
version (i.e. shufflevector vs extract/insert chains).

In arithmetic chains, vectorization results in chains of packed math
instructions (as opposed to unpack/repack & scalarized arithmetic):
https://godbolt.org/z/c5onaf6G5

In chains with PHIs, vectorization again removes the unnecessary pack /
repack code around BBs: https://godbolt.org/z/vz7zYzvhs


  Commit: 446f66d685c2470bc7744b1d1538c4728e838e43
      https://github.com/llvm/llvm-project/commit/446f66d685c2470bc7744b1d1538c4728e838e43
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/CodeGen/fat-lto-objects.c
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/test/CodeGen/X86/fat-lto-section.ll

  Log Message:
  -----------
  [CodeGen] Assign SHT_LLVM_LTO to .llvm.lto section (#92856)

This follows up to SHT_LLVM_LTO (https://reviews.llvm.org/D153215) and
resolves the comment of the FatLTO patch
https://reviews.llvm.org/D146776#4430626


  Commit: cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
      https://github.com/llvm/llvm-project/commit/cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    A lld/test/ELF/aarch64-feature-gcs.s

  Log Message:
  -----------
  [lld][AArch64] Add support for GCS (#90732)

This adds the -z gcs and -z gcs-report options, which behave similarly
to -z shtk and -z cet-report, except that -z gcs accepts a parameter:
* -z gcs=implicit is the default behaviour, where the GCS bit is
inferred from the input objects.
 * -z gcs=never clears the GCS bit, ignoring the input objects.
 * -z gcs=always sets the GCS bit, ignoring the input objects.

This is so that there's a means of explicitly disabling GCS even when
all input objects have the GCS bit set.


  Commit: 67e3514692f60f85c69aef9a793d3e43b68fb038
      https://github.com/llvm/llvm-project/commit/67e3514692f60f85c69aef9a793d3e43b68fb038
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll

  Log Message:
  -----------
  AMDGPU: Implement getRoundingControlRegisters (#92884)


  Commit: dab1f7c8d3d7bf5021cdb96af74d533753ad2e23
      https://github.com/llvm/llvm-project/commit/dab1f7c8d3d7bf5021cdb96af74d533753ad2e23
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll

  Log Message:
  -----------
  AMDGPU: Emit 1/llvm.sqrt(x) instead of rsqrt calls in libcall handling (#92863)

With the contract flag we should end up codegening to the rsqrt
instruction, or denormal corrected rsqrt sequence present in the
library.


  Commit: 0c8bc08868e7bf051e9683851726747def85765a
      https://github.com/llvm/llvm-project/commit/0c8bc08868e7bf051e9683851726747def85765a
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll

  Log Message:
  -----------
  Reapply "[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265) (#91372)

This reverts commit 924384161ffceda08099536dd07a953299a69b53.

This reland addresses the performance regressions seen in #90265 by
retaining the original definition of
`isPotentiallyReachableFromMany(...)` instead of reimplementing it with
`isManyPotentiallyReachableFromMany(...)`.

Fixes #86580


  Commit: 557bf3835b96ef5839013b1e821a1cb869660aa3
      https://github.com/llvm/llvm-project/commit/557bf3835b96ef5839013b1e821a1cb869660aa3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/pr90730.ll

  Log Message:
  -----------
  [RISCV][ISel] Allow opaque constants in `hasAndNotCompare` (#92926)

See the following code:

https://github.com/llvm/llvm-project/blob/4ae896fe979b7db501cabde4b6b3504478958682/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L9334-L9357

> Combining: t47: i64 = xor t43, OpaqueConstant:i64<31808>
X: i64 = Constant<0>
Y: i64 = OpaqueConstant<31808>

The assertion failed because both `X` and `Y` are constants.
This patch allows opaque constants in `hasAndNotCompare` to fix the
issue.

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


  Commit: 4636b66de513dfa15da1ba071f279b64ad68903f
      https://github.com/llvm/llvm-project/commit/4636b66de513dfa15da1ba071f279b64ad68903f
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp

  Log Message:
  -----------
  [mlir][intrange] Represent bounds of `ReflectBoundsOp` as `si`/`ui` (#92641)

This patch adapts the `test.reflect_bounds` test Op to use explicitly
signed and unsigned representation for signed and unsigned bounds of
`IntegerType`s.

This is mostly a cosmetic change as the internal representation of the
ranges is unchanged. However, it improves readability of tests.


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

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

  Log Message:
  -----------
  [flang][cuda] Fix memory side effects on cuf.data_transfer op (#92928)

The memory side effects on the `cuf.data_transfer` operation were
swapped between the src and dst operands. We read from source and write
to destination not the opposite.


  Commit: 3e15c97fa3812993bdc319827a5c6d867b765ae8
      https://github.com/llvm/llvm-project/commit/3e15c97fa3812993bdc319827a5c6d867b765ae8
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/locale
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp

  Log Message:
  -----------
  [libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948)

This PR implements [LWG2381](https://cplusplus.github.io/LWG/issue2381)
by rejecting `'i'`, `'I'`, `'n'`, `'N'` in FP parsing, as inf and NaN
are intendedly rejected by that LWG issue.

The source character array used for parsing is
`"0123456789abcdefABCDEFxX+-pPiInN"`, whose first 26 or 28 characters
are used for parsing integers or floating-point values respectively.
Previously, libc++ used 32 characters, including `'i'`, `'I'`, `'n'`,
`'N'`, for FP parsing, which was inconsistent with LWG2381. This PR also
replaces magic numbers 26 and 28 (formerly 32) with named constants.

Drive-by change: when the first character (possibly after the leading
`'+'` or `'-'`) is not a decimal digit but an acceptable character
(e.g., `'p'` or `'e'`), the character is not accumulated now (per Stage
2 in [facet.num.get.virtuals]/3).

#65168 may be rendered invalid, see
https://github.com/llvm/llvm-project/pull/65168#issuecomment-1868533342.

Apple back-deployment targets remain broken, likely due to dylib. XFAIL
is marked in related tests.

---------

Co-authored-by: Mark de Wever <koraq at xs4all.nl>


  Commit: 98f105a1304e8d3fd0a0234d1d488ed513833df8
      https://github.com/llvm/llvm-project/commit/98f105a1304e8d3fd0a0234d1d488ed513833df8
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp

  Log Message:
  -----------
  [lldb] Add the word "backtrace" to bt help string (#92618)

We noticed that `apropos backtrace` did not return the `bt` alias. This change adds the 
word "backtrace" to the help for `bt`. It also updates `thread backtrace` to keep the 
language used roughly in sync.


  Commit: 253c28fa829cee0104c2fc59ed1a958980b5138c
      https://github.com/llvm/llvm-project/commit/253c28fa829cee0104c2fc59ed1a958980b5138c
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Interpreter/execute.c

  Log Message:
  -----------
  [clang-repl] Extend the C support. (#89804)

The IdResolver chain is the main way for C to implement lookup rules.
Every new partial translation unit caused clang to exit the top-most
scope which in turn cleaned up the IdResolver chain. That was not an
issue for C++ because its lookup is implemented on the level of
declaration contexts.

This patch keeps the IdResolver chain across partial translation units
maintaining proper C-style lookup infrastructure.


  Commit: 315a83145b6d83134eee49570632f3ee2a5a38a9
      https://github.com/llvm/llvm-project/commit/315a83145b6d83134eee49570632f3ee2a5a38a9
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h

  Log Message:
  -----------
  AMDGPU/NFC: Reserve 0x056 and 0x057 EF_AMDGPU_MACHs (#92917)


  Commit: 70fc23946bc241a154c13140af9a597049715723
      https://github.com/llvm/llvm-project/commit/70fc23946bc241a154c13140af9a597049715723
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  RegisterPressure: Check empty instead of size == 0


  Commit: 2805e6faad7795ed0846010e3e7ad41460030758
      https://github.com/llvm/llvm-project/commit/2805e6faad7795ed0846010e3e7ad41460030758
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/tools/llvm-driver/symlink-call.test
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl

  Log Message:
  -----------
  [llvm-driver] Add driver alias for c++filt (#92803)

Similar to 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162, this allows the
driver to respond to `c++filt`.


  Commit: 194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
      https://github.com/llvm/llvm-project/commit/194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/tocdata-cc1.c
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/toc-data.ll

  Log Message:
  -----------
  [PowerPC][AIX] 64-bit large code-model support for toc-data (#90619)

This patch adds support for toc-data for 64-bit large code-model on AIX.
The sequence ADDIStocHA8/ADDItocL8 is used to access the data directly
from the TOC.
When emitting the instruction ADDIStocHA8, we check if the symbol has
toc-data attribute before creating a toc entry for it. When emitting the
instruction ADDItocL8, we use the LA8 instruction to load the address.


  Commit: e6b14b6f8bfeeea8d24c8dccb17053ba491d5879
      https://github.com/llvm/llvm-project/commit/e6b14b6f8bfeeea8d24c8dccb17053ba491d5879
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix directory separators in `infinite-instantiation.test`

Fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26934 caused by #92888. Third time the charm!


  Commit: 3c3e71d929457daf4be425a35920cc53ed875fab
      https://github.com/llvm/llvm-project/commit/3c3e71d929457daf4be425a35920cc53ed875fab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    A llvm/test/CodeGen/X86/issue76416.ll

  Log Message:
  -----------
  X86: Add regression test from issue #76416

Also add another testcase reported at the same regression commit. Make
sure this assert is fixed when the patch is eventually reapplied.


  Commit: 1fc3ce1cdb8390ed64feea939a9555d3642439ea
      https://github.com/llvm/llvm-project/commit/1fc3ce1cdb8390ed64feea939a9555d3642439ea
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Enable data transfer for descriptors (#92804)

Remove the TODO when data transfer is done with descriptor variables.


  Commit: 172759492a162592da7ae9e03888661c108b1be4
      https://github.com/llvm/llvm-project/commit/172759492a162592da7ae9e03888661c108b1be4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  RegisterPressure: Add parameter name comment


  Commit: 7847b1ca00fb4649799125592f01cd38c5509b45
      https://github.com/llvm/llvm-project/commit/7847b1ca00fb4649799125592f01cd38c5509b45
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Silence warning triggered in buildbot


  Commit: ce1d28e645b53ba9518d295dad35a4578dd8e8dc
      https://github.com/llvm/llvm-project/commit/ce1d28e645b53ba9518d295dad35a4578dd8e8dc
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Sema/builtins.c

  Log Message:
  -----------
  Fix diagnostic wording style; NFC


  Commit: 8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
      https://github.com/llvm/llvm-project/commit/8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  InstCombine: Stop handling bitcast in PointerReplacer (#92937)

These should be irrelevant since opaque pointers.


  Commit: 67ae86d700b899979db39883f4063257513498d5
      https://github.com/llvm/llvm-project/commit/67ae86d700b899979db39883f4063257513498d5
  Author: lolloz98 <lorenzocarpaneto at yahoo.it>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/functions.c

  Log Message:
  -----------
  [clang] Fix crash passing function pointer without prototype. (#90255)

Fixes use-after-free iterating over the uses of the function.

Closes #88917


  Commit: e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
      https://github.com/llvm/llvm-project/commit/e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
  Author: Edwin Vane <revane at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp

  Log Message:
  -----------
  [clang-tidy] Rename out-of-line function definitions (#91954)

Member function templates defined out-of-line were resulting in
conflicting naming failures with overlapping usage sets. With this
change, out-of-line definitions are treated as a usage of the failure
which is the inline declaration.


  Commit: cec1eab9bd6bfffcf39d0962c7ce220284fc7c1a
      https://github.com/llvm/llvm-project/commit/cec1eab9bd6bfffcf39d0962c7ce220284fc7c1a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  MachineScheduler: Add parameter name comments


  Commit: 01c600dec6f506ae305abf04cf955e08aa59b234
      https://github.com/llvm/llvm-project/commit/01c600dec6f506ae305abf04cf955e08aa59b234
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp

  Log Message:
  -----------
  Reword a diagnostic for style; NFC


  Commit: 32cf7a25f2f8174bc448ae7032e419dc0375fd6a
      https://github.com/llvm/llvm-project/commit/32cf7a25f2f8174bc448ae7032e419dc0375fd6a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  Fix another diagnostic for style; NFC


  Commit: 87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
      https://github.com/llvm/llvm-project/commit/87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/lax-conv.cpp

  Log Message:
  -----------
  Fix another diagnostic wording for style; NFC


  Commit: 337e633bb75640bb6e04eb874c7114dfac6fa754
      https://github.com/llvm/llvm-project/commit/337e633bb75640bb6e04eb874c7114dfac6fa754
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libcxx] [test] Detect mingw-w64 headers compatible with C++ module builds (#92893)

This fixes running the tests/CI with a newer mingw toolchain that has
been fixed to work with building libc++ as a module.


  Commit: 57a507930b50c445140feb68bffe1c21af53319e
      https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [msan] Increase kNumStackOriginDescrs constant (#92838)

This increases the constant size of kNumStackOriginDescrs to 4M (64GB of
BSS across two arrays), which ought to be enough for anybody.

This is the easier alternative suggested by eugenis@ in
https://github.com/llvm/llvm-project/pull/92826.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Accept constant as src for cuf.data_tranfer (#92951)

Assignment of a constant (host) to a device variable is a special case
that can be further lowered to `cudaMemset` or similar functions. This
patch update the lowering to avoid the creation of a temporary when we
assign a constant to a device variable.


  Commit: 687039bce91e90f87d68fb0c409baffaae16649e
      https://github.com/llvm/llvm-project/commit/687039bce91e90f87d68fb0c409baffaae16649e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [X86] Return true for opaque constants in hasAndNotCompare. (#92944)

This is the X86 equivalent of #92926


  Commit: 243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
      https://github.com/llvm/llvm-project/commit/243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge

  Log Message:
  -----------
  Disable compiling and testing Flang on Clang changes (#92740)

This patch aims to rectify the Windows CI situation by decoupling Clang
changes from Flang test suite, which is causing Windows CI to "pause"
for 20 minutes (details can be found
[here](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/11)).
This even seems desirable in the long run, because it was highlighted
that the only part of Clang that Flang depends on is Driver ([Discourse
post](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/14)).

Importantly, this patch leaves the question of _entirely_ disabling
Flang tests on Windows CI out of scope.


  Commit: 3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
      https://github.com/llvm/llvm-project/commit/3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h

  Log Message:
  -----------
  [AArch64][PAC][NFC] Make checkAuthenticatedRegister() return void (#92507)

The return value is not used. This change simplifies the upcoming fix


  Commit: 9f2313829fd210f9923375e93bc11fe9685c26d5
      https://github.com/llvm/llvm-project/commit/9f2313829fd210f9923375e93bc11fe9685c26d5
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)


  Commit: 32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
      https://github.com/llvm/llvm-project/commit/32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  Revert "[BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)"

This reverts commit 9f2313829fd210f9923375e93bc11fe9685c26d5.

Creates a dependency cycle: lib/Rewrite depends on lib/Profile.


  Commit: df626dd11c360c58eddae813ce6a0524d0a53696
      https://github.com/llvm/llvm-project/commit/df626dd11c360c58eddae813ce6a0524d0a53696
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  Revert "[msan] Increase kNumStackOriginDescrs constant (#92838)"

This reverts commit 57a507930b50c445140feb68bffe1c21af53319e.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/57/builds/35160)


  Commit: 3b3d622be993faa985ed9cbb9ab098c8d6b8f681
      https://github.com/llvm/llvm-project/commit/3b3d622be993faa985ed9cbb9ab098c8d6b8f681
  Author: Andrew Browne <browneee at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/test/dfsan/custom.cpp

  Log Message:
  -----------
  [DFSan] Fix recvmsg wrapper to support MSG_TRUNC flag. (#92599)

The MSG_TRUNC flag makes recvmsg return the real length of the packet,
even if it was too big to fit in the provided buffer. This is commonly
used together with MSG_PEEK.

Without this patch, dfsan's clear_msghdr_labels expects the return value
of recvmsg (size recieved) to be less than or equal to the iov buffer
length where recvmsg writes data, resulting in a crash.


  Commit: 3a913d30bef061be9786740e14bacd3fa6d76adc
      https://github.com/llvm/llvm-project/commit/3a913d30bef061be9786740e14bacd3fa6d76adc
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor `Sema::TagUseKind` (#92689)

This patch makes `TagUseKind` a scoped enumeration, and moves it outside
of `Sema` class, making it eligible for forward declaring.


  Commit: 0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
      https://github.com/llvm/llvm-project/commit/0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor flaky tests for std::shared_lock (#91779)

This makes the tests non-flaky.


  Commit: f6ff87dd90074b694e420d93389c749189bca0ec
      https://github.com/llvm/llvm-project/commit/f6ff87dd90074b694e420d93389c749189bca0ec
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libunwind/include/__libunwind_config.h
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp

  Log Message:
  -----------
  [libunwind][WebAssembly] Make libunwind compilable (#92192)

This tries to make Wasm compilable in LLVM tree with CMake for
non-Emscripten platform.

This
- Adds `-D__USING_WASM_EXCEPTIONS__` when you compile with
`-fwasm-exceptions` (like other EH options) in Clang
- Exclude `UnwindLevel1.c`, `UnwindRegistersSave.S`, and
`UnwindRegistersRestore.S` when compiling with Wasm
- Changed some `__USING_WASM_EXCEPTIONS__` to `__wasm__`; they should be
applied when compiling with Wasm w/o exceptions.
- Define some unused macros to make it compile

Fixes #72771.


  Commit: b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
      https://github.com/llvm/llvm-project/commit/b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp

  Log Message:
  -----------
  [libc] Provide __libc_{init,fini}_array for baremetal (#90828)

These are provided by newlib and many baremetal projects assume they're
available rather than providing their own implementation.


  Commit: 5442e15a152614628e2e2bef250c91eacf75fc9c
      https://github.com/llvm/llvm-project/commit/5442e15a152614628e2e2bef250c91eacf75fc9c
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp

  Log Message:
  -----------
  [libc][__support] move CndVar to __support (#89329)

We should be able to reuse this between the implementation of C11 cnd_t
condition variables and POSIX pthread_cond_t condition variables.

The current implementation is hyper linux specific, making use of Futex. That
obviously wont work outside of linux, so split the OS specific functions off
into their own source outside of the header.

Modifies the return values of the to-be-shared impl to return 0 on success and
-1 on error.  This pattern was shamelessly stolen from Bionic's
[__bionic_thrd_error](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/include/bits/threads_inlines.h#41).

Fixes: #88580
Link: #88583


  Commit: 2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
      https://github.com/llvm/llvm-project/commit/2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
  Author: Thomas Fransham <fsfod11 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  [lldb] Set ObjectFile's assignment operator to also be deleted like its copy constructor (#92942)

This will also fix a warning when ObjectFile is dllexport'ed on Windows
for my GSOC project for adding support Clang plugins on windows with
@vgvassilev and @compnerd.


  Commit: 42ba740afffa16f991be6aa36626bd872d41ebc0
      https://github.com/llvm/llvm-project/commit/42ba740afffa16f991be6aa36626bd872d41ebc0
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/atomic
    A libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/modules/std/atomic.inc
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp

  Log Message:
  -----------
  [libc++] Implement C++20 atomic_ref (#76647)

Implement the std::atomic_ref class template by reusing atomic_base_impl.
Based on the work from https://reviews.llvm.org/D72240


  Commit: a5bab70d0667d3bd709720c5c78870b8ad280545
      https://github.com/llvm/llvm-project/commit/a5bab70d0667d3bd709720c5c78870b8ad280545
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/test/integration/scudo/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix scudo integration test (#92967)

When scudo is built with LLVM-libc's headers, certain functions also
need to be linked from LLVM-libc. This patch adds those functions to the
list to be linked into the specific scudo test, which uses a minimal
subset of libc.

Fixes #92861 and #59453


  Commit: b90861498b5b5c06ba24a122b6987738560acf99
      https://github.com/llvm/llvm-project/commit/b90861498b5b5c06ba24a122b6987738560acf99
  Author: Heewon Cho <heewon6752 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/StokeInfo.h

  Log Message:
  -----------
  [BOLT][NFC] Use const reference in range-based for loop (#92932)

Addressing #91195


  Commit: e42b799bb28815431f2c5a95f7e13fde3f1b36a1
      https://github.com/llvm/llvm-project/commit/e42b799bb28815431f2c5a95f7e13fde3f1b36a1
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (#92854)

This is an enabler for a future patch.

This allows an type-parameter default argument to be set as an arbitrary
TemplateArgument, not just a type.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This will be used in a later patch which synthesizes template parameter
lists with arbitrary default arguments taken from template
specializations.

There are a few places we used SubsType, because we only had a type, now
we use SubstTemplateArgument.
SubstTemplateArgument was missing arguments for setting Instantiation
location and entity names.
Adding those is needed so we don't regress in diagnostics.


  Commit: 219ea26733f96e0c63796bed8e507f7bb1a02140
      https://github.com/llvm/llvm-project/commit/219ea26733f96e0c63796bed8e507f7bb1a02140
  Author: Heewon Cho <heewon6752 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][NFC] Remove dead initialization code (#92952)

Addressing #81441


  Commit: 7630775e3ad34c426cde91732e8e7816c2a1ef5a
      https://github.com/llvm/llvm-project/commit/7630775e3ad34c426cde91732e8e7816c2a1ef5a
  Author: Thomas Fransham <fsfod11 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  Revert "Set ObjectFile's assignment operator to also be deleted like its copy constructor" (#92973)

Reverts llvm/llvm-project#92942


  Commit: fd1e511440702aa098f8da97ea35f3f6d9d19cae
      https://github.com/llvm/llvm-project/commit/fd1e511440702aa098f8da97ea35f3f6d9d19cae
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

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


  Commit: 79a32609759af317a62184c2c7b1300263a336c8
      https://github.com/llvm/llvm-project/commit/79a32609759af317a62184c2c7b1300263a336c8
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  [hwasan] Remove memory attrs from instrumented functions. (#92974)

HWASan instrumentation makes writeonly attribute on function parameters,
as well as most memory(*) attributes invalid. This causes
miscompilations with LTO, when more optimizations are run after the
HWASan pass.


  Commit: 0170bd5d111f55f45f993a749727ce2815cc0b16
      https://github.com/llvm/llvm-project/commit/0170bd5d111f55f45f993a749727ce2815cc0b16
  Author: Joachim Meyer <5982050+fodinabor at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp

  Log Message:
  -----------
  [MDBuilder] `mergeCallbackEncodings` fails due to inspecting the wrong node (#92466)

Given the following metadata as, with `!6` as `ExistingCallbacks` and
`!8` as `NewCB`:
```
!6 = !{!7}
!7 = !{i64 0, i1 false}
!8 = !{i64 2, i64 3, i1 false}
```
The merge function should add `!8` to the list of `!6`, i.e. `!6 =
!{!7,!8}`. However, at the moment the check if this is legal, tries to
interpret `!7` as integer instead of it's operand.


  Commit: 203232ffbd80e9f4631213a3876f14dde155a92d
      https://github.com/llvm/llvm-project/commit/203232ffbd80e9f4631213a3876f14dde155a92d
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp

  Log Message:
  -----------
  [llvm][Support] ListeningSocket::accept returns operation_canceled if FD is set to -1 (#89479)

If `::poll` returns and `FD` equals -1, then `ListeningSocket::shutdown`
has been called. So, regardless of any other information that could be
gleaned from `FDs.revents` or `PollStatus`, it is appropriate to return
`std::errc::operation_canceled`. `ListeningSocket::shutdown` copies
`FD`'s value to `ObservedFD` then sets `FD` to -1 before canceling
`::poll` by calling `::close(ObservedFD)` and writing to the pipe.


  Commit: dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
      https://github.com/llvm/llvm-project/commit/dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    R clang/test/Interpreter/execute.c

  Log Message:
  -----------
  Revert "[clang-repl] Extend the C support. (#89804)"

This reverts commit 253c28fa829cee0104c2fc59ed1a958980b5138c.

This commit is causing failures on the lldb CI bots, e.g.
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/4307/

On my local macOS desktop build,
```
bin/lldb-dotest -p TestImportBuiltinFileID.py
Assertion failed: (D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"), function addHiddenDecl, file DeclBase.cpp, line 1692.

6  libsystem_c.dylib        0x0000000185f0b8d0 abort + 128
7  libsystem_c.dylib        0x0000000185f0abc8 err + 0
8  liblldb.19.0.0git.dylib  0x00000001311e5800 clang::DeclContext::addHiddenDecl(clang::Decl*) + 120
9  liblldb.19.0.0git.dylib  0x00000001311e5978 clang::DeclContext::addDecl(clang::Decl*) + 32
10 liblldb.19.0.0git.dylib  0x000000012f617b48 clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) + 64
11 liblldb.19.0.0git.dylib  0x000000012eaf76c8 clang::Parser::ParseTopLevelStmtDecl() + 208
12 liblldb.19.0.0git.dylib  0x000000012ec051fc clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 3412
13 liblldb.19.0.0git.dylib  0x000000012ec03274 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 2020
14 liblldb.19.0.0git.dylib  0x000000012eaca860 clang::ParseAST(clang::Sema&, bool, bool) + 604
15 liblldb.19.0.0git.dylib  0x000000012e8554c0 clang::ASTFrontendAction::ExecuteAction() + 308
16 liblldb.19.0.0git.dylib  0x000000012e854c78 clang::FrontendAction::Execute() + 124
17 liblldb.19.0.0git.dylib  0x000000012e76dcfc clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 984
18 liblldb.19.0.0git.dylib  0x000000012e784500 compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation, llvm::StringRef, clang::FrontendInputFile, llvm::StringRef, llvm::StringRef, llvm::function_ref<void (clang::CompilerInstance&)>, llvm::function_ref<void (clang::CompilerInstance&)>)::$_1::operator()() const + 52
```
Reverting until Vassil has a chance to look int oit.


  Commit: f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
      https://github.com/llvm/llvm-project/commit/f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    A llvm/test/CodeGen/X86/misched-critical-path.ll

  Log Message:
  -----------
  [llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)


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


  Commit: a9b67490b2baaa311100a64191792186ea5f2c1e
      https://github.com/llvm/llvm-project/commit/a9b67490b2baaa311100a64191792186ea5f2c1e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Report adjusted program stats from perf2bolt in BAT mode (#91683)


  Commit: c2e0afe95efd495f5c76bbea410730a321a69e9c
      https://github.com/llvm/llvm-project/commit/c2e0afe95efd495f5c76bbea410730a321a69e9c
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [Coroutines][NFC] Remove @llvm.coro.id.async intrinsics from CoroElide (#92956)


  Commit: 511077df763752fd2c187e4ca1a3ada335b77804
      https://github.com/llvm/llvm-project/commit/511077df763752fd2c187e4ca1a3ada335b77804
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp

  Log Message:
  -----------
  [sanitizers] Bump malloc limit to 1TB for MSAN, LSAN & DFSAN (#89728)

We already have `const uptr kMaxAllowedMallocSize = 1ULL << 40;` set for
ASAN, HWASAN, memprof, TSAN. This patch bumps the malloc limit for MSAN,
LSAN and DFSAN to 1TB as well. 8GB is simply not enough nowadays.


  Commit: a6d97dec899b880f0c3f674d6b3361a70b68ca09
      https://github.com/llvm/llvm-project/commit/a6d97dec899b880f0c3f674d6b3361a70b68ca09
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [clang-format] Correctly annotate C++ alternative operators in C (#92880)

PR #90161 uncovered a bug that annotates C++ xor as UnaryOperator if
followed by a binary operator. This patch fixes that and all other C++
alternative operator keywords when followed by a binary operator in C.

Fixes #92688.


  Commit: 935b946b1fdeeb9d67f1c42903dc15e88407208f
      https://github.com/llvm/llvm-project/commit/935b946b1fdeeb9d67f1c42903dc15e88407208f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/ignored-interprocedural-reference.s

  Log Message:
  -----------
  [BOLT] Process cross references between ignored functions in BAT mode (#92484)

To align YAML and fdata profiles produced in BAT mode, lift two
restrictions applied in non-relocation mode when BAT is present:
1) register secondary entry points from ignored functions,
2) treat functions with secondary entry points as simple.

This allows constructing CFG for non-simple functions in non-relocation
mode and emitting YAML profile for them, which can then be used for
optimizations in relocation mode.

Test Plan: added test ignored-interprocedural-reference.s


  Commit: 97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
      https://github.com/llvm/llvm-project/commit/97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/link_fdata.py

  Log Message:
  -----------
  [BOLT] Use getLocationName in YAMLProfileWriter (#92493)

Disambiguate local functions using the containing file symbol in BAT
mode. Make local function naming consistent across BAT fdata and YAML
profiles.

Test Plan: updated register-fragments-bolt-symbols.s


  Commit: 64f640680f7b1ddc8d2015eac75865f231166f8c
      https://github.com/llvm/llvm-project/commit/64f640680f7b1ddc8d2015eac75865f231166f8c
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxxabi/include/cxxabi.h
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_exception.h
    M libcxxabi/src/cxa_personality.cpp
    M libunwind/src/Unwind-wasm.c
    M libunwind/src/libunwind.cpp

  Log Message:
  -----------
  [WebAssembly] __USING_WASM_EXCEPTIONS__ -> __WASM_EXCEPTIONS__ (#92840)

We've decided to change `__USING_WASM_EXCEPTIONS__` preprocessor to
`__WASM_EXCEPTIONS__` given that it's more concise.


  Commit: d53c6cdbc108729ce5dc7d4e9184db025206fefc
      https://github.com/llvm/llvm-project/commit/d53c6cdbc108729ce5dc7d4e9184db025206fefc
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  [AMDGPU][Clang] Builtin for GLOBAL_LOAD_LDS on GFX940 (#92962)

Fixes: SWDEV-459212


  Commit: b66779b5bf0f3c839114681bb4aca80a9dc144c3
      https://github.com/llvm/llvm-project/commit/b66779b5bf0f3c839114681bb4aca80a9dc144c3
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [nfc][InstrProfReader]Store header fields in native endianness (#92947)

- Use `Header.Version` directly and remove Header::formatVersion

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: 130e93cc26ca9d3ac50ec5a92e3109577ca2e702
      https://github.com/llvm/llvm-project/commit/130e93cc26ca9d3ac50ec5a92e3109577ca2e702
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
    M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
    M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
    M clang/test/CodeGenCXX/delete-two-arg.cpp
    M clang/test/CodeGenCXX/delete.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-dealloc.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    M clang/test/CodeGenCoroutines/pr56919.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/www/cxx_status.html
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  Reland "[clang] Enable sized deallocation by default in C++14 onwards" (#90373)


Since C++14 has been released for about nine years and most standard
libraries have implemented sized deallocation functions, it's time to
make this feature default again.

This is another try of https://reviews.llvm.org/D112921.

The original commit cf5a8b4 was reverted by 2e5035a due to some
failures (see #83774).

Fixes #60061


  Commit: 7370b109b44a187e55d032d9628e41a7b94c3914
      https://github.com/llvm/llvm-project/commit/7370b109b44a187e55d032d9628e41a7b94c3914
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    R llvm/test/CodeGen/X86/misched-critical-path.ll

  Log Message:
  -----------
  Revert "[llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)" (#92992)

This reverts commit f0d1ae83b046ff0eeffc72a103f7c8b01ad33787.

This commit breaks tests: http://45.33.8.238/linux/138572/step_11.txt


  Commit: 108575f02ea9927009ed81231474d3a6f053602f
      https://github.com/llvm/llvm-project/commit/108575f02ea9927009ed81231474d3a6f053602f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/constantexpr-fneg.c
    M clang/test/CodeGenCXX/cxx11-thread-local.cpp
    M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/Assembler/ConstantExprNoFold.ll
    M llvm/test/Assembler/vector-cmp.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
    M llvm/test/Instrumentation/MemorySanitizer/check-constant-shadow.ll
    M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/bitcast.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/JumpThreading/constant-fold-status.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/SCCP/conditions-ranges.ll
    M llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll

  Log Message:
  -----------
  [IR] Avoid creating icmp/fcmp constant expressions (#92885)

Do not create icmp/fcmp constant expressions in IRBuilder etc anymore,
i.e. treat them as "undesirable". This is in preparation for removing
them entirely.

Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179


  Commit: 89e1f7784be40bea96d5e65919ce8d34151c1d69
      https://github.com/llvm/llvm-project/commit/89e1f7784be40bea96d5e65919ce8d34151c1d69
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    A llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
    A llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
    A llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
    A llvm/test/Transforms/IndVarSimplify/pr51735.ll

  Log Message:
  -----------
  [indvars] Missing variables at Og (#88270)

https://bugs.llvm.org/show_bug.cgi?id=51735
https://github.com/llvm/llvm-project/issues/51077

In the given test case:
 ```
4 ...
 5 void bar() {
 6   int End = 777;
 7   int Index = 27;
 8   char Var = 1;
 9   for (; Index < End; ++Index)
10     ;
11   nop(Index);
12 }
13 ...
```
Missing local variable `Index` after loop `Induction Variable Elimination`.
When adding a breakpoint at line `11`, LLDB does not have information
on the variable. But it has info on `Var` and `End`.


  Commit: c769079b1098f6b108544176c0bd8b5bba986f2c
      https://github.com/llvm/llvm-project/commit/c769079b1098f6b108544176c0bd8b5bba986f2c
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll

  Log Message:
  -----------
  [AMDGPU] Update test results to fix build (#92982)


  Commit: c609c04e32ef43f63a6ee54025fadf649c3247cc
      https://github.com/llvm/llvm-project/commit/c609c04e32ef43f63a6ee54025fadf649c3247cc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/CodeGenCXX/weak-external.cpp

  Log Message:
  -----------
  [CodeGen] Use fixed triple in weak-external test (NFC)

The codegen here differs substantially if UseARMMethodPtrABI is
enabled. Use a fixed x86 triple to avoid this.


  Commit: 874a5dab419240af0a02a3fc70accd926105aa31
      https://github.com/llvm/llvm-project/commit/874a5dab419240af0a02a3fc70accd926105aa31
  Author: Ivan Murashko <ivan.murashko at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    A clang/test/Modules/implicit-module-remap.cpp

  Log Message:
  -----------
  [clang] Processing real directories added as virtual ones (#91645)

The `FileManager` might create a virtual directory that can be used
later as a search path. This is the case when we use remapping, as
demonstrated in the suggested LIT test.

We might encounter a 'false cache miss' and add the same directory
twice into `FileManager::SeenDirEntries` if the added record is a real
directory that is present on a disk:
- Once as a virtual directory 
- And once as a real one

This isn't a problem if the added directories have the same name, as in
this case, we will get a cache hit. However, it could lead to
compilation errors if the directory names are different but point to the
same folder. For example, one might use an absolute name and another a
relative one. For instance, the **implicit-module-remap.cpp** LIT test
will fail with the following message:
```
/.../implicit-module-remap.cpp.tmp/test.cpp:1:2: fatal error: module 'a' 
was built in directory '/.../implicit-module-remap.cpp.tmp' but now 
resides in directory '.'
    1 | #include "a.h"
      |  ^
1 error generated.
```

The suggested fix checks if the added virtual directory is present on
the disk and handles it as a real one if that is the case.


  Commit: b00e0c167186d69e1e6bceda57c09b272bd6acfc
      https://github.com/llvm/llvm-project/commit/b00e0c167186d69e1e6bceda57c09b272bd6acfc
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    A mlir/include/mlir/Analysis/TopologicalSortUtils.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    R mlir/include/mlir/Transforms/TopologicalSortUtils.h
    M mlir/lib/Analysis/CMakeLists.txt
    M mlir/lib/Analysis/SliceAnalysis.cpp
    A mlir/lib/Analysis/TopologicalSortUtils.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/SROA.cpp
    M mlir/lib/Transforms/TopologicalSort.cpp
    M mlir/lib/Transforms/Utils/CMakeLists.txt
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    R mlir/lib/Transforms/Utils/TopologicalSortUtils.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/test/Analysis/test-topoligical-sort.mlir
    A mlir/test/Analysis/test-toposort.mlir
    M mlir/test/Dialect/Affine/slicing-utils.mlir
    R mlir/test/Transforms/test-toposort.mlir
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Analysis/TestSlice.cpp
    A mlir/test/lib/Analysis/TestTopologicalSort.cpp
    M mlir/test/lib/Transforms/CMakeLists.txt
    R mlir/test/lib/Transforms/TestTopologicalSort.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR][Analysis] Consolidate topological sort utilities  (#92563)

This PR attempts to consolidate the different topological sort utilities
into one place. It adds them to the analysis folder because the
`SliceAnalysis` uses some of these.

There are now two different sorting strategies: 
1. Sort only according to SSA use-def chains
2. Sort while taking regions into account. This requires a much more
elaborate traversal and cannot be applied on graph regions that easily.

This additionally reimplements the region aware topological sorting
because the previous implementation had an exponential space complexity.

I'm open to suggestions on how to combine this further or how to fuse
the test passes.


  Commit: 1cf75cc77e1d019613644491fb3f2923d4d29774
      https://github.com/llvm/llvm-project/commit/1cf75cc77e1d019613644491fb3f2923d4d29774
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Update test results to fix build (#92982)"

This reverts commit c769079b1098f6b108544176c0bd8b5bba986f2c.

This doesn't fix the build, it breaks it.


  Commit: 1015f51dd94a6154df7183004743e1a86e566858
      https://github.com/llvm/llvm-project/commit/1015f51dd94a6154df7183004743e1a86e566858
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/streaming-compatible-expand-masked-gather-scatter.ll

  Log Message:
  -----------
  [AArch64] NFC: Rename -force-streaming-compatible-sve to -force-streaming-compatible (#92774)

The behaviour of the flag should be equivalent to
__arm_streaming_compatible.

At the moment, the name suggests that '-force-streaming-compatible-sve'
on its own (i.e. without specifying `+sve`) enables the compiler to use
the streaming-compatible subset of SVE instructions, but the semantics
merely are that the function can be called with either PSTATE.SM=0 or
PSTATE.SM=1.


  Commit: 2034f2fc8729bd4645ef7caa3c5c6efa284d2d3f
      https://github.com/llvm/llvm-project/commit/2034f2fc8729bd4645ef7caa3c5c6efa284d2d3f
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir

  Log Message:
  -----------
  [mlir][intrange] Use `nsw`,`nuw` flags in inference (#92642)

This patch includes the "no signed wrap" and "no unsigned wrap" flags,
which can be used to annotate some Ops in the `arith` dialect and also
in LLVMIR, in the integer range inference.

The general approach is to use saturating arithmetic operations to infer
bounds which are assumed to not wrap and use overflowing arithmetic
operations in the normal case. If overflow is detected in the normal
case,
special handling makes sure that we don't underestimate the result
range.


  Commit: 235465e40475a3bce1c11b21032844c0c8e14f28
      https://github.com/llvm/llvm-project/commit/235465e40475a3bce1c11b21032844c0c8e14f28
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Legalize G_{U|S}{ADD|SUB}SAT (#92935)

This patch adds support for G_UADDSAT/G_SADDSAT/G_USUBSAT/G_SSUBSAT by
lowering it into add/sub with selects. When zbb is available,
min/max/minu/maxu will be selected.


  Commit: 89c23f7683efbdf896670218be9095d57ae3e348
      https://github.com/llvm/llvm-project/commit/89c23f7683efbdf896670218be9095d57ae3e348
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll

  Log Message:
  -----------
  [SPIR-V] Add cl_khr_kernel_clock / SPV_KHR_shader_clock extension (#92771)

Recognize `cl_khr_kernel_clock` builtins and translate them to
`OpReadClockKHR` instructions. The `Scope` operand is deduced from the
builtin function name.

spirv-val does not pass yet due to OpReadClockKHR only supporting the
valid scopes for Vulkan (Device and Subgroup, but not Workgroup), so
leave validation disabled with a TODO.


  Commit: c7e9b4918e5bd4936dbc036ba65eae178f5cc994
      https://github.com/llvm/llvm-project/commit/c7e9b4918e5bd4936dbc036ba65eae178f5cc994
  Author: Mateusz Zych <mte.zych at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++][vector] Inline remaining constructors filling vector with the same value (#82068)

Placing physically next to each other remaining constructors filling
vector with the same value
will make code better, since they all have nearly identical
implementation, which needs to be kept in sync.

Co-authored-by: Mark de Wever <koraq at xs4all.nl>


  Commit: 058e4454e8965f0d96ecbec61395d5a788c37f7c
      https://github.com/llvm/llvm-project/commit/058e4454e8965f0d96ecbec61395d5a788c37f7c
  Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/docs/Status/ParallelismProjects.csv
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/vec_ext.h
    A libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
    A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_copy.pass.cpp

  Log Message:
  -----------
  [libc++] <experimental/simd> Add copy functions for class simd/simd_mask (#78935)


  Commit: a640a2e0205fc23a27913d3e7c69c7cc60e4f7b9
      https://github.com/llvm/llvm-project/commit/a640a2e0205fc23a27913d3e7c69c7cc60e4f7b9
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaRISCV.h
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaRISCV.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaRISCV` (#92682)

This patch moves `Sema` functions that are specific for RISC-V into the
new `SemaRISCV` class. This continues previous efforts to split `Sema`
up. Additional context can be found in
https://github.com/llvm/llvm-project/pull/84184.

This PR is somewhat different from previous PRs on this topic:
1. Splitting out target-specific functions wasn't previously discussed.
It felt quite natural to do, though.
2. I had to make some static function in `SemaChecking.cpp` member
functions of `Sema` in order to use them in `SemaRISCV`.
3. I dropped "RISCV" from identifiers, but decided to leave "RVV"
(RISC-V "V" vector extensions) intact. I think it's an idiomatic
abbreviation at this point, but I'm open to input from contributors in
that area.
4. I repurposed `SemaRISCVVectorLookup.cpp` for `SemaRISCV`.

I think this was a successful experiment, which both helps the goal of
splitting `Sema` up, and shows a way to approach `SemaChecking.cpp`,
which I wasn't sure how to approach before. As we move more
target-specific function out of there, we'll gradually make the checking
"framework" inside `SemaChecking.cpp` public, which is currently a whole
bunch of static functions. This would enable us to move more functions
outside of `SemaChecking.cpp`.


  Commit: a56e6dfd2e6b141b5475c05ad62c378906f565ba
      https://github.com/llvm/llvm-project/commit/a56e6dfd2e6b141b5475c05ad62c378906f565ba
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [LV] Add test for header mask and invariant compare cost-modeling.

Additional test coverage for the VPlan-based cost model work.


  Commit: f98a3dd7a23ca1a85f62b38a2a7e82a53f80070b
      https://github.com/llvm/llvm-project/commit/f98a3dd7a23ca1a85f62b38a2a7e82a53f80070b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp

  Log Message:
  -----------
  [NFC][libc++][test] Removes C++98 support. (#92930)

Libc++ has no separate C++98 support, it uses C++03 instead. This
removes some obsolete c++98 markers in the test.

Thanks to @StephanTLavavej for spotting this.


  Commit: 4351787fb650da6d1bfb8d6e58753c90dcd4c418
      https://github.com/llvm/llvm-project/commit/4351787fb650da6d1bfb8d6e58753c90dcd4c418
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  AMDGPU: Fix redundant condition

Fixes #93003


  Commit: 15710bbdadddbf03428fd16aed53e6be54960703
      https://github.com/llvm/llvm-project/commit/15710bbdadddbf03428fd16aed53e6be54960703
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests on windows 1/n (#92904)

Re-enable tests starting with a or b.


  Commit: 91d415b8d94b15023e6c39d5376274a2b21ee448
      https://github.com/llvm/llvm-project/commit/91d415b8d94b15023e6c39d5376274a2b21ee448
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c

  Log Message:
  -----------
  [Clang][AArch64][SVE] Allow write to SVE vector elements using the subscript operator (#91965)

The patch at https://reviews.llvm.org/D122732 introduced using the array
subscript operator for SVE vectors, however it also causes an ICE when
the subscripting expression is used as an lvalue.

This patches fixes the error. Lvalue subscripting expressions are
emitted as LLVM IR `insertelement`.


  Commit: 758e1199f6dbcddc0a8d425753c56a42507dd313
      https://github.com/llvm/llvm-project/commit/758e1199f6dbcddc0a8d425753c56a42507dd313
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [X86] Simplify the code for EFLAGS copy lowering, NFCI

1. MF.begin() == MF.end() -> MF.empty()
2. Set FlagsKilled by API modifiesRegister
3. Utilize APIs in X86GenMnemonicTables.inc to check arithmetic op
4. Merge duplicated code for rewrite*
5. Clang format

This is to address review comments in #91849


  Commit: 775d7ccc0fa1de4bb02e2f5cdf4ca38a021e873e
      https://github.com/llvm/llvm-project/commit/775d7ccc0fa1de4bb02e2f5cdf4ca38a021e873e
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/Driver/aarch64-v95a.c
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/FP8/system-regs.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Fix feature flags dependecies (#90612)

This patch removes FEAT_FPMR from list of available of architecture
features, instead enabling FMPR register by default.
Additionally dependencies between architectural features are added and
fixed.


  Commit: 1f5cd3accd7e98abbf31d45b1ed59fbda0c91d30
      https://github.com/llvm/llvm-project/commit/1f5cd3accd7e98abbf31d45b1ed59fbda0c91d30
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Fix getType() of pointers pointing to vector elems


  Commit: f156b9ce7aae520046c926458ed17d73ed33fc2a
      https://github.com/llvm/llvm-project/commit/f156b9ce7aae520046c926458ed17d73ed33fc2a
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Integration/debug-module-2.f90
    A flang/test/Transforms/debug-module-1.fir
    A flang/test/Transforms/debug-module-2.fir

  Log Message:
  -----------
  [flang] Add debug information for module variables. (#91582)

This PR add debug info for module variables. The module variables are
added as global variables but their scope is set to module instead of
compile unit. The scope of function declared inside a module is also set
accordingly.

After this patch, a module variable could be evaluated in the GDB as `p
helper::gli` where helper is name of the module and gli is the name of
the variable. A future patch will add the import module functionality
which will remove the need to prefix the name with helper::.

The line number where is module is declared is a best guess at the
moment as this information is not part of the GlobalOp.


  Commit: 1b066437085b7906a70539aad170e3e52fb9f685
      https://github.com/llvm/llvm-project/commit/1b066437085b7906a70539aad170e3e52fb9f685
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll

  Log Message:
  -----------
  [X86] stack-folding-fp-avx512fp16.ll - remove broken CHECK-LABEl prefix lines

Typo identified in #91854


  Commit: 6381cfe8910bfd8cefb91b565b7640529e2f75f2
      https://github.com/llvm/llvm-project/commit/6381cfe8910bfd8cefb91b565b7640529e2f75f2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll

  Log Message:
  -----------
  [X86] stack-frame-layout-remarks.ll - fix BOTH-Next -> BOTH-NEXT typo

Typo identified in #91854


  Commit: 0873b4ca295234d697172e32fa4e597ebbb63ee0
      https://github.com/llvm/llvm-project/commit/0873b4ca295234d697172e32fa4e597ebbb63ee0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll

  Log Message:
  -----------
  [LoopVectorize] optimal-epilog-vectorization-profitability.ll - fix LABLE -> LABEL typo

Typo identified in #91854


  Commit: 5d833c65da74d83a9b5df19da52d67ea1c0ecc10
      https://github.com/llvm/llvm-project/commit/5d833c65da74d83a9b5df19da52d67ea1c0ecc10
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unneeded CheckRange call

This doesn't do anything with the current tests and is unnecessary in
general.


  Commit: 11b97da83141db857361ec9535dcd637ffcd0439
      https://github.com/llvm/llvm-project/commit/11b97da83141db857361ec9535dcd637ffcd0439
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
    A clang/test/Analysis/setgid-setuid-order-notes.c
    A clang/test/Analysis/setgid-setuid-order.c

  Log Message:
  -----------
  [clang][analyzer] Add checker 'security.SetgidSetuidOrder' (#91445)


  Commit: 5cb2ea5704c733102ae93a50b10b80c1ae06112e
      https://github.com/llvm/llvm-project/commit/5cb2ea5704c733102ae93a50b10b80c1ae06112e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Remove VarDecl requirement in diagnoseUnknownDecl()

We can call diagnoseNonConstVariable() for all ValueDecls just fine.


  Commit: e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3
      https://github.com/llvm/llvm-project/commit/e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Fix toAPValue() for array root pointers

isArrayElement() returns false for them, so we used to add the decl
to the path, causing wrong APValues to be generated.


  Commit: 9807f25baa98be3bcce579302b2348b8abaf5cbd
      https://github.com/llvm/llvm-project/commit/9807f25baa98be3bcce579302b2348b8abaf5cbd
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt OptimizedBufferization to run on all top level ops (#92898)

This means that this pass will also run on hlfir elemental operations
which are not inside of functions.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).


  Commit: 3c5738f3ec185fbf56da2c18929f5b33126cd98b
      https://github.com/llvm/llvm-project/commit/3c5738f3ec185fbf56da2c18929f5b33126cd98b
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    R llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
    R llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
    R llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
    R llvm/test/Transforms/IndVarSimplify/pr51735.ll

  Log Message:
  -----------
  Revert "[indvars] Missing variables at Og (#88270)" (#93016)

This reverts commit 89e1f7784be40bea96d5e65919ce8d34151c1d69.

https://github.com/llvm/llvm-project/pull/88270#discussion_r1609559724
https://github.com/llvm/llvm-project/pull/88270#discussion_r1609552972

Main concerns from @nikic are the interaction between the
'IndVars' and 'LoopDeletion' passes, increasing build times
and adding extra complexity.


  Commit: 5bd210ace6c165d5093220811ba8d5fc300ac1f9
      https://github.com/llvm/llvm-project/commit/5bd210ace6c165d5093220811ba8d5fc300ac1f9
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
    M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll

  Log Message:
  -----------
  [NFC][LLVM] Autogenerate check lines for some Analysis/LoopAccessAnalysis tests.


  Commit: 9051fc706fd5f4517fa880e6cb7a1ba9e4c0483d
      https://github.com/llvm/llvm-project/commit/9051fc706fd5f4517fa880e6cb7a1ba9e4c0483d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    A llvm/test/MC/AArch64/SVE/condition-codes.s
    R llvm/test/MC/AArch64/SVE/condtion-codes.s
    M llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s
    M llvm/test/MC/AArch64/SVE/sqincp-diagnostics.s

  Log Message:
  -----------
  [NFC][LLVM] Fix typos in llvm/test/MC/AArch64/SVE


  Commit: 25c021a8638d203022128edb1be9000134bfe24f
      https://github.com/llvm/llvm-project/commit/25c021a8638d203022128edb1be9000134bfe24f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  [NFC] Fix typo in llvm/test/Transforms/Util/add-TLI-mappings.ll


  Commit: c912f0e773386cc309155b78e2441ee5f1052c13
      https://github.com/llvm/llvm-project/commit/c912f0e773386cc309155b78e2441ee5f1052c13
  Author: pranavm-nvidia <49246958+pranavm-nvidia at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/test/python/ir/array_attributes.py

  Log Message:
  -----------
  [mlir][python] Add bindings for mlirDenseElementsAttrGet (#91389)

This change adds bindings for `mlirDenseElementsAttrGet` which accepts a
list of MLIR attributes and constructs a DenseElementsAttr. This allows
for creating `DenseElementsAttr`s of types not natively supported by
Python (e.g. BF16) without requiring other dependencies (e.g. `numpy` +
`ml-dtypes`).


  Commit: 9604e5ce8b5607cd88ba130314fc7ae8545542e1
      https://github.com/llvm/llvm-project/commit/9604e5ce8b5607cd88ba130314fc7ae8545542e1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Allow stepping back from a one-past-the-end pointer

... back into range of the array.


  Commit: 8619054fb76ad0ceb9c3b1c90e643bd469daecf8
      https://github.com/llvm/llvm-project/commit/8619054fb76ad0ceb9c3b1c90e643bd469daecf8
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 11b97da83141


  Commit: bbc4c2e047107c62d49ce1e0474635ea55a2b006
      https://github.com/llvm/llvm-project/commit/bbc4c2e047107c62d49ce1e0474635ea55a2b006
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-vhadd.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - ensure we have simplified the shift operands before folding to AVG

Pulled out of #92096 - ensure we have completed a topological simplification of the SRA/SRL shift operands before we try to combine to a AVG node, as its difficult to later simplify through AVG nodes.


  Commit: f68548135b8f9a02beac842646ab89bcaad9d400
      https://github.com/llvm/llvm-project/commit/f68548135b8f9a02beac842646ab89bcaad9d400
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvaluationResult.cpp
    A clang/test/AST/Interp/unions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix checking unions for initialization


  Commit: ba0e871db81d8527382a051a0abf1ce2a171d8bf
      https://github.com/llvm/llvm-project/commit/ba0e871db81d8527382a051a0abf1ce2a171d8bf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll

  Log Message:
  -----------
  [ConstraintElim] Look through SExt with precond Op sge 0.

Look through SExt with a precondition that the operand is signed
positive.

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


  Commit: cf128305bdada3ffb34054813a855d80b3948025
      https://github.com/llvm/llvm-project/commit/cf128305bdada3ffb34054813a855d80b3948025
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    A llvm/test/CodeGen/X86/pr92720.ll

  Log Message:
  -----------
  [SDAG] Don't treat ISD::SHL as a uniform binary operator in `ShrinkDemandedOp` (#92753)

In `TargetLowering::ShrinkDemandedOp`, types of lhs and rhs may differ
before legalization.
In the original case, `VT` is `i64` and `SmallVT` is `i32`, but the type
of rhs is `i8`. Then invalid truncate nodes will be created.

See the description of ISD::SHL for further information:
> After legalization, the type of the shift amount is known to be
TLI.getShiftAmountTy(). Before legalization, the shift amount can be any
type, but care must be taken to ensure it is large enough.


https://github.com/llvm/llvm-project/blob/605ae4e93be8976095c7eedf5c08bfdb9ff71257/llvm/include/llvm/CodeGen/ISDOpcodes.h#L691-L712

This patch stops handling ISD::SHL in `TargetLowering::ShrinkDemandedOp`
and duplicates the logic in `TargetLowering::SimplifyDemandedBits`.
Additionally, it adds some additional checks like
`isNarrowingProfitable` and `isTypeDesirableForOp` to improve the
codegen on AArch64.

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


  Commit: 2aa218c247eef03f4ea922d635b7a9f46d061119
      https://github.com/llvm/llvm-project/commit/2aa218c247eef03f4ea922d635b7a9f46d061119
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
    A flang/test/Semantics/OpenMP/reduction-modifiers.f90

  Log Message:
  -----------
  [flang][OpenMP] Diagnose invalid reduction modifiers (#92406)

Emit diagnostic messages for invalid modifiers in "reduction" clause.

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


  Commit: 71b1fbdff6cf567ad278c51f0acdcdf23de0ac28
      https://github.com/llvm/llvm-project/commit/71b1fbdff6cf567ad278c51f0acdcdf23de0ac28
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [MISched][NFC] Add documentation comment in pickNode for ReadyQueue maintenence (#92976)

I had some trouble understanding why `removeReady` removed nodes from
the Pending queue, since my intuition told me that the Pending queue did
not represent a node that was ready. I took a deeper look and found that
pickOnlyNode and pickNodeFromQueue only picked nodes from the Available
queue too.

I found that need to nodes from the Available and Pending queues that
correspond to the opposite direction that we ended up choosing from
(IsTopNode vs !IsTopNode).

It took me a little longer than I would have liked to understand this
fact, so I figured that I would add a comment in the code that makes it
clear for future readers.


  Commit: 9120562dfcc09cb4caf3052c6744049b4d9c8481
      https://github.com/llvm/llvm-project/commit/9120562dfcc09cb4caf3052c6744049b4d9c8481
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/tile_codegen.cpp
    M clang/test/OpenMP/tile_codegen_for_dependent.cpp
    M clang/test/OpenMP/tile_codegen_tile_for.cpp
    M openmp/runtime/test/lit.cfg
    A openmp/runtime/test/transform/tile/foreach.cpp
    A openmp/runtime/test/transform/tile/iterfor.cpp
    A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_intfor.c
    A openmp/runtime/test/transform/unroll/factor_iterfor.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-intfor.cpp
    A openmp/runtime/test/transform/unroll/full_intfor.c
    A openmp/runtime/test/transform/unroll/heuristic_intfor.c
    A openmp/runtime/test/transform/unroll/partial_intfor.c

  Log Message:
  -----------
  [Clang][OpenMP] Enable tile/unroll on iterator- and foreach-loops (#91459)

OpenMP loop transformation did not work on a for-loop using an iterator
or range-based for-loops. The first reason is that it combined the
iterator's type for generated loops with the type of `NumIterations` as
generated for any `OMPLoopBasedDirective` which is an integer. Fixed by
basing all generated loop variables on `NumIterations`.

Second, C++11 range-based for-loops include syntactic sugar that needs
to be executed before the loop. This additional code is now added to the
construct's Pre-Init lists.

Third, C++20 added an initializer statement to range-based for-loops
which is also added to the pre-init statement. PreInits used to be a
`DeclStmt` which made it difficult to add arbitrary statements from
`CXXRangeForStmt`'s syntactic sugar, especially the for-loops init
statement which does not need to be a declaration. Change it to be a
general `Stmt` that can be a `CompoundStmt` to hold arbitrary Stmts,
including DeclStmts. This also avoids the `PointerUnion` workaround used
by `checkTransformableLoopNest`.

End-to-end tests are added to verify the expected number and order of
loop execution and evaluations of expressions (such as iterator
dereference). The order and number of evaluations of expressions in
canonical loops is explicitly undefined by OpenMP but checked here for
clarification and for changes to be noticed.


  Commit: 0748a98ab009d4fd97438970e7d92660967a0652
      https://github.com/llvm/llvm-project/commit/0748a98ab009d4fd97438970e7d92660967a0652
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/load-cmp.ll

  Log Message:
  -----------
  [InstCombine] Handle ConstantFoldCompareInstOperands() failure

This function will return nullptr instead of returning a constant
expression now, so be sure to handle that.

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


  Commit: cdcd65350bdeafccda33a5d4185c04f4bbe59495
      https://github.com/llvm/llvm-project/commit/cdcd65350bdeafccda33a5d4185c04f4bbe59495
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [X86] combineBitcast - merge isa<>/cast<> into single dyn_cast<> call. NFC.


  Commit: a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b
      https://github.com/llvm/llvm-project/commit/a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b
  Author: Janek van Oirschot <janek.vanoirschot at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll
    A llvm/test/MC/AMDGPU/amd_kernel_code_t.s

  Log Message:
  -----------
  MCExpr-ify amd_kernel_code_t (#91587)

Redefines the amd_kernel_code_t struct with MCExprs for members that would be
derived from SIProgramInfo MCExpr members.


  Commit: 527276832f7e8f109dbab8eb3b01631f68cfe50e
      https://github.com/llvm/llvm-project/commit/527276832f7e8f109dbab8eb3b01631f68cfe50e
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang-tidy][NFCI] Simplify bugprone-sizeof-expression (#93024)

This commit eliminates a redundant matcher subexpression from the
implementation of the "sizeof-pointer-to-aggregate" part of the
clang-tidy check `bugprone-sizeof-expression`.

I'm fairly certain that anything that was previously matched by the
deleted matcher `StructAddrOfExpr` is also covered by the more general
`PointerToStructExpr` (which remains in the same `anyOf`).

This commit is made to "prepare the ground" for a followup change that
would merge the functionality of the Clang Static Analyzer checker
`alpha.core.SizeofPtr` into this clang-tidy check.


  Commit: b99b6b78f0c611fa1241dfcc7cdd8970f8b6369c
      https://github.com/llvm/llvm-project/commit/b99b6b78f0c611fa1241dfcc7cdd8970f8b6369c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Driver/fopenmp.f90

  Log Message:
  -----------
  [flang][Driver][test] add missing run lines to fopenmp test (#92784)

I believe these were forgotten when copying the clang in #86816.

This was flagged because the CHECK lines for CHECK-LD-ANY* had no
associated RUN line. See
https://github.com/llvm/llvm-project/pull/92387#issuecomment-2119170354


  Commit: f78febf7a87832fb2078961a6d8881b527c917bb
      https://github.com/llvm/llvm-project/commit/f78febf7a87832fb2078961a6d8881b527c917bb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/hadd-combine.ll

  Log Message:
  -----------
  [DAG] ComputeNumSignBits - add AVGCEILS/AVGFLOORS handling (#93021)

Pulled from #92096


  Commit: e3bd627f53b6c7e1c16368803c3f119910cc5c84
      https://github.com/llvm/llvm-project/commit/e3bd627f53b6c7e1c16368803c3f119910cc5c84
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Retrieve active union field in Pointer::toRValue()


  Commit: 7d9634e527fe52bf20a9036be6e5771f8fc4de17
      https://github.com/llvm/llvm-project/commit/7d9634e527fe52bf20a9036be6e5771f8fc4de17
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Propagate IsActive state in unions properly

This resolves an older FIXME comment.


  Commit: 267de8543c8671baa7e12c4d181e6c4e6e2342cd
      https://github.com/llvm/llvm-project/commit/267de8543c8671baa7e12c4d181e6c4e6e2342cd
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s

  Log Message:
  -----------
  [llvm-mca][AArch64] Add AArch64 version of clearsSuperRegisters. (#92548)

This patch overrides the clearsSuperRegisters method defined in
MCInstrAnalysis to identify register writes that clear the upper portion
of all super-registers on AArch64 architecture.

On AArch64, a write to a general-purpose register of 32-bit data size is
defined to use the lower 32-bits of the register and zero extend the
upper 32-bits.
Similarly, SIMD and FP instructions operating on scalar data only access
the lower bits of the SIMD&FP register. The unused upper bits are
cleared to zero on a write.
This also applies to SIMD vector registers when the element size in bits
multiplied by the number of lanes is lower than 128. The upper 64 bits
of the vector register are cleared to zero on a write.


  Commit: 7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
      https://github.com/llvm/llvm-project/commit/7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Add EmitC lowering for arith.trunci, arith.extsi, arith.extui

This commit adds conversion to EmitC for arith dialect casts between integer types (trunc, extsi, extui), excluding indexes for now.


  Commit: 183beb33d7f8847c04870e425d75f27db1cf5847
      https://github.com/llvm/llvm-project/commit/183beb33d7f8847c04870e425d75f27db1cf5847
  Author: Alexey Karyakin <akaryaki at quicinc.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    A llvm/test/tools/llvm-objcopy/tool-options.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Check for missing argument values (#70710)

Report an error if a required value for a command line argument is
missing.


  Commit: 831d1435193e73026e03e006a5b86591f3d202b3
      https://github.com/llvm/llvm-project/commit/831d1435193e73026e03e006a5b86591f3d202b3
  Author: Ye Luo <yeluo at anl.gov>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt

  Log Message:
  -----------
  [Offload] libomptarget force dlopen vendor libraries by default. (#92788)

Since #87009, libomptarget directly links all the plugins statically.
All the dependencies of plugins got exposed to libomptarget. The CUDA
plugin depends on libcuda and the amdgpu plugin depends on libhsa if not
forced using dlopen. On a cluster with different compute node
architectures, libomptarget can be built and run on different nodes. In
the build stage, if cmake founds libcuda and
`LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA=OFF`, libomptarget links libcuda.so
directly and the result libomptarget may not run a node without a NVIDIA
driver for example a CPU or AMD GPU only machine with a complaint that
libcuda.so not found.

The solution is setting `LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA` and
`LIBOMPTARGET_FORCE_DLOPEN_LIBHSA` `ON`. Preferably this should be
default to maximize the usability of libomptarget. If cmake detects
NVIDIA or AMD software on an OS imaging building node, the resulted
libomptarget may not be able to function on the user side due to the
requirement the existence of vendor runtime libraries.


  Commit: c8dc6b59d68635f73d2970b7fc8bc9c6c2684098
      https://github.com/llvm/llvm-project/commit/c8dc6b59d68635f73d2970b7fc8bc9c6c2684098
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
    M llvm/test/CodeGen/X86/combine-srem.ll
    M llvm/test/CodeGen/X86/pmul.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll

  Log Message:
  -----------
  [SDAG] Improve `SimplifyDemandedBits` for mul (#90034)

If the RHS is a constant with X trailing zeros, then the X MSBs of the
LHS are not demanded.

Alive2: https://alive2.llvm.org/ce/z/F5CyJW
Fixes https://github.com/llvm/llvm-project/issues/56645.


  Commit: 1d4772f24d19b36ed07b2434e9e6382e18ffbe08
      https://github.com/llvm/llvm-project/commit/1d4772f24d19b36ed07b2434e9e6382e18ffbe08
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [bazel] add bolt address translation header to Passes (#93014)

to avoid circular dependency introduced in
a9b67490b2baaa311100a64191792186ea5f2c1e


  Commit: 9276a03b5492d0ac62c48c4313139dbf32d7b9e1
      https://github.com/llvm/llvm-project/commit/9276a03b5492d0ac62c48c4313139dbf32d7b9e1
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  MIPS/Clang: Add more false option pairs into validateTarget (#91968)

The option pairs include:
	-mfpxx -mips1
	-msoft-float -mmsa
	-mmsa -mabi=32 with 32bit pre-R2 CPUs
	-mfpxx -mmsa
	-mfp32 -mmsa


  Commit: 9e0be65f24bca1bd95c25d3191c75461a080af49
      https://github.com/llvm/llvm-project/commit/9e0be65f24bca1bd95c25d3191c75461a080af49
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll

  Log Message:
  -----------
  [AMDGPU] Fix broken MIR generated by gfx11 simulated trap lowering (#91652)

This was breaking the CFG connection between uses of virtual registers
after the trap and their definitions before it. Fixes SWDEV-460384.

Fixes a bug in #85854.


  Commit: a70ecfb267e1fe7d72c94a3cf1675b1f8df99860
      https://github.com/llvm/llvm-project/commit/a70ecfb267e1fe7d72c94a3cf1675b1f8df99860
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [bazel] fix build for b00e0c167186d69e1e6bceda57c09b272bd6acfc


  Commit: d41dde70c44a10f9761242df73fdd288c4660c8d
      https://github.com/llvm/llvm-project/commit/d41dde70c44a10f9761242df73fdd288c4660c8d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  LiveRangeEdit: Replace setIsDead with an assert (#92964)

I noticed this was possibly buggy with implicit operands with the same
dest register, and should maybe be using addRegisterDead. However, this
is never called in a situation where the operand wasn't already marked
dead. This is eliminateDeadDef, implying the def was already known to be
dead.

Add an assert to detect inconsistencies in dead flags. This was
apparently added in 9a16d655c71826bef98b7d6e9590e4494ac0e1a9.


  Commit: bd46067abf6a3ed712f24670cf7c4b1e574a9739
      https://github.com/llvm/llvm-project/commit/bd46067abf6a3ed712f24670cf7c4b1e574a9739
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [bazel] fix build for 7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee


  Commit: 154d93b7f258cdf1157b5e5d61dd9477ffd3db53
      https://github.com/llvm/llvm-project/commit/154d93b7f258cdf1157b5e5d61dd9477ffd3db53
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/dpp_combine.ll

  Log Message:
  -----------
  [AMDGPU] Add a negative test for DPP combine into v_mul_lo_u32


  Commit: 30d484fa994577216736e797b6c6e74483a56641
      https://github.com/llvm/llvm-project/commit/30d484fa994577216736e797b6c6e74483a56641
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll

  Log Message:
  -----------
  [SLP]Fix a crash when trying to convert masked gather nodes to strided.

Need to check if the loads node is masked gather. Only vectorized loads
can be converted to strided.


  Commit: 2bde13cda1e389599413132028731f18fb5c03c3
      https://github.com/llvm/llvm-project/commit/2bde13cda1e389599413132028731f18fb5c03c3
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/Hover.cpp
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (#92852)

This is an enabler for https://github.com/llvm/llvm-project/pull/92855

This allows an NTTP default argument to be set as an arbitrary
TemplateArgument, not just an expression.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This allows NTTP default arguments to be other kinds of arguments, like
packs, integral constants, and such.


  Commit: cb6a62369a353f506a1dde087eeaf5ebea5d5c26
      https://github.com/llvm/llvm-project/commit/cb6a62369a353f506a1dde087eeaf5ebea5d5c26
  Author: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  Add `AddNull` argument to `CreateGlobalString`. (#93036)

There's currently no way to control whether a null terminator should be
appended to the string created in `CreateGlobalString` /
`CreateGlobalStringPtr`, since the methods don't expose an additional
argument.
This change adds an additional argument to the methods that has the same
default value, `true`, as in `ConstantDataArray::getString`, and passes
it down to this internal method.


  Commit: 5b205956e16e09af117c45e2eab625fce7a05b95
      https://github.com/llvm/llvm-project/commit/5b205956e16e09af117c45e2eab625fce7a05b95
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Reduce newTreeEntry usage. (#92994)


  Commit: 3c67c227f2e16accd3cdb3aeb4c845edabd2f6c4
      https://github.com/llvm/llvm-project/commit/3c67c227f2e16accd3cdb3aeb4c845edabd2f6c4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Test non-active union access


  Commit: 821bcba00d5c22c4a829323f8920e0f2dfc1d665
      https://github.com/llvm/llvm-project/commit/821bcba00d5c22c4a829323f8920e0f2dfc1d665
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir

  Log Message:
  -----------
  [GISel] Add narrowScalar/widenScalar support for `G_CONSTANT_FOLD_BARRIER` (#93031)

Fixes an error that llc fails to legalize `G_CONSTANT_FOLD_BARRIER` with
i16/i128: https://godbolt.org/z/f9n6xM3sv


  Commit: c0de13b05f9905dbbc582d234214081dd410db1d
      https://github.com/llvm/llvm-project/commit/c0de13b05f9905dbbc582d234214081dd410db1d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [GISel][RISCV] Legalize shifts with non-trivial shamt types (#93019)

This patch widens the illegal shamt type `i48` -> `i64` to fix
legalization failure: https://godbolt.org/z/4zMTnoW7h


  Commit: 919df9d75ac2a721a8072327c803f34486884571
      https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Decl.h
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/unittests/AST/DeclTest.cpp

  Log Message:
  -----------
  [clang][AST] Fix end location of DeclarationNameInfo on instantiated methods (#92654)

Fixes #71161

[D64087](https://reviews.llvm.org/D64087) updated some locations of the
instantiated method but forgot `DNLoc`.

`FunctionDecl::getNameInfo()` constructs a `DeclarationNameInfo` using
`Decl::Loc` as the beginning of the declaration name, and
`FunctionDecl::DNLoc` to compute the end of the declaration name. The
former was updated, but the latter was not, so
`DeclarationName::getSourceRange()` would return a range where the end
of the declaration name could come before its beginning.

Patch by Alejandro Alvarez Ayllon
Co-authored-by: steakhal

CPP-5166

Co-authored-by: Alejandro Alvarez Ayllon <alejandro.alvarez at sonarsource.com>


  Commit: eeb9fcddf5f29ce967442437f15dea174bb04345
      https://github.com/llvm/llvm-project/commit/eeb9fcddf5f29ce967442437f15dea174bb04345
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp

  Log Message:
  -----------
  [flang][HLFIR][NFC] Use tablegen to reduce assignment pass boilerplate (#93030)

This pass is module-level and then runs on all operations implementing
the ordered assignment interface. It should not matter which top-level
operation the assignment is inside of.

This commit removes some unnecessary boilerplate that we can generate
automatically with tablegen.


  Commit: 101f977f2c218f4a27f3a04b3b324b61c80570d6
      https://github.com/llvm/llvm-project/commit/101f977f2c218f4a27f3a04b3b324b61c80570d6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp

  Log Message:
  -----------
  [flang][CodeGen] Avoid out-of-bounds memory access in SelectCaseOp (#92955)

`SelectCaseOp::getCompareOperands` may return an empty range for the
"default" case. Do not dereference the range until it is expected to be
non-empty.

This was detected by address-sanitizer.


  Commit: ac1dc05b331d35f341631f798673fe8aafdda53d
      https://github.com/llvm/llvm-project/commit/ac1dc05b331d35f341631f798673fe8aafdda53d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectConstResultImpl.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp

  Log Message:
  -----------
  Change GetChildCompilerTypeAtIndex to return Expected (NFC) (#92979)

This change is a general improvement of the internal API. My motivation
is to use this in the Swift typesystem plugin.


  Commit: 4fbc95d1360147e9c4aceeadd1bda17d68364b85
      https://github.com/llvm/llvm-project/commit/4fbc95d1360147e9c4aceeadd1bda17d68364b85
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Skip union members in default initializers


  Commit: c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
      https://github.com/llvm/llvm-project/commit/c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    R clang/test/CodeGen/assume_attr.c
    M clang/test/CodeGenCXX/assume_attr.cpp
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/assumes_print.cpp
    M clang/test/OpenMP/assumes_template_print.cpp
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
    R clang/test/Sema/attr-assume.c
    M clang/test/SemaCXX/cxx23-assume.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
    M openmp/docs/remarks/OMP121.rst
    M openmp/docs/remarks/OMP133.rst
    M openmp/docs/remarks/OptimizationRemarks.rst

  Log Message:
  -----------
  [Clang] Refactor `__attribute__((assume))` (#84934)

This is a followup to #81014 and #84582: Before this patch, Clang 
would accept `__attribute__((assume))` and `[[clang::assume]]` as 
nonstandard spellings for the `[[omp::assume]]` attribute; this 
resulted in a potentially very confusing name clash with C++23’s 
`[[assume]]` attribute (and GCC’s `assume` attribute with the same
semantics).

This pr replaces every usage of `__attribute__((assume))`  with 
`[[omp::assume]]` and makes `__attribute__((assume))` and 
`[[clang::assume]]` alternative spellings for C++23’s `[[assume]]`; 
this shouldn’t cause any problems due to differences in appertainment
and because almost no-one was using this variant spelling to begin
with (a use in libclc has already been changed to use a different
attribute).


  Commit: dbfedc6b270256d62439271274ed2314fed9ca9c
      https://github.com/llvm/llvm-project/commit/dbfedc6b270256d62439271274ed2314fed9ca9c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h

  Log Message:
  -----------
  [Offload] Use newer CUDA API functions when dynamically loaded (#93057)

Summary:
CUDA does its versioning by putting a redirection in the header so the
API functions remain the same while the symbol changes. These weren't
being used for some functions that required it in the dynamic cuda
version.

These functions have newer verisons that should be used. These are
fairly old as far as I'm aware so we should be able to sweep backward
compatibility under the rug.


  Commit: b586149475d71440e4ef444f5df34630101bc669
      https://github.com/llvm/llvm-project/commit/b586149475d71440e4ef444f5df34630101bc669
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold pack and unpack of empty input tensor (#92247)

Extends `tensor.empty` folding patterns with pack and unpack consumers
to fold away the operations when their source is empty.


  Commit: 7c5c8b2f479fbed6afcd4072bdef76ea867577de
      https://github.com/llvm/llvm-project/commit/7c5c8b2f479fbed6afcd4072bdef76ea867577de
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp

  Log Message:
  -----------
  [BOLT][NFC] Move BAT::fetchParentAddress to header (#93061)

Unbreak shared build after
https://github.com/llvm/llvm-project/pull/91683


  Commit: c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77
      https://github.com/llvm/llvm-project/commit/c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp

  Log Message:
  -----------
  [BOLT][NFC] Eliminate uses of throwing std::map::at (#92950)

Remove calls to std::unordered_map::at, std::map::at, and
std::vector::at.


  Commit: 37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6
      https://github.com/llvm/llvm-project/commit/37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/MCF.h
    M bolt/lib/Passes/MCF.cpp

  Log Message:
  -----------
  [BOLT][NFC] Clean up MCF (#93065)

Drop unimplemented solveMCF and remnants of it.


  Commit: 4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27
      https://github.com/llvm/llvm-project/commit/4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] [NFC] Add release note about libstdc++ bug (#93059)

Adding a release note about this as discussed in #92439. 

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: e8dd4df72bb5f63a235359d46d7825fe46761ed2
      https://github.com/llvm/llvm-project/commit/e8dd4df72bb5f63a235359d46d7825fe46761ed2
  Author: Tyler Lanphear <tylanphear at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [NFC][TTI] Mark `getReplicationShuffleCost()` as `const` (#92194)


  Commit: 271eb0686b7b0f9d2e016751399b948ccbbe7925
      https://github.com/llvm/llvm-project/commit/271eb0686b7b0f9d2e016751399b948ccbbe7925
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__locale
    M libcxxabi/include/cxxabi.h
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_exception.h

  Log Message:
  -----------
  [WebAssembly] Upstream misc. EH changes (#92990)

This upstreams more recent, mostly EH changes from libcxx and libcxxabi:
- `__cxa_init_primary_exception`-related changes made when updating to
LLVM 18.1.2 (https://github.com/emscripten-core/emscripten/pull/21638)
- Removes ctype macros
(https://github.com/emscripten-core/emscripten/pull/20960)
- Guard destructor changes with `__wasm__`
(https://github.com/emscripten-core/emscripten/pull/21974)


  Commit: 6262763341fcd71a2b0708cf7485f9abd1d26ba8
      https://github.com/llvm/llvm-project/commit/6262763341fcd71a2b0708cf7485f9abd1d26ba8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Bitcode/BitcodeWriter.h
    M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/tools/llvm-lto/llvm-lto.cpp

  Log Message:
  -----------
  [ThinLTO][Bitcode] Generate import type in bitcode (#87600)

For distributed ThinLTO, the LTO indexing step generates combined
summary for each module, and postlink pipeline reads the combined
summary which stores the information for link-time optimization.

This patch populates the 'import type' of a summary in bitcode, and
updates bitcode reader to parse the bit correctly.


  Commit: 135ddd80bedc747405bd8d93be1dd1da1bee4bcc
      https://github.com/llvm/llvm-project/commit/135ddd80bedc747405bd8d93be1dd1da1bee4bcc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupBWInsts.cpp
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  [X86] Remove unused MachineLoopInfo from X86FixupBWInsts. NFC (#92984)


  Commit: 9f0e59f3c1a56fd14025df973c9f944010efe09a
      https://github.com/llvm/llvm-project/commit/9f0e59f3c1a56fd14025df973c9f944010efe09a
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests on windows 2/n (#93013)

Re-enables the single, symbol and threadprivate tests


  Commit: 8df5a37b848c6ac5a68b56eeddb4a7746b84d288
      https://github.com/llvm/llvm-project/commit/8df5a37b848c6ac5a68b56eeddb4a7746b84d288
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp

  Log Message:
  -----------
  [lldb] Fix a warning

This patch fixes:

  lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp:839:7: error:
  ignoring return value of function declared with 'nodiscard'
  attribute [-Werror,-Wunused-result]


  Commit: f203cb03d93240cfd79e603b742006f96227a00b
      https://github.com/llvm/llvm-project/commit/f203cb03d93240cfd79e603b742006f96227a00b
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp

  Log Message:
  -----------
  Fix a benign typo in a test; NFC

We were still matching the expected diagnostic, but this ensures we
match the opening quotation mark as well.


  Commit: f2bbb4cb3e211de82987b280aa98565bd3ff6ce7
      https://github.com/llvm/llvm-project/commit/f2bbb4cb3e211de82987b280aa98565bd3ff6ce7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [GISel][RISCV] Legalize `G_{U|S}DIVREM` (#93067)

This patch expands `G_{U|S}DIVREM` into `G_{U|S}DIV + G_{U|S}REM`.
`G_{U|S}DIVREM` is generated by the following fold:

https://github.com/llvm/llvm-project/blob/4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp#L1410-L1471

It always folds `div + rem` pairs into `divrem` during pre-legalization.
I tried to change `isLegalOrBeforeLegalizer` to `isLegal`, but it
produced worse codegen on AArch64.


  Commit: e558d21e87882d40e29d858b1269ee8f1ddf2a38
      https://github.com/llvm/llvm-project/commit/e558d21e87882d40e29d858b1269ee8f1ddf2a38
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 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
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  [lldb] Added Debuginfod tests and fixed a couple issues (#92572)

Here we go with attempt number five. Again, no changes to the LLDB code
diff, which has been reviewed several times.

For the tests, I added a `@skipIfCurlSupportMissing` annotation so that
the Debuginfod mocked server stuff won't run, and I also disabled
non-Linux/FreeBSD hosts altogether, as they fail for platform reasons on
macOS and Windows. In addition, I updated the process for extracting the
GNU BuildID to no create a target, per some feedback on the previous
diff.

For reference, previous PR's (landed, backed out after the fact for
various reasons) #90622, #87676, #86812, #85693

---------

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: dfc6a1936731b545ad0880a9c52bd043e4c4309d
      https://github.com/llvm/llvm-project/commit/dfc6a1936731b545ad0880a9c52bd043e4c4309d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/OpenMP/distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_loop_messages.cpp
    M clang/test/OpenMP/distribute_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/requires_default_atomic_mem_order_messages.cpp
    M clang/test/OpenMP/requires_messages.cpp
    M clang/test/OpenMP/target_device_ancestor_messages.cpp
    M clang/test/OpenMP/target_firstprivate_messages.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/test/OpenMP/target_parallel_for_private_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/target_private_messages.cpp
    M clang/test/OpenMP/target_simd_private_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/teams_distribute_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp

  Log Message:
  -----------
  Reword OpenMP diagnostics for style; NFC

Three different OpenMP diagnostics were starting with a capital letter,
so this makes them all lowercase and updates the tests accordingly.


  Commit: 50574638140dc5083d0f272c5279f2ee5d97a833
      https://github.com/llvm/llvm-project/commit/50574638140dc5083d0f272c5279f2ee5d97a833
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp

  Log Message:
  -----------
  [BOLT][NFC] Make BAT methods const (#91823)


  Commit: 562c479c6e953f547f95bf6adfb1b17d4c9976be
      https://github.com/llvm/llvm-project/commit/562c479c6e953f547f95bf6adfb1b17d4c9976be
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  Set ObjectFile's assignment operator to also be deleted like its copy constructor (#93072)

Reapply https://github.com/llvm/llvm-project/pull/92942, this time
double checking it compiles. @vgvassilev, @compnerd.


  Commit: 554c47c8e925c5a1d26bd8590695155086a15ab7
      https://github.com/llvm/llvm-project/commit/554c47c8e925c5a1d26bd8590695155086a15ab7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll

  Log Message:
  -----------
  [SLP]Fix undef poison vector values shuffles with poisonous vectors.

If trying to find vector value in shuffling of the extractelements and
one of the vector values is undef value, need to generate real mask value
for such vector and either undef vector, or incoming second vector, if
  non-poisonous.


  Commit: cc3b6c3ba9c0dd7df0fd7ac23c8609c4675dd62a
      https://github.com/llvm/llvm-project/commit/cc3b6c3ba9c0dd7df0fd7ac23c8609c4675dd62a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/test/Sema/x86-eval-method.c
    M clang/test/Sema/x86_64-eval-method.c

  Log Message:
  -----------
  Fix more diagnostic wording for style; NFC


  Commit: 96378b3da8c5980471af0046feb0427c77f16c60
      https://github.com/llvm/llvm-project/commit/96378b3da8c5980471af0046feb0427c77f16c60
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp

  Log Message:
  -----------
  [BOLT] Add NamedRegionTimer to inferStaleProfile (#93078)


  Commit: c618ae17341315af5fcc97ffd3ed2b19f6d9e412
      https://github.com/llvm/llvm-project/commit/c618ae17341315af5fcc97ffd3ed2b19f6d9e412
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M openmp/docs/SupportAndFAQ.rst

  Log Message:
  -----------
  [Offload] Rework handling for loading vendor runtimes (#93073)

Summary:
We previously had multiple options for this, this patch replaces them
with `LIBOMPTARGET_DLOPEN_PLUGINS=` to be a list of plugins to
dynamically use. It defaults to everything right now. This ignores the
`host` plugin because the `libffi` dependency is going to be removed
soon hopefully in https://github.com/llvm/llvm-project/pull/91264.


  Commit: 29456e9bcc478d458f40a93d309f992f0a314523
      https://github.com/llvm/llvm-project/commit/29456e9bcc478d458f40a93d309f992f0a314523
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/toc-data-no-data-sections.ll

  Log Message:
  -----------
  [PowerPC] Fix assembler error with toc-data and data-sections (#91976)

We should not emit the label for the toc-data variable when
data-sections=false.


  Commit: 0370beb230a35f00b7d07c50ab95f8777662a0c6
      https://github.com/llvm/llvm-project/commit/0370beb230a35f00b7d07c50ab95f8777662a0c6
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Perform derived-to-base conversion on explicit object parameter in lambda (#89828)

Consider this code:
```c++
template <typename... Ts>
struct Overloaded : Ts... { using Ts::operator()...; };

template <typename... Ts>
Overloaded(Ts...) -> Overloaded<Ts...>;

void f() {
  int x;
  Overloaded o {
    [&](this auto& self) {
      return &x;
    }
  };
  o();
}
```

To access `x` in the lambda, we need to perform derived-to-base
conversion on `self` (since the type of `self` is not the lambda type,
but rather `Overloaded<(lambda type)>`). We were previously missing this
step, causing us to attempt to load the entire lambda (as the base
class, it would end up being the ‘field’ with index `0` here), which
would then assert later on in codegen.

Moreover, this is only valid in the first place if there is a unique and
publicly accessible cast path from the derived class to the lambda’s
type, so this also adds a check in Sema to diagnose problematic
cases.

This fixes #87210 and fixes #89541.


  Commit: 9329b20d5d906c59f7d21ac013b908930d496374
      https://github.com/llvm/llvm-project/commit/9329b20d5d906c59f7d21ac013b908930d496374
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir

  Log Message:
  -----------
  [mlir][TilingInterface] Allow multiple results in PartialReductionOpInterface (#92624)

This patch adds support for reducing operations with multiple results
using PartialReductionOpInterface. Also adds an implementation of
PartialReductionOpInterface for multiple results for linalg.generic.


  Commit: da88e7fbd74cef33411bb5115f20e4b474d2d8b1
      https://github.com/llvm/llvm-project/commit/da88e7fbd74cef33411bb5115f20e4b474d2d8b1
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

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

  Log Message:
  -----------
  [Clang] Remove parameter that shouldn't be there (#93086)

The parameter of `getAddress()` was not being used, as I recall, and
seems to have been removed in the meantime. Merging this w/o review
since this is breaking builds.


  Commit: 8baf96f3060bc26a308b3614feed4117e5299d3c
      https://github.com/llvm/llvm-project/commit/8baf96f3060bc26a308b3614feed4117e5299d3c
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/constantexpr-fneg.c
    M clang/test/CodeGenCXX/cxx11-thread-local.cpp
    M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/Assembler/ConstantExprNoFold.ll
    M llvm/test/Assembler/vector-cmp.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
    M llvm/test/Instrumentation/MemorySanitizer/check-constant-shadow.ll
    M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/bitcast.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/JumpThreading/constant-fold-status.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/SCCP/conditions-ranges.ll
    M llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll

  Log Message:
  -----------
  Revert "[IR] Avoid creating icmp/fcmp constant expressions" (#93087)

Reverts llvm/llvm-project#92885 due to LLDB CI breakages.


  Commit: 0a62a99aa610a7a8cf739208603646bc01b37347
      https://github.com/llvm/llvm-project/commit/0a62a99aa610a7a8cf739208603646bc01b37347
  Author: David Green <david.green at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt-not.ll

  Log Message:
  -----------
  [SelectOpt] Add handling for not conditions. (#92517)

This patch attempts to help the SelectOpt pass detect select groups made
up of conditions and not(conditions). Usually these are canonicalized in
instcombine to remove the not and invert the true/false values, but this
will not happen for Loginal operations, which can be beneficial to
convert if they are part of a larger select group. The handling for
not's are mostly handled in the SelectLike, which can be marked as
Inverted in order to reverse the TrueValue and FalseValue.

This helps fix a regression in fortran minloc constructs, after #84628
helped simplify a loop with branches into a loop with selects.


  Commit: 990bed64fb2df0857471b954f9f9ef0e1a0a8fc4
      https://github.com/llvm/llvm-project/commit/990bed64fb2df0857471b954f9f9ef0e1a0a8fc4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll

  Log Message:
  -----------
  [AMDGPU] New intrinsic llvm.amdgcn.pops.exiting.wave.id (#89612)

This provides access to the special scalar source value
SRC_POPS_EXITING_WAVE_ID on GFX9 and GFX10.


  Commit: f3dc732b3623c86164f9d95f7563f982cecc5558
      https://github.com/llvm/llvm-project/commit/f3dc732b3623c86164f9d95f7563f982cecc5558
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/MCF.h
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT][NFC] Make estimateEdgeCounts a BinaryFunctionPass (#93074)


  Commit: ff3f41deb04c03ba57658776e4e0dc26ef01187d
      https://github.com/llvm/llvm-project/commit/ff3f41deb04c03ba57658776e4e0dc26ef01187d
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p2.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] Implement CWG2398 provisional TTP matching to class templates (#92855)

This solves some ambuguity introduced in P0522 regarding how template
template parameters are partially ordered, and should reduce the
negative impact of enabling `-frelaxed-template-template-args` by
default.

When performing template argument deduction, we extend the provisional
wording introduced in https://github.com/llvm/llvm-project/pull/89807 so
it also covers deduction of class templates.

Given the following example:
```C++
template <class T1, class T2 = float> struct A;
template <class T3> struct B;

template <template <class T4> class TT1, class T5> struct B<TT1<T5>>;   // #1
template <class T6, class T7>                      struct B<A<T6, T7>>; // #2

template struct B<A<int>>;
```
Prior to P0522, `#2` was picked. Afterwards, this became ambiguous. This
patch restores the pre-P0522 behavior, `#2` is picked again.

This has the beneficial side effect of making the following code valid:
```C++
template<class T, class U> struct A {};
A<int, float> v;
template<template<class> class TT> void f(TT<int>);

// OK: TT picks 'float' as the default argument for the second parameter.
void g() { f(v); }
```

---

Since this changes provisional implementation of CWG2398 which has not
been released yet, and already contains a changelog entry, we don't
provide a changelog entry here.


  Commit: 47ed2bfa711efe85b1149c3800f9c66fdc83ae70
      https://github.com/llvm/llvm-project/commit/47ed2bfa711efe85b1149c3800f9c66fdc83ae70
  Author: dpalermo <dan.palermo at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  [flang] cmake fix for FLANG_RUNTIME_F128_MATH_LIB build (#93054)

Remove an extra '-D' in the call to add_compile_definitions. The extra
-D causes -D-DFLANG_RUNTIME_F128_MATH_LIB=libquadmath to appear in
compile options which results in a compilation failure. This occurs only
on systems using cmake versions 3.22.1 or 3.24.3. Using cmake 3.28.1
seems to automatically remove the duplicate -D.

Fixes https://github.com/llvm/llvm-project/pull/81971


  Commit: bd3f5a4bd3d9d7ee8ae801c24c5081073b20abd4
      https://github.com/llvm/llvm-project/commit/bd3f5a4bd3d9d7ee8ae801c24c5081073b20abd4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M libcxx/include/__algorithm/pstl_copy.h
    M libcxx/include/__algorithm/pstl_count.h
    M libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/__algorithm/pstl_fill.h
    M libcxx/include/__algorithm/pstl_find.h
    M libcxx/include/__algorithm/pstl_generate.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/pstl_merge.h
    M libcxx/include/__algorithm/pstl_replace.h
    M libcxx/include/__algorithm/pstl_sort.h
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
    A libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Improve exception handling (#88998)

There were various places where we incorrectly handled exceptions in the
PSTL. Typical issues were missing `noexcept` and taking iterators by
value instead of by reference.

This patch fixes those inconsistent and incorrect instances, and adds
proper tests for all of those. Note that the previous tests were often
incorrectly turned into no-ops by the compiler due to copy ellision,
which doesn't happen with these new tests.


  Commit: d635b860f3d660b1b31692a231284afe47a9c8a2
      https://github.com/llvm/llvm-project/commit/d635b860f3d660b1b31692a231284afe47a9c8a2
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    A mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir

  Log Message:
  -----------
  [mlir][mesh] Insert resharding during sharding propagation (#84514)

If there are conflicts between the sharding annotations of some op,
insert resharding.
Make the Spmdization pass more forgiving to allow for more than 2
chained `mesh.shard` ops.

Implement `getReductionLoopIteratorKinds` in ShardingInterface for
linalg ops.


  Commit: 6de14c61e40aa12b85d97bdd91e037a2def824d2
      https://github.com/llvm/llvm-project/commit/6de14c61e40aa12b85d97bdd91e037a2def824d2
  Author: Miguel Saldivar <miguel.saldivar at hpe.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-pr92779.ll

  Log Message:
  -----------
  [AArch64][SVE2] UZP should only have one result (#93041)

`UZP1` and `UZP2` are only expecting one result value, so this `getNode`
call should be updated to match that.

This is in response to #92779.


  Commit: 25b65be43df56c1b7bea3fe2596fb36c2788d7af
      https://github.com/llvm/llvm-project/commit/25b65be43df56c1b7bea3fe2596fb36c2788d7af
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/loop-strength-reduce-loop-invar.ll

  Log Message:
  -----------
  [RISCV][LSR] Account for temporary register for base addition (#92296)

An LSR formula may require the addition of multiple base or scale
registers, this sum reduction requires a temporary register to perform.
Since the formulas are independent, we only need one temporary,
regardless of the number of unique formula. Each formula can reuse the
same temporary. A later CSE pass may come along and combine
sub-expressions - but then the register pressure would be that passes
problem to consider.

This change fixes up the costing in the RISCV specific way, but this is
really a generic LSR problem. I just didn't feel like fighting with LSR
and dealing with all the various targets swinging slightly in hard to
reason about ways. This problem is more pronounced on RISCV than any
other target due to our lack of addressing modes.

This change is not hugely important on it's own, but I have an upcoming
change to add support fo shNadd in LSR which biases us fairly strongly
towards adding more "base adds". Without this change, we see net
regression due to the increase in register pressure which is not
accounted for.


  Commit: 848bef5d8549cdc79bb0eb3c5a8e0495e432b577
      https://github.com/llvm/llvm-project/commit/848bef5d8549cdc79bb0eb3c5a8e0495e432b577
  Author: Chinmay Deshpande <chinmay1dd at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/lib/MCA/InstrBuilder.cpp
    A llvm/test/tools/llvm-mca/X86/call-latency.s
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
    M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp

  Log Message:
  -----------
  [llvm-mca] Add command line option -call-latency (#92958)

Currently we assume a constant latency of 100 cycles for call
instructions. This commit allows the user to specify a custom value for
the same as a command line argument. Default latency is set to 100.


  Commit: 1529ec085a31e60fa4de0bed27a5ba88b1a7d7fa
      https://github.com/llvm/llvm-project/commit/1529ec085a31e60fa4de0bed27a5ba88b1a7d7fa
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Move out PrintProgramStats from Profile into Rewrite (#93075)

Eliminate the dependence of Profile on Passes.

Test Plan: NFC


  Commit: c93a67038dcc1adeafa74e105fba02714732097a
      https://github.com/llvm/llvm-project/commit/c93a67038dcc1adeafa74e105fba02714732097a
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-22 (Wed, 22 May 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:
  -----------
  Revert "[lldb] Added Debuginfod tests and fixed a couple issues" (#93094)

Reverts llvm/llvm-project#92572 due to Fuchsia CI breakages (using CLI
tools in tests that weren't necessarily built).


  Commit: a79acb0ce56422aeaadf82b8eeb5001108c23f94
      https://github.com/llvm/llvm-project/commit/a79acb0ce56422aeaadf82b8eeb5001108c23f94
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Fix setHasSymbolsWithFileName (#92625)

The function is used to ignore the parameter and set
`HasSymbolsWithFileName` unconditionally.


  Commit: 3061fed2f05cde574c84a26c702b1e7932fa4d7e
      https://github.com/llvm/llvm-project/commit/3061fed2f05cde574c84a26c702b1e7932fa4d7e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h

  Log Message:
  -----------
  [BOLT][NFC] Simplify FuncHashesTy (#91815)

Make EntryTy a thin wrapper struct.


  Commit: 0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600
      https://github.com/llvm/llvm-project/commit/0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests on windows 3/n (#93070)

Enables copying, copyprivate, critical, and a few other tests


  Commit: c98a79939234e41f5b95ddfa1651c732daa10cda
      https://github.com/llvm/llvm-project/commit/c98a79939234e41f5b95ddfa1651c732daa10cda
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp

  Log Message:
  -----------
  NFC: DebugInfo: use early return to reduce indentation


  Commit: bdbf927a838e1b23982987febc0945a9f9a3acf0
      https://github.com/llvm/llvm-project/commit/bdbf927a838e1b23982987febc0945a9f9a3acf0
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    A flang/test/Lower/Intrinsics/selected_logical_kind.f90

  Log Message:
  -----------
  [flang] Lower selected_logical_kind to its runtime call (#93091)

Runtime support has been added in #89691. This patch adds lowering in a
similar way than `selected_int_kind` and `selected_real_kind`.


  Commit: 66db7c609cebb8aa7db17f83fbc9f79be0cd5af1
      https://github.com/llvm/llvm-project/commit/66db7c609cebb8aa7db17f83fbc9f79be0cd5af1
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    A flang/test/Lower/Intrinsics/selected_char_kind.f90

  Log Message:
  -----------
  [flang] Lower selected_char_kind to runtime call (#93095)

Runtime support has been added in
https://github.com/llvm/llvm-project/pull/89691. This patch adds
lowering in a similar way than `selected_int_kind`, `selected_real_kind`
and `selected_logical_kind` added in #93091.

Some gfortran tests can be enabled after this patch is landed.

- `Fortran/gfortran/regression/selected_char_kind_1.f90`
- `Fortran/gfortran/regression/selected_char_kind_4.f90`


  Commit: ab29203e465aefc158eb718cbb478edae1535db6
      https://github.com/llvm/llvm-project/commit/ab29203e465aefc158eb718cbb478edae1535db6
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/test/Dialect/Polynomial/ops.mlir

  Log Message:
  -----------
  [mlir][polynomial] use typed attributes for polynomial.constant op (#92818)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: bd5c6367bd79c01665ff8ab9848afbf5b1249ce6
      https://github.com/llvm/llvm-project/commit/bd5c6367bd79c01665ff8ab9848afbf5b1249ce6
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/test/DebugInfo/X86/debug-names-types.ll

  Log Message:
  -----------
  DWARF: debug_names: Don't emit entries for skeleton type units

When a type unit is emitted, the CU referencing the type unit ends up
with a little DW_TAG_*_type with the DW_AT_signature and
DW_AT_declaration sometimes referred to (by me? maybe other people?) as
a skeleton type.

We shouldn't produce .debug_names reference to these - only to the
actual type definition in the type unit. So this patch does that.

But, inversely, the .debug_gnu_pubtypes /does/ need to reference the
skeleton type (& gcc does this too, when it produces a skeleton type
(gcc doesn't always produce these - if the type is only referenced once
via DW_AT_type, gcc uses a direct DW_FORM_ref_sig8 on the DW_AT_type
without the intermediate skeleton type)) - so there's a little special
case added in to preserve that behavior which is covered by existing
tests.


  Commit: e53c53559bb6ca6d69b9c0f45988e33fd0cefb6e
      https://github.com/llvm/llvm-project/commit/e53c53559bb6ca6d69b9c0f45988e33fd0cefb6e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lld/test/ELF/compress-debug-sections-zstd.s
    M lld/test/ELF/compress-sections-special.s
    M lld/test/ELF/compress-sections.s
    M lld/test/ELF/compressed-debug-level.test
    M lld/test/ELF/linkerscript/compress-debug-sections.s
    M lld/test/ELF/linkerscript/compress-sections.s

  Log Message:
  -----------
  [ELF,test] Improve --compress-debug-sections/--compress-sections tests

Make sections larger so that compressed content will be smaller than
uncompressed content. Add a few dedicated tests where compressed content
is larger.


  Commit: cfa97699f76761f25c4c4b686a503466c427afce
      https://github.com/llvm/llvm-project/commit/cfa97699f76761f25c4c4b686a503466c427afce
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/compress-debug-sections-zstd.s
    M lld/test/ELF/compress-sections.s

  Log Message:
  -----------
  [ELF] Retain uncompressed if compressed content is larger

--compress-debug-sections in GNU ld, gas, and LLVM integrated assembler
retain the uncompressed content if the compressed content is larger.

This patch also updates the manpage (-O2 does not enable zlib level 6)
and fixes a crash of --compress-sections when the uncompressed section
is empty.


  Commit: 7c937df05b7c636287e6058bb2e700618ff57c2f
      https://github.com/llvm/llvm-project/commit/7c937df05b7c636287e6058bb2e700618ff57c2f
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/lib/CodeGen/ValueTypes.cpp

  Log Message:
  -----------
  [CodeGen] Forbid passing a PointerType to MVT::getVT and EVT::getEVT (#92671)

There is the expectation throughout CodeGen that, for types representing
"real" values, the MVT or EVT is self-contained. However, MVT::iPTR is
challenging, because it has no address space, and even if it did, there
often is no DataLayout immediately accessible to determine what actually
is the underlying type.

Historically it was documented as being TableGen-only, but that was lost
in 631bfdbee5b45eda9f99dff6a716d63c5698e4bd's conversion to using the
generated defines. Let's preserve that intent by not allowing it to
originate through accidental calls to get(E)VT with a PointerType. If
you need to support that, be sure to use something like TargetLowering's
getValueType, which takes a DataLayout and can map pointers to their
concrete MVTs. Whilst here, reintroduce documentation about these value
types being TableGen-only.


  Commit: 465bfd41fa27383d93521a31458e6496ebfc590d
      https://github.com/llvm/llvm-project/commit/465bfd41fa27383d93521a31458e6496ebfc590d
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify BBHashMapTy (#91812)


  Commit: bc0cdefffe621af7d79eb637f570297752d215c8
      https://github.com/llvm/llvm-project/commit/bc0cdefffe621af7d79eb637f570297752d215c8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp

  Log Message:
  -----------
  [mlir] Fix warnings

This patch fixes:

  mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp:73:27:
  error: unused function 'operator<<' [-Werror,-Wunused-function]

  mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp:97:27:
  error: unused function 'operator<<' [-Werror,-Wunused-function]


  Commit: f049d72ac2bcc40fd91d4e95148658021fb24bf1
      https://github.com/llvm/llvm-project/commit/f049d72ac2bcc40fd91d4e95148658021fb24bf1
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#92527)

This PR reapply https://github.com/llvm/llvm-project/pull/87933

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: b91b8fea8c58e9b414e291df677b12ca44197784
      https://github.com/llvm/llvm-project/commit/b91b8fea8c58e9b414e291df677b12ca44197784
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp

  Log Message:
  -----------
  [asan][windows] Further relax how deep in the callstack main can be in some asan tests (#92329)

This is needed because there will be an extra layer of wrapper when
linking to the static-CRT after the static asan runtime is removed by
#81677.


  Commit: 5ae8567640e495296acc0e20c966548aec401119
      https://github.com/llvm/llvm-project/commit/5ae8567640e495296acc0e20c966548aec401119
  Author: Ayke <aykevanlaethem at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lld/ELF/Arch/AVR.cpp
    M lld/test/ELF/avr-reloc-error.s
    M lld/test/ELF/avr-reloc.s

  Log Message:
  -----------
  Fix R_AVR_7_PCREL and R_AVR_13_PCREL range checking (#92695)

Fix incorrect range check of R_AVR_7_PCREL. R_AVR_7_PCREL has 7 bits
available, but it works in instruction words and the actual range is [-128, 126].

Disable range check of R_AVR_13_PCREL. This matches the behavior of avr-ld,
and is needed for devices like the ATtiny85 which only have rjmp/rcall but have
8KiB flash memory.


  Commit: 282d2ab58f56c89510f810a43d4569824a90c538
      https://github.com/llvm/llvm-project/commit/282d2ab58f56c89510f810a43d4569824a90c538
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    R clang/lib/Headers/avx512erintrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Sema/SemaChecking.cpp
    R clang/test/CodeGen/X86/avx512er-builtins.c
    R clang/test/CodeGen/X86/avx512pf-builtins.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/function-target-features.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/builtins-x86.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
    R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
    M llvm/test/CodeGen/X86/crc32-target-feature.ll
    M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll

  Log Message:
  -----------
  [X86] Remove knl/knm specific ISAs supports (#92883)

Cont. patch after https://github.com/llvm/llvm-project/pull/75580


  Commit: aa4069ea96e5eb62bc8c7895b9d920f129611b3a
      https://github.com/llvm/llvm-project/commit/aa4069ea96e5eb62bc8c7895b9d920f129611b3a
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx512erintrin.h
    A clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/X86/avx512er-builtins.c
    A clang/test/CodeGen/X86/avx512pf-builtins.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/function-target-features.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/builtins-x86.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
    A llvm/test/CodeGen/X86/avx512er-intrinsics.ll
    M llvm/test/CodeGen/X86/crc32-target-feature.ll
    M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll

  Log Message:
  -----------
  Revert "[X86] Remove knl/knm specific ISAs supports (#92883)" (#93123)

This reverts commit 282d2ab58f56c89510f810a43d4569824a90c538.


  Commit: 2375921d6734016c9079727f798c5585653e858c
      https://github.com/llvm/llvm-project/commit/2375921d6734016c9079727f798c5585653e858c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [ProfileData] Use default member initializations (NFC) (#93120)

This patch uses default member initializations for all the fields in
Header.  The intent is to prevent accidental uninitialized fields and
reduce the number of times we need to mention each member variable.


  Commit: beac910c3bfcbf1395f2617874350ee59bc61289
      https://github.com/llvm/llvm-project/commit/beac910c3bfcbf1395f2617874350ee59bc61289
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [nfc][InstrProfWriter]Wrap vtable writes in a method. (#93081)

- This way `InstrProfWriter::writeImpl` itself is simpler.


  Commit: 896bceb9537ecd906668fdd2bcb0310b32174917
      https://github.com/llvm/llvm-project/commit/896bceb9537ecd906668fdd2bcb0310b32174917
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/mcdc-scratch-space.c

  Log Message:
  -----------
  [MC/DC][Coverage] Add assertions into emitSourceRegions() (#89572)

`emitSourceRegions()` has bugs to emit malformed MC/DC coverage
mappings. They were detected in `llvm-cov` as the crash.

Detect inconsistencies earlier in `clang` with assertions.

* mcdc-scratch-space.c covers #87000.


  Commit: 7f5c71efc441083282a5365d245acfe6afcd0dd5
      https://github.com/llvm/llvm-project/commit/7f5c71efc441083282a5365d245acfe6afcd0dd5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  InterleavedLoadCombine: Correctly query PM for TargetTransformInfo (#93103)


  Commit: 5ec91b392d7ea7991052892c79e0b315ab54f3c4
      https://github.com/llvm/llvm-project/commit/5ec91b392d7ea7991052892c79e0b315ab54f3c4
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/norecurse.ll

  Log Message:
  -----------
  [AttributorLight] Without liveness checks, look at all functions (#91004)


  Commit: ca478bc6cc0e5a5ca6c973772d39404571255a84
      https://github.com/llvm/llvm-project/commit/ca478bc6cc0e5a5ca6c973772d39404571255a84
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/CodeGen/PowerPC/ctrloop-le.ll
    M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll

  Log Message:
  -----------
  [SCEV] Support ule/sle exit counts via widening (#92206)

If we have an exit condition of the form IV <= Limit, we will first try
to convert it into IV < Limit+1 or IV-1 < Limit based on range info (in
icmp simplification). If that fails, we try to convert it to IV < Limit
+ 1 based on controlling exits in non-infinite loops.

However, if all else fails, we can still determine the exit count by
rewriting to ext(IV) < ext(Limit) + 1, where the zero/sign extension
ensures that the addition does not overflow.

Proof: https://alive2.llvm.org/ce/z/iR-iYd


  Commit: f64732195c1030ee2627ff4e4142038e01df1d26
      https://github.com/llvm/llvm-project/commit/f64732195c1030ee2627ff4e4142038e01df1d26
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/read-write-scc.ll
    M llvm/test/Transforms/FunctionAttrs/willreturn.ll

  Log Message:
  -----------
  [FunctionAttrs] Regenerate test checks (NFC)


  Commit: 58ddf3a0c6b6bbdf682ef3421d05e846a6e00527
      https://github.com/llvm/llvm-project/commit/58ddf3a0c6b6bbdf682ef3421d05e846a6e00527
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Fix filecheck notation and the test (#93026)


  Commit: af6812085cc7a7251a3095acbc96343ce660f135
      https://github.com/llvm/llvm-project/commit/af6812085cc7a7251a3095acbc96343ce660f135
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix initializing a union from an InitLIstExpr

We can't just count the field to initialize but need to consult the
InitListExpr to give us the right field.


  Commit: 7aa382fd7257d9bd4f7fc50bb7078a3c26a1628c
      https://github.com/llvm/llvm-project/commit/7aa382fd7257d9bd4f7fc50bb7078a3c26a1628c
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s

  Log Message:
  -----------
  [RISCV] Zicfilp implies Zicsr. (#93143)

The Zicfilp extension depends on the Zicsr extension.
Ref: https://github.com/riscv/riscv-cfi/blob/main/src/cfi_forward.adoc


  Commit: d81170873c004fc694bf4b6f91aabe74963a7845
      https://github.com/llvm/llvm-project/commit/d81170873c004fc694bf4b6f91aabe74963a7845
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll

  Log Message:
  -----------
  AtomicExpand: Preserve metadata when expanding partword RMW (#89769)

This will be important for AMDGPU in a future patch.


  Commit: 781b13538e55a42b2d02bb4d21779f15ff8a640c
      https://github.com/llvm/llvm-project/commit/781b13538e55a42b2d02bb4d21779f15ff8a640c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaX86.h
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/lib/Sema/SemaX86.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaX86` (#93098)

This patch moves `Sema` functions that are specific for x86 into the new
`SemaX86` class. This continues previous efforts to split `Sema` up.
Additional context can be found in #84184 and #92682.


  Commit: 4c48b3cb5c681b34345e0dffe920649a5c26aaf4
      https://github.com/llvm/llvm-project/commit/4c48b3cb5c681b34345e0dffe920649a5c26aaf4
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/pr58431.ll

  Log Message:
  -----------
  [GISel][CombinerHelper] Push freeze through non-poison-producing operands (#90618)

This combine matches the existing fold in InstCombine, i.e.
InstCombinerImpl::pushFreezeToPreventPoisonFromPropagating.

It tries to push freeze through an operand if the operand has only one
maybe-poison operand and all other operands are guaranteed non-poison,
and if the operation itself cannot generate poison (eg. add with nsw can
generate poison, even with non-poison operands).

This is beneficial because it can potentially enable other optimizations
to occur that would otherwise be blocked because of the freeze.


  Commit: 1a2a0c0dc9aab6f440033f36ff2323685080f46a
      https://github.com/llvm/llvm-project/commit/1a2a0c0dc9aab6f440033f36ff2323685080f46a
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A offload/test/offloading/fortran/dump_map_tables.f90

  Log Message:
  -----------
  Fixing the location attribute added to mapInfoOp (#90764)

Named location attribute added to `tgt_offload_entry` shall be used by
runtime calls like `ompx_dump_mapping_tables` to print the information
of variables that are mapped to the device. `ompx_dump_mapping_tables`
was printing the wrong location information and this change fixes it.

A sample execution of example before the change:
```
omptarget device 0 info: OpenMP Host-Device pointer mappings after block at libomptarget:0:0:

omptarget device 0 info: Host Ptr           Target Ptr         Size (B) DynRefCount HoldRefCount Declaration

omptarget device 0 info: 0x0000000000206df0 0x00007f02cdc00000 20000000 1           0            <program-file-loc> at unknown:18:35
```

The change replaces unknown to the mapped symbol and location to the
declaration location.


  Commit: 951b13d9a7220d761b1ee0dc09a50b635692ecf8
      https://github.com/llvm/llvm-project/commit/951b13d9a7220d761b1ee0dc09a50b635692ecf8
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Save IsUnion bit for Records

Now that we call this more often, try to keep pointer chasing to a
minimum.


  Commit: 335e00faaf74f3f7463b32a415d39af0973f521f
      https://github.com/llvm/llvm-project/commit/335e00faaf74f3f7463b32a415d39af0973f521f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add another union test case


  Commit: 4cc6d0f4dfb26deb9863901c70258d6d7f0c8ba4
      https://github.com/llvm/llvm-project/commit/4cc6d0f4dfb26deb9863901c70258d6d7f0c8ba4
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

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

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

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

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

This just re-lands #70392 after fixing test failures.

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


  Commit: 8f50bcaadced3041a6a132286e3b62ad6fd9cf74
      https://github.com/llvm/llvm-project/commit/8f50bcaadced3041a6a132286e3b62ad6fd9cf74
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 781b13538e55


  Commit: ae3f68066c8f282145435880107c1d3dc26ec3b8
      https://github.com/llvm/llvm-project/commit/ae3f68066c8f282145435880107c1d3dc26ec3b8
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

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

Reverts llvm/llvm-project#93149 since it breaks
https://lab.llvm.org/buildbot/#/builders/68/builds/74799


  Commit: bf4d99e16789dd711eb61b36ce92b8519f450dd5
      https://github.com/llvm/llvm-project/commit/bf4d99e16789dd711eb61b36ce92b8519f450dd5
  Author: Mubashar Ahmad <mubashar.ahmad at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][vector] Add deinterleave operation to vector dialect (#92409)

The deinterleave operation constructs two vectors from a single input
vector. The first result vector contains the elements from even indexes
of the input, and the second contains elements from odd indexes. This is
the inverse of a `vector.interleave` operation.

Each output's trailing dimension is half of the size of the input
vector's trailing dimension. This operation requires the input vector
to have a rank > 0 and an even number of elements in its trailing
dimension.

The operation supports scalable vectors.

Example:
```mlir
%0, %1 = vector.deinterleave %a
           : vector<8xi8> -> vector<4xi8>
%2, %3 = vector.deinterleave %b
           : vector<2x8xi8> -> vector<2x4xi8>
%4, %5 = vector.deinterleave %c
           : vector<2x8x4xi8> -> vector<2x8x2xi8>
%6, %7 = vector.deinterleave %d
           : vector<[8]xf32> -> vector<[4]xf32>
%8, %9 = vector.deinterleave %e
           : vector<2x[6]xf64> -> vector<2x[3]xf64>
%10, %11 = vector.deinterleave %f
           : vector<2x4x[6]xf64> -> vector<2x4x[3]xf64>
```


  Commit: 8930ba98e01bc66949e482b396f8389d64388359
      https://github.com/llvm/llvm-project/commit/8930ba98e01bc66949e482b396f8389d64388359
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CodeGenCXX/fmv-namespace.cpp
    A clang/test/Sema/fmv-namespace.cpp

  Log Message:
  -----------
  [clang][FMV] Allow declaration of function versions in namespaces. (#93044)

Fixes the following bug:

namespace Name {
int __attribute((target_version("default"))) foo() { return 0; }
}

namespace Name {
int __attribute((target_version("sve"))) foo() { return 1; }
}

int bar() { return Name::foo(); }

error: redefinition of 'foo'
  int __attribute((target_version("sve"))) foo() { return 1; }

note: previous definition is here
  int __attribute((target_version("default"))) foo() { return 0; }

While fixing this I also found that in the absence of default version
declaration, the one we implicitly create has incorrect mangling if
we are in a namespace:

namespace OtherName {
int __attribute((target_version("sve"))) foo() { return 2; }
}

int baz() { return OtherName::foo(); }

In this example instead of creating a declaration for the symbol
@_ZN9OtherName3fooEv.default we are creating one for the symbol
@_Z3foov.default (the namespace mangling prefix is omitted).
This has now been fixed.


  Commit: a2824632cba8e7d98a5cbf9acb3ca5d9960c95cb
      https://github.com/llvm/llvm-project/commit/a2824632cba8e7d98a5cbf9acb3ca5d9960c95cb
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/invalid_abbreviation.s

  Log Message:
  -----------
  [lldb/DWARF] Make sure bad abbreviation codes do not crash lldb (#93006)

We currently cannot represent abbreviation codes with more than 16 bits,
and we were lldb-asserting if we ever ran into one. While I haven't seen
any real DWARF with these kinds of abbreviations, it is possible to hit
this with handcrafted evil dwarf, due some sort of corruptions, or just
bugs (the addition of PeekDIEName makes these bugs more likely, as the
function blindly dereferences offsets within the debug info section) .

Missing abbreviations were already reporting an error. This patch turns
sure that large abbreviations into an error as well, and adds a test for
both cases.


  Commit: 8a3537bfefa295e12ddbdb59cb8f76281ce302a0
      https://github.com/llvm/llvm-project/commit/8a3537bfefa295e12ddbdb59cb8f76281ce302a0
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    A llvm/test/CodeGen/X86/misched-critical-path.ll

  Log Message:
  -----------
  [llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#93001)

Patch co-authored by AtariDreams (gfunni234 at gmail.com).

Fixes #38037.

[AMDGPU] Update test results to fix build (#92982)


  Commit: 44086133c53599c3aaa7f93426bffdc2ef6cb42a
      https://github.com/llvm/llvm-project/commit/44086133c53599c3aaa7f93426bffdc2ef6cb42a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp

  Log Message:
  -----------
  [flang][HLFIR][NFC] Reduce intrinsic lowering pass boilerplate (#93062)

The pass constructor can be generated automatically.

This pass is module-level and then runs on all relevant intrinsic
operations inside of the module, no matter what top level operation they
are inside of.


  Commit: f81da75693fff6c2ffefbb3883e08f11b21ee643
      https://github.com/llvm/llvm-project/commit/f81da75693fff6c2ffefbb3883e08f11b21ee643
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64] Use __clang_arm_builtin_alias for overloaded svreinterpret's (#92427)

The intrinsics are currently defined as:

```
  __aio __attribute__((target("sve")))
  svint8_t svreinterpret_s8(svuint8_t op) __arm_streaming_compatible {
    return __builtin_sve_reinterpret_s8_u8(op);
  }
```

which doesn't work when calling it from an __arm_streaming function when
only +sme is available. By defining it in the same way as we've defined
all the other intrinsics, we can leave it to the code in SemaChecking to
verify that either +sve or +sme is available.

This PR also fixes the target guards for the svreinterpret_c and
svreinterpret_b intrinsics, that convert between svcount_t and svbool_t,
as these are available both in SME2 and SVE2p1.


  Commit: 10dc3a8e916d73291269e5e2b82dd22681489aa1
      https://github.com/llvm/llvm-project/commit/10dc3a8e916d73291269e5e2b82dd22681489aa1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix empty InitListExprs for unions

We still need to handle Inits.size() == 0, but we can do that earlier.


  Commit: 5e06050efdaa36bc63987b0e15c30b3cf358e70c
      https://github.com/llvm/llvm-project/commit/5e06050efdaa36bc63987b0e15c30b3cf358e70c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    A llvm/test/Transforms/SCCP/range-with-undef.ll

  Log Message:
  -----------
  [SCCP] Add tests for #93096 (NFC)


  Commit: 45a95c3c543c88a669cffd3f7ee2a1b7e02b44e8
      https://github.com/llvm/llvm-project/commit/45a95c3c543c88a669cffd3f7ee2a1b7e02b44e8
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix DeclRefExprs of void-typed dummy pointers


  Commit: 4d9e7b14e45120557e57da2f00f6d23cf122dd95
      https://github.com/llvm/llvm-project/commit/4d9e7b14e45120557e57da2f00f6d23cf122dd95
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py

  Log Message:
  -----------
  [lldb][Windows] Fixed the TestBreakpointCommand test (#93122)

The TestBreakpointCommand test is incorrectly disabled for Windows
target. We can disable it for Windows host instead or just fix the
issue. This patch fixes the path separator in
BreakpointResolverFileLine::DeduceSourceMapping() and the Windows
specific absolute path in the test in case of the Windows host.


  Commit: e37da2cef7ea44f6aa52dd37978b287a0741c39f
      https://github.com/llvm/llvm-project/commit/e37da2cef7ea44f6aa52dd37978b287a0741c39f
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/thread/exit_during_expression/main.c

  Log Message:
  -----------
  [lldb] Fixed the TestExitDuringExpression test in case of a remote target (#93119)

Sometimes this test failed on the assert `The thread exited` in case of
a remote target. Increase the timeout to 1 second to avoid a racing
condition.


  Commit: aefd2572a504d675ef623d2f3d61364232b19f26
      https://github.com/llvm/llvm-project/commit/aefd2572a504d675ef623d2f3d61364232b19f26
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/abds-vector-128.ll
    M llvm/test/CodeGen/X86/abds-vector-256.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/abdu-vector-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll

  Log Message:
  -----------
  [DAG][X86] expandABD - add branchless abds/abdu expansion for 0/-1 comparison result cases (#92780)

If the comparison results are allbits masks, we can expand as `abd(lhs, rhs) -> sub(cmpgt(lhs, rhs), xor(sub(lhs, rhs), cmpgt(lhs, rhs)))`, replacing a sub+sub+select pattern with the simpler sub+xor+sub pattern.

This allows us to remove a lot of X86 specific legalization code, and will be useful in future generic expansion for the legalization work in #92576

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


  Commit: 7c137f7e510c0fcc1bfa46f8c85063c2a2b190dd
      https://github.com/llvm/llvm-project/commit/7c137f7e510c0fcc1bfa46f8c85063c2a2b190dd
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir

  Log Message:
  -----------
  [mlir][nvvm] Remove unused check-ptx (#93147)

The test used the check generated ptx with `CHECK-PTX`, but does not
check that anymore. The PR removes these lines.


  Commit: 31f1590e4fb324c43dc36199587c453e27b6f6fa
      https://github.com/llvm/llvm-project/commit/31f1590e4fb324c43dc36199587c453e27b6f6fa
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    A llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll

  Log Message:
  -----------
  [Coroutines] Always set the calling convention of generated resuming call from 'llvm.coro.await.suspend.handle' as fast

See the post commit message in
https://github.com/llvm/llvm-project/pull/89751

We met a regression due to a change of calling convention of this patch.
Previously, the calling convention of indirect resume calls is always
fast.

And in this patch, although we tried to take care of it in the cloner,
we forget the case that we have to update the resuming calls in the
ramp functions. So this is the root cause of the downstream failure.

This patch tries to mark the generated resuming calls as fast
immediately after they got created to make sure the calling convention
is correct.


  Commit: d7c37130008374341e79c355ad85cc48942136ff
      https://github.com/llvm/llvm-project/commit/d7c37130008374341e79c355ad85cc48942136ff
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    A llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [AMDGPU] Add AMDGPU-specific module splitting (#89245)

This enables the --lto-partitions option to work more consistently.

This module splitting logic is fully aware of AMDGPU modules and their
specificities and takes advantage of
them to split modules in a way that avoids compilation issue (such as
resource usage being incorrectly represented).

This also includes a logging system that's more elaborate than just
LLVM_DEBUG which allows
printing logs to uniquely named files, and optionally with all value
names hidden so they can be safely shared without leaking informatiton
about the source. Logs can also be enabled through an environment
variable, which avoids the sometimes complicated process of passing a
-mllvm option all the way from clang driver to the offload linker that
handles full LTO codegen.


  Commit: 8d4d85de1eeb23bc13a51bffbc12d9f158ca1921
      https://github.com/llvm/llvm-project/commit/8d4d85de1eeb23bc13a51bffbc12d9f158ca1921
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    R llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll

  Log Message:
  -----------
  Revert "[Coroutines] Always set the calling convention of generated resuming call from 'llvm.coro.await.suspend.handle' as fast"

This reverts commit 31f1590e4fb324c43dc36199587c453e27b6f6fa.

It looks like some bots are not happy about the FileChecks


  Commit: 6552af196812bfad22a8bec4d2cae3d51a84b1e4
      https://github.com/llvm/llvm-project/commit/6552af196812bfad22a8bec4d2cae3d51a84b1e4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

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


  Commit: 3c23047413957024294872e38c27707c71d05805
      https://github.com/llvm/llvm-project/commit/3c23047413957024294872e38c27707c71d05805
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
    R clang/test/Analysis/cert/pos34-c-fp-suppression.cpp
    R clang/test/Analysis/cert/pos34-c.cpp
    A clang/test/Analysis/putenv-stack-array.c

  Log Message:
  -----------
  [clang][analyzer] Move checker 'cert.pos.34c' (in alpha.security) into 'PutenvStackArray' (#92424)

The "cert" package looks not useful and the checker has not a meaningful name with the old naming scheme.
Additionally tests and documentation is updated.


  Commit: 964079d6501af7073e4420a221511b3067130ac4
      https://github.com/llvm/llvm-project/commit/964079d6501af7073e4420a221511b3067130ac4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3c2304741395


  Commit: b6468766f73e7a294fce71da60b9ec90f3900281
      https://github.com/llvm/llvm-project/commit/b6468766f73e7a294fce71da60b9ec90f3900281
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [LAA] refactor program logic (NFC) (#92101)

Implement NFC improvements spotted during a cursory reading of
LoopAccessAnalysis.


  Commit: 1d0e8b24001d854a848a3810b90244a6bc94cf03
      https://github.com/llvm/llvm-project/commit/1d0e8b24001d854a848a3810b90244a6bc94cf03
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Remove a no longer needed dummy check

Since we now have type info for dummy pointers, we don't need this
check anymore and can also have the same output for the test case
in records.cpp.


  Commit: 55e5842385ef18eaf7b5b6548413f4ee6f555dfc
      https://github.com/llvm/llvm-project/commit/55e5842385ef18eaf7b5b6548413f4ee6f555dfc
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Remove deprecated omp.reduction (#92732)

This operation did not model the behaviour of reductions in the openmp
standard. It has since been replaced by block arguments on the outer
operation. See https://github.com/llvm/llvm-project/pull/79308 and
https://github.com/llvm/llvm-project/pull/80019


  Commit: 85b9826c34bbefb0bdd42697edfda7d5192c5d1e
      https://github.com/llvm/llvm-project/commit/85b9826c34bbefb0bdd42697edfda7d5192c5d1e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sad.ll

  Log Message:
  -----------
  [AMDGPU] Regenerate sad.ll test checks

Improve test checks for better codegen review of #92576


  Commit: 27f53b266cbfcbc956687be45cb0fdc80667b98e
      https://github.com/llvm/llvm-project/commit/27f53b266cbfcbc956687be45cb0fdc80667b98e
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M offload/test/offloading/dynamic_module.c

  Log Message:
  -----------
  [Offload] Disable flaky test on host-offloading  (#93174)

While we investigate the issue, we disable the test on host-offloading
so the buildbots are back to more useful state.
Issue is tracked: https://github.com/llvm/llvm-project/issues/93173


  Commit: 4e0f8a4919b1920ed715ca19314e6b3e06a70763
      https://github.com/llvm/llvm-project/commit/4e0f8a4919b1920ed715ca19314e6b3e06a70763
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix EXPENSIVE_CHECKS failure in #89612


  Commit: 5b5af52bad647321d19476cea39293802fa3cfd3
      https://github.com/llvm/llvm-project/commit/5b5af52bad647321d19476cea39293802fa3cfd3
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll

  Log Message:
  -----------
  [AArch64] Extend efficient lowering of experimental.cttz.elts (#92114)

This patch extends support for more efficient lowering of the
experimental.cttz.elts intrinsic to fixed-width vector types, by first
creating an SVE predicate register mask from the fixed-width vector.


  Commit: 84729c9df30b29d5f4e903ad71235a6aa0c764d6
      https://github.com/llvm/llvm-project/commit/84729c9df30b29d5f4e903ad71235a6aa0c764d6
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    A clang/test/AST/Interp/objc.mm

  Log Message:
  -----------
  [clang][Interp] Don't diagnose ObjCIvarDecls as invalid reads


  Commit: fbd643fb22607b933a4e129ae86a7334b62c9b55
      https://github.com/llvm/llvm-project/commit/fbd643fb22607b933a4e129ae86a7334b62c9b55
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Don't try to activate root pointers

No inline descriptor means we can't do that.


  Commit: 63a4133912b5b737c75c18c609d711de6f70367f
      https://github.com/llvm/llvm-project/commit/63a4133912b5b737c75c18c609d711de6f70367f
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/test/Integration/debug-complex-1.f90
    A flang/test/Transforms/debug-complex-1.fir

  Log Message:
  -----------
  [flang][debug] Support complex types. (#92559)

This PR adds supports for conversion of complex type to corresponding
DITypeAttr. Both fir and mlir types are supported.

Apart from lit testing, I have also tested the types in debugger and
they work correctly. An exception is 128 bit complex which somehow
requires that its name be different from `complex`. I am going to open a
separate PR to add (kind=n) in the type names similar to what gfortran
does.


  Commit: 7b185719a8bed373b83b92db73eaf8b84af8da72
      https://github.com/llvm/llvm-project/commit/7b185719a8bed373b83b92db73eaf8b84af8da72
  Author: 2LoS <aurumpuro at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M libcxx/include/forward_list
    M libcxx/include/list

  Log Message:
  -----------
  Removed redundant template in '__delete_node()' member function of '__forward_list_base' and '__list_imp' classes. (#84323)


  Commit: 01f143dd39dc14029943dcf6eb2f7bbc2d82d6d4
      https://github.com/llvm/llvm-project/commit/01f143dd39dc14029943dcf6eb2f7bbc2d82d6d4
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/AST/TemplateBase.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp

  Log Message:
  -----------
  [clang] fix printing of canonical template template parameters (#93124)


  Commit: 32c3561d44aa792ef08d72b5a4c342c9965bc4c2
      https://github.com/llvm/llvm-project/commit/32c3561d44aa792ef08d72b5a4c342c9965bc4c2
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lldb/test/API/lang/c/enum_types/TestEnumTypes.py

  Log Message:
  -----------
  [lldb][Test] Escape | chars in enum tests

| is a reserved character in regex.


  Commit: 4feae05c6abda364a9295aecfa600d7d4e7dfeb6
      https://github.com/llvm/llvm-project/commit/4feae05c6abda364a9295aecfa600d7d4e7dfeb6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt
    M lldb/cmake/modules/LLDBConfig.cmake
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  Remove some `try_compile` CMake checks for compiler flags (#92953)

This patch remove 36 checks for compiler flags that are done via
invoking the compiler across LLVM, Clang, and LLDB. It's was made
possible by raising the bar for supported compilers that has been
happening over the years since the checks were added.

This is going to improve CMake configuration times. This topic was
highlighted in
https://discourse.llvm.org/t/cmake-compiler-flag-checks-are-really-slow-ideas-to-speed-them-up/78882.


  Commit: 300e5b91144249a5b142b02d6331fcb33e13cf1d
      https://github.com/llvm/llvm-project/commit/300e5b91144249a5b142b02d6331fcb33e13cf1d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Fix enabling plugins on unsupported platforms (#93186)

Summary:
Certain plugins can only be built on specific platforms. Previously this
didn't cause issues becaues each one was handled independently. However,
now that we link these all directly they need to be in a CMake list.
Furthermore we use this list to generate a config file. For this reason
these checks are moved to where we normalize the support.

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


  Commit: 27392a35ef052aa515f38359de89aced11a4363d
      https://github.com/llvm/llvm-project/commit/27392a35ef052aa515f38359de89aced11a4363d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    M llvm/test/Transforms/SCCP/range-with-undef.ll

  Log Message:
  -----------
  [SCCP] Don't allow undef ranges when performing operations (#93163)

When performing some range operation (e.g. and) on a constant range that
includes undef, we currently just ignore the undef value, which is
obviously incorrect. Instead, we can do one of two things:
 * Say that the result range also includes undef.
 * Treat undef as a full range.

This patch goes with the second approach -- I'd expect it to be a bit
better overall, e.g. it allows preserving the fact that a zext of a
range with undef isn't a full range.

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


  Commit: f06c1ce8603faa343833063e2bb6616536f996a6
      https://github.com/llvm/llvm-project/commit/f06c1ce8603faa343833063e2bb6616536f996a6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll

  Log Message:
  -----------
  AMDGPU: Clean up maximum3/minimum3 tests (#93025)

These were using patterns copied from older tests, before non-kernel
functions were supported and manually written checks. Also stop using
-flat-for-global, which only exists to try to share tests between SI/CI
and VI+.

This was also missing test coverage, we're incorrectly forming
maximum3/minimum3 pre-gfx12. This is a pre-commit before fixing that.


  Commit: 05c154f2bcba34f002b1f0c22c7a9e9614e9d83c
      https://github.com/llvm/llvm-project/commit/05c154f2bcba34f002b1f0c22c7a9e9614e9d83c
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtl.ll

  Log Message:
  -----------
  [SME] Add intrinsics for FCVT(wid.) and FCVTL (#90215)

According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics

```
svfloat32x2_t svcvt_f32[_f16_x2](svfloat16_t zn) __arm_streaming;
svfloat32x2_t svcvtl_f32[_f16_x2](svfloat16_t zn) __arm_streaming;

```
These are available only  if  __ARM_FEATURE_SME_F16F16 is enabled.

---------

Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>


  Commit: 7a1022a3895f51a3c11dd326c47d861575ffaf55
      https://github.com/llvm/llvm-project/commit/7a1022a3895f51a3c11dd326c47d861575ffaf55
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2p1-intrinsics-zero.ll

  Log Message:
  -----------
  [AArch64][SME] Add intrinsics for vector groups ZERO (#88114)

According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics:

```
  void svzero_za64_vg1x2(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg1x4(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg2x1(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg2x2(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg2x4(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg4x1(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg4x2(uint32_t slice)
    __arm_streaming __arm_inout("za");

  void svzero_za64_vg4x4(uint32_t slice)
    __arm_streaming __arm_inout("za");
```


  Commit: 2401b6126d3330f8cbd929f49c7e85c513366a9b
      https://github.com/llvm/llvm-project/commit/2401b6126d3330f8cbd929f49c7e85c513366a9b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll

  Log Message:
  -----------
  AMDGPU: Fix creating minimum3/maximum3 nodes pre-gfx12 (#93027)

These would fail to select.


  Commit: 8dcbc4cfbf987dad0a9f9ddffa2a87420b00f88f
      https://github.com/llvm/llvm-project/commit/8dcbc4cfbf987dad0a9f9ddffa2a87420b00f88f
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    R clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    R llvm/test/CodeGen/AArch64/sme2p1-intrinsics-zero.ll

  Log Message:
  -----------
  Revert "[AArch64][SME] Add intrinsics for vector groups ZERO" (#93195)

Reverts llvm/llvm-project#88114


  Commit: 90a469057e9edb8eadfb328ac8bc06a4b5e0434f
      https://github.com/llvm/llvm-project/commit/90a469057e9edb8eadfb328ac8bc06a4b5e0434f
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
    R llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtl.ll

  Log Message:
  -----------
  Revert "[SME] Add intrinsics for FCVT(wid.) and FCVTL" (#93196)

Reverts llvm/llvm-project#90215


  Commit: ed803c879a8c100c59b5476a2ef6de64b2bf625f
      https://github.com/llvm/llvm-project/commit/ed803c879a8c100c59b5476a2ef6de64b2bf625f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  Properly initialize `CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG` CMake variable

A follow-up for #92953. Addresses the following buildbot failures:
https://lab.llvm.org/buildbot/#/builders/36/builds/45836
https://lab.llvm.org/buildbot/#/builders/57/builds/35200


  Commit: 0bf181eb34bbac1a65522dbbef42c81a705d3102
      https://github.com/llvm/llvm-project/commit/0bf181eb34bbac1a65522dbbef42c81a705d3102
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll

  Log Message:
  -----------
  MIPS: Fix llvm.{min,max}num for R6 (#93125)

MIPS max.fmt/min.fmt instructions is IEEE2008 compatiable. If either
argument is sNaN, the result will be NaN.

So we define fminnum_ieee instead of fminnum in Mips32r6InstrInfo.td. We
also should define fcanonicalize. So that we can define fminnum as
expand to fcanonicalize and fminnum_ieee.


  Commit: 9c60010a61e5824c64706ff21a1222da1f6b3af9
      https://github.com/llvm/llvm-project/commit/9c60010a61e5824c64706ff21a1222da1f6b3af9
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir

  Log Message:
  -----------
  [GlobalIsel] Combine G_ADD and G_SUB (#92879)


  Commit: 44430de0f117deb09d7391f1cdddd64875486061
      https://github.com/llvm/llvm-project/commit/44430de0f117deb09d7391f1cdddd64875486061
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    A llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll

  Log Message:
  -----------
  [Coroutines] Always set the calling convention of generated resuming call from 'llvm.coro.await.suspend.handle' as fast (#93167)

See the post commit message in
https://github.com/llvm/llvm-project/pull/89751

We met a regression due to a change of calling convention of this patch.
Previously, the calling convention of indirect resume calls is always
fast.

And in this patch, although we tried to take care of it in the cloner,
we forget the case that we have to update the resuming calls in the ramp
functions. So this is the root cause of the downstream failure.

This patch tries to mark the generated resuming calls as fast
immediately after they got created to make sure the calling convention
is correct.


  Commit: ac88ad3c805f0cc0ea85975d52b2037940b2d040
      https://github.com/llvm/llvm-project/commit/ac88ad3c805f0cc0ea85975d52b2037940b2d040
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor tests for std::condition_variable (#91530)

These tests have always been flaky, which led us to using ALLOW_RETRIES
on them. However, while investigating #89083 (using Github provided
macOS builders), these tests surfaced as being basically unworkably
flaky in that environment.

This patch solves that problem by refactoring the tests to make them
succeed deterministically.


  Commit: 7e476eb11c60d0292213034d03c4581f15bfc68f
      https://github.com/llvm/llvm-project/commit/7e476eb11c60d0292213034d03c4581f15bfc68f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  [AMDGPU][Clang] Add check of size for __builtin_amdgcn_global_load_lds (#93064)


  Commit: 21f3a6091f71f6651f604733bba65cdc97b0b6b4
      https://github.com/llvm/llvm-project/commit/21f3a6091f71f6651f604733bba65cdc97b0b6b4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M offload/plugins-nextgen/common/include/JIT.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/JIT.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/PluginManager.cpp

  Log Message:
  -----------
  [Offload] Only initialize a plugin if it is needed (#92765)

Summary:
Initializing the plugins requires initializing the runtime like CUDA or
HSA. This has a considerable overhead on most platforms, so we should
only actually initialize a plugin if it is needed by any image that is
loaded.


  Commit: f02e074552593435f97b97b81340014075f689e0
      https://github.com/llvm/llvm-project/commit/f02e074552593435f97b97b81340014075f689e0
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  Make sure `-Wnon-virtual-dtor` is passed only when compiling with Clang

Another follow-up for #92953. Addresses buildbot failure https://lab.llvm.org/buildbot/#/builders/193/builds/52421


  Commit: a0e6f83781bde8474fcf772595fc3da79b3fabc4
      https://github.com/llvm/llvm-project/commit/a0e6f83781bde8474fcf772595fc3da79b3fabc4
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/X86/pr59305.ll

  Log Message:
  -----------
  [ConstraintFP] Model rounding control registers for inline asm (#92846)

We have an internal test affected by
https://github.com/llvm/llvm-project/commit/a69673615bb9f14794056470a32f70f60a52213d.
The reason is we haven't modeled rounding control registers for inline
asm under constraint FP.
Here is a reduced case:  https://godbolt.org/z/s4EsKP94e


  Commit: 477b48e8dc6fe2c911332fc40f2fa67f3be016b9
      https://github.com/llvm/llvm-project/commit/477b48e8dc6fe2c911332fc40f2fa67f3be016b9
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h

  Log Message:
  -----------
  [OpenACC][NFC] Implement RecursiveASTVisitor for clauses

Clauses that have sub expressions are storing them in 'children', so
make sure we visit these properly.


  Commit: 5064ff9bec006e7553c5da90328b81a360e52cd9
      https://github.com/llvm/llvm-project/commit/5064ff9bec006e7553c5da90328b81a360e52cd9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [X86] Lower*EXTEND - pull out repeated SDLoc calls. NFC.


  Commit: 905b402a5d8f1490d668f40942390ebd6e87aa8f
      https://github.com/llvm/llvm-project/commit/905b402a5d8f1490d668f40942390ebd6e87aa8f
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/Analysis/cxx-uninitialized-object.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp

  Log Message:
  -----------
  [Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (#91879)

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

Clang now support the following:
- Extending lifetime of object bound to reference members of aggregates,
that are created from default member initializer.
- Rebuild `CXXDefaultArgExpr` and `CXXDefaultInitExpr` as needed where
called or constructed.

But CFG and ExprEngine need to be updated to address this change.

This PR add `CXXDefaultArgExpr` and `CXXDefaultInitExpr` into CFG, and
correct handle these expressions in ExprEngine

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: b8efe370497a6cfe83185ab7e57124ed5f5b125f
      https://github.com/llvm/llvm-project/commit/b8efe370497a6cfe83185ab7e57124ed5f5b125f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp

  Log Message:
  -----------
  [test][libcxx] Update deallocation after #90373 (#93145)

Asan detects new/delete missmatch here after #90373.


  Commit: 5a81db311cf8e15b7c6a33100bb5c1fb256754ce
      https://github.com/llvm/llvm-project/commit/5a81db311cf8e15b7c6a33100bb5c1fb256754ce
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [NFC][Clang] Use `isa_and_nonnull` instead of `VD && isa<VarDecl>(VD)` (#93207)

This issue was found in https://github.com/llvm/llvm-project/pull/86960.
But I'd like to avoid mixing together a bunch of cleanups with actual
changes.

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: dd32c3d36fbf21cf90d47ea83ad40ee959dd38d3
      https://github.com/llvm/llvm-project/commit/dd32c3d36fbf21cf90d47ea83ad40ee959dd38d3
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] Only check exprs that might be immediate escalating in evaluated contexts (#93187)

As per https://eel.is/c++draft/expr.const#17

Fixes #91308

---------

Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>


  Commit: 942a6af6ad1d71c8f4219a2d4ab8ca886959c06d
      https://github.com/llvm/llvm-project/commit/942a6af6ad1d71c8f4219a2d4ab8ca886959c06d
  Author: Fred Grim <fgrim at apple.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/test/tools/llvm-readobj/ELF/note-core-ntfile.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Fixes malformed json on JSON printed corefiles (#92835)

This patch fixes an issue where, when printing corefile notes with
llvm-readobj as json, the dumper generated llvm formatted output which
isn't valid json. This alters the dumper to, in the NT_FILE, note, dump
properly formatted json data.

Prior to this patch the JSON output was formatted like:
 ```
                "Mapping": [
                  "Start": 4096,
                  "End": 8192,
                  "Offset": 12288,
                  "Filename": "/path/to/a.out"
                ],
 ```
 Whereas now it is formatted as:
  ```
                "Mappings": [
                  {
                    "Start": 4096,
                    "End": 8192,
                    "Offset": 12288,
                    "Filename": "/path/to/a.out"
                  },
  ```
Which is valid. Additionally the LLVM output has changed to match the
structure of the JSON output (i.e. instead of lists of keys it is a list
of dictionaries)


  Commit: 89245b6cf808d4ed27cdea8d1e85fd9f4c6c844b
      https://github.com/llvm/llvm-project/commit/89245b6cf808d4ed27cdea8d1e85fd9f4c6c844b
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] Split sched classes for vrgather.vv and vrgatherei16.vv (#92768)

These can behave different on a subtarget since EEW=16 and EMUL =
(16/SEW)*LMUL for the indices in vs1.


  Commit: 558cb29feae6011beb2d384b1ef094bb9f7f2c27
      https://github.com/llvm/llvm-project/commit/558cb29feae6011beb2d384b1ef094bb9f7f2c27
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frem-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frem-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/libcalls.ll

  Log Message:
  -----------
  [GISel][RISCV] Legalize `G_FREM` (#93063)

This patch adds support for `G_FREM` on RISCV.


  Commit: 729403e244c9970efa7aa17be32c197eb8e28fac
      https://github.com/llvm/llvm-project/commit/729403e244c9970efa7aa17be32c197eb8e28fac
  Author: Björn Svensson <bjorn.a.svensson at est.tech>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c

  Log Message:
  -----------
  [clang-tidy] Correcting issues in `readability-implicit-bool-conversion` on C23 (#92241)

`readability-implicit-bool-conversion` supports language-versions with
`LangOpts.Bool` which includes C23.

This PR corrects an issue that the fixer suggests `static_cast<>()`
which is not available in C23,
and will instead suggest C-style casts on other than C++.

The fixer will also suggest using `nullptr` instead of `0` and avoid a
problem with recursive fixes on C23.

The recursive issue, a function taking bool and a comparison, is now
excluded as in C++.


  Commit: 910292c3ac2ebe43cdbc90223c6c9702128316db
      https://github.com/llvm/llvm-project/commit/910292c3ac2ebe43cdbc90223c6c9702128316db
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    R llvm/test/Transforms/Coroutines/coro-debug-frame-variable-O1.ll
    A llvm/test/Transforms/Coroutines/coro-debug-frame-variable-inlined.ll

  Log Message:
  -----------
  [LLVM][Coroutines] Check variable decl scope instead of optimization level for hoisted DbgDeclare Loc (#92978)

Minor patch following up on
https://github.com/llvm/llvm-project/pull/75402.

The more generalized version of [this
error](https://github.com/llvm/llvm-project/pull/75104#issuecomment-1853497609)
is whenever we have a debug variable created in one subprogram scope
inlined into another subprogram scope. So instead of checking
optimization level, it is safer to just check whether the subprogram
scope of the variable matches the subprogram scope of the hoisted
position.


  Commit: 8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2
      https://github.com/llvm/llvm-project/commit/8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2
  Author: Nuri Amari <nuri.amari99 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    A clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
    M lld/MachO/LTO.cpp
    M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/X86/O0-pipeline.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  Run ObjCContractPass in Default Codegen Pipeline (#92331)

Prior to this patch, when using -fthinlto-index= the ObjCARCContractPass isn't run prior to CodeGen, and instruction selection fails on IR containing arc intrinsics. This patch is motivated by that usecase.

The pass was previously added in various places codegen is performed. This patch adds the pass to the default codegen pipepline, makes sure it bails immediately if no arc intrinsics are found, and removes the adhoc scheduling of the pass. 

Co-authored-by: Nuri Amari <nuriamari at fb.com>


  Commit: b17d44558ba4c30a3005089b334f68593d6a9c7c
      https://github.com/llvm/llvm-project/commit/b17d44558ba4c30a3005089b334f68593d6a9c7c
  Author: Andrei Homescu <ahomescu at google.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [scudo] Compute the default aligned pointer without tag (#92989)

https://github.com/llvm/llvm-project/pull/83493 slightly
changed the order of computation of block addresses and
pointers, causing the value of DefaultAlignedPtr to
include the MTE tag. Move this computation earlier so it
matches the old behavior.

This fixes a UBSan failure in Trusty:
secure os: UBSan: (overflow:-)
external/scudo/standalone/combined.h:1070:35
secure os: Details: unsigned integer overflow: 8988807738704 -
144124176883594576 cannot be represented in type 'uptr'


  Commit: 2d61692d4b75b7d92b44bfafb1011c1723955151
      https://github.com/llvm/llvm-project/commit/2d61692d4b75b7d92b44bfafb1011c1723955151
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/Transforms/Attributor/issue87856.ll

  Log Message:
  -----------
  Attributor: Do not assume function context in AANoCapture (#91462)

If the calling function has the null_pointer_is_valid attribute, somehow
a null constant reaches here. I'm not sure why exactly, it doesn't
happen for other types of constants.

Fixes #87856


  Commit: d70cab4663f7893dce7e3be25b122e54a6b8deeb
      https://github.com/llvm/llvm-project/commit/d70cab4663f7893dce7e3be25b122e54a6b8deeb
  Author: Angel Zhang <anzhouzhang913 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    A mlir/test/mlir-vulkan-runner/addui_extended.mlir
    R mlir/test/mlir-vulkan-runner/iaddcarry_extended.mlir

  Log Message:
  -----------
  [mlir][spirv] Add LIT test for vector.interleave to spirv.VectorShuffle (#93189)

The plan is to replace this with a dedicated pattern
fom`vector.interleave` to `spirv.shuffle` in the future.

---------

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


  Commit: 779be6fd1d5a7b9b93654abb363c28e7ff51483e
      https://github.com/llvm/llvm-project/commit/779be6fd1d5a7b9b93654abb363c28e7ff51483e
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  Fix update-test-checks.py on Python 3.6 (#93116)

re.Match apparently doesn't exist in older versions.


  Commit: 1a28f26b16a3eaefb26acaa410712f337f1cda2c
      https://github.com/llvm/llvm-project/commit/1a28f26b16a3eaefb26acaa410712f337f1cda2c
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/test/Dialect/Polynomial/canonicalization.mlir

  Log Message:
  -----------
  [polynomial] distribute add/sub through ntt to reduce ntts (#93132)

Addresses
https://github.com/google/heir/issues/542#issuecomment-2126175775

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 89e3da83bcc4ccadbd48de0f0be56cf84f90b796
      https://github.com/llvm/llvm-project/commit/89e3da83bcc4ccadbd48de0f0be56cf84f90b796
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

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


  Commit: 0f6c4d8b0653d75cf944278337e69771857ee4d7
      https://github.com/llvm/llvm-project/commit/0f6c4d8b0653d75cf944278337e69771857ee4d7
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M libc/docs/ctype.rst
    M libc/docs/fenv.rst
    M libc/docs/signal.rst
    M libc/docs/stdbit.rst
    M libc/docs/threads.rst
    M libc/utils/docgen/ctype.json
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/fenv.json
    A libc/utils/docgen/header.py
    M libc/utils/docgen/signal.json
    M libc/utils/docgen/stdbit.json
    M libc/utils/docgen/threads.json

  Log Message:
  -----------
  [libc][docs] adds macro handling, POSIX status, and validation to docgen (#89421)

docgen now lists macro implementation status in the generated rst files.

Adds POSIX definition link property to docgen json API (`posix-definition`) and
changes the `defined` property of docgen json API to `c-definition`. Now that
docgen's api is getting more specified, adds validation checks to docgen to
start codifying the docgen api spec.

To make sure this all looks good, I've added POSIX definition links to signal.h
as a tester.


  Commit: 264aaa5f9038a7e575b3aa1ae67bceabd65ee13a
      https://github.com/llvm/llvm-project/commit/264aaa5f9038a7e575b3aa1ae67bceabd65ee13a
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/test/mlir-tblgen/op-decl-and-defs.td
    M mlir/test/mlir-tblgen/op-operand.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir][ods] Optimize FoldAdaptor constructor (#93219)

FoldAdaptor is generated as a subclass of the operation's generic
adaptor, which requires an OperationName instance. It called into the
generic base constructor that constructed the OperationName from a
string, requiring a StringMap lookup inside the MLIRContext.

This makes constructing FoldAdaptors really slow, which is a shame
because the `Operation *` is right there. This PR changes GenericAdaptor
constructor from an operation to grab the OperationName directly from
the `Operation *`. In addition, it generates the constructor inline if
the operation doesn't have properties, since otherwise it requires the
definition of the op.


  Commit: 650635586220aa8878397579744b71effb35938e
      https://github.com/llvm/llvm-project/commit/650635586220aa8878397579744b71effb35938e
  Author: Kavan Bickerstaff <kavanbickerstaff at googlemail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CommonFolders.h
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Only fold splats for static shape result types (#93102)

This prevents an assertion when constructing the DenseElementsAttr
result, where the passed-in type is expected to have a static shape.

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


  Commit: 998fc2c2a6a3bc0758c7964a988fa0dea5a4c620
      https://github.com/llvm/llvm-project/commit/998fc2c2a6a3bc0758c7964a988fa0dea5a4c620
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [RISCV] Rename from VPseudoVGTR_VV_EEW to VPseudoVGTR_EI16_VV. NFC.

This function only takes EEW=16 so we use that directly.

This commit comes from suggestion on #92768.


  Commit: dd2d132fb3521f37f44656edd65cca75430c251e
      https://github.com/llvm/llvm-project/commit/dd2d132fb3521f37f44656edd65cca75430c251e
  Author: Mogball <jeff at modular.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/test/mlir-tblgen/op-decl-and-defs.td

  Log Message:
  -----------
  [mlir][ods] Fix broken test


  Commit: 73eb9b33147ba5157cbf5d8276ee718629dfbbda
      https://github.com/llvm/llvm-project/commit/73eb9b33147ba5157cbf5d8276ee718629dfbbda
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/InstrProf.cpp
    A llvm/test/tools/llvm-profdata/show-order-error.proftext
    M llvm/test/tools/llvm-profdata/show-order.proftext
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/BPFunctionNodeTest.cpp

  Log Message:
  -----------
  [InstrProf] Evaluate function order using test traces (#92451)

The `llvm-profdata order` command is used to compute a function order
using traces from the input profile. Add the `--num-test-traces` flag to
keep aside N traces to evalute this order. These test traces are assumed
to be the actual function execution order in some experiment. The output
is a number that represents how many page faults we got. Lower is
better.

I tested on a large profile I already had.
```
llvm-profdata order default.profdata --num-test-traces=30
# Ordered 149103 functions
# Total area under the page fault curve: 2.271827e+09
...
```

I also improved `TemporalProfTraceTy::createBPFunctionNodes()` in a few
ways:
* Simplified how `UN`s are computed
* Change how the initial `Node` order is computed
* Filter out rare and common `UN`s
* Output vector is an aliased argument instead of a return

These changes slightly improved the evaluation in my test.
```
llvm-profdata order default.profdata --num-test-traces=30
# Ordered 149103 functions
# Total area under the page fault curve: 2.268586e+09
...
```


  Commit: a38f0157f2a9efcae13b691c63723426e8adc0ee
      https://github.com/llvm/llvm-project/commit/a38f0157f2a9efcae13b691c63723426e8adc0ee
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT] Set InitialDynoStats after EstimateEdgeCounts (#93218)

InitialDynoStats used to be assigned inside `runAllPasses`, but the
assignment executed before any of the passes. As we've moved
`EstimateEdgeCounts` into a pass out of ProfileReader, it needs to
execute before initial dyno stats are set.

Thus move `InitialDynoStats` into BinaryContext and assignment into
`DynoStatsSetPass`.


  Commit: b49ce9c304b00dae49148b6a2f5f27965000206c
      https://github.com/llvm/llvm-project/commit/b49ce9c304b00dae49148b6a2f5f27965000206c
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/CodeGen/SystemZ/sync-builtins-i128-8Al.c
    M clang/test/Driver/android-unversioned-fallback-warning.cpp
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/dxc_dxv_path.hlsl
    M clang/test/Driver/loongarch-mlasx-error.c
    M clang/test/Driver/loongarch-mlsx-error.c
    M clang/test/Driver/openmp-offload-infer.c
    M clang/test/Driver/openmp-system-arch.c
    M clang/test/Frontend/optimization-remark-options.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/InstallAPI/binary-attributes.test
    M clang/test/OpenMP/atomic_messages.c
    M clang/test/OpenMP/target_update_messages.cpp
    M clang/test/Parser/objcbridge-related-attribute.m
    M clang/test/Parser/pragma-attribute.cpp
    M clang/test/Profile/misexpect-branch.c
    M clang/test/Profile/misexpect-switch-default.c
    M clang/test/Profile/misexpect-switch.c
    M clang/test/Sema/attr-objc-bridge-related.m
    M clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/SemaCUDA/device-var-init.cu
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCUDA/union-init.cu
    M clang/test/SemaCXX/addr-label-in-coroutines.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-misuse.cpp
    M clang/test/SemaOpenCL/vector_swizzle_length.cl
    M clang/unittests/Driver/DXCModeTest.cpp
    M flang/test/Driver/fopenmp.f90
    M flang/test/Driver/w-arg-unsupported.f90
    M flang/test/Driver/wextra-ok.f90

  Log Message:
  -----------
  Fix more diagnostic wording for style; NFC (#93190)

This tries to fix all of the places where a diagnostic message starts
with a capital letter (other than acroynyms or proper nouns) or ends
with punctuation (other than a question mark).

This is in support of a planned change to tablegen to start diagnosing
incorrect diagnostic message styles.


  Commit: f3d6db36f8c22ac87b20ac46ed2d6391c5af2108
      https://github.com/llvm/llvm-project/commit/f3d6db36f8c22ac87b20ac46ed2d6391c5af2108
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CMakeLists.txt

  Log Message:
  -----------
  [TableGen][CMake] Add missing dependency to intrinsics_gen (#93134)

A missing dependency resulted in `fatal error: 'llvm/IR/Attributes.inc'
file not found` errors when performing an Apple-stage2 build with
LLVM_ENABLE_MODULES enabled.
This resolves the scheduling issue when building LLVMTableGenCommon
library target.

resolves: rdar://128536914


  Commit: 300663a190537cfd2692003dc4af0aebb904bde0
      https://github.com/llvm/llvm-project/commit/300663a190537cfd2692003dc4af0aebb904bde0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/lib/ProfileData/MemProf.cpp

  Log Message:
  -----------
  [memprof] Use std::move in toMemProfRecord (#93133)

std::move and reserve here result in a measurable speed-up in
llvm-profdata modified to deserialize all MemProfRecords.  The cycle
count goes down by 7.1% while the instruction count goes down by 21%.


  Commit: 0da9e8ec44e49a73924441d88b4a6a2a9503f9c1
      https://github.com/llvm/llvm-project/commit/0da9e8ec44e49a73924441d88b4a6a2a9503f9c1
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [bazel] Port #92331 (#93232)


  Commit: 10be6c96b831a3511d2b381d5e1130d6b7e3e2ff
      https://github.com/llvm/llvm-project/commit/10be6c96b831a3511d2b381d5e1130d6b7e3e2ff
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/unittests/Driver/DXCModeTest.cpp

  Log Message:
  -----------
  Fix an accidental escape sequence in a unit test

This amends b49ce9c304b00dae49148b6a2f5f27965000206c


  Commit: 72417920d3f2471705fda3e40de1afde5f449411
      https://github.com/llvm/llvm-project/commit/72417920d3f2471705fda3e40de1afde5f449411
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/pstl_copy.h
    M libcxx/include/__algorithm/pstl_move.h

  Log Message:
  -----------
  [libc++] Remove a few unused includes of trivially_copyable.h (#93200)


  Commit: 42b5daba504a8b4fd60a57dde93ee5d0118abf0b
      https://github.com/llvm/llvm-project/commit/42b5daba504a8b4fd60a57dde93ee5d0118abf0b
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M libunwind/src/UnwindCursor.hpp

  Log Message:
  -----------
  [libunwind][AIX] Cast NULL as type uintptr_t. (#93204)

Casting NULL as type `uintptr_t` to allow type checking in both 32-bit
and 64-bit mode.


  Commit: 208544fc70d2cfd5b2c13232a267048108da1978
      https://github.com/llvm/llvm-project/commit/208544fc70d2cfd5b2c13232a267048108da1978
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Common/visit.h
    M flang/runtime/terminator.h

  Log Message:
  -----------
  [flang][runtime] Added noinline for some functions in device build. (#93128)

This helps reducing the compilation time spent by the device
compiler optimizer and then the code generator. Since F18 RT
is going to be distributed as LLVM BC for some targets
(same way as LLVM liboffload device library is distributed)
and linked to the user offload code, the compilation time
of the produced LLVM BC will be critical.


  Commit: 70d1844abebb786c1510f72f79558ff3e8710d39
      https://github.com/llvm/llvm-project/commit/70d1844abebb786c1510f72f79558ff3e8710d39
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp

  Log Message:
  -----------
  [flang] Fix crash in error recovery (#92786)

EQUIVALENCE set processing assumes that any arrays have explicit shape
and constant lower bounds. When an erroneous program violates those
assumptions, the compiler crashes. Fix.

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


  Commit: c9f94baca5d603392ed1739747dd0f9b2bd3adb3
      https://github.com/llvm/llvm-project/commit/c9f94baca5d603392ed1739747dd0f9b2bd3adb3
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/scope.h
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/procinterface05.f90

  Log Message:
  -----------
  [flang] Fix crash in error recovery (implicit host association) (#92795)

When a symbol appears in a specification expression in a subprogram
contained in a host program unit, semantics may have to create a symbol
in the host and use host association to it. This shouldn't happen for
nested subprograms that can't import such a symbol, such as interface
blocks by default. Further, when host association fails, semantics
shouldn't crash.

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


  Commit: 46541a363695b9014cd95267fa78592be752d64d
      https://github.com/llvm/llvm-project/commit/46541a363695b9014cd95267fa78592be752d64d
  Author: David Green <david.green at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll

  Log Message:
  -----------
  [ARM] Add a extra MVE low-trip-count loop. NFC

This makes use of half floats, which makes the masked stores expensive.


  Commit: 87452bcb806c9a45b09dab7c2e6594a7ebb085a2
      https://github.com/llvm/llvm-project/commit/87452bcb806c9a45b09dab7c2e6594a7ebb085a2
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90

  Log Message:
  -----------
  [Flang][OpenMP] Reenable a few tests 4/n (#93214)

Re-enable a few simd, critical, workshare tests.


  Commit: 8ad980d7dc7070aa9ccb226b92d5dfa3c75d8652
      https://github.com/llvm/llvm-project/commit/8ad980d7dc7070aa9ccb226b92d5dfa3c75d8652
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [memprof] Refactor getMemProfRecord (NFC) (#93138)

This patch refactors getMemProfRecord for readability while adding
consistency checks.

- This patch adds a switch statement on the MemProf version just like
  most places dealing with MemProf serialization/deserialization.

- This patch adds asserts to ensure that the exact set of data
  structures are available while ones we do not use are not present.
  That is, getMemProfRecord no longer determines the version based on
  the availability of MemProfCallStackTable.


  Commit: f6dc3ccd8c6957bdf8ccf2b7cb25b44240a160a3
      https://github.com/llvm/llvm-project/commit/f6dc3ccd8c6957bdf8ccf2b7cb25b44240a160a3
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [docs] Office hours trial - Renato Golin


  Commit: faa0bd3ca2d1ee1dba1cd790e6e8e8b7cf8fca5c
      https://github.com/llvm/llvm-project/commit/faa0bd3ca2d1ee1dba1cd790e6e8e8b7cf8fca5c
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [docs] Fix bug in office hours link


  Commit: dc1bfbc9735ba82bf319e6aa2209e1a795fb659f
      https://github.com/llvm/llvm-project/commit/dc1bfbc9735ba82bf319e6aa2209e1a795fb659f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/utils/ci/buildkite-pipeline.yml
    M clang/utils/ci/run-buildbot

  Log Message:
  -----------
  [clang][ci] Remove unnecessary BuildKite jobs for Clang (#93233)

1. Remove the format-checking job from the BuildKite pipeline. We now
have a monorepo-wide format checker implemented with Github Actions, so
that should not be necessary anymore.

2. Stop building and testing Clang on Windows via the clang-ci pipeline.
We already do that in the github-pull-requests pipeline, so that's just
duplicate work.

3. Stop testing Clang on Linux in the clang-ci pipeline. We already do
that in the github-pull-requests pipeline too, so that's also duplicate
work. For now we still build Clang because the other jobs in the
clang-ci pipeline require its artifacts, but that could be improved.


  Commit: af31883341a122a7285e9b4f0a034470024021eb
      https://github.com/llvm/llvm-project/commit/af31883341a122a7285e9b4f0a034470024021eb
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Symbol.cpp
    M lldb/source/Symbol/SymbolFileOnDemand.cpp
    M lldb/source/Symbol/TypeSystem.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/Status.cpp
    M llvm/include/llvm/Support/Error.h

  Log Message:
  -----------
  Add a createError variant without error code (NFC) (#93209)

For the significant amount of call sites that want to create an
incontrovertible error, such a wrapper function creates a significant
readability improvement and lowers the cost of entry to add error
handling in more places.


  Commit: a4490217fc04f00342501bdc49efcd314e2787da
      https://github.com/llvm/llvm-project/commit/a4490217fc04f00342501bdc49efcd314e2787da
  Author: drazi <fengxie83 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    A mlir/test/Transforms/test-convert-func-op.mlir
    M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
    A mlir/test/lib/Conversion/FuncToLLVM/TestConvertFuncOp.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  merge code for llvm.emit_c_interface into convertFuncOpToLLVMFuncOp (#92986)

In today's repo, attribute `llvm.emit_c_interface` of func op is handled
outside of `mlir::convertFuncOpToLLVMFuncOp` in `FuncOpConversion`
pattern. In some cases, `FuncOpConversion` can't be directly re-used,
but we still want to re-use the code to emit c interface for
`llvm.emit_c_interface`.

Changes in this PR
* move the code to generate c with "llvm.emit_c_interface" interface
into `mlir::convertFuncOpToLLVMFuncOp` to be able to re-use it.
* added unit test to verify c interface for jit can be generated
correctly if only call `convertFuncOpToLLVMFuncOp`.
* removed `FuncOpConversionBase`

---------

Co-authored-by: Fung Xie <ftse at nvidia.com>


  Commit: fafc6271c6b14bb0fd6457f856b2382fd941d051
      https://github.com/llvm/llvm-project/commit/fafc6271c6b14bb0fd6457f856b2382fd941d051
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [bazel] Port #92986 (#93248)


  Commit: 63e8c0a0e48939371652f907bb868d74869ae00a
      https://github.com/llvm/llvm-project/commit/63e8c0a0e48939371652f907bb868d74869ae00a
  Author: Ivan Kulagin <ivan.i.kulagin at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M mlir/lib/Analysis/Liveness.cpp
    M mlir/test/Analysis/test-liveness.mlir

  Log Message:
  -----------
  [mlir] Fix liveness analysis for block arguments (#88848)

The current implementation does not take into account definitions
created by arguments of nested blocks. This leads to an incorrect
construction of the live-in set of an outer block. Arguments of nested
blocks are added to the live-in set of an outer block.

---------

Signed-off-by: ikulagin <i.kulagin at ispras.ru>
Co-authored-by: ikulagin <i.kulagin at ispras.ru>


  Commit: 6d2b23c46e6ad174d16721c4c42a00a2835eab92
      https://github.com/llvm/llvm-project/commit/6d2b23c46e6ad174d16721c4c42a00a2835eab92
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-declarations.cpp

  Log Message:
  -----------
  [flang] Fix crash in error recovery (bad binding) (#92800)

A type-bound procedure that's bound to a name that isn't a procedure is
caught as an error, but can also lead to a crash in compatibility
checking later. Make that code more robust to failure.

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


  Commit: 975579bd94d4b130cf6363375d9e723281cb0ce5
      https://github.com/llvm/llvm-project/commit/975579bd94d4b130cf6363375d9e723281cb0ce5
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/runtime/external-unit.cpp
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang] Fix variable unformatted I/O bug with output after input (#92828)

When reading variable-length unformatted records, the external I/O
library frames the input buffer so that the footer of the previous
record remains in frame. This is done so that a BACKSPACE doesn't have
to do an extra read to get the length of the previous record before
repositioning over it.

When switching from input to output to overwrite or append new records
after reading any, it is necessary to undo this framing of the last word
in the previous record, since the new output isn't going to define it in
the buffer and it'll be overwritten in the filesystem with garbage.


  Commit: c24f881340c854e369d372cb4d0cbe23b3262a35
      https://github.com/llvm/llvm-project/commit/c24f881340c854e369d372cb4d0cbe23b3262a35
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [flang] Silence warnings from module files after recent change (#92834)

I modified declaration checking for interoperable objects to buffer its
generated messages as I had previously done for derived types and
procedure interfaces, but failed to modify all of the message creation
statements to use the new buffer, so some are now escaping when a module
file is being compiled. Fix to ensure that the new buffer is always
used.


  Commit: 8ccb56cf3500ad41192881a3a7b07513bea79281
      https://github.com/llvm/llvm-project/commit/8ccb56cf3500ad41192881a3a7b07513bea79281
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/lib/Evaluate/shape.cpp
    M flang/test/Semantics/shape.f90

  Log Message:
  -----------
  [flang] Fix bad shape analysis of assumed-rank dummy (#92936)

Shape analysis for the results of SHAPE, LBOUND, and UBOUND (without
DIM=) needs to account for an assumed-rank dummy argument, and return a
shape vector with a single unknown element.


  Commit: d03e56b27cd992e29482a21d88693f626f3dfffb
      https://github.com/llvm/llvm-project/commit/d03e56b27cd992e29482a21d88693f626f3dfffb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M llvm/include/llvm/Option/ArgList.h

  Log Message:
  -----------
  [Driver] Simplify -f[no-]sized-deallocation forwarding. NFC


  Commit: 47b485c052d3ced9d846cf0e9b6a1a7d450f6dee
      https://github.com/llvm/llvm-project/commit/47b485c052d3ced9d846cf0e9b6a1a7d450f6dee
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Evaluate/triplets01.f90

  Log Message:
  -----------
  [flang] Fix type of array constructor triplet (extension) (#92970)

The type of "[lo:hi:str]" is being forced to INTEGER(8), ignoring the
types of the operands to the triplet. The type of a triplet should be
whatever the type of "lo+hi+str" would be.

(Array constructor triplets are a syntactic sugar extension for an
implied DO loop.)


  Commit: 9ce8e63ceb447f7c2a0e92595466ed13a5acac48
      https://github.com/llvm/llvm-project/commit/9ce8e63ceb447f7c2a0e92595466ed13a5acac48
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/test/Semantics/modfile03.f90

  Log Message:
  -----------
  [flang] Better renaming in module files (#93106)

When a symbol from one module is used in another without an explicit USE
association, the module file output code may need to use another name
for it -- either with a name that is already available via USE
association with renaming, or by means of a new private USE association,
possibly with renaming to avoid a clash.

Module file output was dealing properly with names of derived types, but
wasn't accounting for symbols that appear in expressions other than
initializations. This was specifically a problem with an application
module that had a call to a NOPASS type-bound procedure in an array
bound specification expression, which semantics had resolved to the name
of a private module function.

This patch implements renaming, when necessary, for all symbols
appearing in expressions and type names, and replaces the previous
implementation of derived type renaming. It also gets a little smarter
about avoiding the creation of compiler-generated names when a name from
another module has been brought into scope already by means of USE
association with renaming.


  Commit: 79c2a1e4efc8a772744ae4df36622b3bbbbbdc3f
      https://github.com/llvm/llvm-project/commit/79c2a1e4efc8a772744ae4df36622b3bbbbbdc3f
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Correct SELECTED_LOGICAL_KIND() (#93108)

The implementation of the runtime version of this intrinsic function in
https://github.com/llvm/llvm-project/pull/89691 was incorrect. Fix it to
interpret its argument as a bit count.


  Commit: e2a3880d7ffeefb433d686b0eda59a9e34d98e16
      https://github.com/llvm/llvm-project/commit/e2a3880d7ffeefb433d686b0eda59a9e34d98e16
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [flang] Revert two new interoperability semantic checks (#93112)

Two checks related to BIND(C) vs non-BIND(C) entry points with the same
dummy argument added by https://github.com/llvm/llvm-project/pull/92474
have turned out to be unnecessary. Revert them and adjust the tests.


  Commit: 83b3e13e89f92c1d74ac4ea193c2fbc9d7287517
      https://github.com/llvm/llvm-project/commit/83b3e13e89f92c1d74ac4ea193c2fbc9d7287517
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [BOLT] Allow processing of binaries with stripped FILE symbols mismatching the profile (#93238)

Reintroduce allow-stripped as a fallback mechanism after enforcement of
HasSymbolsWithFileName was fixed in
https://github.com/llvm/llvm-project/pull/92625.

This partially reverts commit ccabbfff86a00a0b211f5d0835916a1250ebcf0f.


  Commit: dc78329dbbf5b9988b02cab9092ccca32c6517bc
      https://github.com/llvm/llvm-project/commit/dc78329dbbf5b9988b02cab9092ccca32c6517bc
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call05.f90

  Log Message:
  -----------
  [flang] Extension: associating polymorphic pointer/allocatable actual… (#93211)

… with monomorphic dummy

The relevant standard requires (F'2023 15.5.2.6 p2) that when a pointer
or allocatable actual argument is associated with an
identically-attributed dummy argument, either both are polymorphic or
neither is. We already relax this requirement in the case of an
INTENT(IN) dummy argument, since a change of type cannot occur. Further,
like other compilers do, we can also relax this requirement in the case
of a limited polymorphic actual argument being associated with a
monomorphic dummy, as our implementation always passes a reference to
the actual descriptor, where any change of type that occurs during the
call due to reallocation will be properly recorded.


  Commit: 9223ccb0e56d6d4de17808e2e4000c8019a9a218
      https://github.com/llvm/llvm-project/commit/9223ccb0e56d6d4de17808e2e4000c8019a9a218
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/Error.h
    M llvm/lib/Support/Error.cpp

  Log Message:
  -----------
  Avoid std::string -> (char *) roundtrip in createStringError() (NFC) (#93242)

The current API first creates a temporary std::string, then passes it as
a C string, only to then convert it into a std::string for storage, thus
unnecessarily computing the length of the string and copying it.


  Commit: ddee8eff9c2419724aa5ce78d8a3a6a9715b784b
      https://github.com/llvm/llvm-project/commit/ddee8eff9c2419724aa5ce78d8a3a6a9715b784b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/test/Driver/fast-math.c
    M clang/test/Driver/fat-archive-unbundle-ext.c
    M clang/test/Driver/fatal-warnings.c
    M clang/test/Driver/fbinutils-version.c
    M clang/test/Driver/fdirect-access-external-data.c
    M clang/test/Driver/fembed-bitcode.c
    M clang/test/Driver/fexcess-precision.c
    M clang/test/Driver/fextend-args.c
    M clang/test/Driver/fforce-dwarf-frame.c
    M clang/test/Driver/fgnuc-version.c
    M clang/test/Driver/flags.c
    M clang/test/Driver/flang/msvc-link.f90
    M clang/test/Driver/fmemprof.cpp
    M clang/test/Driver/fopenmp.c
    M clang/test/Driver/fortran.f95
    M clang/test/Driver/fpatchable-function-entry.c
    M clang/test/Driver/frame-pointer-elim.c
    M clang/test/Driver/freebsd-mips-as.c
    M clang/test/Driver/freebsd.cpp
    M clang/test/Driver/fsanitize-coverage.c
    M clang/test/Driver/fsanitize-ignorelist.c
    M clang/test/Driver/fsanitize-memory-param-retval.c
    M clang/test/Driver/fsanitize-metadata-ignorelist.c
    M clang/test/Driver/fsanitize-object-size.c
    M clang/test/Driver/fsemantic-interposition.c
    M clang/test/Driver/fsjlj-exceptions.c
    M clang/test/Driver/fuse-ld-windows.c
    M clang/test/Driver/fuse-ld.c
    M clang/test/Driver/fuzzer.c
    M clang/test/Driver/fveclib.c

  Log Message:
  -----------
  [Driver][test] Replace legacy -target with --target=

Similar to previous cleanup.


  Commit: 06aadbeb2538c3e28cca7c82db102dffc7bdc269
      https://github.com/llvm/llvm-project/commit/06aadbeb2538c3e28cca7c82db102dffc7bdc269
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p2.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  Revert "[clang] Implement CWG2398 provisional TTP matching to class templates" (#93258)

Reverts llvm/llvm-project#92855

This is causing issues, there are still being reduced, but does look
like a problem.

See PR for user reports.


  Commit: 8f5a2325c39221efb6a0512639edb750ded62c44
      https://github.com/llvm/llvm-project/commit/8f5a2325c39221efb6a0512639edb750ded62c44
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/tools/llvm-profgen/PerfReader.cpp

  Log Message:
  -----------
  [llvm-profgen] Trim tail CR+LF for LBR record line (#93210)

On Windows, perfscript generated by sep contains CR+LF at the end of
LBR records line. This '\r' will be treated as a LBR record when running
llvm-profgen on Linux and then generate warning.


  Commit: 39d32b238dde06999ddf4d6cc7285e275a138131
      https://github.com/llvm/llvm-project/commit/39d32b238dde06999ddf4d6cc7285e275a138131
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lld/test/wasm/shared64.s
    M lld/wasm/Driver.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    R llvm/test/CodeGen/WebAssembly/fast-isel-call-indirect64.ll
    M llvm/test/CodeGen/WebAssembly/function-pointer64.ll

  Log Message:
  -----------
  [WebAssembly] Use 64-bit table when targeting wasm64 (#92042)

See https://github.com/WebAssembly/memory64/issues/51


  Commit: 29189738b832b111b905fcc037a287eeeb0aab2c
      https://github.com/llvm/llvm-project/commit/29189738b832b111b905fcc037a287eeeb0aab2c
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-struct-ptrs.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/attr-counted-by-late-parsed-off.c
    A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    A clang/test/Sema/attr-counted-by-vla.c
    R clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  Reland #90786 ([BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C) (#93121)

[BoundsSafety] Reland #93121 Allow 'counted_by' attribute on pointers in structs in C (#93121)

Fixes #92687.

Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.

For example this previously wasn't allowed:

```
struct BufferTypeDeclAttributePosition {
  size_t count;
  char* buffer __counted_by(count); // Now allowed
}
```

Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:

* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member

This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example

```
struct BufferTypeDeclAttributePosition {
  char* buffer __counted_by(count); // Now allowed
  size_t count;
}
```

is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.

Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:

```
struct BufferTypeAttributePosition {
  size_t count;
  char *__counted_by(count) buffer; // Now allowed
}
```

However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:

```
struct BufferTypeAttributePosition {
  char *__counted_by(count) buffer; // Fails to parse
  size_t count;
}
```

The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.

There are also several other follow up changes that will need to be
addressed in future patches:

* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).

This work is heavily based on a patch originally written by Yeoul Na.

** Differences between #93121 and this patch **

* The memory leak that caused #93121 to be reverted (see #92687) should
  now be fixed. See "The Memory Leak".
* The fix to `pragma-attribute-supported-attributes-list.test`
  (originally in cef6387) has been incorporated into this patch.
* A relaxation of counted_by semantics (originally in 112eadd) has been
  incorporated into this patch.
* The assert in `Parser::DistributeCLateParsedAttrs` has been removed
  because that broke downstream code.
* The switch statement in `Parser::ParseLexedCAttribute` has been
  removed in favor of using `Parser::ParseGNUAttributeArgs` which does
  the same thing but is more feature complete.
* The `EnterScope` parameter has been plumbed through
  `Parser::ParseLexedCAttribute` and `Parser::ParseLexedCAttributeList`.
  It currently doesn't do anything but it will be needed in future
  commits.

** The Memory Leak **

The problem was that these lines parsed the attributes but then did nothing to free the memory

```
assert(!getLangOpts().CPlusPlus);
for (auto *LateAttr : LateFieldAttrs)
  ParseLexedCAttribute(*LateAttr);
```

To fix this this a new `Parser::ParseLexedCAttributeList` method has been
added (based on `Parser::ParseLexedAttributeList`) which does the
necessary memory management. The intention is to merge these two
methods together so there is just one implementation in a future patch
(#93263).

A more principled fixed here would be to fix the ownership of the
`LateParsedAttribute` objects. In principle `LateParsedAttrList` should own
its pointers exclusively and be responsible for deallocating them.
Unfortunately this is complicated by `LateParsedAttribute` objects also
being stored in another data structure (`LateParsedDeclarations`) as
can be seen below (`LA` gets stored in two places).

```
      // Handle attributes with arguments that require late parsing.
      LateParsedAttribute *LA =
          new LateParsedAttribute(this, *AttrName, AttrNameLoc);
      LateAttrs->push_back(LA);

      // Attributes in a class are parsed at the end of the class, along
      // with other late-parsed declarations.
      if (!ClassStack.empty() && !LateAttrs->parseSoon())
        getCurrentClass().LateParsedDeclarations.push_back(LA);
```

this means the ownership of LateParsedAttribute objects isn't very
clear.

rdar://125400257


  Commit: d1d9545ed3db2105449d7fe86e7ccaed1eedd0da
      https://github.com/llvm/llvm-project/commit/d1d9545ed3db2105449d7fe86e7ccaed1eedd0da
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT][BAT] Add entries for deleted basic blocks

Deleted basic blocks are required for correct mapping of branches
modified by SCTC.

Increases BAT size, bytes:
- large binary: 8622496 -> 8703244.
- small binary (X86/bolt-address-translation.test): 928 -> 940.

Test Plan: updated bb-with-two-tail-calls.s

Reviewers: ayermolo, dcci, maksfb, rafaelauler

Reviewed By: rafaelauler

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


  Commit: 09c5525610579d71f45502c304146db1d7b38107
      https://github.com/llvm/llvm-project/commit/09c5525610579d71f45502c304146db1d7b38107
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins-wasm.c
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/MC/WebAssembly/simd-encodings.s

  Log Message:
  -----------
  [WebAssembly] Implement prototype f16x8.splat instruction. (#93228)

Adds a builtin and intrinsic for the f16x8.splat instruction.

Specified at:

https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md

Note: the current spec has f16x8.splat as opcode 0x123, but this is
incorrect and will be changed to 0x120 soon.


  Commit: f9e9e599c0138b2403bc89934ddace0c2a8d84d6
      https://github.com/llvm/llvm-project/commit/f9e9e599c0138b2403bc89934ddace0c2a8d84d6
  Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/builtinmacro.c
    M clang/test/CoverageMapping/macros.c
    M clang/test/CoverageMapping/mcdc-scratch-space.c

  Log Message:
  -----------
  [Coverage][Expansion] handle nested macros in scratch space (#89869)

The problematic program is as follows:

```shell
#define pre_a 0
#define PRE(x) pre_##x

void f(void) {
    PRE(a) && 0;
}

int main(void) { return 0; }
```

in which after token concatenation (`##`), there's another nested macro
`pre_a`.

Currently only the outer expansion region will be produced. ([compiler
explorer
link](https://godbolt.org/#g:!((g:!((g:!((h:codeEditor,i:(filename:'1',fontScale:14,fontUsePx:'0',j:1,lang:___c,selection:(endColumn:29,endLineNumber:8,positionColumn:29,positionLineNumber:8,selectionStartColumn:29,selectionStartLineNumber:8,startColumn:29,startLineNumber:8),source:'%23define+pre_a+0%0A%23define+PRE(x)+pre_%23%23x%0A%0Avoid+f(void)+%7B%0A++++PRE(a)+%26%26+0%3B%0A%7D%0A%0Aint+main(void)+%7B+return+0%3B+%7D'),l:'5',n:'0',o:'C+source+%231',t:'0')),k:51.69491525423727,l:'4',n:'0',o:'',s:0,t:'0'),(g:!((g:!((h:compiler,i:(compiler:cclang_assertions_trunk,filters:(b:'0',binary:'1',binaryObject:'1',commentOnly:'0',debugCalls:'1',demangle:'0',directives:'0',execute:'0',intel:'0',libraryCode:'1',trim:'1',verboseDemangling:'0'),flagsViewOpen:'1',fontScale:14,fontUsePx:'0',j:2,lang:___c,libs:!(),options:'-fprofile-instr-generate+-fcoverage-mapping+-fcoverage-mcdc+-Xclang+-dump-coverage-mapping+',overrides:!(),selection:(endColumn:1,endLineNumber:1,positionColumn:1,positionLineNumber:1,selectionStartColumn:1,selectionStartLineNumber:1,startColumn:1,startLineNumber:1),source:1),l:'5',n:'0',o:'+x86-64+clang+(assertions+trunk)+(Editor+%231)',t:'0')),k:34.5741843594503,l:'4',m:28.903654485049834,n:'0',o:'',s:0,t:'0'),(g:!((h:output,i:(compilerName:'x86-64+clang+(trunk)',editorid:1,fontScale:14,fontUsePx:'0',j:2,wrap:'1'),l:'5',n:'0',o:'Output+of+x86-64+clang+(assertions+trunk)+(Compiler+%232)',t:'0')),header:(),l:'4',m:71.09634551495017,n:'0',o:'',s:0,t:'0')),k:48.30508474576271,l:'3',n:'0',o:'',t:'0')),l:'2',m:100,n:'0',o:'',t:'0')),version:4))

```text
f:
  File 0, 4:14 -> 6:2 = #0
  Decision,File 0, 5:5 -> 5:16 = M:0, C:2
  Expansion,File 0, 5:5 -> 5:8 = #0 (Expanded file = 1)
  File 0, 5:15 -> 5:16 = #1
  Branch,File 0, 5:15 -> 5:16 = 0, 0 [2,0,0] 
  File 1, 2:16 -> 2:23 = #0
  File 2, 1:15 -> 1:16 = #0
  File 2, 1:15 -> 1:16 = #0
  Branch,File 2, 1:15 -> 1:16 = 0, 0 [1,2,0] 
```

The inner expansion region isn't produced because:

1. In the range-based for loop quoted below, each sloc is processed and
possibly emit a corresponding expansion region.
2. For our sloc in question, its direct parent returned by
`getIncludeOrExpansionLoc()` is a `<scratch space>`, because that's how
`##` is processed.


https://github.com/llvm/llvm-project/blob/88b6186af3908c55b357858eb348b5143f21c289/clang/lib/CodeGen/CoverageMappingGen.cpp#L518-L520

3. This `<scratch space>` cannot be found in the FileID mapping so
`ParentFileID` will be assigned an `std::nullopt`


https://github.com/llvm/llvm-project/blob/88b6186af3908c55b357858eb348b5143f21c289/clang/lib/CodeGen/CoverageMappingGen.cpp#L521-L526

4. As a result this iteration of for loop finishes early and no
expansion region is added for the sloc.

This problem gets worse with MC/DC: as the example shows, there's a
branch from File 2 but File 2 itself is missing. This will trigger
assertion failures.

The fix is more or less a workaround and takes a similar approach as
#89573.

~~Depends on #89573.~~ This includes #89573. Kudos to @chapuni!
This and #89573 together fix #87000: I tested locally, both the reduced
program and my original use case (fwiw, Linux kernel) can run
successfully.

---------

Co-authored-by: NAKAMURA Takumi <geek4civic at gmail.com>


  Commit: cd9bab2e2acbdc22943703d5649dede72b09cad7
      https://github.com/llvm/llvm-project/commit/cd9bab2e2acbdc22943703d5649dede72b09cad7
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/test/CodeGen/PowerPC/aix-tocdata-fastisel.ll
    M llvm/test/CodeGen/PowerPC/toc-data.ll

  Log Message:
  -----------
  [PowerPC] handle toc-data in load selection of fast-isel (#91916)

Support the address selection for toc-data globals in fast isel. This
benefits instruction selection for fast-isel for toc data symbol for
example for load selection. This also aligns the code generation
with/without -mtocdata.


  Commit: 1b803fe53dda11ca63f008f5ab8e206f3954ce48
      https://github.com/llvm/llvm-project/commit/1b803fe53dda11ca63f008f5ab8e206f3954ce48
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

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

  Log Message:
  -----------
  [mlir] Optimize ThreadLocalCache by removing atomic bottleneck (#93270)

The ThreadLocalCache implementation is used by the MLIRContext (among
other things) to try to manage thread contention in the StorageUniquers.
There is a bunch of fancy shared pointer/weak pointer setups that
basically keeps everything alive across threads at the right time, but a
huge bottleneck is the `weak_ptr::lock` call inside the `::get` method.

This is because the `lock` method has to hit the atomic refcount several
times, and this is bottlenecking performance across many threads.
However, all this is doing is checking whether the storage is
initialized. We know that it cannot be an expired weak pointer because
the thread local cache object we're calling into owns the memory and is
still alive for the method call to be valid. Thus, we can store and
extra `Value *` inside the thread local cache for speedy retrieval if
the cache is already initialized for the thread, which is the common
case.

This also tightens the size of the critical section in the same method
by scoping the mutex more to just the mutation on `perInstanceState`.

Before:

<img width="560" alt="image"
src="https://github.com/llvm/llvm-project/assets/15016832/f4ea3f32-6649-4c10-88c4-b7522031e8c9">

After:

<img width="344" alt="image"
src="https://github.com/llvm/llvm-project/assets/15016832/1216db25-3dc1-4b0f-be89-caeff622dd35">


  Commit: dae55c89835347a353619f506ee5c8f8a2c136a7
      https://github.com/llvm/llvm-project/commit/dae55c89835347a353619f506ee5c8f8a2c136a7
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/test/CodeGen/M68k/pipeline.ll

  Log Message:
  -----------
  [M68k] Fix compilation pipeline check

- This change is after running ObjCContractPass in default codegen
  pipeline (#92331).


  Commit: 3c9641e7f00fdd5a7b3a8972b19364db25d6b67b
      https://github.com/llvm/llvm-project/commit/3c9641e7f00fdd5a7b3a8972b19364db25d6b67b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  LangRef: Rephrase fma description to avoid referring to libm (#92729)


  Commit: 06b5a7c205cbf33d1c40efc77e0820ddd4e060fa
      https://github.com/llvm/llvm-project/commit/06b5a7c205cbf33d1c40efc77e0820ddd4e060fa
  Author: huangqinjin <huangqinjin at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/x-args.c

  Log Message:
  -----------
  [clang][driver] Support `-x` for all languages in CL mode (#89772)

After https://github.com/llvm/llvm-project/pull/68921, clang-cl gained
option `-x` but only for CUDA/HIP. This commit simply removes the
restriction on parameters to `-x`. Especially, it is able to use `-x
c++-module` and `-x c++-system-header` to build C++20 modules and header
units with clang-cl.

This effectively reverts commit
fe082124faa8455cc9a68be5fdf10fc46a4d066c.

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


  Commit: 5287bb97f90e0d54e7fca280ead36ec6432f87b4
      https://github.com/llvm/llvm-project/commit/5287bb97f90e0d54e7fca280ead36ec6432f87b4
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable more OpenMP tests 5/n (#93246)

Enables a few sections, simd, taskloop, use_device tests.


  Commit: 4def1ce1012897d4f80f5094c29e5383b9aa6a0b
      https://github.com/llvm/llvm-project/commit/4def1ce1012897d4f80f5094c29e5383b9aa6a0b
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    R clang/lib/Headers/avx512erintrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Sema/SemaX86.cpp
    R clang/test/CodeGen/X86/avx512er-builtins.c
    R clang/test/CodeGen/X86/avx512pf-builtins.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/function-target-features.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/builtins-x86.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
    R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
    M llvm/test/CodeGen/X86/crc32-target-feature.ll
    M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll

  Log Message:
  -----------
  Reland "[X86] Remove knl/knm specific ISAs supports (#92883)" (#93136)

This reverts commit aa4069ea96e5eb62bc8c7895b9d920f129611b3a.


  Commit: fddf350f96405d2b0f4b17025e7c7bb2d159798e
      https://github.com/llvm/llvm-project/commit/fddf350f96405d2b0f4b17025e7c7bb2d159798e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 4def1ce10128


  Commit: 84be76f5f3095fcf804ba33c2ab55e548e800338
      https://github.com/llvm/llvm-project/commit/84be76f5f3095fcf804ba33c2ab55e548e800338
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [X86][EVEX512] Move 512-bit operations under useAVX512Regs


  Commit: 7c220c4bd31b832167b9fceadc3d27e7989728b9
      https://github.com/llvm/llvm-project/commit/7c220c4bd31b832167b9fceadc3d27e7989728b9
  Author: Vincent Lee <thevinster at users.noreply.github.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M lld/test/ELF/compressed-debug-level.test

  Log Message:
  -----------
  [lld][ELF][test] Fix compressed-debug-level.test (#93264)

When running `check-lld-elf` on my CentOS 9 linux box, the test seems to
expect `000021` instead of `00001{{[def]}}`


  Commit: 1579e9ca9ce17364963861517fecf13b00fe4d8a
      https://github.com/llvm/llvm-project/commit/1579e9ca9ce17364963861517fecf13b00fe4d8a
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
    M lld/MachO/LTO.cpp
    M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/M68k/pipeline.ll
    M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/X86/O0-pipeline.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  Revert "Run ObjCContractPass in Default Codegen Pipeline (#92331)"

This reverts commit 8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2.
This reverts commit dae55c89835347a353619f506ee5c8f8a2c136a7.

Causes major compile-time regressions for unoptimized builds.


  Commit: fb1d752364ea06e8cd5f5d3233bd70141e56964f
      https://github.com/llvm/llvm-project/commit/fb1d752364ea06e8cd5f5d3233bd70141e56964f
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/TargetParser/X86TargetParser.cpp

  Log Message:
  -----------
  Fix build warning for 4def1ce10 (#93274)


  Commit: 5a48223d1c3457a61b4830537c82972c17fe607e
      https://github.com/llvm/llvm-project/commit/5a48223d1c3457a61b4830537c82972c17fe607e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    R llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    R llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    R llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    R llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    R llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
    R llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
    R llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    R llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  Revert "[AMDGPU] Add AMDGPU-specific module splitting" (#93275)

Fails on https://lab.llvm.org/buildbot/#/builders/85/builds/24181
and https://lab.llvm.org/buildbot/#/builders/5/builds/43589

Reverts llvm/llvm-project#89245


  Commit: fa6377119c0624773cb698935692d46843e9f6ec
      https://github.com/llvm/llvm-project/commit/fa6377119c0624773cb698935692d46843e9f6ec
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
    M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
    M lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
    M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
    M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
    M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py

  Log Message:
  -----------
  [lldb-dap] Automatically skip lldb-dap tests for remote platforms (#93169)

The don't currently work (and they're also not particularly useful,
since all of the remote stuff happens inside lldb).

This saves us from annotating tests one by one.


  Commit: d6541fc74b0a3706f76276c08bc4f1582b5b93f2
      https://github.com/llvm/llvm-project/commit/d6541fc74b0a3706f76276c08bc4f1582b5b93f2
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
    M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold padding expand_shape into insert_slice (#93018)


  Commit: 04c94ba65f2123879332b6fbb851a60265e5c271
      https://github.com/llvm/llvm-project/commit/04c94ba65f2123879332b6fbb851a60265e5c271
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/python/mlir/dialects/linalg/__init__.py
    M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py

  Log Message:
  -----------
  [mlir][py] NFC: remove exception-based isa from linalg module (#92556)

When this code was written, we didn't have proper isinstance support for
operation classes in Python. Now we do, so there is no reason to keep
the expensive exception-based flow.


  Commit: b80d982a62676314ec93dc8881b9f8957217192a
      https://github.com/llvm/llvm-project/commit/b80d982a62676314ec93dc8881b9f8957217192a
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Detect assignments to uncounted local variable and parameters. (#92639)

This PR updates alpha.webkit.UncountedLocalVarsChecker to emit warnings
for assignments to uncounted local variable and parameters instead of
just the initialization during the declaration.


  Commit: a1f92592c1753e7aeba6b72d4a8120c55b4c6041
      https://github.com/llvm/llvm-project/commit/a1f92592c1753e7aeba6b72d4a8120c55b4c6041
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 5a48223d1c34


  Commit: 77ae18b0d99e1fc29b1e9345ce824dde2436c02c
      https://github.com/llvm/llvm-project/commit/77ae18b0d99e1fc29b1e9345ce824dde2436c02c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Send terminated event only once (#93172)

This is a regression from #91591. Turns out std::mutex does not prevent
code from running twice. :facepalm:


  Commit: f0b0c02504899c1bc00c6e6428e7aebe9ea5beb1
      https://github.com/llvm/llvm-project/commit/f0b0c02504899c1bc00c6e6428e7aebe9ea5beb1
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/test/Analysis/DataFlow/test-next-access.mlir
    M mlir/test/Conversion/BufferizationToMemRef/bufferization-to-memref.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
    M mlir/test/Conversion/SPIRVToLLVM/spirv-storage-class-mapping.mlir
    M mlir/test/Dialect/Arith/unsigned-when-equivalent.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
    M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations-func.mlir
    M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations.mlir
    M mlir/test/Dialect/GPU/barrier-elimination.mlir
    M mlir/test/Dialect/GPU/ops.mlir
    M mlir/test/Dialect/GPU/outlining.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/Dialect/SCF/transform-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
    M mlir/test/IR/parser.mlir
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
    M mlir/test/python/dialects/transform_structured_ext.py

  Log Message:
  -----------
  [mlir][test] Fix filecheck annotation typos (#92897)

Moved fixes for mlir from
https://github.com/llvm/llvm-project/pull/91854, plus few additional in
second commit.

---------

Co-authored-by: klensy <nightouser at gmail.com>


  Commit: d776346afe790e5d51ca6c6e2238a6ba91d130a1
      https://github.com/llvm/llvm-project/commit/d776346afe790e5d51ca6c6e2238a6ba91d130a1
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
    M mlir/test/Dialect/Linalg/block-pack-matmul.mlir

  Log Message:
  -----------
  [mlir][linalg] Avoid emitting errors in block pack matmul (#93170)

Tweaks linalg.generic verification in block pack matmul pass to avoid
using emitting errors which pollute stderr during operation matching.


  Commit: e3ed9e30b7b7102daf37f9464efc06b3d2e1a160
      https://github.com/llvm/llvm-project/commit/e3ed9e30b7b7102daf37f9464efc06b3d2e1a160
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:

  Log Message:
  -----------
  [mlir] add missing include to MemRefTransformOps.h (#92361)

The ODS-generated code has the following:

```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
  return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
      *getODSOperands(0).begin());
}
```

that may require the compiler seing the definition of `OperationType` so
include the corresponding header.


  Commit: a79a0c52885c3a60d6afdda3b125866b8ed75fce
      https://github.com/llvm/llvm-project/commit/a79a0c52885c3a60d6afdda3b125866b8ed75fce
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir

  Log Message:
  -----------
  [mlir][tensor] Simplify pad-like tensor pack and unpack (#92388)

Extend existing tensor patterns to simplify pad-like tensor pack/unpack
into expand/collapse shape operations.


  Commit: 6977bfb57c3efb9488aef463cd7ea521fd25a067
      https://github.com/llvm/llvm-project/commit/6977bfb57c3efb9488aef463cd7ea521fd25a067
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [mlir] Fix race condition introduced in ThreadLocalCache (#93280)

Okay, so an apparently not-so-rare crash could occur if the
`perInstanceState` point got re-allocated to the same pointer as before.
All the values have been destroyed, so the TLC is left with dangling
pointers, but then the same `ValueT *` is pulled out of the TLC and
dereferenced, leading to a crash.

I suppose the purpose of the `weak_ptr` was that it would get reset to a
default state when the `perInstanceState` shared pointer got destryoed
(its reference count would only ever be 1, very briefly 2 when it gets
aliased to a `ValueT *` but then assigned to a `weak_ptr`).

Basically, there are circular references between TLC instances and
`perInstanceState` instances and we have to ensure there are no dangling
references.

1. Ensure the TLC entries are reset to a valid default state if the TLC
(i.e. owning thread) lives longer than the `perInstanceState`. a. This
is currently achieved by storing `weak_ptr` in the TLC.
2. If `perInstanceState` lives longer than the TLC, it cannot contain
dangling references to entries in destroyed TLCs. a. This is not
currently the case.
3. If both are being destroyed at the same time, we cannot race. a. The
destructors are synchronized because the TLC destructor locks `weak_ptr`
while it is destructing, preventing the owning `perInstanceState` of the
entry from destructing. If `perInstanceState` got destructed first, the
`weak_ptr` lock would fail.

And

4. Ensure `get` in the common (initialized) case is as fast as possible
(no atomics).

We need to change the TLC to store a `ValueT **` so that it can be
shared with entries owned by `perInstanceState` and written to null when
they are destroyed. However, this is no longer something synchronized by
an atomic, meaning that (2) becomes a problem. This is fine because when
TLC destructs, we remove the entries from `perInstanceState` that could
reference the TLC entries.

This patch shows the same perf gain as before but hopefully without the
bug.


  Commit: b2f65e809e423b988e66b96029b5effe766cc62d
      https://github.com/llvm/llvm-project/commit/b2f65e809e423b988e66b96029b5effe766cc62d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [VPlan] Use DomTreeUpdater to automatically update DT for vector loop. (#92525)

Use DTU to queue DominatorTree updates directly when connecting basic
blocks during VPlan execution.

This simplifies DT updates and will also automatically allow updating
the DT for the VPlan-native path as additional benefit in a follow-up.

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


  Commit: dc148c9fb87e720814d4b377cde0f73907ae932b
      https://github.com/llvm/llvm-project/commit/dc148c9fb87e720814d4b377cde0f73907ae932b
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    A llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll

  Log Message:
  -----------
  [LV] add test for #47665, #88802 (#91135)


  Commit: f1acd9d57766052c8fe537dea3eb801373430528
      https://github.com/llvm/llvm-project/commit/f1acd9d57766052c8fe537dea3eb801373430528
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll

  Log Message:
  -----------
  [LAA] increase test coverage in symbolic-stride (#92253)

The test symbolic-stride.ll does not exercise all codepaths in
getStrideFromPointer, particularly when the operand is an
SCEVIntegralCastExpr. Cover these codepaths as well. This patch serves
as pre-commit tests for #92119.


  Commit: c455ab73d8b2ba0e0423fe838d30f4284b785064
      https://github.com/llvm/llvm-project/commit/c455ab73d8b2ba0e0423fe838d30f4284b785064
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir

  Log Message:
  -----------
  [mlir] Fix test expectation.


  Commit: 430729d71e4e582aa04b5d30796de14404fed56a
      https://github.com/llvm/llvm-project/commit/430729d71e4e582aa04b5d30796de14404fed56a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp

  Log Message:
  -----------
  [NFC][LLVM] Clean up TLI VECFUNC macros. (#93178)

Move the undef'ing of library specific macros to the places in the code
base where they are defined.


  Commit: ebc6c28a252915e6689ba7559bdc17eed0eea10c
      https://github.com/llvm/llvm-project/commit/ebc6c28a252915e6689ba7559bdc17eed0eea10c
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  Revert "[mlir] Fix race condition introduced in ThreadLocalCache (#93… (#93290)

…280)"

This reverts commit 6977bfb57c3efb9488aef463cd7ea521fd25a067.


  Commit: 2171f34121759a1495a6de840bcb92982d1b7a64
      https://github.com/llvm/llvm-project/commit/2171f34121759a1495a6de840bcb92982d1b7a64
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.h
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
    R mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
    R mlir/test/Dialect/LLVMIR/type-consistency.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Remove the type consistency pass (#93283)

This commit removes the LLVM dialect's type consistency pass. This pass
was originally introduced to make type information on memory operations
consistent. The main benefactor of this consistency where Mem2Reg and
SROA, which were in the meantime improved to no longer require
consistent type information.

Apart from providing a no longer required functionality, the pass had
some fundamental flaws that lead to issues:
* It introduced trivial GEPs (only zero indices) that could be folded
again.
* Aggressively splitting stores lead to substantial performance
regressions in some cases. Subsequent memory coalescing were not able to
recover this information, due to using non-trivial bit-fiddling.


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

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

  Log Message:
  -----------
  [X86] canCreateUndefOrPoisonForTargetNode - SSE vector shifts handle out of bounds shift amounts

SHL/SRL are guaranteed to fold to zero, SRA is guaranteed to fold to 'all sign bits'


  Commit: 5434b04234a86273d719f96e9efa6332a53c0eba
      https://github.com/llvm/llvm-project/commit/5434b04234a86273d719f96e9efa6332a53c0eba
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    A flang/test/Integration/debug-fixed-array-type-2.f90
    A flang/test/Transforms/debug-fixed-array-type.fir

  Log Message:
  -----------
  [flang][debug] Add support for fixed size arrays. (#92568)

This PR adds the type conversion support for fixed size arrays. Mostly
mechanical changes converting dimension values to subrange fields. A
limitation is that lower bound is always one for the moment as that
information is missing in `SequenceType`.

With this change in place, I can evaluate fixed size arrays in debugger.
```

(gdb) p x
$1 = ((2, 3, 4, 5) (3, 4, 5, 6) (4, 5, 6, 7) (5, 6, 7, 8) (6, 7, 8, 9))
(gdb) ptype x
type = integer (4,5)
```

---------

Co-authored-by: Tom Eccles <t at freedommail.info>


  Commit: 0ad4c8075985a0b82c01b28750a49e9e46a8c220
      https://github.com/llvm/llvm-project/commit/0ad4c8075985a0b82c01b28750a49e9e46a8c220
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
    R clang/test/CodeGenCXX/ps4-dllstorage-vtable-rtti.cpp

  Log Message:
  -----------
  [clang] Fix PS "selective" DLL import/export of vtable & typeinfo (#92579)

Prior to this patch, for "selective" DLL import/export, the vtable &
typeinfo would be imported/exported on the condition that all non-inline
virtual methods are imported/exported. This condition was based upon MS
guidelines related to "selective" DLL import/export.

However, in reality, this condition is too rigid and can result in
undefined vtable & typeinfo symbols for code that builds fine with MSVC.
Therefore, relax this condition to be if any non-inline method is
imported/exported.


  Commit: 214e6b40f8487cec03ab5d211369d8836de0ef68
      https://github.com/llvm/llvm-project/commit/214e6b40f8487cec03ab5d211369d8836de0ef68
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.cpp
    A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
    M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll

  Log Message:
  -----------
  [SPIR-V] Inline assembly support (#93164)

This PR introduces support for inline assembly calls for SPIR-V Backend
in general, and support for SPV_INTEL_inline_assembly [1] extension in
particular. The former part of the PR is agnostic towards
vendor-specific requirements and resolves the task of supporting
successful transformation of inline assembly as long as it's possible
without specific SPIR-V instruction codes.

As a part of the PR there appears an opportunity to bring coherent
inline assembly information up to latest passes of the transformation
process (emitting final SPIR-V instructions), so that PR makes it easy
to add any another required flavor of inline assembly, other then
supported by the vendor specific SPV_INTEL_inline_assembly extension,
if/when needed.

At the moment, however, SPV_INTEL_inline_assembly is the only
implemented way to bring LLVM IR inline assembly calls up to valid
SPIR-V instructions and also the default one. This means that inline
assembly calls will generate an error message of such extension is not
used to prevent LLVM-generated error messages at the final stages of
translation. When the SPV_INTEL_inline_assembly extension is mentioned
among supported, translation of inline assembly is intercepted by this
extension implementation on a pre-legalizer step, and this is a place
where support for a new inline assembly extension may be added if
needed.

This PR also extends support for register classes, improves type
inference during pre-legalizer pass, and fixes a minor bug with
asm-printing of string literals.

[1]
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_inline_assembly.asciidoc


  Commit: f35aac699167ef1046e2f177d2ba899c6975374e
      https://github.com/llvm/llvm-project/commit/f35aac699167ef1046e2f177d2ba899c6975374e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix zero-initializing unions

Only with primitive fields for now.


  Commit: fb9f5aa00fb92fd6ec6a5c9cf3b2e6acdc325083
      https://github.com/llvm/llvm-project/commit/fb9f5aa00fb92fd6ec6a5c9cf3b2e6acdc325083
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll

  Log Message:
  -----------
  [SPIR-V] Enable spirv-val in SPV_KHR_shader_clock test (#93292)

Validation succeeds on this test since SPIRV-Tools commit `e2646f5e
("spirv-val: Consider target env for OpReadClockKHR scope",
2024-05-21)`.


  Commit: 879b7268b8edca42f35648c4b54e5426bf0877bb
      https://github.com/llvm/llvm-project/commit/879b7268b8edca42f35648c4b54e5426bf0877bb
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    A flang/test/Semantics/OpenMP/do02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    A flang/test/Semantics/OpenMP/taskloop03.f90

  Log Message:
  -----------
  [Flang][OpenMP] Reenable and fix final few tests 6/6 (#93295)

Add do02.f90 and taskloop03.f90 that were removed in
https://github.com/llvm/llvm-project/pull/92739
Replace shell script tests with python.


  Commit: 0f26aa562018afc1105bc9ab0aa64fbe92ae9c04
      https://github.com/llvm/llvm-project/commit/0f26aa562018afc1105bc9ab0aa64fbe92ae9c04
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst

  Log Message:
  -----------
  [SPIR-V] Update docs to describe support of SPV_KHR_shader_clock (#93168)

This PR updates docs to describe support of SPV_KHR_shader_clock
extension added by https://github.com/llvm/llvm-project/pull/92771.


  Commit: 70a54bca6f7f9f45b4b17974ddaa01cd7a5d64be
      https://github.com/llvm/llvm-project/commit/70a54bca6f7f9f45b4b17974ddaa01cd7a5d64be
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scalarazied-result.ll

  Log Message:
  -----------
  [SLP]Improve/fix extracts calculations for non-power-of-2 elements.

One of the previous patches introduced initial support for non-power-of-2
number of elements but some parts of the SLP vectorizer still were not
adjusted to handle the costs correctly. Patch fixes it by improving
analysis of the non-power-of-2 number of elements and fixes in the cost
of the extractelements instructions.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 14304055e0d223a6dd224625b8fd128e6f711eb5
      https://github.com/llvm/llvm-project/commit/14304055e0d223a6dd224625b8fd128e6f711eb5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/funnel-shift.ll

  Log Message:
  -----------
  [X86] funnel-shifts.ll - add VBMI2 and non-uniform shift amounts test coverage

VBMI2 has legal FSHL/FSHR operations which makes it easier to test non-uniform shift amounts as it won't get expanded


  Commit: 729fdb6bb656f30d7868251a06a6f4ab111e1335
      https://github.com/llvm/llvm-project/commit/729fdb6bb656f30d7868251a06a6f4ab111e1335
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [DAG] visitFunnelShift - pull out repeated SDLoc.


  Commit: 7eeec8e6d10a796974c3439529f3de690251b004
      https://github.com/llvm/llvm-project/commit/7eeec8e6d10a796974c3439529f3de690251b004
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Utils.cpp
    A offload/test/offloading/ompx_bare_ballot_sync.c
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [OpenMP][OMPX] Add ballot_sync (#91297)

This patch adds the support for `ballot_sync` in ompx.


  Commit: bd851eec34749023e5d967c03847df1635bbfa57
      https://github.com/llvm/llvm-project/commit/bd851eec34749023e5d967c03847df1635bbfa57
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTDiagnostic.cpp
    A clang/test/Misc/diag-template-diffing-cxx11.cpp
    A clang/test/Misc/diag-template-diffing-cxx26.cpp
    R clang/test/Misc/diag-template-diffing.cpp

  Log Message:
  -----------
  [clang] Avoid crash due to unimplemented StructuralValue support in the template differ (#93265)

This was not implemented in
https://github.com/llvm/llvm-project/pull/78041 when StructuralValue
TemplateArguments were originally added.

This patch does not implement this functionality, it just falls back to
the expression when possible.

Otherwise, such as when dealing with canonical types to begin with, this
will just ignore the argument as if it wasn't even there.

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


  Commit: b2f6d323fcd1833a7092e7d338578e0af0ac138d
      https://github.com/llvm/llvm-project/commit/b2f6d323fcd1833a7092e7d338578e0af0ac138d
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll

  Log Message:
  -----------
  [MemProf] Fix tailcall discovery checking for multiple callee chains (#92632)

When looking for missing frames due to tail calls, we were not checking
the output parameter of the recursive call in the correct place.
Make sure we check for the case when that recursive call returned false
due to multiple possible callee chains.

Extended the existing test a bit to catch this case.


  Commit: ad190fcf15c1d0beea1ba93b4d250e15d2e944f4
      https://github.com/llvm/llvm-project/commit/ad190fcf15c1d0beea1ba93b4d250e15d2e944f4
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/test/Misc/diag-template-diffing-cxx26.cpp

  Log Message:
  -----------
  [clang] add fallback to expr in the template differ when comparing ValueDecl (#93266)


  Commit: d8c8c8c7b91ce51f3e2fc088a5fd365b23cd9889
      https://github.com/llvm/llvm-project/commit/d8c8c8c7b91ce51f3e2fc088a5fd365b23cd9889
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Diagnose dummy assignments differently

Incremental change here, but a step in the right direction. Before,
an assignment to a dummy variable was diagnosed as a "read of a
non-const variable".


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

  Changed paths:
    A llvm/test/CodeGen/X86/pr93000.ll

  Log Message:
  -----------
  [X86] Add test case for #93000


  Commit: 82a5d0da6007609ddcb3190530e0a269ae0452db
      https://github.com/llvm/llvm-project/commit/82a5d0da6007609ddcb3190530e0a269ae0452db
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/test/AST/Interp/eval-order.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Make eval-order test more useful

Use different -verify prefixes and make sure the tests really break
when fixing the eval order.


  Commit: 53b904823cba4e93d58793b0804407f812477724
      https://github.com/llvm/llvm-project/commit/53b904823cba4e93d58793b0804407f812477724
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/Headers/intrin.h

  Log Message:
  -----------
  [MSVC, ARM64] Fix signature for __prefetch (#93235)

#67174 added the `__prefetch` intrinsic, however it used the wrong
signature: the argument should be `const void*`, not `void*`.

Docs:
https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170#:~:text=__prefetch

Unfortunately, this can't be backported (there are no more 18.x
releases, and this change is a breaking change), so I'll see if I can
get a workaround added on MSVC's side for Clang 18.


  Commit: b008a2d12ab98009d134c988c7cae2fdf4aeac8a
      https://github.com/llvm/llvm-project/commit/b008a2d12ab98009d134c988c7cae2fdf4aeac8a
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll

  Log Message:
  -----------
  [LV][NFC] precommit test for EVL transform (#92203)

A precommit test case to show vector loops generated from EVL transform
- This is a precommit test for
https://github.com/llvm/llvm-project/pull/92092


  Commit: fab234a5613f64727b16b6ae91bbbab2798027e8
      https://github.com/llvm/llvm-project/commit/fab234a5613f64727b16b6ae91bbbab2798027e8
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  Revert "[mlir] Optimize ThreadLocalCache by removing atomic bottleneck" (#93306)

Reverts llvm/llvm-project#93270

This was found to have a race and the forward fix was reverted,
reverting this until can forward fix.


  Commit: 89172e954c51b16e5556f758e1a91dd385bc5aab
      https://github.com/llvm/llvm-project/commit/89172e954c51b16e5556f758e1a91dd385bc5aab
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [X86] combineBitcastToBoolVector - add XOR + Constant handling, match existing BITCASTs and limit recursion depth

Add XOR + constant handling to allow us to detect NOT patterns.

If a recursive combineBitcastToBoolVector call finds an existing BITCAST node then use that.

As combineBitcastToBoolVector is recursive, ensure we limit the maximum recursion depth.

Fixes #93000


  Commit: 4ebe9bba59389b0788ca01ec3f4bd2cb7f567a17
      https://github.com/llvm/llvm-project/commit/4ebe9bba59389b0788ca01ec3f4bd2cb7f567a17
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins-wasm.c
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/MC/WebAssembly/simd-encodings.s

  Log Message:
  -----------
  [WebAssembly] Implement prototype f16x8.extract_lane instruction. (#93272)

Specified at:

https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md

Note: the current spec has f16x8.extract_lane as opcode 0x124, but this
is incorrect and will be changed to 0x121 soon.


  Commit: 8178a3ad1b16e3c06e3bb8d91a8412bf329be3e0
      https://github.com/llvm/llvm-project/commit/8178a3ad1b16e3c06e3bb8d91a8412bf329be3e0
  Author: tyb0807 <sontuan.vu119 at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/include/mlir/Config/mlir-config.h.cmake
    M mlir/include/mlir/InitAllPasses.h
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir] Replace MLIR_ENABLE_CUDA_CONVERSIONS with LLVM_HAS_NVPTX_TARGET (#93008)

LLVM_HAS_NVPTX_TARGET is automatically set depending on whether NVPTX
was enabled when building LLVM. Use this instead of manually defining
MLIR_ENABLE_CUDA_CONVERSIONS (whose name is a bit misleading btw).


  Commit: ab7e6b66fdd768f566e76972755de3578f1d0f4a
      https://github.com/llvm/llvm-project/commit/ab7e6b66fdd768f566e76972755de3578f1d0f4a
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/test/ExtractAPI/non_type_template.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] Ensure TemplateArgumentLocations are only accessed if available (#93205)


  Commit: 9ad5da2defd4f88c6649bf2b77f1968f661f2dcc
      https://github.com/llvm/llvm-project/commit/9ad5da2defd4f88c6649bf2b77f1968f661f2dcc
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/docs/PassManagement.md
    M mlir/include/mlir/Pass/PassManager.h
    M mlir/lib/Pass/IRPrinting.cpp
    M mlir/lib/Pass/PassManagerOptions.cpp
    A mlir/test/Pass/ir-printing-file-tree.mlir

  Log Message:
  -----------
  [mlir][Pass] Add new FileTreeIRPrinterConfig (#67840)

This change expands the existing instrumentation that prints the IR
before/after each pass to an output stream (usually stderr). It adds
a new configuration that will print the output of each pass to a
separate file. The files will be organized into a directory tree
rooted at a specified directory. For existing tools, a CL option
`-mlir-print-ir-tree-dir` is added to specify this directory and
activate the new printing config.

The created directory tree mirrors the nesting structure of the IR. For
example,
if the IR is congruent to the pass-pipeline
"builtin.module(pass1,pass2,func.func(pass3,pass4),pass5)", and
`-mlir-print-ir-tree-dir=/tmp/pipeline_output`, then then the tree file
tree
created will look like:

```
/tmp/pass_output
├── builtin_module_the_symbol_name
│   ├── 0_pass1.mlir
│   ├── 1_pass2.mlir
│   ├── 2_pass5.mlir
│   ├── func_func_my_func_name
│   │   ├── 1_0_pass3.mlir
│   │   ├── 1_1_pass4.mlir
│   ├── func_func_my_other_func_name
│   │   ├── 1_0_pass3.mlir
│   │   ├── 1_1_pass4.mlir
```

The subdirectories are named by concatenating the relevant parent
operation names and symbol name (if present). The printer keeps a
counter associated with ops that are targeted by passes and their
isolated-from-above parents. Each filename is given a numeric prefix
using the counter value for the op that the pass is targeting and then
prepending the counter values for each parent. This gives a naming
where it is easy to distinguish which passes may have run concurrently
vs. which have a clear ordering. In the above example, for both
`1_1_pass4.mlir` files, the first `1` refers to the counter for the
parent op, and the second refers to the counter for the respective
function.


  Commit: 15135afad15cbcfaaa395d364d9f2ca1f48f2948
      https://github.com/llvm/llvm-project/commit/15135afad15cbcfaaa395d364d9f2ca1f48f2948
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [memprof] Use a SetVector (NFC) (#93312)


  Commit: a1c9b9673c7408c64ac0d809e4aec5aee2eb2eb8
      https://github.com/llvm/llvm-project/commit/a1c9b9673c7408c64ac0d809e4aec5aee2eb2eb8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/VE/VVPNodes.def

  Log Message:
  -----------
  [SelectionDAG][RISCV][VE] Rename VP_ASHR->VP_SRA VP_LSHR->VP_SRL. (#93221)

This maintains consistency with the non-VP ISD opcodes.


  Commit: 96af54b9607eae9fc22ce9352f8271bf7510236b
      https://github.com/llvm/llvm-project/commit/96af54b9607eae9fc22ce9352f8271bf7510236b
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp

  Log Message:
  -----------
  [libc++][test] Close LWG3045 (#93053)


  Commit: 9e814669a00e7a37a9797d4aeae387638438eee4
      https://github.com/llvm/llvm-project/commit/9e814669a00e7a37a9797d4aeae387638438eee4
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/select-dependence.ll

  Log Message:
  -----------
  [LAA] rewrite a test to make it more robust (#93197)

The test select-dependence.ll can be eliminated completely by dce, as it
returns a constant, and doesn't write any arguments. Lift out the local
allocas into arguments, so that it is less nonsensical. While at it,
rename the variables for greater readability, and regenerate the test
with UpdateTestChecks.


  Commit: b8b90c2a20f6aba6b333004b0390ba12a76040c7
      https://github.com/llvm/llvm-project/commit/b8b90c2a20f6aba6b333004b0390ba12a76040c7
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call39.f90

  Log Message:
  -----------
  [flang] Silence bogus error about NULL() actual for assumed-rank dummy (#93225)

A NULL(without MOLD=) actual argument can be associated with an OPTIONAL
assumed-rank non-allocatable non-pointer dummy argument; it simply
signifies that the corresponding actual argument is absent, and thus
none of its dynamic attributes, including rank, are meaningful.


  Commit: 7c265e9f576041c20422218571bc2dacf20d65d9
      https://github.com/llvm/llvm-project/commit/7c265e9f576041c20422218571bc2dacf20d65d9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [RISCV] Replace std::optional::value() with operator*. NFC


  Commit: bb0d29a72d3a616ad6606c3996c39aba96f55615
      https://github.com/llvm/llvm-project/commit/bb0d29a72d3a616ad6606c3996c39aba96f55615
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll

  Log Message:
  -----------
  [LV] fix logical error in trunc cost (#91136)

In LoopVectorizationCostModel::getInstructionCost(), when the condition
canTruncateToMinimalBitwidth() is satisfied, for a trunc, the source
type is computed as the smallest type of the source vector and the
destination vector, and the destination type is computed as the largest
type of the instruction and destination type. This is clearly a logical
error, as the original source vector type could be smaller than the
original destination vector type, and the trunc semantics are broken
because we're attempting to widen.

Fixes #47665.


  Commit: f49247129f3e873841bc6c3fec4bdc7c9d6f1dd7
      https://github.com/llvm/llvm-project/commit/f49247129f3e873841bc6c3fec4bdc7c9d6f1dd7
  Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention.ll

  Log Message:
  -----------
  [AArch64][SVE] Lower function arguments in types of arrays of predicates (#90122)

Function arguments in types of arrays of scalable predicates, even in [1 x <vscale x 16 x i1>] type, should be allocated to available P0 ~ P3 registers, or to the stack and a point of the stack location is passed to the callee.

See details in https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#parameter-passing, step C.7 and C.8


  Commit: e897b0bbe908ea17188f0b1ed96e6b6c8f8954d8
      https://github.com/llvm/llvm-project/commit/e897b0bbe908ea17188f0b1ed96e6b6c8f8954d8
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ConstantRange.h
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/mul.ll
    A llvm/test/Transforms/SCCP/range-mul-nuw-nsw-flags.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange][LVI] Add support for `multiplyWithNoWrap`

Introduce support for computing multiplication ranges when nowrap
flags are known. This is achieved by intersecting the multiplication
range with the saturating one. Note that we may still conservatively
return overdefined when handling non-wrapped/non-sign-wrapped ranges.


  Commit: dc7897aed3934fb5abd21654303d5c1593edc55e
      https://github.com/llvm/llvm-project/commit/dc7897aed3934fb5abd21654303d5c1593edc55e
  Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [BOLT][NFC] Fix unused variable warning (#93323)

This fixes

```
warning: variable 'AbbrDecl' set but not used [-Wunused-but-set-variable]

   76 |     if (const DWARFAbbreviationDeclaration *AbbrDecl =
```


  Commit: 41c057b078902df9053ccbf812656832cc6209ef
      https://github.com/llvm/llvm-project/commit/41c057b078902df9053ccbf812656832cc6209ef
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dep after #93008 (#93325)

This dep was removed in that change, but this library still needs it.


  Commit: 8d2258fd3b2a4cde56cc2c679a9ee5b2c966a9e0
      https://github.com/llvm/llvm-project/commit/8d2258fd3b2a4cde56cc2c679a9ee5b2c966a9e0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/lib/ProfileData/MemProf.cpp

  Log Message:
  -----------
  [memprof] Call llvm::SmallVector::reserve (#93324)


  Commit: d07362f7a9fc06e2445f5c4bc62c10a339bf68a5
      https://github.com/llvm/llvm-project/commit/d07362f7a9fc06e2445f5c4bc62c10a339bf68a5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/test/SemaObjC/unguarded-availability.m

  Log Message:
  -----------
  Enable unguarded availability diagnostic on instantiated template functions (#91699)

Availability diagnostic in instantiated template functions was
intentionally skipped in the original
[commit](https://github.com/llvm/llvm-project/commit/5cd57177a51abc7b0bfe18f70566572dbccab9a0)
years ago with a FIXME note.

I ran into this when working on diagnostics for HLSL. When I remove the
skip, it seems to be working just fine outputting expected messages. So,
unless I am missing something, I would keep it enabled and use it for
checking availability in HLSL templates as well.


  Commit: 4fb02de9d490d0773441aa30124bb4d1272230d3
      https://github.com/llvm/llvm-project/commit/4fb02de9d490d0773441aa30124bb4d1272230d3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Utils.cpp
    A offload/test/offloading/ompx_bare_shfl_down_sync.cpp
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [OpenMP][OMPX] Add shfl_down_sync (#93311)


  Commit: 5c40db1da3a5ee1ed27b2ed874353dd80b294c15
      https://github.com/llvm/llvm-project/commit/5c40db1da3a5ee1ed27b2ed874353dd80b294c15
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Don't retry weak declarations


  Commit: 8c718a3a91df4ab68dc3f1ca3887ea730c9aed84
      https://github.com/llvm/llvm-project/commit/8c718a3a91df4ab68dc3f1ca3887ea730c9aed84
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [OpenMP][OMPX] No default argument for C API


  Commit: 6bf450c7a60fa62c642e39836566da94bb9bbc91
      https://github.com/llvm/llvm-project/commit/6bf450c7a60fa62c642e39836566da94bb9bbc91
  Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/VectorEngine.cmake
    M clang/utils/analyzer/entrypoint.py
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/xray/tests/CMakeLists.txt
    M lldb/docs/resources/build.rst
    M lldb/source/Core/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    R llvm/cmake/modules/FindTerminfo.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/Unix/Process.inc
    M llvm/utils/gn/README.rst
    R llvm/utils/gn/build/libs/terminfo/BUILD.gn
    R llvm/utils/gn/build/libs/terminfo/enable.gni
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
    M utils/bazel/.bazelrc
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [Support] Remove terminfo dependency (#92865)

The terminfo dependency introduces a significant nonhermeticity into the
build. It doesn't respect `--no-undefined-version` meaning that it's not
a dependency that can be built with Clang 17+. This forces maintainers
of source-based distributions to implement patches or ignore linker
errors.

Remove it to reduce the closure size and improve portability of
LLVM-based tools. Users can still use command line arguments to toggle
color support expliticly.

Fixes #75490
Closes #53294 #23355


  Commit: 098c6dfa8157681699a71fce9e3d94515e66311f
      https://github.com/llvm/llvm-project/commit/098c6dfa8157681699a71fce9e3d94515e66311f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [NFC][OpenMP][OMPX] Remove ';' that is outside of a function


  Commit: 66b5f16b2fc2ec9e34189c4042f0bea57291d2a4
      https://github.com/llvm/llvm-project/commit/66b5f16b2fc2ec9e34189c4042f0bea57291d2a4
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Do not check PostRAScheduler in enablePostRAScheduler (#92781)

On RISC-V, there are a few ways to control whether the
PostMachineScheduler is enabled. If `-enable-post-misched` is passed or
passed with a value of true, then the PostMachineScheduler is enabled.
If it is passed with a value of false then the PostMachineScheduler is
disabled. If the option is not passed at all, then
`RISCVSubtarget::enablePostRAMachineScheduler` decides whether the pass
should be enabled or not. `TargetSubtargetInfo::enablePostRAScheduler`
and `TargetSubtargetInfo::enablePostRAMachineScheduler` who check the
SchedModel value are not called by RISC-V backend.

`RISCVSubtarget::enablePostRAMachineScheduler` currently checks if the
active scheduler model sets `PostRAScheduler`. If it is set to true by
the scheduler model, then the pass is enabled. If it is not set to true
by the scheduler model, then the value of `UsePostRAScheduler` subtarget
feature is used.

I argue that the RISC-V backend should not use `PostRAScheduler` field
of the scheduler model to control whether the PostMachineScheduler is
enabled for the following reasons:

1. No other targets use this value to control whether
PostMachineScheduler is enabled. They only use it to check whether the
legacy PostRASchedulerList scheduler is enabled.

2. We can add the `UsePostRAScheduler` feature to the processor
definition in RISCVProcessors.td to tie a processor to whether the pass
should be enabled by default. This makes the feature and the sched model
field redundant.

3. Since these options are redundant, we should prefer the feature,
since we can set `+` and `-` on the feature, but the value of the
scheduler cannot be controlled on the command line.

4. Keeping both options allows us to set the feature and the scheduler
model value to conflicting values. Although the scheduler model value
will win out, it feels awkward to allow it.


  Commit: b9d40a7ae4b3e5b9829eca8a497637c9fab6dd3e
      https://github.com/llvm/llvm-project/commit/b9d40a7ae4b3e5b9829eca8a497637c9fab6dd3e
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M llvm/test/tools/llvm-profgen/profile-density.test
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.h

  Log Message:
  -----------
  [llvm-profgen] Improve sample profile density (#92144)

The profile density feature(the amount of samples in the profile
relative to the program size) is used to identify insufficient sample
issue and provide hints for user to increase sample count. A low-density
profile can be inaccurate due to statistical noise, which can hurt FDO
performance.

This change introduces two improvements to the current density work. 
1. The density calculation/definition is changed. Previously, the
density of a profile was calculated as the minimum density for all warm
functions (a function was considered warm if its total samples were
within the top N percent of the profile). However, there is a problem
that a high total sample profile can have a very low density, which
makes the density value unstable.
- Instead, we want to find a density number such that if a function's
density is below this value, it is considered low-density function. We
consider the whole profile is bad if a group of low-density functions
have the sum of samples that exceeds N percent cut-off of the total
samples.

- In implementation, we sort the function profiles by density, iterate
them in descending order and keep accumulating the body samples until
the sum exceeds the (100% - N) percentage of the total_samples, the
profile-density is the last(minimum) function-density of processed
functions. We introduce the a flag(`--profile-density-threshold`) for
this percentage threshold.

2. The density is now calculated based on final(compiler used) profiles
instead of merged context-less profiles.


  Commit: 1126657af5b6b0a6a64c4f4c04cf9d255d5129e0
      https://github.com/llvm/llvm-project/commit/1126657af5b6b0a6a64c4f4c04cf9d255d5129e0
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp

  Log Message:
  -----------
  [flang][runtime] Enable REAL printing in F18 offload runtime. (#87851)


  Commit: 77369a7f1a81f7991a3df2dad1bc8e277bc7559d
      https://github.com/llvm/llvm-project/commit/77369a7f1a81f7991a3df2dad1bc8e277bc7559d
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py

  Log Message:
  -----------
  [lldb] Fixed the TestDebuggerAPI test on x86_64 Windows host (#90580)

Disable the TestDebuggerAPI test in case of the remote target and
Windows host.


  Commit: 2669ee117422e0a2ece69ab33c2f8d97a5c7d85a
      https://github.com/llvm/llvm-project/commit/2669ee117422e0a2ece69ab33c2f8d97a5c7d85a
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M openmp/cmake/OpenMPTesting.cmake

  Log Message:
  -----------
  [OpenMP][AIX] Extend LIT test timeout limit (#93319)

When buildbots are crowded, the libomp LIT tests may hit timeouts so
extend the limit from 1800 to 3000 seconds.


  Commit: 6be1a1535ef4ea30f301586e4960bebbfccfe851
      https://github.com/llvm/llvm-project/commit/6be1a1535ef4ea30f301586e4960bebbfccfe851
  Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/templates.cpp

  Log Message:
  -----------
  [clang][c++20] Fix code coverage mapping crash with generalized NTTPs (#85837)

Introduced in #78041, originally reported as #79957 and fixed partially
in #80050.

`OpaqueValueExpr` used with `TemplateArgument::StructuralValue` has no
corresponding source expression.

A test case with subobject-referring NTTP added.


  Commit: 3ec57a7ed60a19c5e3e18655e19c997a469d10ec
      https://github.com/llvm/llvm-project/commit/3ec57a7ed60a19c5e3e18655e19c997a469d10ec
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    A llvm/test/Transforms/EntryExitInstrumenter/mcount-aix.ll
    M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll

  Log Message:
  -----------
  [test][EntryExitInstrumenter] Update/add tests

Use UTC. Add test coverage for AIX.


  Commit: e1f056f692d869708c1898d9d65a69ac5584a0ed
      https://github.com/llvm/llvm-project/commit/e1f056f692d869708c1898d9d65a69ac5584a0ed
  Author: rahulana-quic <quic_rahulana at quicinc.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M polly/test/CodeGen/20100617.ll
    M polly/test/CodeGen/20100622.ll
    M polly/test/CodeGen/20100707.ll
    M polly/test/CodeGen/20100707_2.ll
    M polly/test/CodeGen/20100708.ll
    M polly/test/CodeGen/20100708_2.ll
    M polly/test/CodeGen/20100713.ll
    M polly/test/CodeGen/20100713_2.ll
    M polly/test/CodeGen/20100717.ll
    M polly/test/CodeGen/20100718-DomInfo-2.ll
    M polly/test/CodeGen/20100718-DomInfo.ll
    M polly/test/CodeGen/20100720-MultipleConditions.ll
    M polly/test/CodeGen/20100809-IndependentBlock.ll
    M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
    M polly/test/CodeGen/20101030-Overflow.ll
    M polly/test/CodeGen/20101103-Overflow3.ll
    M polly/test/CodeGen/20101103-signmissmatch.ll
    M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
    M polly/test/CodeGen/20110226-PHI-Node-removed.ll
    M polly/test/CodeGen/20120316-InvalidCast.ll
    M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
    M polly/test/CodeGen/20130221.ll
    M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
    M polly/test/CodeGen/Intrinsics/llvm-expect.ll
    M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
    M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
    M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
    M polly/test/CodeGen/MemAccess/bad_alignment.ll
    M polly/test/CodeGen/MemAccess/codegen_address_space.ll
    M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
    M polly/test/CodeGen/MemAccess/codegen_simple.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
    M polly/test/CodeGen/MemAccess/different_types.ll
    M polly/test/CodeGen/MemAccess/generate-all.ll
    M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
    M polly/test/CodeGen/MemAccess/multiple_types.ll
    M polly/test/CodeGen/MemAccess/simple.ll
    M polly/test/CodeGen/MemAccess/update_access_functions.ll
    M polly/test/CodeGen/OpenMP/alias-metadata.ll
    M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
    M polly/test/CodeGen/OpenMP/inlineasm.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
    M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
    M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
    M polly/test/CodeGen/OpenMP/matmul-parallel.ll
    M polly/test/CodeGen/OpenMP/recomputed-srem.ll
    M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
    M polly/test/CodeGen/OpenMP/reference-other-bb.ll
    M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
    M polly/test/CodeGen/OpenMP/reference_latest.ll
    M polly/test/CodeGen/OpenMP/scev-rewriting.ll
    M polly/test/CodeGen/OpenMP/single_loop.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
    M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
    M polly/test/CodeGen/PHIInExit.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
    M polly/test/CodeGen/alias-check-multi-dim.ll
    M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
    M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
    M polly/test/CodeGen/aliasing_different_pointer_types.ll
    M polly/test/CodeGen/aliasing_multidimensional_access.ll
    M polly/test/CodeGen/aliasing_parametric_simple_1.ll
    M polly/test/CodeGen/aliasing_parametric_simple_2.ll
    M polly/test/CodeGen/aliasing_struct_element.ll
    M polly/test/CodeGen/alignment.ll
    M polly/test/CodeGen/annotated_alias_scopes.ll
    M polly/test/CodeGen/blas_sscal_simplified.ll
    M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
    M polly/test/CodeGen/constant_condition.ll
    M polly/test/CodeGen/create-conditional-scop.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
    M polly/test/CodeGen/debug-intrinsics.ll
    M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
    M polly/test/CodeGen/empty_domain_in_context.ll
    M polly/test/CodeGen/entry_with_trivial_phi.ll
    M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
    M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
    M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
    M polly/test/CodeGen/exprModDiv.ll
    M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
    M polly/test/CodeGen/hoisting_1.ll
    M polly/test/CodeGen/hoisting_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_1.ll
    M polly/test/CodeGen/inner_scev_sdiv_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_3.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
    M polly/test/CodeGen/intrinsics_lifetime.ll
    M polly/test/CodeGen/intrinsics_misc.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
    M polly/test/CodeGen/invariant-load-dimension.ll
    M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
    M polly/test/CodeGen/invariant_cannot_handle_void.ll
    M polly/test/CodeGen/invariant_load.ll
    M polly/test/CodeGen/invariant_load_address_space.ll
    M polly/test/CodeGen/invariant_load_alias_metadata.ll
    M polly/test/CodeGen/invariant_load_base_pointer.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
    M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/CodeGen/invariant_load_condition.ll
    M polly/test/CodeGen/invariant_load_different_sized_types.ll
    M polly/test/CodeGen/invariant_load_escaping.ll
    M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
    M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
    M polly/test/CodeGen/invariant_load_loop_ub.ll
    M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
    M polly/test/CodeGen/invariant_load_outermost.ll
    M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
    M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
    M polly/test/CodeGen/invariant_load_scalar_dep.ll
    M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
    M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
    M polly/test/CodeGen/invariant_verify_function_failed.ll
    M polly/test/CodeGen/invariant_verify_function_failed_2.ll
    M polly/test/CodeGen/issue56692.ll
    M polly/test/CodeGen/large-numbers-in-boundary-context.ll
    M polly/test/CodeGen/load_subset_with_context.ll
    M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
    M polly/test/CodeGen/loop_with_condition.ll
    M polly/test/CodeGen/loop_with_condition_2.ll
    M polly/test/CodeGen/loop_with_condition_ineq.ll
    M polly/test/CodeGen/loop_with_condition_nested.ll
    M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
    M polly/test/CodeGen/memcpy_annotations.ll
    M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
    M polly/test/CodeGen/multidim-non-matching-typesize.ll
    M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/CodeGen/multidim_alias_check.ll
    M polly/test/CodeGen/multiple-codegens.ll
    M polly/test/CodeGen/multiple-scops-in-a-row.ll
    M polly/test/CodeGen/multiple-types-invariant-load-2.ll
    M polly/test/CodeGen/multiple-types-invariant-load.ll
    M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
    M polly/test/CodeGen/no-overflow-tracking.ll
    M polly/test/CodeGen/no_guard_bb.ll
    M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
    M polly/test/CodeGen/non-affine-exit-node-dominance.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
    M polly/test/CodeGen/non-affine-region-implicit-store.ll
    M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
    M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
    M polly/test/CodeGen/non-affine-switch.ll
    M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
    M polly/test/CodeGen/non-affine-update.ll
    M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
    M polly/test/CodeGen/non_affine_float_compare.ll
    M polly/test/CodeGen/only_non_affine_error_region.ll
    M polly/test/CodeGen/openmp_limit_threads.ll
    M polly/test/CodeGen/out-of-scop-phi-node-use.ll
    M polly/test/CodeGen/param_div_div_div_2.ll
    M polly/test/CodeGen/partial_write_array.ll
    M polly/test/CodeGen/partial_write_emptyset.ll
    M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
    M polly/test/CodeGen/partial_write_impossible_restriction.ll
    M polly/test/CodeGen/partial_write_in_region.ll
    M polly/test/CodeGen/partial_write_in_region_with_loop.ll
    M polly/test/CodeGen/partial_write_mapped_scalar.ll
    M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
    M polly/test/CodeGen/perf_monitoring.ll
    M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
    M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
    M polly/test/CodeGen/phi-defined-before-scop.ll
    M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
    M polly/test/CodeGen/phi_condition_modeling_1.ll
    M polly/test/CodeGen/phi_condition_modeling_2.ll
    M polly/test/CodeGen/phi_conditional_simple_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
    M polly/test/CodeGen/phi_loop_carried_float.ll
    M polly/test/CodeGen/phi_loop_carried_float_escape.ll
    M polly/test/CodeGen/phi_scalar_simple_1.ll
    M polly/test/CodeGen/phi_scalar_simple_2.ll
    M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
    M polly/test/CodeGen/phi_with_one_exit_edge.ll
    M polly/test/CodeGen/pointer-type-expressions-2.ll
    M polly/test/CodeGen/pointer-type-expressions.ll
    M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
    M polly/test/CodeGen/pointer_rem.ll
    M polly/test/CodeGen/pr25241.ll
    M polly/test/CodeGen/ptrtoint_as_parameter.ll
    M polly/test/CodeGen/read-only-scalars.ll
    M polly/test/CodeGen/reduction.ll
    M polly/test/CodeGen/reduction_2.ll
    M polly/test/CodeGen/reduction_simple_binary.ll
    M polly/test/CodeGen/region-with-instructions.ll
    M polly/test/CodeGen/region_exiting-domtree.ll
    M polly/test/CodeGen/region_multiexit_partialwrite.ll
    M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
    M polly/test/CodeGen/run-time-condition.ll
    M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
    M polly/test/CodeGen/scalar-store-from-same-bb.ll
    M polly/test/CodeGen/scalar_codegen_crash.ll
    M polly/test/CodeGen/scev-backedgetaken.ll
    M polly/test/CodeGen/scev-division-invariant-load.ll
    M polly/test/CodeGen/scev.ll
    M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
    M polly/test/CodeGen/scev_looking_through_bitcasts.ll
    M polly/test/CodeGen/scop_expander_insert_point.ll
    M polly/test/CodeGen/scop_expander_segfault.ll
    M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
    M polly/test/CodeGen/select-base-pointer.ll
    M polly/test/CodeGen/sequential_loops.ll
    M polly/test/CodeGen/simple_loop_non_single_exit.ll
    M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
    M polly/test/CodeGen/simple_non_single_entry.ll
    M polly/test/CodeGen/simple_nonaffine_loop.ll
    M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
    M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_one_iteration.ll
    M polly/test/CodeGen/single_do_loop_scev_replace.ll
    M polly/test/CodeGen/single_loop.ll
    M polly/test/CodeGen/single_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_loop_one_iteration.ll
    M polly/test/CodeGen/single_loop_param.ll
    M polly/test/CodeGen/single_loop_param_less_equal.ll
    M polly/test/CodeGen/single_loop_param_less_than.ll
    M polly/test/CodeGen/single_loop_zero_iterations.ll
    M polly/test/CodeGen/split_edge_of_exit.ll
    M polly/test/CodeGen/split_edges.ll
    M polly/test/CodeGen/split_edges_2.ll
    M polly/test/CodeGen/srem-in-other-bb.ll
    M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
    M polly/test/CodeGen/stmt_split_no_dependence.ll
    M polly/test/CodeGen/switch-in-non-affine-region.ll
    M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
    M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
    M polly/test/CodeGen/test-invalid-operands-for-select.ll
    M polly/test/CodeGen/test.ll
    M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
    M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
    M polly/test/CodeGen/two-scops-in-row.ll
    M polly/test/CodeGen/udiv_expansion_position.ll
    M polly/test/CodeGen/uninitialized_scalar_memory.ll
    M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
    M polly/test/CodeGen/variant_load_empty_domain.ll
    M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
    M polly/test/DeLICM/confused_order.ll
    M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
    M polly/test/DeLICM/load-in-cond-inf-loop.ll
    M polly/test/DeLICM/map_memset_zero.ll
    M polly/test/DeLICM/nomap_alreadymapped.ll
    M polly/test/DeLICM/nomap_escaping.ll
    M polly/test/DeLICM/nomap_occupied.ll
    M polly/test/DeLICM/nomap_readonly.ll
    M polly/test/DeLICM/nomap_spuriouswrite.ll
    M polly/test/DeLICM/nomap_storagesize.ll
    M polly/test/DeLICM/nomap_writewrite.ll
    M polly/test/DeLICM/outofquota-reverseDomain.ll
    M polly/test/DeLICM/pass_existence.ll
    M polly/test/DeLICM/pr41656.ll
    M polly/test/DeLICM/pr48783.ll
    M polly/test/DeLICM/reduction.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
    M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
    M polly/test/DeLICM/reduction_unrelatedunusual.ll
    M polly/test/DeLICM/reject_loadafterstore.ll
    M polly/test/DeLICM/reject_outofquota.ll
    M polly/test/DeLICM/reject_storeafterstore.ll
    M polly/test/DeLICM/reject_storeinsubregion.ll
    M polly/test/DeLICM/reject_unusualstore.ll
    M polly/test/DeLICM/skip_maywrite.ll
    M polly/test/DeLICM/skip_multiaccess.ll
    M polly/test/DeLICM/skip_notinloop.ll
    M polly/test/DeLICM/skip_scalaraccess.ll
    M polly/test/DeadCodeElimination/chained_iterations.ll
    M polly/test/DeadCodeElimination/chained_iterations_2.ll
    M polly/test/DeadCodeElimination/computeout.ll
    M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
    M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
    M polly/test/DeadCodeElimination/non-affine.ll
    M polly/test/DeadCodeElimination/null_schedule.ll
    M polly/test/DependenceInfo/computeout.ll
    M polly/test/DependenceInfo/different_schedule_dimensions.ll
    M polly/test/DependenceInfo/do_pluto_matmult.ll
    M polly/test/DependenceInfo/fine_grain_dep_0.ll
    M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
    M polly/test/DependenceInfo/infeasible_context.ll
    M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
    M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
    M polly/test/DependenceInfo/reduction_complex_location.ll
    M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
    M polly/test/DependenceInfo/reduction_dependences_not_null.ll
    M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
    M polly/test/DependenceInfo/reduction_multiple_reductions.ll
    M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
    M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
    M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
    M polly/test/DependenceInfo/reduction_privatization_deps.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
    M polly/test/DependenceInfo/reduction_sequence.ll
    M polly/test/DependenceInfo/reduction_simple_iv.ll
    M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
    M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
    M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
    M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
    M polly/test/DependenceInfo/sequential_loops.ll
    M polly/test/ForwardOpTree/atax.ll
    M polly/test/ForwardOpTree/changed-kind.ll
    M polly/test/ForwardOpTree/forward_from_region.ll
    M polly/test/ForwardOpTree/forward_hoisted.ll
    M polly/test/ForwardOpTree/forward_instruction.ll
    M polly/test/ForwardOpTree/forward_into_region.ll
    M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
    M polly/test/ForwardOpTree/forward_load.ll
    M polly/test/ForwardOpTree/forward_load_differentarray.ll
    M polly/test/ForwardOpTree/forward_load_double_write.ll
    M polly/test/ForwardOpTree/forward_load_fromloop.ll
    M polly/test/ForwardOpTree/forward_load_indirect.ll
    M polly/test/ForwardOpTree/forward_load_memset_after.ll
    M polly/test/ForwardOpTree/forward_load_memset_before.ll
    M polly/test/ForwardOpTree/forward_load_tripleuse.ll
    M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
    M polly/test/ForwardOpTree/forward_phi_load.ll
    M polly/test/ForwardOpTree/forward_readonly.ll
    M polly/test/ForwardOpTree/forward_reusue.ll
    M polly/test/ForwardOpTree/forward_store.ll
    M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
    M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
    M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
    M polly/test/ForwardOpTree/forward_transitive.ll
    M polly/test/ForwardOpTree/jacobi-1d.ll
    M polly/test/ForwardOpTree/noforward_from_region.ll
    M polly/test/ForwardOpTree/noforward_load_conditional.ll
    M polly/test/ForwardOpTree/noforward_load_writebetween.ll
    M polly/test/ForwardOpTree/noforward_outofquota.ll
    M polly/test/ForwardOpTree/noforward_partial.ll
    M polly/test/ForwardOpTree/noforward_phi.ll
    M polly/test/ForwardOpTree/noforward_selfrefphi.ll
    M polly/test/ForwardOpTree/noforward_sideffects.ll
    M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
    M polly/test/ForwardOpTree/out-of-quota1.ll
    M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
    M polly/test/IstAstInfo/alias_simple_1.ll
    M polly/test/IstAstInfo/alias_simple_2.ll
    M polly/test/IstAstInfo/alias_simple_3.ll
    M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
    M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
    M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
    M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
    M polly/test/IstAstInfo/dependence_distance_minimal.ll
    M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
    M polly/test/IstAstInfo/non_affine_access.ll
    M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
    M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
    M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
    M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
    M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
    M polly/test/IstAstInfo/run-time-condition.ll
    M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
    M polly/test/IstAstInfo/simple-run-time-condition.ll
    M polly/test/IstAstInfo/single_loop_strip_mine.ll
    M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
    M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
    M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
    M polly/test/MaximalStaticExpansion/read_from_original.ll
    M polly/test/MaximalStaticExpansion/too_many_writes.ll
    M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
    M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
    M polly/test/MaximalStaticExpansion/working_expansion.ll
    M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
    M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
    M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
    M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
    M polly/test/MaximalStaticExpansion/working_value_expansion.ll
    M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
    M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
    M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
    M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
    M polly/test/ScheduleOptimizer/computeout.ll
    M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
    M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
    M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
    M polly/test/ScheduleOptimizer/line-tiling-2.ll
    M polly/test/ScheduleOptimizer/line-tiling.ll
    M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
    M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
    M polly/test/ScheduleOptimizer/one-dimensional-band.ll
    M polly/test/ScheduleOptimizer/outer_coincidence.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
    M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
    M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
    M polly/test/ScheduleOptimizer/prevectorization.ll
    M polly/test/ScheduleOptimizer/rectangular-tiling.ll
    M polly/test/ScheduleOptimizer/schedule_computeout.ll
    M polly/test/ScheduleOptimizer/statistics.ll
    M polly/test/ScheduleOptimizer/tile_after_fusion.ll
    M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
    M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
    M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
    M polly/test/ScopDetect/aliasing_simple_1.ll
    M polly/test/ScopDetect/aliasing_simple_2.ll
    M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
    M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
    M polly/test/ScopDetect/callbr.ll
    M polly/test/ScopDetect/collective_invariant_loads.ll
    M polly/test/ScopDetect/cross_loop_non_single_exit.ll
    M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
    M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
    M polly/test/ScopDetect/dot-scops-npm.ll
    M polly/test/ScopDetect/dot-scops.ll
    M polly/test/ScopDetect/error-block-always-executed.ll
    M polly/test/ScopDetect/error-block-referenced-from-scop.ll
    M polly/test/ScopDetect/error-block-unreachable.ll
    M polly/test/ScopDetect/expand-region-correctly-2.ll
    M polly/test/ScopDetect/expand-region-correctly.ll
    M polly/test/ScopDetect/ignore_func_flag_regex.ll
    M polly/test/ScopDetect/index_from_unpredictable_loop.ll
    M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
    M polly/test/ScopDetect/indvars.ll
    M polly/test/ScopDetect/intrinsics_1.ll
    M polly/test/ScopDetect/intrinsics_2.ll
    M polly/test/ScopDetect/intrinsics_3.ll
    M polly/test/ScopDetect/invalid-latch-conditions.ll
    M polly/test/ScopDetect/invalidate_scalar_evolution.ll
    M polly/test/ScopDetect/invariant-load-before-scop.ll
    M polly/test/ScopDetect/keep_going_expansion.ll
    M polly/test/ScopDetect/mod_ref_read_pointer.ll
    M polly/test/ScopDetect/more-than-one-loop.ll
    M polly/test/ScopDetect/multidim-with-undef-size.ll
    M polly/test/ScopDetect/multidim.ll
    M polly/test/ScopDetect/multidim_indirect_access.ll
    M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
    M polly/test/ScopDetect/nested_loop_single_exit.ll
    M polly/test/ScopDetect/non-affine-conditional.ll
    M polly/test/ScopDetect/non-affine-float-compare.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopDetect/non-affine-loop.ll
    M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
    M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
    M polly/test/ScopDetect/non-simple-memory-accesses.ll
    M polly/test/ScopDetect/non_affine_loop_condition.ll
    M polly/test/ScopDetect/only-one-affine-loop.ll
    M polly/test/ScopDetect/only_func_flag.ll
    M polly/test/ScopDetect/only_func_flag_regex.ll
    M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
    M polly/test/ScopDetect/parametric-multiply-in-scev.ll
    M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
    M polly/test/ScopDetect/profitability-large-basic-blocks.ll
    M polly/test/ScopDetect/profitability-two-nested-loops.ll
    M polly/test/ScopDetect/remove_all_children.ll
    M polly/test/ScopDetect/report-scop-location.ll
    M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
    M polly/test/ScopDetect/run_time_alias_check.ll
    M polly/test/ScopDetect/scev_remove_max.ll
    M polly/test/ScopDetect/sequential_loops.ll
    M polly/test/ScopDetect/simple_loop.ll
    M polly/test/ScopDetect/simple_loop_non_single_entry.ll
    M polly/test/ScopDetect/simple_loop_non_single_exit.ll
    M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
    M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
    M polly/test/ScopDetect/simple_loop_with_param.ll
    M polly/test/ScopDetect/simple_loop_with_param_2.ll
    M polly/test/ScopDetect/simple_non_single_entry.ll
    M polly/test/ScopDetect/skip_function_attribute.ll
    M polly/test/ScopDetect/srem_with_parametric_divisor.ll
    M polly/test/ScopDetect/statistics.ll
    M polly/test/ScopDetect/switch-in-loop-patch.ll
    M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
    M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
    M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
    M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
    M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
    M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
    M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
    M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
    M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
    M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
    M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
    M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
    M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
    M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
    M polly/test/ScopInfo/Alias-0.ll
    M polly/test/ScopInfo/Alias-1.ll
    M polly/test/ScopInfo/Alias-2.ll
    M polly/test/ScopInfo/Alias-3.ll
    M polly/test/ScopInfo/Alias-4.ll
    M polly/test/ScopInfo/BoundChecks/single-loop.ll
    M polly/test/ScopInfo/BoundChecks/two-loops.ll
    M polly/test/ScopInfo/NonAffine/div_backedge.ll
    M polly/test/ScopInfo/NonAffine/div_domain.ll
    M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
    M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
    M polly/test/ScopInfo/NonAffine/modulo_domain.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
    M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
    M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
    M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
    M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
    M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
    M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
    M polly/test/ScopInfo/aliasing_dead_access.ll
    M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
    M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
    M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
    M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
    M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
    M polly/test/ScopInfo/assume_gep_bounds.ll
    M polly/test/ScopInfo/assume_gep_bounds_2.ll
    M polly/test/ScopInfo/assume_gep_bounds_many.ll
    M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
    M polly/test/ScopInfo/bool-addrec.ll
    M polly/test/ScopInfo/bounded_loop_assumptions.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
    M polly/test/ScopInfo/bug_2010_10_22.ll
    M polly/test/ScopInfo/bug_2011_1_5.ll
    M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
    M polly/test/ScopInfo/cfg_consequences.ll
    M polly/test/ScopInfo/complex-branch-structure.ll
    M polly/test/ScopInfo/complex-condition.ll
    M polly/test/ScopInfo/complex-expression.ll
    M polly/test/ScopInfo/complex-loop-nesting.ll
    M polly/test/ScopInfo/complex-successor-structure-2.ll
    M polly/test/ScopInfo/complex-successor-structure-3.ll
    M polly/test/ScopInfo/complex-successor-structure.ll
    M polly/test/ScopInfo/complex_domain_binary_condition.ll
    M polly/test/ScopInfo/complex_execution_context.ll
    M polly/test/ScopInfo/cond_constant_in_loop.ll
    M polly/test/ScopInfo/cond_in_loop.ll
    M polly/test/ScopInfo/condition-after-error-block-2.ll
    M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
    M polly/test/ScopInfo/condtion-after-error-block.ll
    M polly/test/ScopInfo/const_srem_sdiv.ll
    M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
    M polly/test/ScopInfo/constant_factor_in_parameter.ll
    M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
    M polly/test/ScopInfo/constant_start_integer.ll
    M polly/test/ScopInfo/debug_call.ll
    M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
    M polly/test/ScopInfo/div_by_zero.ll
    M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
    M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
    M polly/test/ScopInfo/early_exit_for_complex_domains.ll
    M polly/test/ScopInfo/error-blocks-1.ll
    M polly/test/ScopInfo/error-blocks-2.ll
    M polly/test/ScopInfo/escaping_empty_scop.ll
    M polly/test/ScopInfo/exit-phi-1.ll
    M polly/test/ScopInfo/exit-phi-2.ll
    M polly/test/ScopInfo/exit_phi_accesses-2.ll
    M polly/test/ScopInfo/exit_phi_accesses.ll
    M polly/test/ScopInfo/expensive-boundary-context.ll
    M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
    M polly/test/ScopInfo/full-function.ll
    M polly/test/ScopInfo/granularity_same_name.ll
    M polly/test/ScopInfo/granularity_scalar-indep.ll
    M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
    M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
    M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
    M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
    M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
    M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
    M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
    M polly/test/ScopInfo/i1_params.ll
    M polly/test/ScopInfo/infeasible-rtc.ll
    M polly/test/ScopInfo/infeasible_invalid_context.ll
    M polly/test/ScopInfo/int2ptr_ptr2int.ll
    M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
    M polly/test/ScopInfo/integers.ll
    M polly/test/ScopInfo/inter-error-bb-dependence.ll
    M polly/test/ScopInfo/inter_bb_scalar_dep.ll
    M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
    M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
    M polly/test/ScopInfo/intra_bb_scalar_dep.ll
    M polly/test/ScopInfo/intrinsics.ll
    M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
    M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
    M polly/test/ScopInfo/invariant-load-instlist.ll
    M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
    M polly/test/ScopInfo/invariant_load.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
    M polly/test/ScopInfo/invariant_load_addrec_sum.ll
    M polly/test/ScopInfo/invariant_load_base_pointer.ll
    M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
    M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
    M polly/test/ScopInfo/invariant_load_branch_condition.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
    M polly/test/ScopInfo/invariant_load_complex_condition.ll
    M polly/test/ScopInfo/invariant_load_condition.ll
    M polly/test/ScopInfo/invariant_load_dereferenceable.ll
    M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
    M polly/test/ScopInfo/invariant_load_in_non_affine.ll
    M polly/test/ScopInfo/invariant_load_loop_ub.ll
    M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
    M polly/test/ScopInfo/invariant_load_scalar_dep.ll
    M polly/test/ScopInfo/invariant_load_stmt_domain.ll
    M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
    M polly/test/ScopInfo/invariant_load_zext_parameter.ll
    M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
    M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
    M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
    M polly/test/ScopInfo/invariant_loop_bounds.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
    M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
    M polly/test/ScopInfo/isl_trip_count_01.ll
    M polly/test/ScopInfo/isl_trip_count_02.ll
    M polly/test/ScopInfo/isl_trip_count_03.ll
    M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
    M polly/test/ScopInfo/licm_reduction_nested.ll
    M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
    M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
    M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
    M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
    M polly/test/ScopInfo/loop_affine_bound_0.ll
    M polly/test/ScopInfo/loop_affine_bound_1.ll
    M polly/test/ScopInfo/loop_affine_bound_2.ll
    M polly/test/ScopInfo/loop_carry.ll
    M polly/test/ScopInfo/many-scalar-dependences.ll
    M polly/test/ScopInfo/max-loop-depth.ll
    M polly/test/ScopInfo/memcpy-raw-source.ll
    M polly/test/ScopInfo/memcpy.ll
    M polly/test/ScopInfo/memmove.ll
    M polly/test/ScopInfo/memset.ll
    M polly/test/ScopInfo/memset_null.ll
    M polly/test/ScopInfo/mismatching-array-dimensions.ll
    M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
    M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
    M polly/test/ScopInfo/mod_ref_read_pointer.ll
    M polly/test/ScopInfo/mod_ref_read_pointers.ll
    M polly/test/ScopInfo/modulo_zext_1.ll
    M polly/test/ScopInfo/modulo_zext_2.ll
    M polly/test/ScopInfo/modulo_zext_3.ll
    M polly/test/ScopInfo/multi-scop.ll
    M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
    M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
    M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
    M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
    M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
    M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
    M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
    M polly/test/ScopInfo/multidim_fold_constant_dim.ll
    M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
    M polly/test/ScopInfo/multidim_fortran_2d.ll
    M polly/test/ScopInfo/multidim_fortran_2d_params.ll
    M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
    M polly/test/ScopInfo/multidim_fortran_srem.ll
    M polly/test/ScopInfo/multidim_gep_pointercast.ll
    M polly/test/ScopInfo/multidim_gep_pointercast2.ll
    M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
    M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
    M polly/test/ScopInfo/multidim_many_references.ll
    M polly/test/ScopInfo/multidim_nested_start_integer.ll
    M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
    M polly/test/ScopInfo/multidim_only_ivs_2d.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
    M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
    M polly/test/ScopInfo/multidim_param_in_subscript.ll
    M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
    M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
    M polly/test/ScopInfo/multidim_srem.ll
    M polly/test/ScopInfo/multidim_with_bitcast.ll
    M polly/test/ScopInfo/multiple-binary-or-conditions.ll
    M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
    M polly/test/ScopInfo/multiple-types-non-affine-2.ll
    M polly/test/ScopInfo/multiple-types-non-affine.ll
    M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
    M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
    M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
    M polly/test/ScopInfo/multiple-types-two-dimensional.ll
    M polly/test/ScopInfo/multiple-types.ll
    M polly/test/ScopInfo/multiple_exiting_blocks.ll
    M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
    M polly/test/ScopInfo/multiple_latch_blocks.ll
    M polly/test/ScopInfo/nested-loops.ll
    M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
    M polly/test/ScopInfo/non-affine-region-phi.ll
    M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
    M polly/test/ScopInfo/non-affine-region-with-loop.ll
    M polly/test/ScopInfo/non-precise-inv-load-1.ll
    M polly/test/ScopInfo/non-precise-inv-load-2.ll
    M polly/test/ScopInfo/non-precise-inv-load-3.ll
    M polly/test/ScopInfo/non-precise-inv-load-4.ll
    M polly/test/ScopInfo/non-precise-inv-load-5.ll
    M polly/test/ScopInfo/non-precise-inv-load-6.ll
    M polly/test/ScopInfo/non-pure-function-call.ll
    M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
    M polly/test/ScopInfo/non-pure-function-calls.ll
    M polly/test/ScopInfo/non_affine_access.ll
    M polly/test/ScopInfo/non_affine_region_1.ll
    M polly/test/ScopInfo/non_affine_region_2.ll
    M polly/test/ScopInfo/non_affine_region_3.ll
    M polly/test/ScopInfo/non_affine_region_4.ll
    M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
    M polly/test/ScopInfo/not-a-reduction.ll
    M polly/test/ScopInfo/opaque-struct.ll
    M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
    M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
    M polly/test/ScopInfo/parameter-constant-division.ll
    M polly/test/ScopInfo/parameter_in_dead_statement.ll
    M polly/test/ScopInfo/parameter_product.ll
    M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
    M polly/test/ScopInfo/partially_invariant_load_1.ll
    M polly/test/ScopInfo/partially_invariant_load_2.ll
    M polly/test/ScopInfo/phi-in-non-affine-region.ll
    M polly/test/ScopInfo/phi_after_error_block.ll
    M polly/test/ScopInfo/phi_condition_modeling_1.ll
    M polly/test/ScopInfo/phi_condition_modeling_2.ll
    M polly/test/ScopInfo/phi_conditional_simple_1.ll
    M polly/test/ScopInfo/phi_loop_carried_float.ll
    M polly/test/ScopInfo/phi_not_grouped_at_top.ll
    M polly/test/ScopInfo/phi_scalar_simple_1.ll
    M polly/test/ScopInfo/phi_scalar_simple_2.ll
    M polly/test/ScopInfo/phi_with_invoke_edge.ll
    M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
    M polly/test/ScopInfo/pointer-comparison.ll
    M polly/test/ScopInfo/pointer-type-expressions.ll
    M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
    M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
    M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
    M polly/test/ScopInfo/process_added_dimensions.ll
    M polly/test/ScopInfo/pwaff-complexity-bailout.ll
    M polly/test/ScopInfo/ranged_parameter.ll
    M polly/test/ScopInfo/ranged_parameter_2.ll
    M polly/test/ScopInfo/ranged_parameter_wrap.ll
    M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
    M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
    M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
    M polly/test/ScopInfo/read-only-scalars.ll
    M polly/test/ScopInfo/read-only-statements.ll
    M polly/test/ScopInfo/reduction_alternating_base.ll
    M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
    M polly/test/ScopInfo/reduction_different_index.ll
    M polly/test/ScopInfo/reduction_different_index1.ll
    M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
    M polly/test/ScopInfo/reduction_escaping_intermediate.ll
    M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
    M polly/test/ScopInfo/reduction_invalid_different_operators.ll
    M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
    M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
    M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
    M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
    M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
    M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
    M polly/test/ScopInfo/reduction_simple_fp.ll
    M polly/test/ScopInfo/reduction_simple_w_constant.ll
    M polly/test/ScopInfo/reduction_simple_w_iv.ll
    M polly/test/ScopInfo/reduction_two_identical_reads.ll
    M polly/test/ScopInfo/redundant_parameter_constraint.ll
    M polly/test/ScopInfo/region-with-instructions.ll
    M polly/test/ScopInfo/remarks.ll
    M polly/test/ScopInfo/required-invariant-loop-bounds.ll
    M polly/test/ScopInfo/restriction_in_dead_block.ll
    M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
    M polly/test/ScopInfo/run-time-check-many-parameters.ll
    M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
    M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
    M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
    M polly/test/ScopInfo/scalar.ll
    M polly/test/ScopInfo/scalar_dependence_cond_br.ll
    M polly/test/ScopInfo/scalar_to_array.ll
    M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
    M polly/test/ScopInfo/scev-invalidated.ll
    M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
    M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
    M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
    M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
    M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
    M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
    M polly/test/ScopInfo/sign_wrapped_set.ll
    M polly/test/ScopInfo/simple_loop_1.ll
    M polly/test/ScopInfo/simple_loop_2.ll
    M polly/test/ScopInfo/simple_loop_unsigned.ll
    M polly/test/ScopInfo/simple_loop_unsigned_2.ll
    M polly/test/ScopInfo/simple_loop_unsigned_3.ll
    M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
    M polly/test/ScopInfo/smax.ll
    M polly/test/ScopInfo/statistics.ll
    M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
    M polly/test/ScopInfo/stmt_split_no_after_split.ll
    M polly/test/ScopInfo/stmt_split_no_dependence.ll
    M polly/test/ScopInfo/stmt_split_on_store.ll
    M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
    M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
    M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
    M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
    M polly/test/ScopInfo/stmt_split_within_loop.ll
    M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
    M polly/test/ScopInfo/switch-1.ll
    M polly/test/ScopInfo/switch-2.ll
    M polly/test/ScopInfo/switch-3.ll
    M polly/test/ScopInfo/switch-4.ll
    M polly/test/ScopInfo/switch-5.ll
    M polly/test/ScopInfo/switch-6.ll
    M polly/test/ScopInfo/switch-7.ll
    M polly/test/ScopInfo/tempscop-printing.ll
    M polly/test/ScopInfo/test-wrapping-in-condition.ll
    M polly/test/ScopInfo/truncate-1.ll
    M polly/test/ScopInfo/truncate-2.ll
    M polly/test/ScopInfo/truncate-3.ll
    M polly/test/ScopInfo/two-loops-one-infinite.ll
    M polly/test/ScopInfo/two-loops-right-after-each-other.ll
    M polly/test/ScopInfo/undef_in_cond.ll
    M polly/test/ScopInfo/unnamed_nonaffine.ll
    M polly/test/ScopInfo/unnamed_stmts.ll
    M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
    M polly/test/ScopInfo/unprofitable_scalar-accs.ll
    M polly/test/ScopInfo/unsigned-condition.ll
    M polly/test/ScopInfo/unsigned-division-1.ll
    M polly/test/ScopInfo/unsigned-division-2.ll
    M polly/test/ScopInfo/unsigned-division-3.ll
    M polly/test/ScopInfo/unsigned-division-4.ll
    M polly/test/ScopInfo/unsigned-division-5.ll
    M polly/test/ScopInfo/unsigned_wrap_uge.ll
    M polly/test/ScopInfo/unsigned_wrap_ugt.ll
    M polly/test/ScopInfo/unsigned_wrap_ule.ll
    M polly/test/ScopInfo/unsigned_wrap_ult.ll
    M polly/test/ScopInfo/user_context.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
    M polly/test/ScopInfo/user_provided_assumptions.ll
    M polly/test/ScopInfo/user_provided_assumptions_2.ll
    M polly/test/ScopInfo/user_provided_assumptions_3.ll
    M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
    M polly/test/ScopInfo/variant_base_pointer.ll
    M polly/test/ScopInfo/variant_load_empty_domain.ll
    M polly/test/ScopInfo/wraping_signed_expr_0.ll
    M polly/test/ScopInfo/wraping_signed_expr_1.ll
    M polly/test/ScopInfo/wraping_signed_expr_2.ll
    M polly/test/ScopInfo/wraping_signed_expr_3.ll
    M polly/test/ScopInfo/wraping_signed_expr_4.ll
    M polly/test/ScopInfo/wraping_signed_expr_5.ll
    M polly/test/ScopInfo/wraping_signed_expr_6.ll
    M polly/test/ScopInfo/wraping_signed_expr_7.ll
    M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
    M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
    M polly/test/ScopInfo/zero_ext_of_truncate.ll
    M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
    M polly/test/ScopInfo/zero_ext_space_mismatch.ll
    M polly/test/ScopInliner/invariant-load-func.ll
    M polly/test/Simplify/coalesce_3partials.ll
    M polly/test/Simplify/coalesce_disjointelements.ll
    M polly/test/Simplify/coalesce_overlapping.ll
    M polly/test/Simplify/coalesce_partial.ll
    M polly/test/Simplify/dead_access_load.ll
    M polly/test/Simplify/dead_access_phi.ll
    M polly/test/Simplify/dead_access_value.ll
    M polly/test/Simplify/dead_instruction.ll
    M polly/test/Simplify/emptyaccessdomain.ll
    M polly/test/Simplify/exit_phi_accesses-2.ll
    M polly/test/Simplify/func-b320a7.ll
    M polly/test/Simplify/gemm.ll
    M polly/test/Simplify/nocoalesce_differentvalues.ll
    M polly/test/Simplify/nocoalesce_elementmismatch.ll
    M polly/test/Simplify/nocoalesce_readbetween.ll
    M polly/test/Simplify/nocoalesce_writebetween.ll
    M polly/test/Simplify/notdead_region_exitphi.ll
    M polly/test/Simplify/notdead_region_innerphi.ll
    M polly/test/Simplify/notredundant_region_loop.ll
    M polly/test/Simplify/notredundant_region_middle.ll
    M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
    M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
    M polly/test/Simplify/overwritten.ll
    M polly/test/Simplify/overwritten_3phi.ll
    M polly/test/Simplify/overwritten_3store.ll
    M polly/test/Simplify/overwritten_implicit_and_explicit.ll
    M polly/test/Simplify/overwritten_loadbetween.ll
    M polly/test/Simplify/overwritten_scalar.ll
    M polly/test/Simplify/pass_existence.ll
    M polly/test/Simplify/phi_in_regionstmt.ll
    M polly/test/Simplify/pr33323.ll
    M polly/test/Simplify/redundant.ll
    M polly/test/Simplify/redundant_differentindex.ll
    M polly/test/Simplify/redundant_region.ll
    M polly/test/Simplify/redundant_region_scalar.ll
    M polly/test/Simplify/redundant_scalarwrite.ll
    M polly/test/Simplify/redundant_storebetween.ll
    M polly/test/Simplify/scalability1.ll
    M polly/test/Simplify/scalability2.ll
    M polly/test/Simplify/sweep_mapped_phi.ll
    M polly/test/Simplify/sweep_mapped_value.ll
    M polly/test/Simplify/ununsed_read_in_region_entry.ll
    M polly/test/Support/Plugins.ll
    M polly/test/Support/isl-args.ll
    M polly/test/lit.site.cfg.in
    M polly/test/polly.ll

  Log Message:
  -----------
  Reland "[polly] Port polly tests to use NPM" (#92918)

Even as the NPM has been in use by Polly for a while now, the majority
of the tests continue using the LPM passes. This patch ports the tests
to use the NPM passes (for example, by replacing a flag such as
-polly-detect with -passes=polly-detect following the NPM syntax for
specifying passes) with some exceptions for some missing features in the
new passes.

Relanding #90632.


  Commit: 57be0d2c86e6da73bbd34850a348a87e0a03afbb
      https://github.com/llvm/llvm-project/commit/57be0d2c86e6da73bbd34850a348a87e0a03afbb
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    R flang/test/Semantics/OpenMP/sections03.f90

  Log Message:
  -----------
  [Flang][OpenMP] Remove the orphan section test (#93343)

Remove this test since it is marked as XFAIL and has some
non-deterministic behaviour which causes it to spuriously pass on
out-of-tree builds.

Capturing this in https://github.com/llvm/llvm-project/issues/93342 to
make a proper fix and a test later.


  Commit: 720cade2b68b5c360a5035a98d7ff643191fa3e0
      https://github.com/llvm/llvm-project/commit/720cade2b68b5c360a5035a98d7ff643191fa3e0
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp

  Log Message:
  -----------
  [BOLT][NFC] Avoid computing BF hash twice in YAML reader (#75096)

We compute BF hashes in `YAMLProfileReader::readProfile` when first
matching profile functions with binary functions, and second time in
`YAMLProfileReader::parseFunctionProfile` during the profile assignment
(we need to do that to account for LTO private functions with
mismatching suffix).

Avoid recomputing the hash if it's been set.


  Commit: 8f21909c2fa15c06107b3dd5999a918e1f5fed0d
      https://github.com/llvm/llvm-project/commit/8f21909c2fa15c06107b3dd5999a918e1f5fed0d
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/include/mlir-c/Debug.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/CAPI/Debug/Debug.cpp

  Log Message:
  -----------
  [mlir] expose -debug-only equivalent to C and Python (#93175)

These are useful for finer-grain debugging and complement the already
exposed global debug flag.


  Commit: 56c5ca8f6670a29dc726d65e24fde7dc047b04c3
      https://github.com/llvm/llvm-project/commit/56c5ca8f6670a29dc726d65e24fde7dc047b04c3
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [nfc][InstCombine]Find PHI incoming block by operand number (#93249)


  Commit: 90e33e20a594b8a404af1df93b629137cb605a21
      https://github.com/llvm/llvm-project/commit/90e33e20a594b8a404af1df93b629137cb605a21
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/ClangScanDeps/response-file-clang-cl.c
    M clang/test/Driver/cl-options.c
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang-scan-deps] Expand response files before the argument adjuster (#89950)

Previously, since response (.rsp) files weren't expanded at the very
beginning of clang-scan-deps, we only parsed the command-line as
provided in the Clang .cdb file. Unfortunately, when using Unreal
Engine, arguments are always generated in a .rsp file (ie.
`/path/to/clang-cl.exe @/path/to/filename_args.rsp`).

After this patch, `/Fo` can be parsed and added to the final
command-line. Without this option, the make targets that are emitted are
made up from the input file name alone. We have some cases where the
same input in the project generates several output files, so we end up
with duplicate make targets in the scan-deps emitted dependency file.


  Commit: 82bd7adb97e41fa6b6150942ae55ef35efb63e2b
      https://github.com/llvm/llvm-project/commit/82bd7adb97e41fa6b6150942ae55ef35efb63e2b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/test/Semantics/modfile03.f90

  Log Message:
  -----------
  [flang] Fix bug introduced by PR#93106 (#93326)

https://github.com/llvm/llvm-project/pull/93106 introduced some
necessary fixes to module file generation, but has also caused a
regression. The module file output can include bogus attempts to
USE-associate symbols local to derived type scopes, like components and
bindings. Fix, and extend a test.


  Commit: 9a038fceb3fae8e77c0118633866c04d6de4407b
      https://github.com/llvm/llvm-project/commit/9a038fceb3fae8e77c0118633866c04d6de4407b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [RISCV] PseudoMovImm is not a IsSignExtendingOpW instruction.

We only know it expands to a 2 instruction sequence, not necessarily
a sign extended sequence.

Happened to notice while I was looking at naming for the proposed
rematerializable LUI+ADDI for addresses.


  Commit: 46588039588c42056bd36a7338a84ef1e978b01e
      https://github.com/llvm/llvm-project/commit/46588039588c42056bd36a7338a84ef1e978b01e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Add isRIPRel and isIndexed helpers (#91661)

Move out common X86MemOperand checks into helper lambdas. To be reused
in #91667.

Test Plan: NFC


  Commit: ccde823b1341503f4622b3e4d8e167cf937b5f2a
      https://github.com/llvm/llvm-project/commit/ccde823b1341503f4622b3e4d8e167cf937b5f2a
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h

  Log Message:
  -----------
  Read and store gnu build id from loaded core file (#92492)

As we have debuginfod as symbol locator available in lldb now, we want
to make full use of it.
In case of post mortem debugging, we don't always have the main
executable available.
However, the .note.gnu.build-id of the main executable(some other
modules too), should be available in the core file, as those binaries
are loaded in memory and dumped in the core file.

We try to iterate through the NT_FILE entries, read and store the gnu
build id if possible. This will be very useful as this id is the unique
key which is needed for querying the debuginfod server.

Test:
Build and run lldb. Breakpoint set to
https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp#L147
Verified after this commit, module_uuid is the correct gnu build id of
the main executable which caused the crash(first in the NT_FILE entry)

Previous PR: https://github.com/llvm/llvm-project/pull/92078 was
mistakenly merged. This PR is re-opening the commit.


  Commit: be83f5c15003516d5e1e677890ddbbd44be8151f
      https://github.com/llvm/llvm-project/commit/be83f5c15003516d5e1e677890ddbbd44be8151f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify analyzeIndirectBranch (#91662)

Simplify mutually exclusive sanity checks in analyzeIndirectBranch,
where an UNKNOWN IndirectBranchType is to be returned. Reduces confusion
and code duplication when adding a new IndirectBranchType (to be added
in #91667).

Test Plan: NFC


  Commit: 8e3be5c38d3c8f04d04ea72dd1fa57dc9afbbf26
      https://github.com/llvm/llvm-project/commit/8e3be5c38d3c8f04d04ea72dd1fa57dc9afbbf26
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/IR/OpBase.td

  Log Message:
  -----------
  [mlir][arith] Clean up select op implementation (#93351)

Inline traits used by `arith.select` only into `ArithOps.td`. Trim
trailing whitespace in op description.


  Commit: f239490592984368c6c2f8aedc56eafb278c4658
      https://github.com/llvm/llvm-project/commit/f239490592984368c6c2f8aedc56eafb278c4658
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][NFC] Define getExprValue helper (#91663)

Move out common code extracting the address of a MCExpr. To be reused in
#91667.

Test Plan: NFC


  Commit: c26847dc814a67527c6395a440abf7e1178ffe40
      https://github.com/llvm/llvm-project/commit/c26847dc814a67527c6395a440abf7e1178ffe40
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/mlir-tblgen/pattern.mlir
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  [mlir][drr] Allow variadic in rewrite side (#93340)

Enables writing patterns where one has op creation with variadic in
result pattern more easily.

Signed-off-by: Jacques Pienaar <jpienaar at google.com>


  Commit: c460e454d16fe48e0b9bda5b34729f7e3ed4e2c0
      https://github.com/llvm/llvm-project/commit/c460e454d16fe48e0b9bda5b34729f7e3ed4e2c0
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT][NFCI] Fix return type of BC::getSignedValueAtAddress (#91664)


  Commit: d63764718c93a40d25cf4ae62b6ea6cb8eda6435
      https://github.com/llvm/llvm-project/commit/d63764718c93a40d25cf4ae62b6ea6cb8eda6435
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/Ofast.c
    M clang/test/Driver/clang_f_opts.c

  Log Message:
  -----------
  [clang][Driver] Fix enabling strict alising by default when the environment is MSVC (#91689)

>From looking at the rest of code and from my own understanding, the
driver mode is supposed to be independent of MSVC compatibility when the
target triple is `*-windows-msvc`.
Therefore strict aliasing should be disabled by default when the target
triple is `*-windows-msvc` so code assuming MSVC behaves as expected
when compiled with Clang.


  Commit: b13f799616939933373610c7458687ae88fa414d
      https://github.com/llvm/llvm-project/commit/b13f799616939933373610c7458687ae88fa414d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
    R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-costrained-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fround-constrained-sdnode.ll
    R llvm/test/CodeGen/RISCV/rvv/fround-costrained-sdnode.ll

  Log Message:
  -----------
  [RISCV] Fix spelling error in test names. NFC


  Commit: 9b31cc71d66064dfaf2afabf4a835211321bb4a0
      https://github.com/llvm/llvm-project/commit/9b31cc71d66064dfaf2afabf4a835211321bb4a0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Utils.cpp
    R offload/test/offloading/ompx_bare_shfl_down_sync.cpp
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  Revert "[OpenMP][OMPX] Add shfl_down_sync (#93311)"

This reverts commit 098c6dfa8157681699a71fce9e3d94515e66311f.
This reverts commit 8c718a3a91df4ab68dc3f1ca3887ea730c9aed84.
This reverts commit 4fb02de9d490d0773441aa30124bb4d1272230d3.


  Commit: 0338c55ea547bf9af1e98f9cd89868cf6fd6f314
      https://github.com/llvm/llvm-project/commit/0338c55ea547bf9af1e98f9cd89868cf6fd6f314
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll

  Log Message:
  -----------
  [LV, VPlan] Check if plan is compatible to EVL transform (#92092)

The transform updates all users of inductions to work based on EVL,
instead
of the VF directly. At the moment, widened inductions cannot be updated,
so
bail out if the plan contains any.
This patch introduces a check before applying EVL transform. If any
recipes in loop rely on RuntimeVF, the plan is discarded.


  Commit: 1c90de5fe3d9f3d4048ba7e4aba2fd1613843f34
      https://github.com/llvm/llvm-project/commit/1c90de5fe3d9f3d4048ba7e4aba2fd1613843f34
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-24 (Fri, 24 May 2024)

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

  Log Message:
  -----------
  [analyzer] Allow recursive functions to be trivial. (#91876)


  Commit: 64ed699b3d811407e5a9f1111f63e11dc7f7dd80
      https://github.com/llvm/llvm-project/commit/64ed699b3d811407e5a9f1111f63e11dc7f7dd80
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/switch-dead-default-lookup-table.ll
    M llvm/test/Transforms/SimplifyCFG/switch-dead-default.ll

  Log Message:
  -----------
  Reland "[SimplifyCFG] When only one case value is missing, replace default with that case (#76669)"

When the default branch is the last case, we can transform that branch
into a concrete branch with an unreachable default branch.

```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define i64 @src(i64 %0) {
  %2 = urem i64 %0, 4
  switch i64 %2, label %5 [
    i64 1, label %3
    i64 2, label %3
    i64 3, label %4
  ]

3:                                                ; preds = %1, %1
  br label %5

4:                                                ; preds = %1
  br label %5

5:                                                ; preds = %1, %4, %3
  %.0 = phi i64 [ 2, %4 ], [ 1, %3 ], [ 0, %1 ]
  ret i64 %.0
}

define i64 @tgt(i64 %0) {
  %2 = urem i64 %0, 4
  switch i64 %2, label %unreachable [
    i64 0, label %5
    i64 1, label %3
    i64 2, label %3
    i64 3, label %4
  ]

unreachable:                              ; preds = %1
  unreachable

3:                                                ; preds = %1, %1
  br label %5

4:                                                ; preds = %1
  br label %5

5:                                                ; preds = %1, %4, %3
  %.0 = phi i64 [ 2, %4 ], [ 1, %3 ], [ 0, %1 ]
  ret i64 %.0
}
```

Alive2: https://alive2.llvm.org/ce/z/Y-PGXv

After transform to a lookup table, I believe `tgt` is better code.

The final instructions are as follows:

```asm
src:                                    # @src
        and     edi, 3
        lea     rax, [rdi - 1]
        cmp     rax, 2
        ja      .LBB0_1
        mov     rax, qword ptr [8*rdi + .Lswitch.table.src-8]
        ret
.LBB0_1:
        xor     eax, eax
        ret
tgt:                                    # @tgt
        and     edi, 3
        mov     rax, qword ptr [8*rdi + .Lswitch.table.tgt]
        ret
.Lswitch.table.src:
        .quad   1                               # 0x1
        .quad   1                               # 0x1
        .quad   2                               # 0x2

.Lswitch.table.tgt:
        .quad   0                               # 0x0
        .quad   1                               # 0x1
        .quad   1                               # 0x1
        .quad   2                               # 0x2
```

Godbolt: https://llvm.godbolt.org/z/borME8znd

Closes #73446.

(cherry picked from commit 7d81e072712f4e6a150561b5538ccebda289aa13)


  Commit: 7dc2f6602212bf0a0433c157b70e4fc0d70bb730
      https://github.com/llvm/llvm-project/commit/7dc2f6602212bf0a0433c157b70e4fc0d70bb730
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/switch-dead-default.ll

  Log Message:
  -----------
  Reland "[SimplifyCFG] `switch`: Do Not Transform the Default Case if the Condition is Too Wide (#77831)"

https://github.com/llvm/llvm-project/pull/76669 taught SimplifyCFG to
handle switches when `default` has only one case. When the `switch`'s
condition is wider than 64 bit, the current implementation can calculate
the wrong default value. This PR skips cases where the condition is too
wide.

(cherry picked from commit 39bb790b906f4921a5d9fc09e856abe53ae7a320)


  Commit: 778dbcbbb5c4e462231e812ab463b586555b6a0a
      https://github.com/llvm/llvm-project/commit/778dbcbbb5c4e462231e812ab463b586555b6a0a
  Author: Reagan <xbjfk.github at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/test/Driver/ms-define-stdc.c
    A clang/test/Preprocessor/stdc-ms-extension.cpp

  Log Message:
  -----------
  [clang] Add /Zc:__STDC__ flag to clang-cl (#68690)

This commit adds the /Zc:\_\_STDC\_\_ argument from MSVC, which defines
\_\_STDC_\_.
This means, alongside stronger feature parity with MSVC, that things
that rely on \_\_STDC\_\_, such as autoconf, can work.
Link to MSVC documentation of this flag:
https://learn.microsoft.com/en-us/cpp/build/reference/zc-stdc?view=msvc-170


  Commit: 85cf2e5ebeddeabccbe481173824d409a0362292
      https://github.com/llvm/llvm-project/commit/85cf2e5ebeddeabccbe481173824d409a0362292
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp

  Log Message:
  -----------
  [llvm] Include the GenVT.inc to getEnumName (#93198)

This reduces the effort of adding MVT strings every time.


  Commit: 7d29718ff601c62f8c89be71e582358bfc18dd70
      https://github.com/llvm/llvm-project/commit/7d29718ff601c62f8c89be71e582358bfc18dd70
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M clang/cmake/caches/CrossWinToARMLinux.cmake

  Log Message:
  -----------
  [CMake] Update CMake cache file for the Win-to-Arm cross toolchains. NFC. (#93363)

* allow configuration for the target specific compiler flags.
* allow lld linker for all linker outputs: shared, module and exe.
* allow configuration of libc++ ABI version.
* set MSVC runtime library to MultiThreadedDLL/MultiThreadedDebugDLL on
Windows build hosts.
* install UCRT libraries on Windows build hosts


  Commit: 25f4ead96618dd5d54072689d2f399b8189b574f
      https://github.com/llvm/llvm-project/commit/25f4ead96618dd5d54072689d2f399b8189b574f
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M lldb/include/lldb/Target/Process.h
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
    M llvm/test/Transforms/Coroutines/no-suspend.ll

  Log Message:
  -----------
  [flang] [lldb] [llvm] Fix 'destory' comment typos [NFC] (#93260)


  Commit: 83646590afe222cfdd792514854549077e17b005
      https://github.com/llvm/llvm-project/commit/83646590afe222cfdd792514854549077e17b005
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

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

  Log Message:
  -----------
  [VPlan] Remove unused Range arg from createWidenInductionRecipe (NFC).

The Range argument is not used by createWidenInductionRecipe; induction
classification applies across the whole range of VFs. Remove the
argument.


  Commit: 4ecbfacf9ecdc5bd9bf699d400c5058071b9500c
      https://github.com/llvm/llvm-project/commit/4ecbfacf9ecdc5bd9bf699d400c5058071b9500c
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/AddOCaml.cmake
    M llvm/cmake/modules/AddSphinxTarget.cmake
    M llvm/cmake/modules/CrossCompile.cmake
    M llvm/cmake/modules/LLVMDistributionSupport.cmake
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/cmake/modules/TableGen.cmake
    M llvm/docs/CMakeLists.txt
    M llvm/examples/Kaleidoscope/CMakeLists.txt
    M llvm/include/llvm/Support/CMakeLists.txt
    M llvm/lib/Support/BLAKE3/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/CMakeLists.txt
    M llvm/tools/opt-viewer/CMakeLists.txt
    M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
    M llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
    M llvm/unittests/CMakeLists.txt
    M llvm/unittests/DebugInfo/BTF/CMakeLists.txt
    M llvm/unittests/DebugInfo/CodeView/CMakeLists.txt
    M llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
    M llvm/unittests/DebugInfo/GSYM/CMakeLists.txt
    M llvm/unittests/DebugInfo/MSF/CMakeLists.txt
    M llvm/unittests/DebugInfo/PDB/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/unittests/Support/CommandLineInit/CMakeLists.txt
    M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
    M llvm/unittests/Target/AArch64/CMakeLists.txt
    M llvm/unittests/Target/AMDGPU/CMakeLists.txt
    M llvm/unittests/Target/ARM/CMakeLists.txt
    M llvm/unittests/Target/CMakeLists.txt
    M llvm/unittests/Target/LoongArch/CMakeLists.txt
    M llvm/unittests/Target/PowerPC/CMakeLists.txt
    M llvm/unittests/Target/RISCV/CMakeLists.txt
    M llvm/unittests/Target/WebAssembly/CMakeLists.txt
    M llvm/unittests/Target/X86/CMakeLists.txt
    M llvm/unittests/Transforms/Coroutines/CMakeLists.txt
    M llvm/unittests/Transforms/IPO/CMakeLists.txt
    M llvm/unittests/Transforms/Scalar/CMakeLists.txt
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
    M llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt
    M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
    M llvm/unittests/tools/llvm-mca/CMakeLists.txt
    M llvm/unittests/tools/llvm-profdata/CMakeLists.txt
    M llvm/unittests/tools/llvm-profgen/CMakeLists.txt
    M llvm/utils/LLVMVisualizers/CMakeLists.txt
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/lit/CMakeLists.txt
    M llvm/utils/llvm-locstats/CMakeLists.txt
    M llvm/utils/mlgo-utils/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Revise IDE folder structure (#89741)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: 56d319e7e40ed7b07a8d02eb6f6e0dbb9392187d
      https://github.com/llvm/llvm-project/commit/56d319e7e40ed7b07a8d02eb6f6e0dbb9392187d
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/unittests/Support/LEB128Test.cpp

  Log Message:
  -----------
  [Support] Fix LEB128 test when building with MSVC (#93184)

The VALUE expansion might be compiled in the different ways, because of
string pooling which isn't always enabled/guaranteed. When building with
MSVC, previously I was seeing for example empty strings `""` pointing to
different addresses, thus the negative offsets below in the log.

Previous test log:
```
Note: Google Test filter = LEB128Test.DecodeInvalidULEB128
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from LEB128Test
[ RUN      ] LEB128Test.DecodeInvalidULEB128
C:\src\git\llvm-project\llvm\unittests\Support\LEB128Test.cpp(167): error: Expected equality of these values:
  0u
    Which is: 0
  Value - reinterpret_cast<const uint8_t *>("")
    Which is: -5

C:\src\git\llvm-project\llvm\unittests\Support\LEB128Test.cpp(168): error: Expected equality of these values:
  1u
    Which is: 1
  Value - reinterpret_cast<const uint8_t *>("\x80")
    Which is: -167

C:\src\git\llvm-project\llvm\unittests\Support\LEB128Test.cpp(171): error: Expected equality of these values:
  9u
    Which is: 9
  Value - reinterpret_cast<const uint8_t *>("\x80\x80\x80\x80\x80\x80\x80\x80\x80\x02")
    Which is: -167

C:\src\git\llvm-project\llvm\unittests\Support\LEB128Test.cpp(172): error: Expected equality of these values:
  10u
    Which is: 10
  Value - reinterpret_cast<const uint8_t *>("\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x02")
    Which is: -166

[  FAILED  ] LEB128Test.DecodeInvalidULEB128 (2 ms)
[----------] 1 test from LEB128Test (2 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (4 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] LEB128Test.DecodeInvalidULEB128

 1 FAILED TEST
```


  Commit: 8c2da89ec4cc99af84f98e25a19b93f32ca58b65
      https://github.com/llvm/llvm-project/commit/8c2da89ec4cc99af84f98e25a19b93f32ca58b65
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/dwarf5-debug-names-class-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-enumeration-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-structure-type-decl.s

  Log Message:
  -----------
  [BOLT] Do not emit debug_names entry for DIEs with DW_AT_declaration (#93347)

Previously BOLT was only doing it for DW_TAG_variables. It looks like
other type of DIEs can have this. So making it global.


  Commit: 9da81cee219da78ab44357310a3bcf481bdba26c
      https://github.com/llvm/llvm-project/commit/9da81cee219da78ab44357310a3bcf481bdba26c
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp

  Log Message:
  -----------
  lldb unused var fix for NetBSD < 10. (#93377)


  Commit: c5a3f664fe3b95df8fc623df21a50793e50db468
      https://github.com/llvm/llvm-project/commit/c5a3f664fe3b95df8fc623df21a50793e50db468
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/cmake/modules/AddBOLT.cmake
    M bolt/docs/CMakeLists.txt
    M bolt/test/CMakeLists.txt
    M bolt/unittests/CMakeLists.txt

  Log Message:
  -----------
  [BOLT] Revise IDE folder structure (#89742)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode (`set_property(TARGET <target>
PROPERTY FOLDER "<title>")`) when using the respective CMake's IDE
generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: f2a385c74aee9e668705575585ea33ee03aab4c7
      https://github.com/llvm/llvm-project/commit/f2a385c74aee9e668705575585ea33ee03aab4c7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/bindings/python/tests/CMakeLists.txt
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/CMakeLists.txt
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    M clang/lib/Headers/CMakeLists.txt
    M clang/test/CMakeLists.txt
    M clang/tools/libclang/CMakeLists.txt
    M clang/unittests/CMakeLists.txt
    M clang/utils/ClangVisualizers/CMakeLists.txt
    M clang/utils/TableGen/CMakeLists.txt
    M clang/utils/hmaptool/CMakeLists.txt

  Log Message:
  -----------
  [clang] Revise IDE folder structure (#89743)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode (`set_property(TARGET <target>
PROPERTY FOLDER "<title>")`) when using the respective CMake's IDE
generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: 4d60be045212f5c9c0057a03c90f7fa070a71859
      https://github.com/llvm/llvm-project/commit/4d60be045212f5c9c0057a03c90f7fa070a71859
  Author: Beal Wang <colorfishes at outlook.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M mlir/lib/IR/Operation.cpp
    M mlir/test/IR/properties.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] Do not print empty property (#93379)

Skip printing property as `<<<NULL ATTRIBUTE>>>` when operation has an
empty property.

Co-authored-by: Biao Wang <biaow at nvidia.com>


  Commit: 76e7c8f4aaa7f3bdf6085927756a8772ab7f00f6
      https://github.com/llvm/llvm-project/commit/76e7c8f4aaa7f3bdf6085927756a8772ab7f00f6
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M flang/CMakeLists.txt
    M flang/cmake/modules/AddFlang.cmake
    M flang/docs/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/runtime/CMakeLists.txt
    M flang/test/CMakeLists.txt
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt

  Log Message:
  -----------
  [flang] Revise IDE folder structure (#89745)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode (`set_property(TARGET <target>
PROPERTY FOLDER "<title>")`) when using the respective CMake's IDE
generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: c3efb57655001896fac955f4d42657db42c836b0
      https://github.com/llvm/llvm-project/commit/c3efb57655001896fac955f4d42657db42c836b0
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M lldb/CMakeLists.txt
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/cmake/modules/LLDBFramework.cmake
    M lldb/cmake/modules/LLDBStandalone.cmake
    M lldb/docs/CMakeLists.txt
    M lldb/source/API/CMakeLists.txt
    M lldb/test/API/CMakeLists.txt
    M lldb/test/CMakeLists.txt
    M lldb/test/Shell/CMakeLists.txt
    M lldb/test/Unit/CMakeLists.txt
    M lldb/tools/driver/CMakeLists.txt
    M lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt
    M lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
    M lldb/tools/lldb-server/CMakeLists.txt
    M lldb/unittests/CMakeLists.txt
    M lldb/unittests/tools/lldb-server/CMakeLists.txt
    M lldb/utils/TableGen/CMakeLists.txt
    M lldb/utils/lit-cpuid/CMakeLists.txt
    M lldb/utils/lldb-dotest/CMakeLists.txt
    M lldb/utils/lldb-repro/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Revise IDE folder structure (#89748)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: 064391df493927729fa79fb5b966efba2eb1e170
      https://github.com/llvm/llvm-project/commit/064391df493927729fa79fb5b966efba2eb1e170
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/docs/CMakeLists.txt
    M mlir/examples/toy/CMakeLists.txt
    M mlir/examples/transform/CMakeLists.txt
    M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/TableGen/CMakeLists.txt
    M mlir/test/CAPI/CMakeLists.txt
    M mlir/test/CMakeLists.txt
    M mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
    M mlir/tools/mlir-pdll/CMakeLists.txt
    M mlir/tools/mlir-src-sharder/CMakeLists.txt
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    M mlir/unittests/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Revise IDE folder structure (#89749)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: 8bdc57766708f31774e281a8a35fac6776a1d9a7
      https://github.com/llvm/llvm-project/commit/8bdc57766708f31774e281a8a35fac6776a1d9a7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M openmp/CMakeLists.txt
    M openmp/docs/CMakeLists.txt
    M openmp/runtime/cmake/LibompMicroTests.cmake
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [openmp] Revise IDE folder structure (#89750)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: e14f5f225aedbb829996e33a6e3d0a4dd3d06e0d
      https://github.com/llvm/llvm-project/commit/e14f5f225aedbb829996e33a6e3d0a4dd3d06e0d
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M cross-project-tests/CMakeLists.txt
    M libc/CMakeLists.txt
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt
    M libunwind/CMakeLists.txt
    M llvm-libgcc/CMakeLists.txt
    M offload/CMakeLists.txt
    M pstl/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revise IDE folder structure (#89755)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: c16538feb15ec1d8125192c782210d1a7eac63d7
      https://github.com/llvm/llvm-project/commit/c16538feb15ec1d8125192c782210d1a7eac63d7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M polly/CMakeLists.txt
    M polly/cmake/polly_macros.cmake
    M polly/docs/CMakeLists.txt
    M polly/lib/CMakeLists.txt
    M polly/lib/External/CMakeLists.txt
    M polly/test/CMakeLists.txt
    M polly/unittests/CMakeLists.txt

  Log Message:
  -----------
  [polly] Revise IDE folder structure (#89752)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: faef8b4aa245a671e2013319e8073a9fc52ae12e
      https://github.com/llvm/llvm-project/commit/faef8b4aa245a671e2013319e8073a9fc52ae12e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-ref-deref-on-diff-classes.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp

  Log Message:
  -----------
  [webkit.RefCntblBaseVirtualDtor] Allow CRTP classes without a virtual destructor. (#92837)

Exempt CRTP (Curiously Recurring Template Pattern) classes with a delete
operation acting on "this" pointer with an appropriate cast from the
requirement that a ref-countable superclass must have a virtual
destructor.

To do this, this PR introduces new DerefFuncDeleteExprVisitor, which
looks for a delete operation with an explicit cast to the derived class
in a base class.

This PR also changes the checker so that we only check a given class's
immediate base class instead of all ancestor base classes in the class
hierarchy. This is sufficient because the checker will eventually see
the definition for every class in the class hierarchy and transitively
proves every ref-counted base class has a virtual destructor or deref
function which casts this pointer back to the derived class before
deleting. Without this change, we would keep traversing the same list of
base classes whenever we encounter a new subclass, which is wholly
unnecessary.

It's possible for DerefFuncDeleteExprVisitor to come to a conclusoin that
there isn't enough information to determine whether a given templated
superclass invokes delete operation on a subclass when the template
isn't fully specialized for the subclass. In this case, we return
std::nullopt in HasSpecializedDelete, and visitCXXRecordDecl will skip
this declaration. This is okay because the checker will eventually see a
concreate fully specialized class definition if it ever gets
instantiated.


  Commit: c87a7b3bdb673747f2242ba2edc7d5b2f5b53c30
      https://github.com/llvm/llvm-project/commit/c87a7b3bdb673747f2242ba2edc7d5b2f5b53c30
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/docs/CMakeLists.txt
    M clang-tools-extra/include-cleaner/unittests/CMakeLists.txt
    M clang-tools-extra/pseudo/include/CMakeLists.txt
    M clang-tools-extra/pseudo/tool/CMakeLists.txt
    M clang-tools-extra/pseudo/unittests/CMakeLists.txt
    M clang-tools-extra/test/CMakeLists.txt
    M clang-tools-extra/unittests/CMakeLists.txt

  Log Message:
  -----------
  [clang-tools-extra] Revise IDE folder structure  (#89744)

Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.

 * Ensure that every target is in a folder
 * Use a folder hierarchy with each LLVM subproject as a top-level folder
 * Use consistent folder names between subprojects
 * When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.


  Commit: ac17fbc07682c40a08a429cd061a2c57662570a4
      https://github.com/llvm/llvm-project/commit/ac17fbc07682c40a08a429cd061a2c57662570a4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Add test for printing FOR with live-out.

Add additional test coverage for printing VPlans with a first-order
recurrence with its result used outside the loop.


  Commit: 7b4865582299294455bc816358fd88a9c6e5e0be
      https://github.com/llvm/llvm-project/commit/7b4865582299294455bc816358fd88a9c6e5e0be
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Utils.cpp
    A offload/test/offloading/ompx_bare_shfl_down_sync.cpp
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  Reapply "[OpenMP][OMPX] Add shfl_down_sync (#93311)"

This reverts commit 9b31cc71d66064dfaf2afabf4a835211321bb4a0.


  Commit: cf9eeb67e553137c979dca50bbf912acea8889a5
      https://github.com/llvm/llvm-project/commit/cf9eeb67e553137c979dca50bbf912acea8889a5
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Utils.cpp
    R offload/test/offloading/ompx_bare_shfl_down_sync.cpp
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  Revert "Reapply "[OpenMP][OMPX] Add shfl_down_sync (#93311)""

This reverts commit 7b4865582299294455bc816358fd88a9c6e5e0be.


  Commit: 70d6e7c09fd1a79ca5c2c2deeb72e6b0e1e80a52
      https://github.com/llvm/llvm-project/commit/70d6e7c09fd1a79ca5c2c2deeb72e6b0e1e80a52
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/source_location.cpp

  Log Message:
  -----------
  [Clang] Rewrite SourceLocExpr in default args (#93383)

In order for their dependency to be computed correctly, SourceLocExpr
should refer to the context in which they are used.

Fixes #92680


  Commit: 5220b7bea8b01f46e9f7326b9c9a7e550e8451d1
      https://github.com/llvm/llvm-project/commit/5220b7bea8b01f46e9f7326b9c9a7e550e8451d1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Context.cpp
    M clang/test/AST/Interp/objc.mm

  Log Message:
  -----------
  [clang][Interp] Handle objc strings


  Commit: d0bb91739022e1f15b1ec9a6fd7fc92cd0f95444
      https://github.com/llvm/llvm-project/commit/d0bb91739022e1f15b1ec9a6fd7fc92cd0f95444
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/objc.mm

  Log Message:
  -----------
  [clang][Interp] Handle ObjCBoxedExprs


  Commit: 331eb8a0047504f3ae2cdf2d6c60b93e5d0543f1
      https://github.com/llvm/llvm-project/commit/331eb8a0047504f3ae2cdf2d6c60b93e5d0543f1
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    A llvm/test/CodeGen/X86/apx/ccmp.ll
    A llvm/test/CodeGen/X86/apx/ctest.ll

  Log Message:
  -----------
  [X86][CodeGen] Support lowering for CCMP/CTEST (#91747)

DAG combine for `CCMP` and `CTESTrr`:

```
and/or(setcc(cc0, flag0), setcc(cc1, sub (X, Y)))
->
setcc(cc1, ccmp(X, Y, ~cflags/cflags, cc0/~cc0, flag0))

and/or(setcc(cc0, flag0), setcc(cc1, cmp (X, 0)))
 ->
setcc(cc1, ctest(X, X, ~cflags/cflags, cc0/~cc0, flag0))
```
 where `cflags` is determined by `cc1`.

Generic DAG combine:
```
cmp(setcc(cc, X), 0)
brcond ne
->
X
brcond cc

sub(setcc(cc, X), 1)
brcond ne
->
X
brcond ~cc
```

Post DAG transform:  `ANDrr/rm + CTESTrr -> CTESTrr/CTESTmr`


Pattern match for `CTESTri`:
```
X= and A, B
ctest(X, X, cflags, cc0/, flag0)
->
ctest(A, B, cflags, cc0/, flag0)
```

`CTESTmi` is already handled by the memory folding mechanism in MIR.


  Commit: a4a436672a2c179274e07aeb68e9acd6f483a653
      https://github.com/llvm/llvm-project/commit/a4a436672a2c179274e07aeb68e9acd6f483a653
  Author: Oleksandr T <oleksandr.tarasiuk at outlook.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

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

  Log Message:
  -----------
  [clang] In Sema use new parentEvaluationContext function (#93338)

Fixes #93284


  Commit: cda5790e38af5da3ad455eddab36ef16bf3e8104
      https://github.com/llvm/llvm-project/commit/cda5790e38af5da3ad455eddab36ef16bf3e8104
  Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/access-attributes-prop.ll

  Log Message:
  -----------
  [Inliner] Don't propagate memory attributes to byval params (#93381)

Memory restrictions for params to the inlined function do not apply to
the copies logically made when that function further passes its own
params as byval.

In other words, imagine that `@foo()` calls `@bar(ptr readonly %p)`
which in turn calls `@baz(ptr byval("...") %p)` (passing the same `%p`).
This is fully legal - `baz` is allowed to modify its copy of the object
referenced by `%p` because the argument is passed by value. However,
when inlining `@bar` into `@foo`, we can't say that the callsite is now
`@baz(ptr readonly byval("...") %p)`, as this would mean that `@baz` is
not allowed to modify it's copy of the object pointed to by `%p`.
LangRef says: "The copy is considered to belong to the caller not the
callee (for example, readonly functions should not write to byval
parameters)".

This fixes a miscompile introduced by PR #89024 in a program in the
Google codebase.


  Commit: f9278d61ba69f7b959789b730f16913c6b4129ed
      https://github.com/llvm/llvm-project/commit/f9278d61ba69f7b959789b730f16913c6b4129ed
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

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

  Log Message:
  -----------
  [RISCV] Fix tablegen indentation. NFC


  Commit: f28085aac2b2202f911911a6f6e459a9fd099460
      https://github.com/llvm/llvm-project/commit/f28085aac2b2202f911911a6f6e459a9fd099460
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp

  Log Message:
  -----------
  Fix the warning in RefCntblBaseVirtualDtorChecker.cpp:61 (#93403)


  Commit: 1d3329c2e82166be9b60921a8a571ed3c279c028
      https://github.com/llvm/llvm-project/commit/1d3329c2e82166be9b60921a8a571ed3c279c028
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb/shift-and.ll

  Log Message:
  -----------
  [Thumb] Resolve FIXME: Transform "(and (shl x, c2), c1)" into "(shl (and x, c1>>c2), c2)" (#82120)

Transform "(and (shl x, c2), c1)" into "(shl (and x, c1>>c2), c2)" if
"c1 >> c2" is a cheaper immediate than "c1" using
HasLowerConstantMaterializationCost


  Commit: 70bf1396517be14a92bc69dcb0bf44179c937d93
      https://github.com/llvm/llvm-project/commit/70bf1396517be14a92bc69dcb0bf44179c937d93
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

  Log Message:
  -----------
  [Legalizer] Check full condition for UMIN and UMAX just like the code below does for SMIN and SMAX (#87932)


  Commit: 972f297f712d822208ceae7546c516cd3696e4b1
      https://github.com/llvm/llvm-project/commit/972f297f712d822208ceae7546c516cd3696e4b1
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

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

  Log Message:
  -----------
  Resolve TODO: Use TokenFactor for inline memset (#87002)

We can rewrite this as a TokenFactor like memcpy is.


  Commit: bb02bf78946a1833ea081a763f69b4f0304dd276
      https://github.com/llvm/llvm-project/commit/bb02bf78946a1833ea081a763f69b4f0304dd276
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

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

  Log Message:
  -----------
  [Support] Refactor getN1Bits so it does not work around any g++ bug (#78933)

This also folds better than the previous version as well.

Proof:
https://alive2.llvm.org/ce/z/6uwy95


  Commit: c6ce9372084b5469ebfc10b0e88c63dd9f890a47
      https://github.com/llvm/llvm-project/commit/c6ce9372084b5469ebfc10b0e88c63dd9f890a47
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/readsteadycounter.ll

  Log Message:
  -----------
  [Hexagon] Implement @llvm.readsteadycounter() (#93247)

This commit was inspired by @kparzysz's ab57c2bad3dc ([Hexagon]
Implement @llvm.readcyclecounter(), 2017-02-22)


  Commit: 6d484965ca96b616c3cce0d08eed358b97dbc39b
      https://github.com/llvm/llvm-project/commit/6d484965ca96b616c3cce0d08eed358b97dbc39b
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/ashr-lshr.ll
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  [InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N)) (#92907)

Alive2 Proofs:
https://alive2.llvm.org/ce/z/eSinJY
https://alive2.llvm.org/ce/z/vyKvde
https://alive2.llvm.org/ce/z/dRFsfV


  Commit: 6e14583c53c8b1950e502a7fa282d7e00ad2df4a
      https://github.com/llvm/llvm-project/commit/6e14583c53c8b1950e502a7fa282d7e00ad2df4a
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/test/CodeGen/ARM/constant-island-movwt.mir
    M llvm/test/CodeGen/ARM/constant-islands-split-IT.mir

  Log Message:
  -----------
  [ARM][NFC] Use addLiveIns method instead of manually adding live-ins (#87560)

Do this instead of reimplementing addLiveIns which does the exact same thing.


  Commit: 64bba2178f4c3af821e1aee9c5b86b77e030dd70
      https://github.com/llvm/llvm-project/commit/64bba2178f4c3af821e1aee9c5b86b77e030dd70
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/shl-bo.ll

  Log Message:
  -----------
  [InstCombine] Propagate disjoint flags during shl-binop transform (#91333)

Alive2 Proof:
https://alive2.llvm.org/ce/z/D2jHrn


  Commit: 0f8a74732aa352e5e6dfbf74a53f015b772c5743
      https://github.com/llvm/llvm-project/commit/0f8a74732aa352e5e6dfbf74a53f015b772c5743
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

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

  Log Message:
  -----------
  [AArch64][NFC] Switch to LiveRegUnits (#87313)


  Commit: 558c51968f8f8252128f38a2b860c9ae0a86edba
      https://github.com/llvm/llvm-project/commit/558c51968f8f8252128f38a2b860c9ae0a86edba
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp

  Log Message:
  -----------
  [SystemZ] LivePhysRegs to LiveRegUnits (NFC) (#85162)

More conversions from LivePhysRegs to LiveRegUnits


  Commit: c42c32088bdb03e39ed24f4800a447d4cbb788f2
      https://github.com/llvm/llvm-project/commit/c42c32088bdb03e39ed24f4800a447d4cbb788f2
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  [InstCombine] Add reverse of ((X << nuw Z) sub nuw Y) >>u exact Z --> X sub nuw (Y >>u exact Z) (#91386)

This is the same fold as ((X << nuw Z) sub nuw Y) >>u exact Z --> X sub
nuw (Y >>u exact Z), which we already have and approved in the codebase, but with the sub operands
swapped.

Proof it works in reverse, so we could have a wider generalization of this pattern: https://alive2.llvm.org/ce/z/2cRcdx


  Commit: 686600b521aa3ca5fb9f015d25636067e2c5c9fa
      https://github.com/llvm/llvm-project/commit/686600b521aa3ca5fb9f015d25636067e2c5c9fa
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll

  Log Message:
  -----------
  [LV] Add test showing missed removal of implied predicate.

Tests for https://github.com/llvm/llvm-project/pull/93397


  Commit: bb4c8f92191e7d9aed6c760dac6b8c12396c4d77
      https://github.com/llvm/llvm-project/commit/bb4c8f92191e7d9aed6c760dac6b8c12396c4d77
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll

  Log Message:
  -----------
  [SCEV] Don't add predicates already implied by UnionPredicate. (#93397)

Update SCEVUnionPredicate::add to only add predicates from another union
predicate, if they aren't alread implied by the union predicate we add
them to.

Note that there exists logic elsewhere to avoid adding predicates if
they are already implied, but this logic misses cases when only some
predicates of a union predicate are implied by the current set of
predicates.

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


  Commit: bafda89a0944d947fc4b3b5663185e07a397ac30
      https://github.com/llvm/llvm-project/commit/bafda89a0944d947fc4b3b5663185e07a397ac30
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-26 (Sun, 26 May 2024)

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

  Log Message:
  -----------
  [X86] Use generic CPU tuning when tune-cpu is empty (#83631)


  Commit: eeb2f72a493368d892653203feec03ce484bf17c
      https://github.com/llvm/llvm-project/commit/eeb2f72a493368d892653203feec03ce484bf17c
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [SelectionDAG][X86] Fix the assertion failure in Release build after #91747 (#93434)

In #91747, we changed the SDNode from `X86ISD::SUB` (FROM) to
`X86ISD::CCMP`
(TO) in the DAGCombine. The value type of `X86ISD::SUB` can be `i8, i32`
while the value type of `X86ISD::CCMP` is i32. This breaks the
assumption
that the value type should match after the combine and triggers the
error

```
SelectionDAG.cpp:10942: void
llvm::SelectionDAG::transferDbgValues(llvm::SDValue, llvm::SDValue,
unsigned int, unsigned int, bool): Assertion `FromNode && ToNode &&
"Can't modify dbg values"' failed.
```

when running tests

llvm/test/CodeGen/X86/apx/ccmp.ll
llvm/test/CodeGen/X86/apx/ctest.ll

in Release build when LLVM_ENABLE_ASSERTIONS is on.

In this patch, we fix it by creating a merged value.


  Commit: cbd8031baa62f20d8513f084104180f9d49d763d
      https://github.com/llvm/llvm-project/commit/cbd8031baa62f20d8513f084104180f9d49d763d
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  Revert "[X86] Use generic CPU tuning when tune-cpu is empty" (#93436)

Reverts llvm/llvm-project#83631

Using `HasX86_64` is incorrect.


  Commit: 9027ee63f9d8b02d3ef3d5815d98027a8b513997
      https://github.com/llvm/llvm-project/commit/9027ee63f9d8b02d3ef3d5815d98027a8b513997
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
    A llvm/test/MC/X86/apx/ccmp-reloc.s

  Log Message:
  -----------
  [X86][MC] Support encoding optimization & assembler relaxation about immediate operands for CCMP (#85175)


  Commit: 5b146246c4dcb3eb903199144cfd63f4dbc8bf26
      https://github.com/llvm/llvm-project/commit/5b146246c4dcb3eb903199144cfd63f4dbc8bf26
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [X86][DAGCombine] Remove the predicate hasCCMP() in combineX86SubCmpForFlags, NFCI

No update for non-APX tests.

This patch resolves TODO in #91747.


  Commit: e73e4951b20c70f24354e2a2820876c818dcaee3
      https://github.com/llvm/llvm-project/commit/e73e4951b20c70f24354e2a2820876c818dcaee3
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [NFC] Fix typo unalighed_decl_id_t

It should be unalignhed_decl_id_t


  Commit: b590ba73a76609bace9949ea8195d2ee8213cb3f
      https://github.com/llvm/llvm-project/commit/b590ba73a76609bace9949ea8195d2ee8213cb3f
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [NFC] Rename 'DependentModules'  in ModuleFile to `TransitiveImports`

Required in the review process of https://github.com/llvm/llvm-project/pull/92083


  Commit: 2be8bea1b7bbd16f745d690940b1244bf9ac4233
      https://github.com/llvm/llvm-project/commit/2be8bea1b7bbd16f745d690940b1244bf9ac4233
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  Revert "[InstCombine] Add reverse of ((X << nuw Z) sub nuw Y) >>u exact Z --> X sub nuw (Y >>u exact Z) (#91386)"

This reverts commit c42c32088bdb03e39ed24f4800a447d4cbb788f2.

PR merged without review.


  Commit: af16d49bb25ad446ee4b243fbd8ca2bc9ac3f8b9
      https://github.com/llvm/llvm-project/commit/af16d49bb25ad446ee4b243fbd8ca2bc9ac3f8b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp

  Log Message:
  -----------
  Revert "[SystemZ] LivePhysRegs to LiveRegUnits (NFC) (#85162)"

This reverts commit 558c51968f8f8252128f38a2b860c9ae0a86edba.

PR merged without review.


  Commit: 84314d0ae49628e17667a2d927cb835ecf3d62b8
      https://github.com/llvm/llvm-project/commit/84314d0ae49628e17667a2d927cb835ecf3d62b8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  Revert "[AArch64][NFC] Switch to LiveRegUnits (#87313)"

This reverts commit 0f8a74732aa352e5e6dfbf74a53f015b772c5743.

PR merged without approval.


  Commit: 9378d74e567b1148331d0e91ac82788d122b51b1
      https://github.com/llvm/llvm-project/commit/9378d74e567b1148331d0e91ac82788d122b51b1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/test/CodeGen/ARM/constant-island-movwt.mir
    M llvm/test/CodeGen/ARM/constant-islands-split-IT.mir

  Log Message:
  -----------
  Revert "[ARM][NFC] Use addLiveIns method instead of manually adding live-ins (#87560)"

This reverts commit 6e14583c53c8b1950e502a7fa282d7e00ad2df4a.

PR merged without review.


  Commit: 83370e4878aa96489d9a60cb10431e271d6aea1a
      https://github.com/llvm/llvm-project/commit/83370e4878aa96489d9a60cb10431e271d6aea1a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/ashr-lshr.ll
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  Revert "[InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N)) (#92907)"

This reverts commit 6d484965ca96b616c3cce0d08eed358b97dbc39b.

PR merged without review.


  Commit: 15c8ba4c3b92871278ccc385a696c26c4747711d
      https://github.com/llvm/llvm-project/commit/15c8ba4c3b92871278ccc385a696c26c4747711d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  Revert "[Support] Refactor getN1Bits so it does not work around any g++ bug (#78933)"

This reverts commit bb02bf78946a1833ea081a763f69b4f0304dd276.

PR merged without review.


  Commit: dbfed77a47c59cfca5147d5e62a52df4c597ba10
      https://github.com/llvm/llvm-project/commit/dbfed77a47c59cfca5147d5e62a52df4c597ba10
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp

  Log Message:
  -----------
  [WindowsManifestMerger] Remove deprecated call to xmlKeepBlanksDefault (#93139)

This function has been deprecated in favor of the XML_PARSE_NOBLANKS
option. The code already uses the option, so remove the call. If this
call served some additional purpose, then it wasn't tested.

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


  Commit: 1c046ca3f3254944483251bdc9c843e72d7f7796
      https://github.com/llvm/llvm-project/commit/1c046ca3f3254944483251bdc9c843e72d7f7796
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp

  Log Message:
  -----------
  [lldb] Fixed PlatformPOSIX::DoLoadImage() in case of the Windows host (#93345)

Do not denormalize the path. This patch fixes #93092.

BTW, it would be great to be able to pass the style or triple to
SBFileSpec. Currently it is impossible to create a posix SBFileSpec on
the Windows host.


  Commit: 9f85bc834b07ebfec9e5e02deb9255a0f6ec5cc7
      https://github.com/llvm/llvm-project/commit/9f85bc834b07ebfec9e5e02deb9255a0f6ec5cc7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
    A llvm/test/CodeGen/PowerPC/mergeable-string-pool-pr92991.ll

  Log Message:
  -----------
  [PPCMergeStringPool] Only replace constant once (#92996)

In #88846 I changed this code to use RAUW to perform the replacement
instead of manual updates -- but kept the outer loop, which means we try
to perform RAUW once per user. However, some of the users might be freed
by the RAUW operation, resulting in use-after-free.

The case where this happens is constant users where the replacement
might result in the destruction of the original constant.

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


  Commit: 80b78f5fb30c43cd88f0d096081bc7f1509b0110
      https://github.com/llvm/llvm-project/commit/80b78f5fb30c43cd88f0d096081bc7f1509b0110
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll

  Log Message:
  -----------
  [RISCV] Update fold-scalar-load-crash.ll

So that the loop won't be hoisted completely.


  Commit: f31b197d9df141effd439de8be51ce24f3e8f200
      https://github.com/llvm/llvm-project/commit/f31b197d9df141effd439de8be51ce24f3e8f200
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp

  Log Message:
  -----------
  [analyzer] Fix a test issue in mingw configurations (#92737)

On Windows, long is always 32 bit, thus one can't use long for casting
pointers to integers, on 64 bit architectures.

Instead use long long, which should be large enough.

This avoids errors like "error: cast from pointer to smaller type 'long'
loses information" in this testcase.

This condition only seems to be an error in mingw mode; in MSVC mode
(clang-cl), this is only a warning.


  Commit: 243ffbdf8b25285d04ee4393e86094312cb7c64f
      https://github.com/llvm/llvm-project/commit/243ffbdf8b25285d04ee4393e86094312cb7c64f
  Author: eaeltsin <109593613+eaeltsin at users.noreply.github.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [DSE] Check write location in IsRedundantStore (#93400)

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


  Commit: 0f85b25f51a3e06c48b3fe8042a3de1cf0e635d7
      https://github.com/llvm/llvm-project/commit/0f85b25f51a3e06c48b3fe8042a3de1cf0e635d7
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [clang] NFC: add a test case for TemplateName canonical type print issue


  Commit: 76b9d38934572909ffc8c8ef4cd45407f22e6ea7
      https://github.com/llvm/llvm-project/commit/76b9d38934572909ffc8c8ef4cd45407f22e6ea7
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
    M clang/test/Analysis/putenv-stack-array.c

  Log Message:
  -----------
  [clang][analyzer] PutenvStackArrayChecker: No warning from 'main' (#93299)


  Commit: 7429950d840b8fec3d9a48d00e612a3240c2be83
      https://github.com/llvm/llvm-project/commit/7429950d840b8fec3d9a48d00e612a3240c2be83
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.cpp

  Log Message:
  -----------
  [clang][CodeComplete] Recurse into the subexpression of deref operator in getApproximateType (#93404)

The issue with the previous implementation bc31be7 was that
getApproximateType could potentially return a null QualType for a
dereferencing operator, which is not what its caller wants.


  Commit: 2b78c641525b7cea9dec8125b7f5cd06d7ce8fff
      https://github.com/llvm/llvm-project/commit/2b78c641525b7cea9dec8125b7f5cd06d7ce8fff
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M flang/include/flang/Runtime/support.h
    M flang/runtime/support.cpp
    M flang/unittests/Runtime/CMakeLists.txt
    A flang/unittests/Runtime/Support.cpp

  Log Message:
  -----------
  [flang] add API to copy and update descriptors for assumed ranks (#93305)

When passing assumed-rank around, the lower bounds, dynamic type and
attribute must sometimes be updated to match the dummy attributes. See
https://github.com/llvm/llvm-project/blob/main/flang/docs/AssumedRank.md#annex-1---descriptor-temporary-for-the-dummy-arguments
for more details.

Doing it inline would require generating many instructions and block CFG
at the LLVM IR dialect level in codegen. Go for a simple runtime API
instead.
A matching fir.rebox_assumed_rank operation will be created and will
allow for easier future optimizations when inlining is done in FIR.


  Commit: 43fd244b3d5c08bfd3aad0913b0fe84339842f4e
      https://github.com/llvm/llvm-project/commit/43fd244b3d5c08bfd3aad0913b0fe84339842f4e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    A llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  Reland "[AMDGPU] Add AMDGPU-specific module splitting (#89245)"

(with fix for ubsan)

This enables the --lto-partitions option to work more consistently.

This module splitting logic is fully aware of AMDGPU modules and their
specificities and takes advantage of
them to split modules in a way that avoids compilation issue (such as
resource usage being incorrectly represented).

This also includes a logging system that's more elaborate than just
LLVM_DEBUG which allows
printing logs to uniquely named files, and optionally with all value
names hidden so they can be safely shared without leaking informatiton
about the source. Logs can also be enabled through an environment
variable, which avoids the sometimes complicated process of passing a
-mllvm option all the way from clang driver to the offload linker that
handles full LTO codegen.


  Commit: cc184eea80ca908b647b5f9a0de79b9965b565a8
      https://github.com/llvm/llvm-project/commit/cc184eea80ca908b647b5f9a0de79b9965b565a8
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 43fd244b3d5c


  Commit: b0b35964042294d407a995a8407ee5ba93ba5a4b
      https://github.com/llvm/llvm-project/commit/b0b35964042294d407a995a8407ee5ba93ba5a4b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang] add fir.rebox_assumed_rank operation (#93334)

As described in https://github.com/llvm/llvm-project/blob/main/flang/docs/AssumedRank.md,
add an operation to make copies of assumed-rank descriptors where lower
bounds, attributes, or dynamic type may have been changed.


  Commit: f1d13bbd6662969ad9e57a7938967217602636c5
      https://github.com/llvm/llvm-project/commit/f1d13bbd6662969ad9e57a7938967217602636c5
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    A flang/include/flang/Optimizer/Builder/Runtime/Support.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    A flang/lib/Optimizer/Builder/Runtime/Support.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    A flang/test/Fir/rebox_assumed_rank_codegen.fir

  Log Message:
  -----------
  [flang] add FIR to FIR pass to lower assumed-rank operations (#93344)

Add pass to lower assumed-rank operations. The current patch adds
codegen for fir.rebox_assumed_rank. It will be the pass lowering
fir.select_rank.
    
fir.rebox_assumed_rank is lowered to a call to CopyAndUpdateDescriptor
runtime API.
    
Note that the lowering ends-up allocating two new descriptors at the
LLVM level (one alloca created by the pass for the CopyAndUpdateDescriptor
result descriptor argument, the second one is created by the fir.load
of the result descriptor in codegen).
LLVM is currently unable to properly optimize and merge those allocas.
The "nocapture" attribute added to CopyAndUpdateDescriptor arguments
gives part of the information to LLVM, but the fir.load codegen of
descriptors must be updated to use llvm.memcpy instead of
llvm.load+store to allow LLVM to optimize it. This will be done in later patch.


  Commit: c1ac6d2dd4ad3b15756d53b4b294843de4c141c2
      https://github.com/llvm/llvm-project/commit/c1ac6d2dd4ad3b15756d53b4b294843de4c141c2
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-error.cl
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    A llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    A llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll

  Log Message:
  -----------
  [AMDGPU] Add amdgpu-as MMRA for fences (#78572)

Using MMRAs, allow `builtin_amdgcn_fence` to emit fences that only
target one or more address spaces, instead of fencing all address spaces
at once.

This is done through a `amdgpu-as` MMRA. Currently focused on OpenCL
fences, but can very easily support more AS names and codegen on more
than just fences.


  Commit: 7a28a5b3fee6c78ad59af79a3d03c00db153c49f
      https://github.com/llvm/llvm-project/commit/7a28a5b3fee6c78ad59af79a3d03c00db153c49f
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/overload-template.cpp

  Log Message:
  -----------
  [clang][Sema] Fix crash when diagnosing candidates with parameter packs (#93079)

Prevent OOB access by not printing target parameter range when there's a
pack in the function parameters.

Fixes https://github.com/llvm/llvm-project/issues/93076.
Fixes https://github.com/llvm/llvm-project/issues/76354.
Fixes https://github.com/llvm/llvm-project/issues/70191.


  Commit: 4447461bc4802d4ead02db61c5276c142df3fd0c
      https://github.com/llvm/llvm-project/commit/4447461bc4802d4ead02db61c5276c142df3fd0c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/SemaCXX/recovery-expr-type.cpp

  Log Message:
  -----------
  [clang][Interp] Don't try to dereference a null type


  Commit: 1e6a82b8ef19abdc45fc72c309b0bef6cb6eda72
      https://github.com/llvm/llvm-project/commit/1e6a82b8ef19abdc45fc72c309b0bef6cb6eda72
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll

  Log Message:
  -----------
  [AMDGPU] Legalize and select raw/struct_buffer_load with tfe (#93310)


  Commit: 8def1288d226008fe7a9128f1d81d6dfa172387e
      https://github.com/llvm/llvm-project/commit/8def1288d226008fe7a9128f1d81d6dfa172387e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [UniformityAnalysis] Use DenseSet for DivergentValues (#93455)

Values are small, and std::set is just unnecessarily expensive. It stood
out in some quick performance profiling. DenseSet is a better
alternative in this case.


  Commit: 0183b58e292d9d7004fabc92bd0da10eba5666db
      https://github.com/llvm/llvm-project/commit/0183b58e292d9d7004fabc92bd0da10eba5666db
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/overload-decl.cpp

  Log Message:
  -----------
  [Clang] Correctly diagnose a static function overloading a non-static function (#93460)

Regression in clang 18 introduced by af4751738db89a1

Fixes #93456


  Commit: 8760d4ba4cb12d5cac2469f26cd09a2b3acd3c50
      https://github.com/llvm/llvm-project/commit/8760d4ba4cb12d5cac2469f26cd09a2b3acd3c50
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [mlir][EmitC] Update comment (NFC)


  Commit: 6af4118f1557eb7ac07147607bd23e90c5bf2b35
      https://github.com/llvm/llvm-project/commit/6af4118f1557eb7ac07147607bd23e90c5bf2b35
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
   Reapply #91116 with fix (#93160)

This PR contains 2 commits:
1. A commit to reapply changes introduced #91116 (was reverted earlier
due to test suite failures)
2. A commit containing a possible solution for the issue causing the
test suite failures. In particular, it introduces a simple symbol
visitor class to keep track of the current active OMP construct and
marking this active construct as the scope defining the symbol being
visisted.


  Commit: a487616cbf542826d0ba1e7d0dabedca33a27de8
      https://github.com/llvm/llvm-project/commit/a487616cbf542826d0ba1e7d0dabedca33a27de8
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/sink-common-code-dbg.ll
    M llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll

  Log Message:
  -----------
  [DebugInfo][GVNSink] Merging debug locations of sinked instructions (#92859)

Fix #85069 .


  Commit: b1e329a3f54fbe55fa61c124f94cc6c8509e5423
      https://github.com/llvm/llvm-project/commit/b1e329a3f54fbe55fa61c124f94cc6c8509e5423
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Explicitly define PrimType values

So I don't have to count them down all the time.


  Commit: 6a197b35db0805e77d5103382b5b516ca0c2db1d
      https://github.com/llvm/llvm-project/commit/6a197b35db0805e77d5103382b5b516ca0c2db1d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix returning references to functions

Previously, we pushed a pointer to the stack and later tried to use
it as if it was a function pointer, which doesn't work.


  Commit: 21ee27877a87185199d150f9a49f2d3337bad86e
      https://github.com/llvm/llvm-project/commit/21ee27877a87185199d150f9a49f2d3337bad86e
  Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/atomic-ops.c

  Log Message:
  -----------
  [Clang] Issue an error when an atomic builtin is called with a pointer to a zero-size object (#91057)

When an atomic builtin is called with a pointer to an object of size
zero, an arithmetic exception gets thrown because there is a modulo
operation with the objects size in codegen.

Diagnose this in sema instead.

Fixes #90330.


  Commit: 670259466b238176ac302c8dedf806d2b2be7e0c
      https://github.com/llvm/llvm-project/commit/670259466b238176ac302c8dedf806d2b2be7e0c
  Author: Rouzbeh <rouzbeh.paktinat1 at huawei.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopCacheAnalysis.cpp
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/LoopnestFixedSize.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/loads-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matmul.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matvecmul.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/multi-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/single-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/stencil.ll
    M llvm/test/Analysis/LoopCacheAnalysis/compute-cost.ll
    A llvm/test/Analysis/LoopCacheAnalysis/interchange-cost-beneficial.ll
    M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll

  Log Message:
  -----------
  [LoopCacheAnalysis] Fix loop cache cost to always round the cost up to the nearest integer number (#88915)

Currently loop cache analysis uses following formula to evaluate cost of
an RefGroup for a consecutive memory access:

`RefCost=(TripCount*Stride)/CLS`

This cost evaluates to zero when `TripCount*Stride` is smaller than
cache-line-size. This results in wrong cost value for a loop and
misleads loopInterchange decisions as shown in [this
case](https://llvm.godbolt.org/z/jTz1vn4hn).

This patch fixes the problem by rounding the cost to 1 once this problem
happens.


  Commit: 5e140c8a17889a4cc677edee9f5db618dca70535
      https://github.com/llvm/llvm-project/commit/5e140c8a17889a4cc677edee9f5db618dca70535
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/MicrosoftExtensions.cpp
    M clang/test/Sema/builtin-assume.c
    M clang/test/Sema/stmtexprs.c
    M clang/test/SemaCXX/cxx23-assume.cpp

  Log Message:
  -----------
  [Clang] [NFC] Clarify assume diagnostic (#93077)

Currently, if the argument to `__builtin_assume` and friends contains
side-effects, we issue the following diagnostic:
```
<source>:1:34: warning: the argument to '__builtin_assume' has side 
effects that will be discarded [-Wassume]
    1 | void f(int x) { __builtin_assume(x++); }
      |                                  
```
The issue here is that this diagnostic misrepresents what is actually
happening: not only do we discard the side-effects of the expression,
but we also don’t even emit any assumption information at all because
the backend is not equipped to deal with eliminating side-effects in
cases such as this.

This has caused some confusion (see #91612) beacuse the current wording
of the warning suggests that, sensibly, only the side-effects of the
expression, and not the assumption itself, will be discarded.

This pr updates the diagnostic to state what is actually happening: that
the assumption has no effect at all because its argument contains
side-effects:
```
<source>:1:34: warning: assumption is ignored because it contains 
(potential) side-effects [-Wassume]
    1 | void f(int x) { __builtin_assume(x++); }
      |                                  
```

I’ve deliberately included ‘(potential)’ here because even expressions
that only contain potential side-effects (e.g. `true ? x : x++` or a
call to a function that is pure, but we don’t know that it is) cause the
assumption to be discarded. This, too, has caused some confusion because
it was erroneously assumed that Clang would e.g. infer that a function
call is pure and not discard the assumption as a result when that isn’t
the case.

This is intended to be temporary; we should revert back to the original
diagnostic once we have proper support for assumptions with side-effects
in the backend (in which case the side-effects will still be discarded,
but the assumption won’t)

This fixes #91612.


  Commit: 49b760ff2c7da60f4308708f56688ca99874605f
      https://github.com/llvm/llvm-project/commit/49b760ff2c7da60f4308708f56688ca99874605f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix calling virtual CXXOperatorCallExprs


  Commit: 8cdecd4d3aedea7bc5f27d1f69da216100cb2815
      https://github.com/llvm/llvm-project/commit/8cdecd4d3aedea7bc5f27d1f69da216100cb2815
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Constants.h
    A llvm/include/llvm/IR/GEPNoWrapFlags.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Assembler/flags.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
    M llvm/test/tools/llvm-reduce/reduce-flags.ll
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp

  Log Message:
  -----------
  [IR] Add getelementptr nusw and nuw flags (#90824)

This implements the `nusw` and `nuw` flags for `getelementptr` as
proposed at
https://discourse.llvm.org/t/rfc-add-nusw-and-nuw-flags-for-getelementptr/78672.

The three possible flags are encapsulated in the new `GEPNoWrapFlags`
class. Currently this class has a ctor from bool, interpreted as the
InBounds flag. This ctor should be removed in the future, as code gets
migrated to handle all flags.

There are a few places annotated with `TODO(gep_nowrap)`, where I've had
to touch code but opted to not infer or precisely preserve the new
flags, so as to keep this as NFC as possible and make sure any changes
of that kind get test coverage when they are made.


  Commit: 714aee31e10020fbe2169bdca088545be4bfa4ae
      https://github.com/llvm/llvm-project/commit/714aee31e10020fbe2169bdca088545be4bfa4ae
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
    M mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir

  Log Message:
  -----------
  [mlir][vector] Add result type to `interleave` assembly format (#93392)

This is to make it more obvious for what the result type is, especially
with some less trivial cases like 0-d inputs resulting in 1-d inputs or
interaction with scalable vector types. Note that `vector.deinterleave`
uses the same format with explicit result type.

Also improve examples and clean up surrounding code.


  Commit: 3d1145a51009c56a4d46792dea51da75a1153951
      https://github.com/llvm/llvm-project/commit/3d1145a51009c56a4d46792dea51da75a1153951
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    R libcxx/include/libcxx.imp

  Log Message:
  -----------
  [libc++] Remove libcxx/include/libcxx.imp

This was committed by mistake. We don't store that file in the source
tree anymore, we only generate it upon installation.


  Commit: 5fb38307f372555cd22fd09ace86c3b1ccd2abb9
      https://github.com/llvm/llvm-project/commit/5fb38307f372555cd22fd09ace86c3b1ccd2abb9
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt

  Log Message:
  -----------
  [clang-tools-extra] Remove redundant FOLDER property. NFC.

This should have been removed from #89744 to address a review comment.


  Commit: 48c988cfcbb25243700178bad43d106ae7ef2cb4
      https://github.com/llvm/llvm-project/commit/48c988cfcbb25243700178bad43d106ae7ef2cb4
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/overloaded-operator.cpp

  Log Message:
  -----------
  [Clang] Only non-overloaded dereference expressions  are lvalues (#93457)

Fix a regression introduced by #88740

Fixes #92275


  Commit: 4b5e0a1d12f0d624852c6d7c82207647ed5282aa
      https://github.com/llvm/llvm-project/commit/4b5e0a1d12f0d624852c6d7c82207647ed5282aa
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    A clang/test/SemaCXX/attribute-pack-expansion.cpp

  Log Message:
  -----------
  [Clang] [Sema] Diagnose unexpanded parameter packs in attributes (#93482)

Call `DiagnoseUnexpandedParameterPack` when we parse an expression
argument to an attribute and check for implicit code in the
`CollectUnexpandedParameterPacksVisitor` so we can actually find
unexpanded packs in attributes that end up applied to lambda call
operators.

This fixes #93269.


  Commit: 34388f986af1289492d043b56b6cba17468d1f8d
      https://github.com/llvm/llvm-project/commit/34388f986af1289492d043b56b6cba17468d1f8d
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_alt.ll
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_alt.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_alt.s
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu_function_alt.test
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/update_llc_test_checks.py

  Log Message:
  -----------
  update_llc_test_checks: better support for non-llc tools (#93135)

A full downstream fork can already hack up update_llc_test_checks.py to
support custom tools that output assembly.

An out-of-tree frontend which is meant to build against upstream
llvm-project cannot do this, and so providing additional arguments to
support a non-standard tool is useful.

This also makes a minor adjustment to the regular expression for
matching AMDGPU functions when fewer comments are enabled, which happens
to be the case for our out-of-tree shader compiler (which motivated this
change).


  Commit: d3ce1078186389ce39505f06c2a0100dce9187a5
      https://github.com/llvm/llvm-project/commit/d3ce1078186389ce39505f06c2a0100dce9187a5
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M libcxx/test/libcxx/lit.local.cfg
    M libcxx/utils/libcxx/test/dsl.py

  Log Message:
  -----------
  [libcxx] [test] Use `shlex.quote()` to fix Python 3.13 compatibility (#93376)

Replace the use of `pipes.quote()` with `shlex.quote()` to fix
compatibility with Python 3.13. The former was always an undocumented
alias to the latter, and the `pipes` module was removed completely in
Python 3.13.

Fixes #93375


  Commit: 67aec0cd62d607b4e5b7198769be061454ce67b3
      https://github.com/llvm/llvm-project/commit/67aec0cd62d607b4e5b7198769be061454ce67b3
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerSwitch.cpp
    A llvm/test/Transforms/LowerSwitch/93152.ll

  Log Message:
  -----------
  [LowerSwitch] Use unsigned integer for range comparison (#93237)

Commit 1db51d8eb2 switched from int64_t to `APInt` to prevent high precision integer overflow.
However, when comparing the "range" of switch cases, we should switch to unsigned integer to prevent overflow.
This patch fixes https://github.com/llvm/llvm-project/issues/93152. 
Some test cases are added.

Signed-off-by: Peter Rong <PeterRong96 at gmail.com>


  Commit: 9bbd5de8c8f73ca8bc705be48d8677d1a2838d26
      https://github.com/llvm/llvm-project/commit/9bbd5de8c8f73ca8bc705be48d8677d1a2838d26
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M lld/test/ELF/arm-gotoff.s

  Log Message:
  -----------
  [ELF,test] Simplify arm-gotoff.s and fix check prefixes


  Commit: 855eef2abd81cb8c7543d4748353d5e378fdd4c2
      https://github.com/llvm/llvm-project/commit/855eef2abd81cb8c7543d4748353d5e378fdd4c2
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for `llvm-tblgen` (#93486)


  Commit: 59c6bd156cc8b42758ce90909615748e21c6eee2
      https://github.com/llvm/llvm-project/commit/59c6bd156cc8b42758ce90909615748e21c6eee2
  Author: David Green <david.green at arm.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/add_reduce.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/begin-vpt-without-inst.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-default.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize-strd-lr.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/cmplx_cong.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/count_dominates_start.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/ctlz-non-zeros.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-ignore-vctp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/end-positive-offset.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/extract-element.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-16.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-32.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-8.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-1.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-3.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-1.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/invariant-qreg.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-itercount.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-random.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp-reordered.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-vcmp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/livereg-no-loop-def.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/massive.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dls.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-lr-terminator.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-cond-iter-count.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiblock-massive.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-cbnz.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-reorder.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-vpsel-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-store.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-invariant.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions-vpt-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-while.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/revertcallearly.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/safe-def-no-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/safe-retaining.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/size-limit.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-vpt-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/subreg-liveness.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredicated-max.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-def.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-use.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-retaining.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-use-after.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination-across-blocks.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt-2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subi3.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri12.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector_spill_in_loop.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmaxmin_vpred_r.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-block-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/while.mir

  Log Message:
  -----------
  [ARM] Regnerate LowOverheadLoop tests. NFC


  Commit: f114eddb1923289b696f1b0980cc22c4dbaafa22
      https://github.com/llvm/llvm-project/commit/f114eddb1923289b696f1b0980cc22c4dbaafa22
  Author: David Tenty <daltenty at ibm.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp

  Log Message:
  -----------
  [libcxx][test][AIX] Fix the thousands_sep expectation for fr_FR locales (#92312)

Similar to some other platforms, AIX uses ' ' for non-wide characters
and U202F for wide characters, so this change opts into those paths for
AIX as well.


  Commit: a5b7c36bda22f6b2a1e2f20ba6959c66308cb66a
      https://github.com/llvm/llvm-project/commit/a5b7c36bda22f6b2a1e2f20ba6959c66308cb66a
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/sign-return-address-tailcall.ll

  Log Message:
  -----------
  [AArch64][PAC] Fix creating check instructions for BBs without an epilog (#92508)

`AArch64PAuth::checkAuthenticatedRegister()` splits the basic block
containing the tail call instruction to add check instructions, assuming
at least one more instruction before the call. This assumption is
incorrect in cases where some execution paths lead to the termination
block without creating the stack frame. This patch rearranges the
creation of the checks so that the prior splitting is not required.


  Commit: e406d5ed9cb3878152d21088115143568ad8a057
      https://github.com/llvm/llvm-project/commit/e406d5ed9cb3878152d21088115143568ad8a057
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/pstl.h
    R libcxx/include/__algorithm/pstl_any_all_none_of.h
    R libcxx/include/__algorithm/pstl_copy.h
    R libcxx/include/__algorithm/pstl_count.h
    R libcxx/include/__algorithm/pstl_equal.h
    R libcxx/include/__algorithm/pstl_fill.h
    R libcxx/include/__algorithm/pstl_find.h
    R libcxx/include/__algorithm/pstl_for_each.h
    R libcxx/include/__algorithm/pstl_generate.h
    R libcxx/include/__algorithm/pstl_is_partitioned.h
    R libcxx/include/__algorithm/pstl_merge.h
    R libcxx/include/__algorithm/pstl_move.h
    R libcxx/include/__algorithm/pstl_replace.h
    R libcxx/include/__algorithm/pstl_rotate_copy.h
    R libcxx/include/__algorithm/pstl_sort.h
    R libcxx/include/__algorithm/pstl_stable_sort.h
    R libcxx/include/__algorithm/pstl_transform.h
    A libcxx/include/__numeric/pstl.h
    R libcxx/include/__numeric/pstl_reduce.h
    R libcxx/include/__numeric/pstl_transform_reduce.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap
    M libcxx/include/numeric

  Log Message:
  -----------
  [libc++][pstl] Merge all frontend functions for the PSTL (#89219)

This is an intermediate step towards the PSTL dispatching mechanism
rework. It will make it a lot easier to track the upcoming front-end
changes. After the rework, there are basically no implementation details
in the front-end, so the definition of each algorithm will become much
simpler. Otherwise, it wouldn't make sense to define all the algorithms
in the same header.


  Commit: 434ee06d77613df23a2ece62a62bcd62c13121d2
      https://github.com/llvm/llvm-project/commit/434ee06d77613df23a2ece62a62bcd62c13121d2
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

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


  Commit: dba2aa265c5f2ef774c2812cf6ffdea8dd784e09
      https://github.com/llvm/llvm-project/commit/dba2aa265c5f2ef774c2812cf6ffdea8dd784e09
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add LeftWithLastLine to AlignEscapedNewlines option (#93402)

Closes #92999.


  Commit: 1de1ee9cbabd641d50c5d2ac416392494b4ed30b
      https://github.com/llvm/llvm-project/commit/1de1ee9cbabd641d50c5d2ac416392494b4ed30b
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    R clang/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [clang][ci] Move libc++ testing into the main PR pipeline (#93318)

Following the discussion in
https://github.com/llvm/llvm-project/pull/93233#issuecomment-2127920882,
this patch merges `clang-ci` pipeline into main `GitHub Pull Requests`
pipeline. `clang-ci` enables additional test coverage for Clang by
compiling it, and then using it to compile and test libc++, libc++abi,
and libunwind in C++03, C++26, and Clang Modules modes.

Additional work we skip and total time savings we should see:
1. Checking out the repo to generate the clang-ci pipeline (2 minutes)
2. Building Clang (3.5 minutes)
3. Uploading the artifacts once, then downloading them 3 times and
unpacking 3 times (0.5 minutes)

Note that because previously-split jobs for each mode are now under a
single Linux job, it now takes around 8 minutes more see the Linux CI
results despite total time savings.

The primary goal of this patch is to reduce the load of CI by removing
duplicated work. I consider this goal achieved. I could keep the job
parallelism we had (3 libc++ jobs depending on a main Linux job), but I
don't consider it worth the effort and opportunity cost, because
parallelism is not helping once the pool of builders is fully
subscribed.


  Commit: 435ea21c897f94b5a3777a9f152e4c5bb4a371a3
      https://github.com/llvm/llvm-project/commit/435ea21c897f94b5a3777a9f152e4c5bb4a371a3
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp

  Log Message:
  -----------
  [Driver] Remove unneeded *-linux-gnu after D158183

As the comment added by a07727199db0525e9d2df41e466a2a1611b3c8e1
suggests, these `*Triples` lists should shrink over time.

https://reviews.llvm.org/D158183 allows *-unknown-linux-gnu to detect
*-linux-gnu. If we additionally allow x86_64-unknown-linux-gnu
-m32/-mx32 to detect x86_64-linux-gnu, we can mostly remove these
*-linux-gnu elements.


  Commit: 1708de1abd512696cec383fee9381c3b498014dc
      https://github.com/llvm/llvm-project/commit/1708de1abd512696cec383fee9381c3b498014dc
  Author: Ricky Zhou <ricky at rzhou.org>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M compiler-rt/lib/xray/xray_trampoline_x86_64.S

  Log Message:
  -----------
  [XRay][compiler-rt][x86_64] Preserve flags in x86_64 trampolines. (#89452)

Previously, some xray trampolines would modify condition codes (before
saving/after restoring flags) due to stack alignment instructions, which
use add/sub.

I am not aware of issues that this causes in practice (outside of the
situation described in https://github.com/llvm/llvm-project/pull/89364,
which is only problematic due to a different bug). Nevertheless, it
seems nicer and less error-prone for xray instrumentation to be as
unobstrusive/preserve as much state as possible.


  Commit: 21a39dfb17a4931d99d9a6d561d596c841d9197a
      https://github.com/llvm/llvm-project/commit/21a39dfb17a4931d99d9a6d561d596c841d9197a
  Author: Ricky Zhou <ricky at rzhou.org>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M compiler-rt/lib/xray/xray_buffer_queue.h

  Log Message:
  -----------
  [XRay][compiler-rt] Fix oob memory access in FDR BufferQueue iterator (#90940)

Before this change, the FDR BufferQueue iterator could access oob memory
due to checks of the form `!Buffers[Offset].Used && Offset != Max`. This
allows access to `Buffers[Max]`, which is past the end of the `Buffers`
array. This can lead to crashes when that memory is not mapped. Fix this
by testing `Offset != Max` first.


  Commit: 57c10fa564af44a5b236bc642c540d715b04448c
      https://github.com/llvm/llvm-project/commit/57c10fa564af44a5b236bc642c540d715b04448c
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][spirv] Add vector.interleave to spirv.VectorShuffle conversion (#93240)

- Add `vector.interleave` to `spirv.VectorShuffle` conversion
- Remove the `vector.interleave` to `vector.shuffle` conversion from
`populateVectorToSPIRVPatterns` and CMake/Bazel dependencies

---------

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


  Commit: 8b037862b6eabe2efd4b0dcfdb6768484cd10564
      https://github.com/llvm/llvm-project/commit/8b037862b6eabe2efd4b0dcfdb6768484cd10564
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll

  Log Message:
  -----------
  [VPlan] Preserve DT (and SCEV) in VPlan-native path (#93287)

As a follow-up to b2f65e80, use the DTU to also update and preserve
the DT in the native path. This should also allow preserving SCEV in the
native path

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


  Commit: a4f75ec730ee573fc35a51264a907b1f05b53e3b
      https://github.com/llvm/llvm-project/commit/a4f75ec730ee573fc35a51264a907b1f05b53e3b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/no-implicit-declarations.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't record implicitly declarations to BMI by default (#93459)

I found we may insert unused implciit declarations like AArch SVE
declarations by default on AArch64 due to we will insert that by
default. But it should be completely redundant and this patch tries to
remove that.


  Commit: 0f08ef1b66cb3de81a10a237624e3e173b0c7c68
      https://github.com/llvm/llvm-project/commit/0f08ef1b66cb3de81a10a237624e3e173b0c7c68
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll

  Log Message:
  -----------
  [LAA] Add tests  with various early exits.


  Commit: 9ca2d60213790642d21dfbea4a1bbe4d23e56063
      https://github.com/llvm/llvm-project/commit/9ca2d60213790642d21dfbea4a1bbe4d23e56063
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M clang/test/Driver/m68k-features.cpp
    M clang/test/Driver/m68k-macros.cpp
    M clang/test/Driver/m68k-sub-archs.cpp
    M clang/test/Driver/masm.c
    M clang/test/Driver/masm.s
    M clang/test/Driver/mbackchain.c
    M clang/test/Driver/mcount.c
    M clang/test/Driver/mdouble.c
    M clang/test/Driver/memtag-stack.c
    M clang/test/Driver/mfentry.c
    M clang/test/Driver/mglobal-merge.c
    M clang/test/Driver/mingw-implicit-extension-windows.c
    M clang/test/Driver/mingw-libgcc.c
    M clang/test/Driver/mingw-msvcrt.c
    M clang/test/Driver/mingw-sanitizers.c
    M clang/test/Driver/mingw-sysroot.cpp
    M clang/test/Driver/mingw-windowsapp.c
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/mips-abi.c
    M clang/test/Driver/mips-abicalls-error.c
    M clang/test/Driver/mips-abicalls-warning.c
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c
    M clang/test/Driver/mips-float.c
    M clang/test/Driver/mips-gpopt-warning.c
    M clang/test/Driver/mips-ias-Wa.s
    M clang/test/Driver/mips-integrated-as.s
    M clang/test/Driver/mips-mabs-warning.c
    M clang/test/Driver/mlong-double-128.c
    M clang/test/Driver/mlong-double-64.c
    M clang/test/Driver/module-output.cppm
    M clang/test/Driver/ms-bitfields.c
    M clang/test/Driver/msan.c
    M clang/test/Driver/msc-version.c
    M clang/test/Driver/msp430-hwmult.c
    M clang/test/Driver/msvc-compiler-rt.c
    M clang/test/Driver/msvc-static-rtti.cpp
    M clang/test/Driver/msvc-triple.c
    M clang/test/Driver/msvc_forward.c
    M clang/test/Driver/objc-encode-cxx-class-template-spec.m
    M clang/test/Driver/openbsd.cpp
    M clang/test/Driver/opencl.cl

  Log Message:
  -----------
  [Driver][test] Replace legacy -target with --target=

Similar to previous cleanup.

While changing mips* tests, change some -no-integrated-as to the
recommended -fno-integrated-as.


  Commit: 5eea4f44250e9af0f21a573d982fd84573c77826
      https://github.com/llvm/llvm-project/commit/5eea4f44250e9af0f21a573d982fd84573c77826
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/test/MachO/stabs-icf.s

  Log Message:
  -----------
  [lld-macho] Add flag --keep-icf-stabs to LLD for MachO (#93137)

This change adds the `--keep-icf-stabs` which, when specified, preserves
symbols that were folded by ICF in the binary's stabs entries.
This allows `dsymutil` to process debug information for the folded
symbols.


  Commit: 94d5f01ecbc26d5c8d28d4406f77a7c966e38ef5
      https://github.com/llvm/llvm-project/commit/94d5f01ecbc26d5c8d28d4406f77a7c966e38ef5
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir

  Log Message:
  -----------
  [X86][CodeGen][test] Add `dead` modifier for eflags w/o users, NFCI

This is for the coming NF (no flags update) support in flag copy
lowering.


  Commit: 988cee7f96d6ba56dd465b9b2f3cfade3b6e2a3f
      https://github.com/llvm/llvm-project/commit/988cee7f96d6ba56dd465b9b2f3cfade3b6e2a3f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [unittest] Fix target triple


  Commit: 12b0ef5dade664fb24cb4e627f1c391d937c0925
      https://github.com/llvm/llvm-project/commit/12b0ef5dade664fb24cb4e627f1c391d937c0925
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-27 (Mon, 27 May 2024)

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

  Log Message:
  -----------
  [X86] Simplify BB->getParent(). NFC


  Commit: 179fb2e51e08d7eec1844dd07c01d396728a1d0f
      https://github.com/llvm/llvm-project/commit/179fb2e51e08d7eec1844dd07c01d396728a1d0f
  Author: Ricky Zhou <ricky at rzhou.org>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/xray-custom-log.ll

  Log Message:
  -----------
  [XRay][X86] Fix stack alignment for custom event calls (#89360)

Calls to @llvm.xray.{custom,typed}event are lowered to an nop sled that
can be
patched with a call to an instrumentation function at runtime. Prior to
this
change, x86 codegen did not guarantee that these patched calls run with
the
appropriate stack alignment (particularly in leaf functions, where
normal stack
alignment assumptions may not hold).

This leads to crashes on x86, as the custom event hook can end up using
SSE
instructions that assume a 16-byte aligned stack.

Fix this by wrapping custom event hooks in CALLSEQ_START/CALLSEQ_END as
done for
regular function calls. One downside of this approach is that on
functions whose
stacks aren't already aligned, we may end up running stack alignment
fixup
instructions even when instrumentation is disabled. An alternative could
be to
make the custom event assembly trampolines stack-alignment-agnostic.
This was
the case in the past, but

https://github.com/llvm/llvm-project/commit/b46c89892fe25bec197fd30f09b3a312da126422
removed this due to complexity in maintaining CFI directives for these
stack
adjustments. Since we are already willing to pay the call argument setup
cost
for custom hooks when instrumentation is disabled, I am hoping that an
extra
push/pop in this hopefully uncommon unaligned stack case is tolerable.


  Commit: fcffea06fdf3876dc48170d5577d7454d7303792
      https://github.com/llvm/llvm-project/commit/fcffea06fdf3876dc48170d5577d7454d7303792
  Author: Ricky Zhou <ricky at rzhou.org>
  Date:   2024-05-27 (Mon, 27 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/CodeGen/X86/xray-tail-call-sled.ll

  Log Message:
  -----------
  [XRay][X86] Handle conditional calls when lowering patchable tail calls (#89364)

xray instruments tail call function exits by inserting a nop sled before
the tail call. When tracing is enabled, the nop sled is replaced with a
call to `__xray_FunctionTailExit()`. This currently does not work for
conditional tail calls, as the instrumentation assumes that the tail
call will be unconditional. This causes two issues:
 - `__xray_FunctionTailExit()` is inappropately called even when the
   tail call is not taken.
 - `__xray_FunctionTailExit()`'s prologue/epilogue adjusts the stack
   pointer with add/sub instructions. This clobbers condition flags,
   which can flip the condition used for the tail call, leading to
   incorrect program behavior.

Fix this by rewriting conditional calls when lowering patchable tail
calls.

With this change, a conditional patchable tail call like:
```
  je target
```

Will be lowered to:
```
  jne .fallthrough
  .p2align 1, ..
.Lxray_sled_N:
  SLED_CODE
  jmp target
.fallthrough:
```


  Commit: 269bd6dabdd6edb8b7133ed0ae16e46983c4621d
      https://github.com/llvm/llvm-project/commit/269bd6dabdd6edb8b7133ed0ae16e46983c4621d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .github/workflows/llvm-bugs.yml
    M bolt/CMakeLists.txt
    M bolt/cmake/modules/AddBOLT.cmake
    M bolt/docs/BAT.md
    M bolt/docs/CMakeLists.txt
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/MCF.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/instr.cpp
    M bolt/test/CMakeLists.txt
    M bolt/test/X86/bb-with-two-tail-calls.s
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    A bolt/test/X86/dwarf5-debug-names-class-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-enumeration-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-structure-type-decl.s
    A bolt/test/X86/ignored-interprocedural-reference.s
    M bolt/test/X86/register-fragments-bolt-symbols.s
    A bolt/test/X86/yaml-non-simple.test
    M bolt/test/link_fdata.py
    M bolt/test/runtime/X86/hot-end-symbol.s
    M bolt/unittests/CMakeLists.txt
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/test/infinite-instantiation.test
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ClangdTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/docs/CMakeLists.txt
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    M clang-tools-extra/include-cleaner/unittests/CMakeLists.txt
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/pseudo/include/CMakeLists.txt
    M clang-tools-extra/pseudo/tool/CMakeLists.txt
    M clang-tools-extra/pseudo/unittests/CMakeLists.txt
    M clang-tools-extra/test/CMakeLists.txt
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/unittests/CMakeLists.txt
    M clang/CMakeLists.txt
    M clang/bindings/python/tests/CMakeLists.txt
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/cmake/caches/VectorEngine.cmake
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/CMakeLists.txt
    M clang/docs/ClangFormatStyleOptions.rst
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    A clang/include/clang/Sema/SemaRISCV.h
    A clang/include/clang/Sema/SemaX86.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/PrimType.h
    M clang/lib/AST/Interp/Record.cpp
    M clang/lib/AST/Interp/Record.h
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Headers/CMakeLists.txt
    R clang/lib/Headers/avx512erintrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    A clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/cxx03.cpp
    M clang/test/AST/Interp/cxx11.cpp
    M clang/test/AST/Interp/cxx98.cpp
    M clang/test/AST/Interp/eval-order.cpp
    M clang/test/AST/Interp/functions.cpp
    A clang/test/AST/Interp/objc.mm
    M clang/test/AST/Interp/records.cpp
    A clang/test/AST/Interp/sycl.cpp
    A clang/test/AST/Interp/unions.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-ref-deref-on-diff-classes.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    R clang/test/Analysis/cert/pos34-c-fp-suppression.cpp
    R clang/test/Analysis/cert/pos34-c.cpp
    M clang/test/Analysis/cxx-uninitialized-object.cpp
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    A clang/test/Analysis/putenv-stack-array.c
    A clang/test/Analysis/setgid-setuid-order-notes.c
    A clang/test/Analysis/setgid-setuid-order.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
    A clang/test/ClangScanDeps/response-file-clang-cl.c
    M clang/test/CodeCompletion/member-access.cpp
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/SystemZ/sync-builtins-i128-8Al.c
    R clang/test/CodeGen/X86/avx512er-builtins.c
    R clang/test/CodeGen/X86/avx512pf-builtins.c
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
    M clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c
    M clang/test/CodeGen/aarch64-varargs.c
    R clang/test/CodeGen/assume_attr.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/darwin-target-variant.c
    M clang/test/CodeGen/fat-lto-objects.c
    M clang/test/CodeGen/function-target-features.c
    M clang/test/CodeGen/functions.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGenCXX/assume_attr.cpp
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
    M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
    M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
    M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
    M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
    M clang/test/CodeGenCXX/delete-two-arg.cpp
    M clang/test/CodeGenCXX/delete.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    A clang/test/CodeGenCXX/fmv-namespace.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    A clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
    R clang/test/CodeGenCXX/ps4-dllstorage-vtable-rtti.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-dealloc.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    M clang/test/CodeGenCoroutines/pr56919.cpp
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/CoverageMapping/builtinmacro.c
    M clang/test/CoverageMapping/macros.c
    A clang/test/CoverageMapping/mcdc-scratch-space.c
    A clang/test/CoverageMapping/mcdc-system-headers.cpp
    M clang/test/CoverageMapping/templates.cpp
    M clang/test/Driver/Ofast.c
    M clang/test/Driver/aarch64-v95a.c
    M clang/test/Driver/android-unversioned-fallback-warning.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/dxc_dxv_path.hlsl
    M clang/test/Driver/fast-math.c
    M clang/test/Driver/fat-archive-unbundle-ext.c
    M clang/test/Driver/fatal-warnings.c
    M clang/test/Driver/fbinutils-version.c
    M clang/test/Driver/fdirect-access-external-data.c
    M clang/test/Driver/fembed-bitcode.c
    M clang/test/Driver/fexcess-precision.c
    M clang/test/Driver/fextend-args.c
    M clang/test/Driver/fforce-dwarf-frame.c
    M clang/test/Driver/fgnuc-version.c
    M clang/test/Driver/flags.c
    M clang/test/Driver/flang/msvc-link.f90
    M clang/test/Driver/fmemprof.cpp
    M clang/test/Driver/fopenmp.c
    M clang/test/Driver/fortran.f95
    M clang/test/Driver/fpatchable-function-entry.c
    M clang/test/Driver/frame-pointer-elim.c
    M clang/test/Driver/freebsd-mips-as.c
    M clang/test/Driver/freebsd.cpp
    M clang/test/Driver/fsanitize-coverage.c
    M clang/test/Driver/fsanitize-ignorelist.c
    M clang/test/Driver/fsanitize-memory-param-retval.c
    M clang/test/Driver/fsanitize-metadata-ignorelist.c
    M clang/test/Driver/fsanitize-object-size.c
    M clang/test/Driver/fsemantic-interposition.c
    M clang/test/Driver/fsjlj-exceptions.c
    M clang/test/Driver/fuse-ld-windows.c
    M clang/test/Driver/fuse-ld.c
    M clang/test/Driver/fuzzer.c
    M clang/test/Driver/fveclib.c
    M clang/test/Driver/loongarch-mlasx-error.c
    M clang/test/Driver/loongarch-mlsx-error.c
    M clang/test/Driver/m68k-features.cpp
    M clang/test/Driver/m68k-macros.cpp
    M clang/test/Driver/m68k-sub-archs.cpp
    M clang/test/Driver/masm.c
    M clang/test/Driver/masm.s
    M clang/test/Driver/mbackchain.c
    M clang/test/Driver/mcount.c
    M clang/test/Driver/mdouble.c
    M clang/test/Driver/memtag-stack.c
    M clang/test/Driver/mfentry.c
    M clang/test/Driver/mglobal-merge.c
    M clang/test/Driver/mingw-implicit-extension-windows.c
    M clang/test/Driver/mingw-libgcc.c
    M clang/test/Driver/mingw-msvcrt.c
    M clang/test/Driver/mingw-sanitizers.c
    M clang/test/Driver/mingw-sysroot.cpp
    M clang/test/Driver/mingw-windowsapp.c
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/mips-abi.c
    M clang/test/Driver/mips-abicalls-error.c
    M clang/test/Driver/mips-abicalls-warning.c
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c
    M clang/test/Driver/mips-float.c
    M clang/test/Driver/mips-gpopt-warning.c
    M clang/test/Driver/mips-ias-Wa.s
    M clang/test/Driver/mips-integrated-as.s
    M clang/test/Driver/mips-mabs-warning.c
    M clang/test/Driver/mlong-double-128.c
    M clang/test/Driver/mlong-double-64.c
    M clang/test/Driver/module-output.cppm
    M clang/test/Driver/ms-bitfields.c
    A clang/test/Driver/ms-define-stdc.c
    M clang/test/Driver/msan.c
    M clang/test/Driver/msc-version.c
    M clang/test/Driver/msp430-hwmult.c
    M clang/test/Driver/msvc-compiler-rt.c
    M clang/test/Driver/msvc-static-rtti.cpp
    M clang/test/Driver/msvc-triple.c
    M clang/test/Driver/msvc_forward.c
    M clang/test/Driver/objc-encode-cxx-class-template-spec.m
    M clang/test/Driver/openbsd.cpp
    M clang/test/Driver/opencl.cl
    M clang/test/Driver/openmp-offload-infer.c
    M clang/test/Driver/openmp-system-arch.c
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl
    M clang/test/Driver/tocdata-cc1.c
    M clang/test/Driver/x-args.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/ExtractAPI/non_type_template.cpp
    M clang/test/ExtractAPI/objc_external_category.m
    M clang/test/Frontend/optimization-remark-options.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/binary-attributes.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/test/Lexer/cxx-features.cpp
    A clang/test/Misc/diag-template-diffing-cxx11.cpp
    A clang/test/Misc/diag-template-diffing-cxx26.cpp
    R clang/test/Misc/diag-template-diffing.cpp
    A clang/test/Modules/implicit-module-remap.cpp
    A clang/test/Modules/no-implicit-declarations.cppm
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/assumes_print.cpp
    M clang/test/OpenMP/assumes_template_print.cpp
    M clang/test/OpenMP/atomic_messages.c
    M clang/test/OpenMP/distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
    M clang/test/OpenMP/distribute_simd_loop_messages.cpp
    M clang/test/OpenMP/distribute_simd_private_messages.cpp
    M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
    M clang/test/OpenMP/requires_default_atomic_mem_order_messages.cpp
    M clang/test/OpenMP/requires_messages.cpp
    M clang/test/OpenMP/target_device_ancestor_messages.cpp
    M clang/test/OpenMP/target_firstprivate_messages.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/test/OpenMP/target_parallel_for_private_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
    M clang/test/OpenMP/target_private_messages.cpp
    M clang/test/OpenMP/target_simd_private_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
    M clang/test/OpenMP/target_update_messages.cpp
    M clang/test/OpenMP/teams_distribute_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp
    M clang/test/OpenMP/tile_codegen_for_dependent.cpp
    M clang/test/OpenMP/tile_codegen_tile_for.cpp
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/Parser/MicrosoftExtensions.cpp
    M clang/test/Parser/altivec.c
    M clang/test/Parser/attr-availability.c
    M clang/test/Parser/cxx-altivec.cpp
    M clang/test/Parser/lax-conv.cpp
    M clang/test/Parser/objcbridge-related-attribute.m
    M clang/test/Parser/pragma-attribute.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    A clang/test/Preprocessor/stdc-ms-extension.cpp
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Profile/c-unreachable-after-switch.c
    M clang/test/Profile/misexpect-branch.c
    M clang/test/Profile/misexpect-switch-default.c
    M clang/test/Profile/misexpect-switch.c
    M clang/test/Sema/atomic-ops.c
    R clang/test/Sema/attr-assume.c
    M clang/test/Sema/attr-availability-ios.c
    M clang/test/Sema/attr-objc-bridge-related.m
    M clang/test/Sema/builtin-assume.c
    M clang/test/Sema/builtins-x86.c
    M clang/test/Sema/builtins.c
    M clang/test/Sema/constant_builtins_vector.cpp
    A clang/test/Sema/fmv-namespace.cpp
    M clang/test/Sema/stmtexprs.c
    M clang/test/Sema/x86-eval-method.c
    M clang/test/Sema/x86_64-eval-method.c
    M clang/test/SemaCUDA/device-var-init.cu
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCUDA/union-init.cu
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/addr-label-in-coroutines.cpp
    A clang/test/SemaCXX/attribute-pack-expansion.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/test/SemaCXX/overload-decl.cpp
    M clang/test/SemaCXX/overload-template.cpp
    M clang/test/SemaCXX/overloaded-operator.cpp
    M clang/test/SemaCXX/recovery-expr-type.cpp
    M clang/test/SemaCXX/source_location.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-misuse.cpp
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
    M clang/test/SemaObjC/unguarded-availability.m
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-error.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
    M clang/test/SemaOpenCL/vector_swizzle_length.cl
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CMakeLists.txt
    M clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/DeclTest.cpp
    M clang/unittests/AST/Interp/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/utils/ClangVisualizers/CMakeLists.txt
    M clang/utils/TableGen/CMakeLists.txt
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/analyzer/entrypoint.py
    R clang/utils/ci/buildkite-pipeline.yml
    M clang/utils/ci/run-buildbot
    M clang/utils/hmaptool/CMakeLists.txt
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/xray/tests/CMakeLists.txt
    M compiler-rt/lib/xray/xray_buffer_queue.h
    M compiler-rt/lib/xray/xray_trampoline_x86_64.S
    M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py
    M compiler-rt/test/dfsan/custom.cpp
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M cross-project-tests/CMakeLists.txt
    M flang/CMakeLists.txt
    M flang/cmake/modules/AddFlang.cmake
    M flang/docs/CMakeLists.txt
    M flang/docs/Extensions.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    A flang/include/flang/Optimizer/Builder/Runtime/Support.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Runtime/support.h
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    A flang/lib/Optimizer/Builder/Runtime/Support.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/edit-output.cpp
    M flang/runtime/external-unit.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/support.cpp
    M flang/runtime/terminator.h
    M flang/runtime/unit.cpp
    M flang/test/CMakeLists.txt
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/fopenmp.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/w-arg-unsupported.f90
    M flang/test/Driver/wextra-ok.f90
    A flang/test/Evaluate/triplets01.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir
    A flang/test/Fir/rebox_assumed_rank_codegen.fir
    A flang/test/Integration/debug-complex-1.f90
    A flang/test/Integration/debug-fixed-array-type-2.f90
    A flang/test/Integration/debug-module-2.f90
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    A flang/test/Lower/Intrinsics/selected_char_kind.f90
    A flang/test/Lower/Intrinsics/selected_logical_kind.f90
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Semantics/OpenMP/do02.f90
    A flang/test/Semantics/OpenMP/masked.f90
    A flang/test/Semantics/OpenMP/reduction-modifiers.f90
    R flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/bind-c12.f90
    M flang/test/Semantics/call05.f90
    M flang/test/Semantics/call39.f90
    M flang/test/Semantics/modfile03.f90
    A flang/test/Semantics/procinterface05.f90
    M flang/test/Semantics/shape.f90
    A flang/test/Transforms/debug-complex-1.fir
    A flang/test/Transforms/debug-fixed-array-type.fir
    A flang/test/Transforms/debug-module-1.fir
    A flang/test/Transforms/debug-module-2.fir
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    M flang/unittests/Runtime/CMakeLists.txt
    A flang/unittests/Runtime/Support.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/docs/ctype.rst
    M libc/docs/fenv.rst
    M libc/docs/signal.rst
    M libc/docs/stdbit.rst
    M libc/docs/threads.rst
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libc/utils/docgen/ctype.json
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/fenv.json
    A libc/utils/docgen/header.py
    M libc/utils/docgen/signal.json
    M libc/utils/docgen/stdbit.json
    M libc/utils/docgen/threads.json
    M libcxx/CMakeLists.txt
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/ParallelismProjects.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy_move_common.h
    A libcxx/include/__algorithm/pstl.h
    R libcxx/include/__algorithm/pstl_any_all_none_of.h
    R libcxx/include/__algorithm/pstl_copy.h
    R libcxx/include/__algorithm/pstl_count.h
    R libcxx/include/__algorithm/pstl_equal.h
    R libcxx/include/__algorithm/pstl_fill.h
    R libcxx/include/__algorithm/pstl_find.h
    R libcxx/include/__algorithm/pstl_for_each.h
    R libcxx/include/__algorithm/pstl_generate.h
    R libcxx/include/__algorithm/pstl_is_partitioned.h
    R libcxx/include/__algorithm/pstl_merge.h
    R libcxx/include/__algorithm/pstl_move.h
    R libcxx/include/__algorithm/pstl_replace.h
    R libcxx/include/__algorithm/pstl_rotate_copy.h
    R libcxx/include/__algorithm/pstl_sort.h
    R libcxx/include/__algorithm/pstl_stable_sort.h
    R libcxx/include/__algorithm/pstl_transform.h
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__locale
    A libcxx/include/__numeric/pstl.h
    R libcxx/include/__numeric/pstl_reduce.h
    R libcxx/include/__numeric/pstl_transform_reduce.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/algorithm
    M libcxx/include/atomic
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/vec_ext.h
    M libcxx/include/forward_list
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/module.modulemap
    M libcxx/include/numeric
    M libcxx/include/vector
    M libcxx/modules/std/atomic.inc
    M libcxx/src/chrono.cpp
    M libcxx/src/locale.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/lit.local.cfg
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
    A libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
    M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
    A libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
    A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_copy.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp
    M libcxx/utils/libcxx/test/dsl.py
    M libcxx/utils/libcxx/test/features.py
    M libcxxabi/CMakeLists.txt
    M libcxxabi/include/cxxabi.h
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/cxa_exception.h
    M libcxxabi/src/cxa_personality.cpp
    M libunwind/CMakeLists.txt
    M libunwind/include/__libunwind_config.h
    M libunwind/src/Unwind-wasm.c
    M libunwind/src/UnwindCursor.hpp
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/docs/ld.lld.1
    A lld/test/COFF/arm64ec-exports.s
    A lld/test/ELF/aarch64-feature-gcs.s
    M lld/test/ELF/arm-gotoff.s
    M lld/test/ELF/avr-reloc-error.s
    M lld/test/ELF/avr-reloc.s
    M lld/test/ELF/compress-debug-sections-zstd.s
    M lld/test/ELF/compress-sections-special.s
    M lld/test/ELF/compress-sections.s
    M lld/test/ELF/compressed-debug-level.test
    M lld/test/ELF/linkerscript/compress-debug-sections.s
    M lld/test/ELF/linkerscript/compress-sections.s
    M lld/test/ELF/mips-eh_frame-pic.s
    M lld/test/MachO/stabs-icf.s
    M lld/test/wasm/shared64.s
    M lld/wasm/Driver.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M lldb/CMakeLists.txt
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/cmake/modules/LLDBFramework.cmake
    M lldb/cmake/modules/LLDBStandalone.cmake
    M lldb/docs/CMakeLists.txt
    M lldb/docs/resources/build.rst
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-types.h
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/source/API/CMakeLists.txt
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectConstResultImpl.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Symbol.cpp
    M lldb/source/Symbol/SymbolFileOnDemand.cpp
    M lldb/source/Symbol/TypeSystem.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/CMakeLists.txt
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
    M lldb/test/API/functionalities/bt-interrupt/main.c
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
    M lldb/test/API/functionalities/thread/exit_during_expression/main.c
    M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
    M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
    M lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
    M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
    M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
    M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/test/CMakeLists.txt
    M lldb/test/Shell/CMakeLists.txt
    A lldb/test/Shell/SymbolFile/DWARF/x86/invalid_abbreviation.s
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/test/Unit/CMakeLists.txt
    M lldb/tools/driver/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt
    M lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
    M lldb/tools/lldb-server/CMakeLists.txt
    M lldb/unittests/CMakeLists.txt
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M lldb/unittests/tools/lldb-server/CMakeLists.txt
    M lldb/utils/TableGen/CMakeLists.txt
    M lldb/utils/lit-cpuid/CMakeLists.txt
    M lldb/utils/lldb-dotest/CMakeLists.txt
    M lldb/utils/lldb-repro/CMakeLists.txt
    M llvm-libgcc/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/AddOCaml.cmake
    M llvm/cmake/modules/AddSphinxTarget.cmake
    M llvm/cmake/modules/CrossCompile.cmake
    R llvm/cmake/modules/FindTerminfo.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/LLVMDistributionSupport.cmake
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/cmake/modules/TableGen.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CMakeLists.txt
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MemorySSA.rst
    M llvm/docs/ORCv2.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/examples/Kaleidoscope/CMakeLists.txt
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/Bitcode/BitcodeWriter.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/ConstantRange.h
    M llvm/include/llvm/IR/Constants.h
    A llvm/include/llvm/IR/GEPNoWrapFlags.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/include/llvm/Object/ELF.h
    M llvm/include/llvm/Object/ELFTypes.h
    M llvm/include/llvm/Object/ObjectFile.h
    M llvm/include/llvm/Option/ArgList.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Support/CMakeLists.txt
    M llvm/include/llvm/Support/Error.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/LoopCacheAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/Support/BLAKE3/CMakeLists.txt
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/Error.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
    M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.cpp
    A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
    M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/VE/VVPNodes.def
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86FixupBWInsts.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/lib/TextAPI/Utils.cpp
    M llvm/lib/Transforms/Coroutines/CoroElide.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/LowerSwitch.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    A llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
    M llvm/test/Analysis/LoopAccessAnalysis/select-dependence.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/LoopnestFixedSize.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/loads-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matmul.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matvecmul.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/multi-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/single-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/stencil.ll
    M llvm/test/Analysis/LoopCacheAnalysis/compute-cost.ll
    A llvm/test/Analysis/LoopCacheAnalysis/interchange-cost-beneficial.ll
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/Assembler/flags.ll
    M llvm/test/CMakeLists.txt
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/hadd-combine.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/pr58431.ll
    M llvm/test/CodeGen/AArch64/selectopt-not.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-tailcall.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
    A llvm/test/CodeGen/AArch64/sve-pr92779.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    A llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    A llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    A llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    M llvm/test/CodeGen/ARM/frem-power2.ll
    M llvm/test/CodeGen/BPF/xadd.ll
    A llvm/test/CodeGen/Hexagon/readsteadycounter.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
    M llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll
    M llvm/test/CodeGen/PowerPC/aix-tocdata-fastisel.ll
    M llvm/test/CodeGen/PowerPC/ctrloop-le.ll
    A llvm/test/CodeGen/PowerPC/mergeable-string-pool-pr92991.ll
    A llvm/test/CodeGen/PowerPC/pr92233.ll
    A llvm/test/CodeGen/PowerPC/toc-data-no-data-sections.ll
    M llvm/test/CodeGen/PowerPC/toc-data.ll
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frem-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frem-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-lshr-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/libcalls.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/shift.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/loop-strength-reduce-loop-invar.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    A llvm/test/CodeGen/RISCV/pr90730.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
    R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-costrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.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/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    A llvm/test/CodeGen/RISCV/rvv/fround-constrained-sdnode.ll
    R llvm/test/CodeGen/RISCV/rvv/fround-costrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
    M llvm/test/CodeGen/Thumb/shift-and.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/add_reduce.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/begin-vpt-without-inst.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-default.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize-strd-lr.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/cmplx_cong.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/count_dominates_start.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/ctlz-non-zeros.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-ignore-vctp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/end-positive-offset.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/extract-element.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-16.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-32.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-8.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-1.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-3.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-1.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/invariant-qreg.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-itercount.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-random.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp-reordered.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-vcmp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/livereg-no-loop-def.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/massive.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dls.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-lr-terminator.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-cond-iter-count.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiblock-massive.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-cbnz.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-reorder.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-vpsel-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-store.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-invariant.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions-vpt-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-while.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/revertcallearly.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/safe-def-no-mov.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/safe-retaining.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/size-limit.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-vpt-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/subreg-liveness.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredicated-max.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-def.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-use.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-retaining.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-use-after.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination-across-blocks.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt-2.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subi3.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri12.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector_spill_in_loop.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmaxmin_vpred_r.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-block-debug.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/while.mir
    M llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
    R llvm/test/CodeGen/WebAssembly/fast-isel-call-indirect64.ll
    M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    M llvm/test/CodeGen/X86/abds-vector-128.ll
    M llvm/test/CodeGen/X86/abds-vector-256.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/abdu-vector-256.ll
    M llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
    A llvm/test/CodeGen/X86/apx/ccmp.ll
    A llvm/test/CodeGen/X86/apx/ctest.ll
    M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
    R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    M llvm/test/CodeGen/X86/combine-srem.ll
    M llvm/test/CodeGen/X86/crc32-target-feature.ll
    A llvm/test/CodeGen/X86/exp10-libcall-names.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/funnel-shift.ll
    M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
    A llvm/test/CodeGen/X86/issue76416.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    A llvm/test/CodeGen/X86/misched-critical-path.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/test/CodeGen/X86/pmul.ll
    M llvm/test/CodeGen/X86/pr59305.ll
    A llvm/test/CodeGen/X86/pr90703.ll
    M llvm/test/CodeGen/X86/pr90844.ll
    A llvm/test/CodeGen/X86/pr92569.ll
    A llvm/test/CodeGen/X86/pr92720.ll
    A llvm/test/CodeGen/X86/pr93000.ll
    M llvm/test/CodeGen/X86/prefetch.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
    M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll
    M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
    M llvm/test/CodeGen/X86/xray-custom-log.ll
    M llvm/test/CodeGen/X86/xray-tail-call-sled.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/AArch64/FP8/system-regs.s
    A llvm/test/MC/AArch64/SVE/condition-codes.s
    R llvm/test/MC/AArch64/SVE/condtion-codes.s
    M llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s
    M llvm/test/MC/AArch64/SVE/sqincp-diagnostics.s
    A llvm/test/MC/AMDGPU/amd_kernel_code_t.s
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/MC/WebAssembly/simd-encodings.s
    A llvm/test/MC/X86/apx/ccmp-reloc.s
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    A llvm/test/Transforms/Attributor/issue87856.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll
    A llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
    R llvm/test/Transforms/Coroutines/coro-debug-frame-variable-O1.ll
    A llvm/test/Transforms/Coroutines/coro-debug-frame-variable-inlined.ll
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
    M llvm/test/Transforms/Coroutines/no-suspend.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/mul.ll
    M llvm/test/Transforms/DeadStoreElimination/simple.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
    A llvm/test/Transforms/EntryExitInstrumenter/mcount-aix.ll
    M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/norecurse.ll
    M llvm/test/Transforms/FunctionAttrs/read-write-scc.ll
    M llvm/test/Transforms/FunctionAttrs/willreturn.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    A llvm/test/Transforms/GVNSink/sink-common-code-dbg.ll
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
    M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/Inline/access-attributes-prop.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/cast_ptr.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/load-cmp.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/shl-bo.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll
    A llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    A llvm/test/Transforms/LowerSwitch/93152.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    A llvm/test/Transforms/SCCP/range-mul-nuw-nsw-flags.ll
    A llvm/test/Transforms/SCCP/range-with-undef.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scalarazied-result.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/streaming-compatible-expand-masked-gather-scatter.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
    A llvm/test/Transforms/SimplifyCFG/switch-dead-default-lookup-table.ll
    M llvm/test/Transforms/SimplifyCFG/switch-dead-default.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_alt.ll
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_alt.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_alt.s
    A llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu_function_alt.test
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/test/tools/llvm-driver/symlink-call.test
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
    A llvm/test/tools/llvm-mca/X86/call-latency.s
    A llvm/test/tools/llvm-objcopy/tool-options.test
    A llvm/test/tools/llvm-profdata/show-order-error.proftext
    M llvm/test/tools/llvm-profdata/show-order.proftext
    M llvm/test/tools/llvm-profgen/profile-density.test
    M llvm/test/tools/llvm-readobj/ELF/note-core-ntfile.test
    M llvm/test/tools/llvm-reduce/reduce-flags.ll
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    A llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg
    M llvm/tools/dsymutil/MachODebugMapParser.cpp
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M llvm/tools/opt-viewer/CMakeLists.txt
    M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
    M llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/CMakeLists.txt
    M llvm/unittests/DebugInfo/BTF/CMakeLists.txt
    M llvm/unittests/DebugInfo/CodeView/CMakeLists.txt
    M llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
    M llvm/unittests/DebugInfo/GSYM/CMakeLists.txt
    M llvm/unittests/DebugInfo/MSF/CMakeLists.txt
    M llvm/unittests/DebugInfo/PDB/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/unittests/IR/ConstantRangeTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp
    M llvm/unittests/ProfileData/BPFunctionNodeTest.cpp
    M llvm/unittests/Support/CommandLineInit/CMakeLists.txt
    M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
    M llvm/unittests/Support/KnownBitsTest.cpp
    M llvm/unittests/Support/LEB128Test.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp
    M llvm/unittests/Target/AArch64/CMakeLists.txt
    M llvm/unittests/Target/AMDGPU/CMakeLists.txt
    M llvm/unittests/Target/ARM/CMakeLists.txt
    M llvm/unittests/Target/CMakeLists.txt
    M llvm/unittests/Target/LoongArch/CMakeLists.txt
    M llvm/unittests/Target/PowerPC/CMakeLists.txt
    M llvm/unittests/Target/RISCV/CMakeLists.txt
    M llvm/unittests/Target/WebAssembly/CMakeLists.txt
    M llvm/unittests/Target/X86/CMakeLists.txt
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/Transforms/Coroutines/CMakeLists.txt
    M llvm/unittests/Transforms/IPO/CMakeLists.txt
    M llvm/unittests/Transforms/Scalar/CMakeLists.txt
    M llvm/unittests/Transforms/Utils/CMakeLists.txt
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
    M llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt
    M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
    M llvm/unittests/tools/llvm-mca/CMakeLists.txt
    M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
    M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp
    M llvm/unittests/tools/llvm-profdata/CMakeLists.txt
    M llvm/unittests/tools/llvm-profgen/CMakeLists.txt
    M llvm/utils/LLVMVisualizers/CMakeLists.txt
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/gn/README.rst
    R llvm/utils/gn/build/libs/terminfo/BUILD.gn
    R llvm/utils/gn/build/libs/terminfo/enable.gni
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
    M llvm/utils/lit/CMakeLists.txt
    M llvm/utils/llvm-locstats/CMakeLists.txt
    M llvm/utils/mlgo-utils/CMakeLists.txt
    M llvm/utils/revert_checker.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/docs/CMakeLists.txt
    M mlir/docs/PassManagement.md
    M mlir/examples/toy/CMakeLists.txt
    M mlir/examples/transform/CMakeLists.txt
    M mlir/include/mlir-c/Debug.h
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    A mlir/include/mlir/Analysis/TopologicalSortUtils.h
    M mlir/include/mlir/Config/mlir-config.h.cmake
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/CommonFolders.h
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.h
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
    R mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
    M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/IR/OpBase.td
    M mlir/include/mlir/InitAllPasses.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
    M mlir/include/mlir/Pass/PassManager.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    R mlir/include/mlir/Transforms/TopologicalSortUtils.h
    M mlir/lib/Analysis/CMakeLists.txt
    M mlir/lib/Analysis/Liveness.cpp
    M mlir/lib/Analysis/SliceAnalysis.cpp
    A mlir/lib/Analysis/TopologicalSortUtils.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/CAPI/Debug/Debug.cpp
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Pass/IRPrinting.cpp
    M mlir/lib/Pass/PassManagerOptions.cpp
    M mlir/lib/TableGen/CMakeLists.txt
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/SROA.cpp
    M mlir/lib/Transforms/TopologicalSort.cpp
    M mlir/lib/Transforms/Utils/CMakeLists.txt
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    R mlir/lib/Transforms/Utils/TopologicalSortUtils.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/python/mlir/dialects/linalg/__init__.py
    M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
    M mlir/test/Analysis/DataFlow/test-next-access.mlir
    M mlir/test/Analysis/test-liveness.mlir
    M mlir/test/Analysis/test-topoligical-sort.mlir
    A mlir/test/Analysis/test-toposort.mlir
    M mlir/test/CAPI/CMakeLists.txt
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Conversion/BufferizationToMemRef/bufferization-to-memref.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
    M mlir/test/Conversion/SPIRVToLLVM/spirv-storage-class-mapping.mlir
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/Affine/slicing-utils.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/Dialect/Arith/unsigned-when-equivalent.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
    M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations-func.mlir
    M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations.mlir
    M mlir/test/Dialect/GPU/barrier-elimination.mlir
    M mlir/test/Dialect/GPU/ops.mlir
    M mlir/test/Dialect/GPU/outlining.mlir
    M mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    R mlir/test/Dialect/LLVMIR/type-consistency.mlir
    M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    A mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Polynomial/canonicalization.mlir
    M mlir/test/Dialect/Polynomial/ops.mlir
    M mlir/test/Dialect/SCF/transform-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
    M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
    M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
    M mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/IR/parser.mlir
    M mlir/test/IR/properties.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
    A mlir/test/Pass/ir-printing-file-tree.mlir
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
    A mlir/test/Transforms/test-convert-func-op.mlir
    R mlir/test/Transforms/test-toposort.mlir
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Analysis/TestSlice.cpp
    A mlir/test/lib/Analysis/TestTopologicalSort.cpp
    M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
    A mlir/test/lib/Conversion/FuncToLLVM/TestConvertFuncOp.cpp
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Transforms/CMakeLists.txt
    R mlir/test/lib/Transforms/TestTopologicalSort.cpp
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    M mlir/test/mlir-tblgen/op-decl-and-defs.td
    M mlir/test/mlir-tblgen/op-operand.td
    M mlir/test/mlir-tblgen/pattern.mlir
    A mlir/test/mlir-vulkan-runner/addui_extended.mlir
    R mlir/test/mlir-vulkan-runner/iaddcarry_extended.mlir
    M mlir/test/python/dialects/transform_structured_ext.py
    M mlir/test/python/ir/array_attributes.py
    M mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M mlir/tools/mlir-pdll/CMakeLists.txt
    M mlir/tools/mlir-src-sharder/CMakeLists.txt
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/unittests/CMakeLists.txt
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M offload/CMakeLists.txt
    M offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Utils.cpp
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/include/JIT.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/JIT.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    R offload/plugins-nextgen/exports
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/PluginManager.cpp
    M offload/test/offloading/dynamic_module.c
    A offload/test/offloading/fortran/dump_map_tables.f90
    A offload/test/offloading/ompx_bare_ballot_sync.c
    M openmp/CMakeLists.txt
    M openmp/cmake/OpenMPTesting.cmake
    M openmp/docs/CMakeLists.txt
    M openmp/docs/SupportAndFAQ.rst
    M openmp/docs/remarks/OMP121.rst
    M openmp/docs/remarks/OMP133.rst
    M openmp/docs/remarks/OptimizationRemarks.rst
    M openmp/runtime/cmake/LibompMicroTests.cmake
    M openmp/runtime/src/CMakeLists.txt
    M openmp/runtime/src/include/ompx.h.var
    M openmp/runtime/test/lit.cfg
    A openmp/runtime/test/transform/tile/foreach.cpp
    A openmp/runtime/test/transform/tile/iterfor.cpp
    A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_intfor.c
    A openmp/runtime/test/transform/unroll/factor_iterfor.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-foreach.cpp
    A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-intfor.cpp
    A openmp/runtime/test/transform/unroll/full_intfor.c
    A openmp/runtime/test/transform/unroll/heuristic_intfor.c
    A openmp/runtime/test/transform/unroll/partial_intfor.c
    M polly/CMakeLists.txt
    M polly/cmake/polly_macros.cmake
    M polly/docs/CMakeLists.txt
    M polly/lib/CMakeLists.txt
    M polly/lib/External/CMakeLists.txt
    M polly/test/CMakeLists.txt
    M polly/test/CodeGen/20100617.ll
    M polly/test/CodeGen/20100622.ll
    M polly/test/CodeGen/20100707.ll
    M polly/test/CodeGen/20100707_2.ll
    M polly/test/CodeGen/20100708.ll
    M polly/test/CodeGen/20100708_2.ll
    M polly/test/CodeGen/20100713.ll
    M polly/test/CodeGen/20100713_2.ll
    M polly/test/CodeGen/20100717.ll
    M polly/test/CodeGen/20100718-DomInfo-2.ll
    M polly/test/CodeGen/20100718-DomInfo.ll
    M polly/test/CodeGen/20100720-MultipleConditions.ll
    M polly/test/CodeGen/20100809-IndependentBlock.ll
    M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
    M polly/test/CodeGen/20101030-Overflow.ll
    M polly/test/CodeGen/20101103-Overflow3.ll
    M polly/test/CodeGen/20101103-signmissmatch.ll
    M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
    M polly/test/CodeGen/20110226-PHI-Node-removed.ll
    M polly/test/CodeGen/20120316-InvalidCast.ll
    M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
    M polly/test/CodeGen/20130221.ll
    M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
    M polly/test/CodeGen/Intrinsics/llvm-expect.ll
    M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
    M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
    M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
    M polly/test/CodeGen/MemAccess/bad_alignment.ll
    M polly/test/CodeGen/MemAccess/codegen_address_space.ll
    M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
    M polly/test/CodeGen/MemAccess/codegen_simple.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
    M polly/test/CodeGen/MemAccess/different_types.ll
    M polly/test/CodeGen/MemAccess/generate-all.ll
    M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
    M polly/test/CodeGen/MemAccess/multiple_types.ll
    M polly/test/CodeGen/MemAccess/simple.ll
    M polly/test/CodeGen/MemAccess/update_access_functions.ll
    M polly/test/CodeGen/OpenMP/alias-metadata.ll
    M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
    M polly/test/CodeGen/OpenMP/inlineasm.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
    M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
    M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
    M polly/test/CodeGen/OpenMP/matmul-parallel.ll
    M polly/test/CodeGen/OpenMP/recomputed-srem.ll
    M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
    M polly/test/CodeGen/OpenMP/reference-other-bb.ll
    M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
    M polly/test/CodeGen/OpenMP/reference_latest.ll
    M polly/test/CodeGen/OpenMP/scev-rewriting.ll
    M polly/test/CodeGen/OpenMP/single_loop.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
    M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
    M polly/test/CodeGen/PHIInExit.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
    M polly/test/CodeGen/alias-check-multi-dim.ll
    M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
    M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
    M polly/test/CodeGen/aliasing_different_pointer_types.ll
    M polly/test/CodeGen/aliasing_multidimensional_access.ll
    M polly/test/CodeGen/aliasing_parametric_simple_1.ll
    M polly/test/CodeGen/aliasing_parametric_simple_2.ll
    M polly/test/CodeGen/aliasing_struct_element.ll
    M polly/test/CodeGen/alignment.ll
    M polly/test/CodeGen/annotated_alias_scopes.ll
    M polly/test/CodeGen/blas_sscal_simplified.ll
    M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
    M polly/test/CodeGen/constant_condition.ll
    M polly/test/CodeGen/create-conditional-scop.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
    M polly/test/CodeGen/debug-intrinsics.ll
    M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
    M polly/test/CodeGen/empty_domain_in_context.ll
    M polly/test/CodeGen/entry_with_trivial_phi.ll
    M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
    M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
    M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
    M polly/test/CodeGen/exprModDiv.ll
    M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
    M polly/test/CodeGen/hoisting_1.ll
    M polly/test/CodeGen/hoisting_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_1.ll
    M polly/test/CodeGen/inner_scev_sdiv_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_3.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
    M polly/test/CodeGen/intrinsics_lifetime.ll
    M polly/test/CodeGen/intrinsics_misc.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
    M polly/test/CodeGen/invariant-load-dimension.ll
    M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
    M polly/test/CodeGen/invariant_cannot_handle_void.ll
    M polly/test/CodeGen/invariant_load.ll
    M polly/test/CodeGen/invariant_load_address_space.ll
    M polly/test/CodeGen/invariant_load_alias_metadata.ll
    M polly/test/CodeGen/invariant_load_base_pointer.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
    M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/CodeGen/invariant_load_condition.ll
    M polly/test/CodeGen/invariant_load_different_sized_types.ll
    M polly/test/CodeGen/invariant_load_escaping.ll
    M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
    M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
    M polly/test/CodeGen/invariant_load_loop_ub.ll
    M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
    M polly/test/CodeGen/invariant_load_outermost.ll
    M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
    M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
    M polly/test/CodeGen/invariant_load_scalar_dep.ll
    M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
    M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
    M polly/test/CodeGen/invariant_verify_function_failed.ll
    M polly/test/CodeGen/invariant_verify_function_failed_2.ll
    M polly/test/CodeGen/issue56692.ll
    M polly/test/CodeGen/large-numbers-in-boundary-context.ll
    M polly/test/CodeGen/load_subset_with_context.ll
    M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
    M polly/test/CodeGen/loop_with_condition.ll
    M polly/test/CodeGen/loop_with_condition_2.ll
    M polly/test/CodeGen/loop_with_condition_ineq.ll
    M polly/test/CodeGen/loop_with_condition_nested.ll
    M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
    M polly/test/CodeGen/memcpy_annotations.ll
    M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
    M polly/test/CodeGen/multidim-non-matching-typesize.ll
    M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/CodeGen/multidim_alias_check.ll
    M polly/test/CodeGen/multiple-codegens.ll
    M polly/test/CodeGen/multiple-scops-in-a-row.ll
    M polly/test/CodeGen/multiple-types-invariant-load-2.ll
    M polly/test/CodeGen/multiple-types-invariant-load.ll
    M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
    M polly/test/CodeGen/no-overflow-tracking.ll
    M polly/test/CodeGen/no_guard_bb.ll
    M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
    M polly/test/CodeGen/non-affine-exit-node-dominance.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
    M polly/test/CodeGen/non-affine-region-implicit-store.ll
    M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
    M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
    M polly/test/CodeGen/non-affine-switch.ll
    M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
    M polly/test/CodeGen/non-affine-update.ll
    M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
    M polly/test/CodeGen/non_affine_float_compare.ll
    M polly/test/CodeGen/only_non_affine_error_region.ll
    M polly/test/CodeGen/openmp_limit_threads.ll
    M polly/test/CodeGen/out-of-scop-phi-node-use.ll
    M polly/test/CodeGen/param_div_div_div_2.ll
    M polly/test/CodeGen/partial_write_array.ll
    M polly/test/CodeGen/partial_write_emptyset.ll
    M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
    M polly/test/CodeGen/partial_write_impossible_restriction.ll
    M polly/test/CodeGen/partial_write_in_region.ll
    M polly/test/CodeGen/partial_write_in_region_with_loop.ll
    M polly/test/CodeGen/partial_write_mapped_scalar.ll
    M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
    M polly/test/CodeGen/perf_monitoring.ll
    M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
    M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
    M polly/test/CodeGen/phi-defined-before-scop.ll
    M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
    M polly/test/CodeGen/phi_condition_modeling_1.ll
    M polly/test/CodeGen/phi_condition_modeling_2.ll
    M polly/test/CodeGen/phi_conditional_simple_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
    M polly/test/CodeGen/phi_loop_carried_float.ll
    M polly/test/CodeGen/phi_loop_carried_float_escape.ll
    M polly/test/CodeGen/phi_scalar_simple_1.ll
    M polly/test/CodeGen/phi_scalar_simple_2.ll
    M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
    M polly/test/CodeGen/phi_with_one_exit_edge.ll
    M polly/test/CodeGen/pointer-type-expressions-2.ll
    M polly/test/CodeGen/pointer-type-expressions.ll
    M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
    M polly/test/CodeGen/pointer_rem.ll
    M polly/test/CodeGen/pr25241.ll
    M polly/test/CodeGen/ptrtoint_as_parameter.ll
    M polly/test/CodeGen/read-only-scalars.ll
    M polly/test/CodeGen/reduction.ll
    M polly/test/CodeGen/reduction_2.ll
    M polly/test/CodeGen/reduction_simple_binary.ll
    M polly/test/CodeGen/region-with-instructions.ll
    M polly/test/CodeGen/region_exiting-domtree.ll
    M polly/test/CodeGen/region_multiexit_partialwrite.ll
    M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
    M polly/test/CodeGen/run-time-condition.ll
    M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
    M polly/test/CodeGen/scalar-store-from-same-bb.ll
    M polly/test/CodeGen/scalar_codegen_crash.ll
    M polly/test/CodeGen/scev-backedgetaken.ll
    M polly/test/CodeGen/scev-division-invariant-load.ll
    M polly/test/CodeGen/scev.ll
    M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
    M polly/test/CodeGen/scev_looking_through_bitcasts.ll
    M polly/test/CodeGen/scop_expander_insert_point.ll
    M polly/test/CodeGen/scop_expander_segfault.ll
    M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
    M polly/test/CodeGen/select-base-pointer.ll
    M polly/test/CodeGen/sequential_loops.ll
    M polly/test/CodeGen/simple_loop_non_single_exit.ll
    M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
    M polly/test/CodeGen/simple_non_single_entry.ll
    M polly/test/CodeGen/simple_nonaffine_loop.ll
    M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
    M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_one_iteration.ll
    M polly/test/CodeGen/single_do_loop_scev_replace.ll
    M polly/test/CodeGen/single_loop.ll
    M polly/test/CodeGen/single_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_loop_ll_max_iterations.ll

  Log Message:
  -----------
  address comments

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/516e44e9001c...269bd6dabdd6

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