[all-commits] [llvm/llvm-project] 2603c8: [NFC][sanitizer] Undo "RUN:" part of 4ab22d7b3cc92...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Tue Oct 1 10:21:40 PDT 2024


  Branch: refs/heads/users/mizvekov/clang-p0522-complete-implementation
  Home:   https://github.com/llvm/llvm-project
  Commit: 2603c8b23be06116bc61bda36fae05b81d906c3f
      https://github.com/llvm/llvm-project/commit/2603c8b23be06116bc61bda36fae05b81d906c3f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Undo "RUN:" part of 4ab22d7b3cc92d08c6371df367ae21716d1b6942

It was not compartible with mobile tests.


  Commit: 0e21c8e598789e0325569533d65ab8bacd3aeedf
      https://github.com/llvm/llvm-project/commit/0e21c8e598789e0325569533d65ab8bacd3aeedf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll

  Log Message:
  -----------
  [LV] Auto-generate check lines for test.


  Commit: 53266f73f037bd20bcbbd7852fd0c6a7703b4c38
      https://github.com/llvm/llvm-project/commit/53266f73f037bd20bcbbd7852fd0c6a7703b4c38
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
    A llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Run DCE after unrolling.

This cleans up a number of dead recipes after unrolling if only their
first or last parts are used. This simplifies a number of tests.

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


  Commit: df935ff4eca91013553edbf3ca1d45b568f6709f
      https://github.com/llvm/llvm-project/commit/df935ff4eca91013553edbf3ca1d45b568f6709f
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [clang-format] Fix regression with BlockIndent of Braced Initializers (#108717)

Fixes #73584.


  Commit: 397b96aa87d1546e2b2fd34a7622fe6f4194776e
      https://github.com/llvm/llvm-project/commit/397b96aa87d1546e2b2fd34a7622fe6f4194776e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Make test Android friendly


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

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Remove leftover from previous run


  Commit: 777329d32f9a6dc6db3b74797abf359e5098c62a
      https://github.com/llvm/llvm-project/commit/777329d32f9a6dc6db3b74797abf359e5098c62a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [ELF] Replace config-> with ctx.arg. in Driver.cpp and Target.h


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

  Changed paths:
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

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


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

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Skip O_TMPFILE if FS does not support it


  Commit: 10266279c3569b2e37ada2fbf6b927c45aa7ee41
      https://github.com/llvm/llvm-project/commit/10266279c3569b2e37ada2fbf6b927c45aa7ee41
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

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

  Log Message:
  -----------
  [NFC][hwasan] Add a few of {}


  Commit: 652194531c45682715503355676e39b5b57c9394
      https://github.com/llvm/llvm-project/commit/652194531c45682715503355676e39b5b57c9394
  Author: Jim Lin <jim at andestech.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/test/Driver/riscv32-toolchain.c
    M clang/test/Driver/riscv64-toolchain.c

  Log Message:
  -----------
  [RISCV][test] Fix incorrect check prefix in riscv32-toolchain.c and riscv64-toolchain.c. (#109390)


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

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

  Log Message:
  -----------
  [ELF] Make `Config config` part of `Ctx ctx`


  Commit: 1429204352ec758c98a60e3d22773973e234615b
      https://github.com/llvm/llvm-project/commit/1429204352ec758c98a60e3d22773973e234615b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Debug errno in test


  Commit: 0d334d83a4c7ce16fa1bc0e5e56bbdeaf01c2b2d
      https://github.com/llvm/llvm-project/commit/0d334d83a4c7ce16fa1bc0e5e56bbdeaf01c2b2d
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/Disassembler/X86/apx/kmov.txt
    M llvm/test/MC/X86/apx/kmov-att.s
    M llvm/test/MC/X86/apx/kmov-intel.s

  Log Message:
  -----------
  [X86][APX] Fix wrong encoding of promoted KMOV instructions due to missing NoCD8 (#109579)

Promoted KMOV* was encoded with CD8 incorrectly, see
https://godbolt.org/z/cax513hG1


  Commit: 81c3499531c3fe03827bd8bc890e3a16db9e4c3c
      https://github.com/llvm/llvm-project/commit/81c3499531c3fe03827bd8bc890e3a16db9e4c3c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Skip test if O_TMPFILE EINVAL on some FS


  Commit: 62f737f7409b5d2b33c746158c62f14e5bb78aed
      https://github.com/llvm/llvm-project/commit/62f737f7409b5d2b33c746158c62f14e5bb78aed
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/test/Driver/target-cpu-features.f90

  Log Message:
  -----------
  [Driver][X86] Add flang visibility for -m[no-]evex512 (#109598)

The `-m[no-]evex512` are nontrivial options which are used to control
vector size of other AVX512 features. Hence we expose both to flang for
Fortran users.


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

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/Common/DriverDispatcher.cpp
    M lld/ELF/Driver.cpp
    M lld/MachO/InputSection.cpp

  Log Message:
  -----------
  [lld] Use StringRef idioms (NFC) (#109584)


  Commit: ba5e19580913d0b4cac249a81f0aabf7a0a3317f
      https://github.com/llvm/llvm-project/commit/ba5e19580913d0b4cac249a81f0aabf7a0a3317f
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsSubnormalTest.h
    A libc/test/include/issubnormal_test.c
    A libc/test/include/issubnormal_test.cpp
    A libc/test/include/issubnormalf_test.cpp
    A libc/test/include/issubnormall_test.cpp

  Log Message:
  -----------
  [libc][math] Implement issubnormal macro. (#109572)

#109201


  Commit: 80cdc3718036cd3ee33424953821ac01046d5278
      https://github.com/llvm/llvm-project/commit/80cdc3718036cd3ee33424953821ac01046d5278
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/tools/CMakeLists.txt

  Log Message:
  -----------
  [Clang] Include the clang-shlib CMake project when building for MSVC (#109457)

Enable building clang-cpp shared library for windows when building with
explicit visibility macros enabled and LLVM is built as a shared
library(LLVM_BUILD_LLVM_DYLIB_VIS).
This is part of the effort to support for enabling plugins on windows by
adding better support for building LLVM and Clang as a DLL.


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

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/test/MC/RISCV/rv64-relax-all.s

  Log Message:
  -----------
  [RISCV] Don't delete all fixups in RISCVMCCodeEmitter::expandLongCondBr. (#109513)

The Fixups vector passed into this function may already have fixups in
it from earlier instructions. We should not erase those. We just want to
erase fixups added by this function.

Fixes #108612.


  Commit: 80b44517f571689ede9327b3122caff3c631408e
      https://github.com/llvm/llvm-project/commit/80b44517f571689ede9327b3122caff3c631408e
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [RISCV][TTI] Add instruction cost for vp.select. (#109381)

This patch make instruction cost for vp.select the same as its non-vp
counterpart.


  Commit: 5a4c6f97997f3cdfa9d98f7f0b546e331ee9cc4a
      https://github.com/llvm/llvm-project/commit/5a4c6f97997f3cdfa9d98f7f0b546e331ee9cc4a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/MemDerefPrinter.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll

  Log Message:
  -----------
  [Loads] Check context instruction for context-sensitive derefability (#109277)

If a dereferenceability fact is provided through `!dereferenceable` (or
similar), it may only hold on the given control flow path. When we use
`isSafeToSpeculativelyExecute()` to check multiple instructions, we
might make use of `!dereferenceable` information that does not hold at
the speculation target. This doesn't happen when speculating
instructions one by one, because `!dereferenceable` will be dropped
while speculating.

Fix this by checking whether the instruction with `!dereferenceable`
dominates the context instruction. If this is not the case, it means we
are speculating, and cannot guarantee that it holds at the speculation
target.

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


  Commit: 8a6248b739d705577fa5414b4010605dca38aa79
      https://github.com/llvm/llvm-project/commit/8a6248b739d705577fa5414b4010605dca38aa79
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Don't separate a load/store from its gep during sinking (#102318)

If we can sink the a load/store, but not the gep producing its pointer
operand, don't sink the load/store either. This may prevent the gep from
being folded into an addressing mode, and may also negatively affect
further analysis.

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


  Commit: 84b1489c8f8d4fb3c541167301c29ee4dad1af78
      https://github.com/llvm/llvm-project/commit/84b1489c8f8d4fb3c541167301c29ee4dad1af78
  Author: David Green <david.green at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/ARM/vbsl.ll

  Log Message:
  -----------
  [ARM] Update VBIC tests. NFC


  Commit: df6855ba57b2cede7b1578e74276f3ad33c2ad5d
      https://github.com/llvm/llvm-project/commit/df6855ba57b2cede7b1578e74276f3ad33c2ad5d
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/atomics.ll

  Log Message:
  -----------
  [C API] Add usub_cond and usub_sat atomic ops to C API (#109532)

These were added in the C++ API in
https://github.com/llvm/llvm-project/pull/105568 but were not exposed
via the C API previously


  Commit: 6ad268e3913cb6814fabae420a8e80156e1632a7
      https://github.com/llvm/llvm-project/commit/6ad268e3913cb6814fabae420a8e80156e1632a7
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [lldb] refactor Target::Install function (#108996)

refactor Target::Install function


  Commit: c8e0672864abf6fb624ddde5d6a1775d8634213a
      https://github.com/llvm/llvm-project/commit/c8e0672864abf6fb624ddde5d6a1775d8634213a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp

  Log Message:
  -----------
  [Loops] Use forgetLcssaPhiWithNewPredecessor() in more places

Use the more aggressive invalidation method in a number of places
that add incoming values to lcssa phi nodes. It is likely that
it's possible to construct cases with incorrect SCEV preservation
similar to https://github.com/llvm/llvm-project/issues/109333 for
these.


  Commit: 898fd396b836600ef857464941220d07894b859b
      https://github.com/llvm/llvm-project/commit/898fd396b836600ef857464941220d07894b859b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Check allocation size limit for operator new (#109590)


  Commit: 02711a77c0bf8b7921f48aaa601564449888e458
      https://github.com/llvm/llvm-project/commit/02711a77c0bf8b7921f48aaa601564449888e458
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/preinstalled_signal.cpp

  Log Message:
  -----------
  [ASan][test] XFAIL Linux/preinstalled_signal.cpp on Linux/sparc64 (#109623)

With ASan testing enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/preinstalled_signal.cpp
```
test `FAIL`s on Linux/sparc64. See Issue #109573 for all the details,
but the core is that `syscall(__NR_rt_sigaction)` cannot be used because
it takes an additional argument that isn't accessible outside of `libc`,
while switching to `sigaction` instead changes the order of
`AsanInitInternal` and `Init`, breaking the test.

Therefore this patch `XFAIL`s the test.

Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.


  Commit: db3569d2e5aa4d967a2e8c5b9893f9a49937e55d
      https://github.com/llvm/llvm-project/commit/db3569d2e5aa4d967a2e8c5b9893f9a49937e55d
  Author: Michal Rostecki <vadorovsky at protonmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/tools/llvm-c-test/main.c

  Log Message:
  -----------
  [llvm-c-test] Rename --test-dibuilder-debuginfo-format to `--test-dibuilder` (#105702)

The former name was introduced during the split between debug info
intrinsic and `DbgRecord`. Before the split, it was named
`--test-dibuilder`.

However, the full migration to `DbgRecord` happened already and we have
just one test suite related to building debug info using LLVM-C API.
Therefore, it makes sense to rename it back to `--test-dibuilder`.


  Commit: 8b4b7d28f7c344c728a9812aa99d9ad24edb40a2
      https://github.com/llvm/llvm-project/commit/8b4b7d28f7c344c728a9812aa99d9ad24edb40a2
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] additional fix for 65bc259a97cd8cc70907b65f59aff728245ba9c0


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

  Changed paths:
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/test/tools/llvm-readobj/COFF/arm64ec-chpe.yaml

  Log Message:
  -----------
  [Object][COFF] Fix CHPE metadata offset check (#109591)


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

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"

This reverts commit 5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4.

This relands commit 9886788a8a500a1b429a6db64397c849b112251c.

This was originally causing build failures on more esoteric platforms
that have different definitions of getcpu. This is only intended to be
supported on x86-64 currently, so just use preprocessor definitions to
special case the function.


  Commit: 02ee96eca90741031a26f0f06cd48bb0ba558d1a
      https://github.com/llvm/llvm-project/commit/02ee96eca90741031a26f0f06cd48bb0ba558d1a
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-exit-count.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-symbolic-max-backedge-taken-count.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll

  Log Message:
  -----------
  [Analysis] Teach isDereferenceableAndAlignedInLoop about SCEV predicates (#106562)

Currently if a loop contains loads that we can prove at compile time
are dereferenceable when certain conditions are satisfied the function
isDereferenceableAndAlignedInLoop will still return false because
getSmallConstantMaxTripCount will return 0 when SCEV predicates
are required. This patch changes getSmallConstantMaxTripCount to take
an optional Predicates pointer argument so that we can permit
functions such as isDereferenceableAndAlignedInLoop to consider more
cases.


  Commit: 0b0a37e158bcf6d0667b4744b3d335f91578e0c9
      https://github.com/llvm/llvm-project/commit/0b0a37e158bcf6d0667b4744b3d335f91578e0c9
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/SemaCXX/attr-musttail.cpp

  Log Message:
  -----------
  [clang] Lifetime of locals must end before musttail call (#109255)

The lifetimes of local variables and function parameters must end before
the call to a [[clang::musttail]] function, instead of before the
return, because we will not have a stack frame to hold them when doing
the call.

This documents this limitation, and adds diagnostics to warn about some
code which is invalid because of it.


  Commit: f28a0355364b9f09fa3d47720af4cf7431721de6
      https://github.com/llvm/llvm-project/commit/f28a0355364b9f09fa3d47720af4cf7431721de6
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  Fix memory leak in LLVMTargetMachine.cpp (#109610)

Because `MAB` is a raw pointer, it could potentially leak memory because
of the `||` in the null check.


  Commit: 8632e8bd64d6f02e571777390274c262d5c85167
      https://github.com/llvm/llvm-project/commit/8632e8bd64d6f02e571777390274c262d5c85167
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
    M llvm/test/CodeGen/AMDGPU/set-inactive-wwm-overwrite.ll
    M llvm/test/CodeGen/AMDGPU/should-not-hoist-set-inactive.ll
    M llvm/test/CodeGen/AMDGPU/shrink-true16.mir
    A llvm/test/CodeGen/AMDGPU/shrink-v-cmp-wave32-dead-vcc-lo.mir
    M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  AMDGPU: Fix implicit vcc def to vcc_lo on wave32 targets (#109514)


  Commit: cd80ed424b13790a65365a0145fa9b1b51b13680
      https://github.com/llvm/llvm-project/commit/cd80ed424b13790a65365a0145fa9b1b51b13680
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Fix -Wunused-variable in BenchmarkRunner.cpp (NFC)

/llvm-project/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp:415:18:
error: unused variable 'CurrentCPU' [-Werror,-Wunused-variable]
    unsigned int CurrentCPU;
                 ^
1 error generated.


  Commit: 3e0a76b1fd10d2f5f36d34a91b525c1d29685185
      https://github.com/llvm/llvm-project/commit/3e0a76b1fd10d2f5f36d34a91b525c1d29685185
  Author: futog <54807384+futog at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AArch64/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/AArch64/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/Mips/llvm-ir/ashr.ll
    M llvm/test/CodeGen/Mips/llvm-ir/lshr.ll
    M llvm/test/CodeGen/Mips/llvm-ir/shl.ll
    M llvm/test/CodeGen/PowerPC/ctrloop-sh.ll
    M llvm/test/CodeGen/PowerPC/pr59074.ll
    M llvm/test/CodeGen/PowerPC/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/PowerPC/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/RISCV/shifts.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/shift-i128.ll
    M llvm/test/CodeGen/X86/shift-i256.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
    M llvm/test/CodeGen/X86/widen-load-of-small-alloca.ll

  Log Message:
  -----------
  [Codegen][LegalizeIntegerTypes] Improve shift through stack (#96151)

Minor improvement on cc39c3b17fb2598e20ca0854f9fe6d69169d85c7.

Use an aligned stack slot to store the shifted value.
Use the native register width as shifting unit, so the load of the
shift result is aligned.

If the shift amount is a multiple of the native register width, there is
no need to do a follow-up shift after the load. I added new tests for
these cases.

Co-authored-by: Gergely Futo <gergely.futo at hightec-rt.com>


  Commit: 2612316f72b92d7905717c358aeab8b8141738a1
      https://github.com/llvm/llvm-project/commit/2612316f72b92d7905717c358aeab8b8141738a1
  Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [ItaniumDemangle] Add template name to the substitutions list during demangling (#108538)

When demangling a template template parameter (`method<bool,
Bar>(Bar<bool> b)`), the current demangler version first enters the
template argument (`bool`) into the substitutions list, then the whole
template specialization (`Bar<bool>`). The template name (`Bar`) never
becomes a substitution candidate on its own.

This is different when mangling. Mangling `method<bool, Bar>(Bar<bool>
b, Bar<int> i)` substitutes the `Bar` in the second parameter with the
substitution for `TemplateTemplateParmDecl`.

This leads to a discrepancy between mangler and demangler, see
https://github.com/llvm/llvm-project/issues/108009.


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

  Changed paths:
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove an outdated comment


  Commit: d36f66b42d7abec73bb5b953612eef26e6c12e0a
      https://github.com/llvm/llvm-project/commit/d36f66b42d7abec73bb5b953612eef26e6c12e0a
  Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M offload/include/OpenMP/OMPT/Callback.h
    M offload/include/OpenMP/OMPT/Interface.h
    M offload/plugins-nextgen/common/CMakeLists.txt
    R offload/plugins-nextgen/common/OMPT/OmptCallback.cpp
    M offload/src/OpenMP/OMPT/Callback.cpp
    M offload/src/exports

  Log Message:
  -----------
  [NFC][offload][OMPT] Cleanup of OMPT internals (#109005)

Removed `OmptCallbacks.cpp` since relevant contents were duplicated.
Because of the static linking there should be no change in
functionality.


  Commit: 7a181980b900683fd3e1ac9601a627c758f19a61
      https://github.com/llvm/llvm-project/commit/7a181980b900683fd3e1ac9601a627c758f19a61
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [InstCombine] Fix nits in new xor fold

Followup to https://github.com/llvm/llvm-project/pull/105992,
use the simplifyXorInst helper and use getWithInstruction
consistently.


  Commit: a72d7eea5413444249670579fecea6823fb3c564
      https://github.com/llvm/llvm-project/commit/a72d7eea5413444249670579fecea6823fb3c564
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/DeviceOffload.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    A clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Simplify the value printing logic to enable out-of-process. (#107737)

This patch improves the design of the IncrementalParser and Interpreter
classes. Now the incremental parser is only responsible for building the
partial translation unit declaration and the AST, while the Interpreter
fills in the lower level llvm::Module and other JIT-related
infrastructure. Finally the Interpreter class now orchestrates the AST
and the LLVM IR with the IncrementalParser and IncrementalExecutor
classes.

The design improvement allows us to rework some of the logic that
extracts an interpreter value into the clang::Value object. The new
implementation simplifies use-cases which are used for out-of-process
execution by allowing interpreter to be inherited or customized with an
clang::ASTConsumer.

This change will enable completing the pretty printing work which is in
llvm/llvm-project#84769


  Commit: 7e7009fc5725fc2a9157212834cc995c91969cf1
      https://github.com/llvm/llvm-project/commit/7e7009fc5725fc2a9157212834cc995c91969cf1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

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


  Commit: 31ac3d092bd047ab2c0bdcb6d527736472b9d4a6
      https://github.com/llvm/llvm-project/commit/31ac3d092bd047ab2c0bdcb6d527736472b9d4a6
  Author: sinan <sinan.lin at linux.alibaba.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    R bolt/test/AArch64/Inputs/iplt.ld
    R bolt/test/AArch64/ifunc.c
    A bolt/test/AArch64/ifunc.test
    A bolt/test/Inputs/ifunc.c
    A bolt/test/Inputs/iplt.ld
    A bolt/test/X86/ifunc.test

  Log Message:
  -----------
  [BOLT] Add .iplt support to x86 (#106513)

Add X86 support for parsing .iplt section and symbols.


  Commit: 57f5d8f2fe9ed55a03ce451811940726d6908f2e
      https://github.com/llvm/llvm-project/commit/57f5d8f2fe9ed55a03ce451811940726d6908f2e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Only store single vector per VPValue in VPTransformState. (NFC)

After 8ec406757cb92 (https://github.com/llvm/llvm-project/pull/95842),
VPTransformState only stores a single vector value per VPValue.

Simplify the code by replacing the SmallVector in PerPartOutput with a
single Value * and rename to VPV2Vector for clarity.

Also remove the redundant Part argument from various accessors.


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

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

  Log Message:
  -----------
  [X86] SimplifyDemandedVectorEltsForTargetNode - simplify X86ISD::VBROADCAST of 0'th element handling. NFC.

Avoid duplicate TLO.CombineTo calls.


  Commit: 85220a0c651e565ab576c5be17c1ec5c9eb2a350
      https://github.com/llvm/llvm-project/commit/85220a0c651e565ab576c5be17c1ec5c9eb2a350
  Author: Kelvin Lee <kiyolee at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp

  Log Message:
  -----------
  [lldb][FreeBSD] Fix a typo in NativeProcessFreeBSD::MonitorSIGTRAP() (#109643)

Apparently a typo is causing compile error, added by https://github.com/llvm/llvm-project/pull/108504.


  Commit: 677177bb60dbe0d551251058c28466c5d74cebac
      https://github.com/llvm/llvm-project/commit/677177bb60dbe0d551251058c28466c5d74cebac
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips.h
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.h
    M llvm/test/CodeGen/Mips/llvm-ir/sdiv.ll
    M llvm/test/CodeGen/Mips/llvm-ir/srem.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-mult.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-sdiv.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-srem.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-udiv.ll
    A llvm/test/CodeGen/Mips/llvm-ir/two-consecutive-urem.ll
    M llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
    M llvm/test/CodeGen/Mips/llvm-ir/urem.ll

  Log Message:
  -----------
  [Mips] Fix mfhi/mflo hazard miscompilation about div and mult (#91449)

Fix issue1: In mips1-4, require a minimum of 2 instructions between a
mflo/mfhi and the next mul/dmult/div/ddiv/divu/ddivu instruction.
Fix issue2: In mips1-4, should not put mflo into the delay slot for the
return.

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


  Commit: 26f272ebbdf8dc4a81f3f7d7c8ccf99fd9398bfb
      https://github.com/llvm/llvm-project/commit/26f272ebbdf8dc4a81f3f7d7c8ccf99fd9398bfb
  Author: Pawan Nirpal <pawannirpal at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    A llvm/test/CodeGen/X86/canonicalize-vars.ll

  Log Message:
  -----------
  [X86][SelectionDAG] - Add support for llvm.canonicalize intrinsic (#106370)

Enable support for fcanonicalize intrinsic lowering.


  Commit: c712ab829b2050e2ac1652e032fa0786a43a31c0
      https://github.com/llvm/llvm-project/commit/c712ab829b2050e2ac1652e032fa0786a43a31c0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement placement-new (#107033)

If we have a placement-new destination already, use that instead of
allocating a new one.
Tests are partially based on
`test/SemaCXX/cxx2c-constexpr-placement-new.cpp`.


  Commit: c35ea627df441a3650f986ca79954b4b9d16bf24
      https://github.com/llvm/llvm-project/commit/c35ea627df441a3650f986ca79954b4b9d16bf24
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/if_target.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/if_target.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/if_target.test
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: recognize %if in RUN line (#108972)

Recognize %if for target-specific cases in RUN line and keep only tool
command with options


  Commit: e0bd8d3485075d24ecff2b4f5d9e2117853bd08b
      https://github.com/llvm/llvm-project/commit/e0bd8d3485075d24ecff2b4f5d9e2117853bd08b
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    M llvm/test/Transforms/SLPVectorizer/arith-div-undef.ll
    M llvm/test/Transforms/SLPVectorizer/bool-logical-op-reduction-with-poison.ll
    M llvm/test/Transforms/SLPVectorizer/buildvector-insert-mask-size.ll
    M llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/call-arg-reduced-by-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/catchswitch.ll
    M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/diamond_broadcast.ll

  Log Message:
  -----------
  [SLP] Better way to filter target-specific tests (#106720)

When only an exclusive target e.g AArch64 was enabled, these tests were
previously shown as UNSUPPORTED.
This change allows us to run tests for cases with only a build for one
target.


  Commit: 7773dcd16389b07e055a10336c42e71ffd57ad3d
      https://github.com/llvm/llvm-project/commit/7773dcd16389b07e055a10336c42e71ffd57ad3d
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [X86][NFC] Change test name and add a new test (#109638)

Address post commit comments in #108754.


  Commit: 785337e2d97a712612a5956657e8dbf1cd140e46
      https://github.com/llvm/llvm-project/commit/785337e2d97a712612a5956657e8dbf1cd140e46
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll

  Log Message:
  -----------
  [LV][AArch64] Don't query registers for illegal scalable vector elts (#109411)

When trying to maximize vector bandwidth we ask TTI for the number of
registers required for a given operation. If the type of that operation
happens to be something illegal for scalable vectors (e.g.
<vscale x 4 x fp128>) then we would see a crash.

Instead, just return a default value and let the cost model reject the
invalid operation later.


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll

  Log Message:
  -----------
  [LoopVectorize] Address comments on PR #107004 left post-commit (#109300)

* Rename Speculative -> Uncountable and update tests.
* Add comments explaining why it's safe to ignore the predicates when
building up a list of exiting blocks.
* Reshuffle some code to do (hopefully) cheaper checks first.


  Commit: b0dc7b5b8617e188a926cbe06918fedab2fd5df9
      https://github.com/llvm/llvm-project/commit/b0dc7b5b8617e188a926cbe06918fedab2fd5df9
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/xtn.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Prefer to use Vector Truncate (#105692)

Tries to combine scalarised truncates into vector truncate operations

EXAMPLE:
`%a(i32), %b(i32) = G_UNMERGE %src(<2 x i32>)`
`%T_a(i16) = G_TRUNC %a(i32)`
`%T_b(i16) = G_TRUNC %b(i32)`
`%Imp(i16) = G_IMPLICIT_DEF(i16)`
`%dst(v8i16) = G_MERGE_VALUES %T_a(i16), %T_b(i16), %Imp(i16),
%Imp(i16)`

===>
`%Imp(<2 x i32>) = G_IMPLICIT_DEF(<2 x i32>)`
`%Mid(<4 x s16>) = G_CONCAT_VECTORS %src(<2 x i32>), %Imp(<2 x i32>)`
`%dst(<4 x s16>) = G_TRUNC %Mid(<4 x s16>)`


  Commit: f8f41bf92c92ebc9b113a2a573d12880b86d5af3
      https://github.com/llvm/llvm-project/commit/f8f41bf92c92ebc9b113a2a573d12880b86d5af3
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp

  Log Message:
  -----------
  [clang] Apply the [[gsl::Owner]] or [[gsl::Pointer]] attributes to the STL template specialization declarations. (#109653)

Fixes #109442


  Commit: 6f194a6dea4b4067336431e699ea3588417d4b96
      https://github.com/llvm/llvm-project/commit/6f194a6dea4b4067336431e699ea3588417d4b96
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll

  Log Message:
  -----------
  [SimplifyCFG] Avoid truncation in linear map overflow check

This is supposed to test multiplication of the linear multiplifier
with the largest value it can be multiplied with. However, if
we truncate TableSize-1 here, it might not actually be the largest
value. I think in practice this still works out, because in cases
where we'd truncate the value here we'd also fail the NonMonotonic
check. But to match the intent of the code, we should treat the
truncating case as overflowing.


  Commit: 6d216fb7b8546c04223e56002152c556926d1a1d
      https://github.com/llvm/llvm-project/commit/6d216fb7b8546c04223e56002152c556926d1a1d
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/unittests/Core/BinaryContext.cpp

  Log Message:
  -----------
  [perf2bolt] Improve heuristic to map in-process addresses to specific… (#109397)

… segments in Elf binary.

The heuristic is improved by also taking into account that only
executable segments should contain instructions.

Fixes #109384.


  Commit: 3e0d37fd79faeb60a47ed8aace1c594ff7f637f2
      https://github.com/llvm/llvm-project/commit/3e0d37fd79faeb60a47ed8aace1c594ff7f637f2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-reduce/TestRunner.cpp
    M llvm/tools/llvm-reduce/TestRunner.h

  Log Message:
  -----------
  llvm-reduce: Simplify argument setup for ExecuteAndWait

Only need to append the input file for each iteration.


  Commit: cee65092c95a216e63d970b5da1495eb33dd506a
      https://github.com/llvm/llvm-project/commit/cee65092c95a216e63d970b5da1495eb33dd506a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [ARM] Avoid repeated hash lookups (NFC) (#109602)


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

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

  Log Message:
  -----------
  [DWARFLinker] Avoid repeated hash lookups (NFC) (#109604)


  Commit: ff9f1a6ea2a0031387d23ce510d43edd81a18a1e
      https://github.com/llvm/llvm-project/commit/ff9f1a6ea2a0031387d23ce510d43edd81a18a1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] Avoid repeated hash lookups (NFC) (#109605)


  Commit: d6a6e25c5158be8a1b820aedf067fce394f7a313
      https://github.com/llvm/llvm-project/commit/d6a6e25c5158be8a1b820aedf067fce394f7a313
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#109603)


  Commit: a4232dc676908548afa36d4f4ad740131ce385e2
      https://github.com/llvm/llvm-project/commit/a4232dc676908548afa36d4f4ad740131ce385e2
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp

  Log Message:
  -----------
  [rtsan][tsan] Fix va_args handling in open functions (#108291)

Check oflag to see if it contains O_CREAT / O_TMPFILE before unpacking parameters to avoid UB


  Commit: 21627236363d629f6a5b820f45a6071371e4b8db
      https://github.com/llvm/llvm-project/commit/21627236363d629f6a5b820f45a6071371e4b8db
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Updates XeGPU TensorDescAttr and Refine Gather/Scatter definition.  (#109144)

The PR makes the following refine changes to the XeGPU dialect. 
1. Separated the old `TensorDescAttr` into two independent attributes: `BlockTensorDescAttr` and `ScatterTensorDescAttr`
2. Renamed the `MemoryScopeAttr` to `MemorySpaceAttr` and updated the enumeration value for shared memory following OpenCL standard.
3. Introduced `transpose` UnitAttr to `StoreScatterOp`and `LoadGatherOp`
4. Added memory space check for `CreateNdDesc` and `CreateDesc` op, as well as valid and invalid test cases for them.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
    M llvm/test/Transforms/VectorCombine/RISCV/shuffle-of-intrinsics.ll

  Log Message:
  -----------
  [RISCV][TTI] Reduce cost of a <N x i1> build_vector pattern (#109449)

This is a follow up to 7f6bbb3. When lowering a <N x i1> build_vector,
we currently chose to extend to i8, perform the build_vector there, and
then truncate back in vector. Our costing on the other hand accounts for
it as if we performed a vector extend, an insert, and a vector extract
for every element. This significantly over estimates the cost.

Note that we can likely do better in our build_vector lowering here by
packing the bits in scalar, and doing a build_vector of the packed bits.
Regardless, our costing should match our lowering.


  Commit: ecb98f9fed65801d9ad2c138da7194496e18aeec
      https://github.com/llvm/llvm-project/commit/ecb98f9fed65801d9ad2c138da7194496e18aeec
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M llvm/include/llvm-c/Core.h
    M llvm/lib/CodeGen/StackProtector.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M polly/lib/CodeGen/RuntimeDebugBuilder.cpp

  Log Message:
  -----------
  [IRBuilder] Remove uses of CreateGlobalStringPtr() (NFC)

Since the migration to opaque pointers, CreateGlobalStringPtr()
is the same as CreateGlobalString(). Normalize to the latter.


  Commit: 09e94d09fd0f6ca7daac86f2c019473e0bd2f54e
      https://github.com/llvm/llvm-project/commit/09e94d09fd0f6ca7daac86f2c019473e0bd2f54e
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  Revert "[MLIR][XeGPU] Updates XeGPU TensorDescAttr and Refine Gather/Scatter definition. " (#109666)

Reverts llvm/llvm-project#109144


  Commit: bf791566e1585cac21bd89f7d1381272f2ad40c9
      https://github.com/llvm/llvm-project/commit/bf791566e1585cac21bd89f7d1381272f2ad40c9
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll

  Log Message:
  -----------
  [AMDGPU] Add test for readfirstlane with i1 type (#109657)

Add test for readfirstlane with i1 type to demonstrate the lowering
works.

Also simplify existing tests a bit - the declarations are not strictly
needed anymore.


  Commit: b189b89bdeb74a933016bef6d85ae42b0c62b40e
      https://github.com/llvm/llvm-project/commit/b189b89bdeb74a933016bef6d85ae42b0c62b40e
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/phi-with-multiple-unsimplifiable-values.ll

  Log Message:
  -----------
  [InstCombine] Relax the conditons of fold of `ucmp`/`scmp` into phi by allowing the phi node to use the result of `ucmp`/`scmp` more than once (#109593)

This extends the optimisation implemented in #107769 by relaxing the
condtions to make it happen. Now, the value produced by `ucmp`/`scmp`
doesn't need to be one-use, but only one-user, meaning it can be present
in a single phi node more than once.


  Commit: 04d8e364bbf758b2ecbc06b782f1b5dd91bd16e6
      https://github.com/llvm/llvm-project/commit/04d8e364bbf758b2ecbc06b782f1b5dd91bd16e6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [IRBuilder] Deprecate CreateGlobalStringPtr() (NFC)

In favor of CreateGlobalString(), which has the same behavior.
The distinction used to be meaningful prior to the introduction
of opaque pointers.


  Commit: 40d6497a97a61ef5ea38e615cc324104cb34072a
      https://github.com/llvm/llvm-project/commit/40d6497a97a61ef5ea38e615cc324104cb34072a
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    A llvm/test/Transforms/AggressiveInstCombine/inline-strcmp-debugloc.ll

  Log Message:
  -----------
  [DebugInfo] Transfer strcmp DILocation to generated inline code (#108531)

When AggressiveInstCombine inlines a strcmp call, we currently copy the
strcmp's DILocation only to the br instruction that jumps to the inline
code. While this is roughly analogous to the original call, it leaves
the generated code without any source location, which is precarious for
a memory operation. This patch copies the strcmp call's DILocation to
all the generated code.

An alternative solution would be to generate a new DILocation with a
line 0 location and an inlinedAt pointing to the original call location,
but this would still give limited attribution to the generated code
without traversing the DIE, whereas the submitted solution allows
attribution with just the line table; even though it would be
technically more accurate, pragmatically I believe that copying the
call's location will be more useful for users.


  Commit: d4798498c4a30efb03eebb56415a69fa60107414
      https://github.com/llvm/llvm-project/commit/d4798498c4a30efb03eebb56415a69fa60107414
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/compare-3way.ll
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/sink_to_unreachable.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] Fold `(x == y) ? 0 : (x > y ? 1 : -1)` into `ucmp/scmp(x,y)` (#107314)

This also handles commuted cases of the same fold, with either the
condition or the true/false values of the inner select being swapped.


  Commit: be0b1142df7733633354ef1f73d0379bcd2ccb54
      https://github.com/llvm/llvm-project/commit/be0b1142df7733633354ef1f73d0379bcd2ccb54
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/stack-addr-ps.cpp

  Log Message:
  -----------
  [analyzer][StackAddrEscapeChecker] Fix assert failure for alloca regions (#109655)

Fixes #107852

Make it explicit that the checker skips `alloca` regions to avoid the
risk of producing false positives for code with advanced memory
management.
StackAddrEscapeChecker already used this strategy when it comes to
malloc'ed regions, so this change relaxes the assertion and explicitly
silents the issues related to memory regions generated with `alloca`.


  Commit: 53abbced3032b555d43f5b91fafa741c8a11a050
      https://github.com/llvm/llvm-project/commit/53abbced3032b555d43f5b91fafa741c8a11a050
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    A clang/test/CodeGenCXX/debug-info-line-if-2.cpp

  Log Message:
  -----------
  [DebugInfo] Correct the line attribution for IF branches (#108300)

An 'if' statement introduces a scope, but in some cases the conditional
branch to the then/else blocks had a debug-info attribution that did not
include the scope. This led to some inefficiency in the DWARF line
table.


  Commit: 606557ddd68bcb082fb82fd21b0afb260222ae14
      https://github.com/llvm/llvm-project/commit/606557ddd68bcb082fb82fd21b0afb260222ae14
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test

  Log Message:
  -----------
  [PGO] use atomics for profile counters in instrprof-dlopen-norpath.test

When two threads dlopen a shared library, one instance of the library
is loaded. Hence, code inside the library needs to be thread safe,
so use atomic updates for profile counters.


  Commit: 50a1ab12abbe948e6d3f8418f11bfa1951c8d19e
      https://github.com/llvm/llvm-project/commit/50a1ab12abbe948e6d3f8418f11bfa1951c8d19e
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll

  Log Message:
  -----------
  [LAA] Don't assume libcalls with output/input pointers can be vectorized (#108980)

LoopAccessAnalysis currently does not check/track aliasing from the
output pointers, but assumes vectorizing library calls with a mapping is
safe.

This can result in incorrect codegen if something like the following is
vectorized:

```
for(int i=0; i<N; i++) {
  // No aliasing between input and output pointers detected.
  sincos(cos_out[0], sin_out+i, cos_out+i);
}
```

Where for VF >= 2 `cos_out[1]` to `cos_out[VF-1]` is the cosine of the
original value of `cos_out[0]` not the updated value.


  Commit: d61b2590f8e360695a5298311855c8649337969f
      https://github.com/llvm/llvm-project/commit/d61b2590f8e360695a5298311855c8649337969f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/CMakeLists.txt

  Log Message:
  -----------
  [Clang-BOLT] Drop CDSplit flag

Breaks AArch64 Clang-BOLT builds:
https://github.com/llvm/llvm-project/pull/109351#issuecomment-2368584365


  Commit: cce1fa39eabfca4907ff8d616618683eec1a5486
      https://github.com/llvm/llvm-project/commit/cce1fa39eabfca4907ff8d616618683eec1a5486
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll

  Log Message:
  -----------
  [RISCV] Add zvfbfmin arithmetic cost model test coverage. NFC


  Commit: 2cd20c255684257b86940bdda6861897f0bf3c00
      https://github.com/llvm/llvm-project/commit/2cd20c255684257b86940bdda6861897f0bf3c00
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"

This reverts commit 6fc2451167ec991361dd0568de9a9fa2926f8da8.

This broke some more buildbots.


  Commit: ce9a2c652104197a051db3788f3ec503cab3a79b
      https://github.com/llvm/llvm-project/commit/ce9a2c652104197a051db3788f3ec503cab3a79b
  Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
    M clang-tools-extra/docs/clang-tidy/index.rst

  Log Message:
  -----------
  [clang-tidy][doc] Add external examples (#106675)

Clang has a page where they list out external examples:
https://clang.llvm.org/docs/ExternalClangExamples.html. This mimics this page by adding some useful links specific to clang-tidy.


  Commit: caf0897c9c7f6f2a142af06bff8680a23d1d4bf5
      https://github.com/llvm/llvm-project/commit/caf0897c9c7f6f2a142af06bff8680a23d1d4bf5
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp

  Log Message:
  -----------
  [SPIR-V] Fix deprecation warnings after #102608 (#109447)

Follow up to fix warnings in the SPIRV backend after 2f50b280dc8e
"[DebugInfo] Enable deprecation of iterator-insertion methods (#102608)"


  Commit: 40d8888f13fb54b0fe840deef23054de6544c184
      https://github.com/llvm/llvm-project/commit/40d8888f13fb54b0fe840deef23054de6544c184
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```

Relanding with built-in cloning support for llvm::ECError, and support
for initializing a Windows error with a NO_ERROR error code.


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

  Changed paths:
    R llvm/test/MC/RISCV/machine-csr-names-invalid.s

  Log Message:
  -----------
  [RISCV] Remove machine-csr-names-invalid.s. NFC (#109595)

This appears to be redundant with rv32-only-csr-names.s which tests the
same registers and many more.


  Commit: 27b5dc422cd3dc15b3d4410ba910d4b12272384d
      https://github.com/llvm/llvm-project/commit/27b5dc422cd3dc15b3d4410ba910d4b12272384d
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/allow-check.ll
    M llvm/test/lit.cfg.py

  Log Message:
  -----------
  Add target-byteorder for cases where endian in target triple is what matters (#107915)

I came across the subtly when setting up lit for z/OS and running it on
a Linux on Power machine. Linux on Power is little endian. This was
resulting in all of these tests being run even though the target triple
was z/OS which is big endian. The lit should really be checking if the
target is little endian not the host. The previous way didn't handle
cross compilation while running lit.


  Commit: 8e8a0724c28642f49aeb313110522521d8359037
      https://github.com/llvm/llvm-project/commit/8e8a0724c28642f49aeb313110522521d8359037
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp

  Log Message:
  -----------
  [llvm-debuginfod-find] Remove old parameter comment (#109637)

This patch removes a comment in llvm-debuginfod-find containing all the
cl::opt entries, which are redundant after the conversion to using
optTable. These seem to have been introduced in #108082 along with a
conversion to optTable.


  Commit: 78ae2de4c692bea03d03e4c149b350543d220490
      https://github.com/llvm/llvm-project/commit/78ae2de4c692bea03d03e4c149b350543d220490
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
    A llvm/test/CodeGen/NVPTX/fence-sm-90.ll
    M llvm/test/CodeGen/NVPTX/fence.ll
    M llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    A llvm/test/CodeGen/NVPTX/load-store-sm-90.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll

  Log Message:
  -----------
  [NVPTX] Load/Store/Fence syncscope support (#106101)

Adds "initial" support for `syncscope` to the NVPTX backend
`load`/`store`/`fence` instructions.
Atomic Read-Modify-Write operations intentionally not supported as part
of this initial PR.


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

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

  Log Message:
  -----------
  [LegalizeVectorTypes] Preserve original MemoryOperand and MemVT when widening fixed vector load to vp_load. (#109473)

Previously we were building a new memoperand with the size of the widened VT. This was causing a failure in our downstream with non-power of 2 vectorization. Alias analysis allowed rescheduling a 3 element vector load past 2 out of 3 scalar stores that overwrite what it was supposed to read.

Alias analysis considers it undefined behavior to read more than the size of the underlying object. There is an exception if the underying objects is sufficiently aligned, but that doesn't apply in my failing case.


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

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/test/Sema/riscv-asm.c

  Log Message:
  -----------
  [RISCV] Implement validateGlobalRegisterVariable. (#109596)

Only allow GPR registers and verify the size is the same as XLen.

This fixes the crash seen in #109588 by making it a frontend error.

gcc does accept the code so we may need to consider if we can fix the
backend. Some other targets I tried appear to have similar issues so it
might not be straightforward to fix.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] Use MCRegister in more places. NFC


  Commit: 3336d73126ae7ebaadf7c3a4d85e373eaae8cda6
      https://github.com/llvm/llvm-project/commit/3336d73126ae7ebaadf7c3a4d85e373eaae8cda6
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/include/lldb/Target/ABI.h
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/include/lldb/Target/UnwindLLDB.h
    M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
    M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/source/Symbol/ArmUnwindInfo.cpp
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp
    M lldb/source/Symbol/FuncUnwinders.cpp
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/ABI.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/UnwindLLDB.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp

  Log Message:
  -----------
  [lldb][NFC] New names for the two RegisterLocation classes (#109611)

lldb has two RegisterLocation classes that do slightly different things.

UnwindPlan::Row::RegisterLocation (new: AbstractRegisterLocation) has a
description of how to find a register's value or location, not specific
to a particular stopping point. It may say that at a given offset into a
function, the caller's register has been spilled to stack memory at CFA
minus an offset. Or it may say that the caller's register is at a DWARF
exprssion.

UnwindLLDB::RegisterLocation (new: ConcreteRegisterLocation) is a
specific address where the register is currently stored, or the register
it has been copied into, or its value at this point in the current
function execution.

When lldb stops in a function, it interprets the
AbstractRegisterLocation's instructions using the register context and
stack memory, to create the ConcreteRegisterLocation at this point in
time for this stack frame.

I'm not thrilled with AbstractRegisterLocation and
ConcreteRegisterLocation, but it's better than the same name and it will
be easier to update them if someone suggests a better pair.


  Commit: 62f3eae466cc6af101a9bfa21e2af4ff5c95658d
      https://github.com/llvm/llvm-project/commit/62f3eae466cc6af101a9bfa21e2af4ff5c95658d
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c

  Log Message:
  -----------
  [PowerPC] Fix incorrect store alignment for __builtin_vsx_build_pair() (#108606)

Fixes #107229


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

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/LTO.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Move elf::symtab into Ctx

Remove the global variable `symtab` and add a member variable
(`std::unique_ptr<SymbolTable>`) to `Ctx` instead.

This is one step toward eliminating global states.

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


  Commit: 127349fcba81646389e4b8202b35405a5fdbef47
      https://github.com/llvm/llvm-project/commit/127349fcba81646389e4b8202b35405a5fdbef47
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/compiler_features/check_float16_conversion.cpp
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    A libc/src/__support/FPUtil/cast.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/exp10f16.cpp
    M libc/src/math/generic/exp2f16.cpp
    M libc/src/math/generic/expf16.cpp
    M libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/test/src/math/smoke/AddTest.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/DivTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/MulTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/SubTest.h
    M libc/test/src/math/smoke/exp10f16_test.cpp
    M libc/test/src/math/smoke/exp2f16_test.cpp
    M libc/test/src/math/smoke/expf16_test.cpp
    M libc/test/src/math/smoke/expm1f16_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Add floating-point cast independent of compiler runtime (#105152)

Fixes build and tests with compiler-rt on x86.


  Commit: 5927c6745c2a60c368d7bcb789a1f561d62fa039
      https://github.com/llvm/llvm-project/commit/5927c6745c2a60c368d7bcb789a1f561d62fa039
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/test/MC/AMDGPU/gfx10_unsupported.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s
    A llvm/test/MC/AMDGPU/gfx940_unsupported.s

  Log Message:
  -----------
  [AMDGPU][MC] Instructions not to be supported in GFX940 (#109225)

Buffer_store_lds_dword, buffer_wbinvl1, and buffer_wbinvl1_vol are
obsolete in GFX940 and should not be supported.


  Commit: 1693c6392299d1d4bea5b07094c1c562b7ee533f
      https://github.com/llvm/llvm-project/commit/1693c6392299d1d4bea5b07094c1c562b7ee533f
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [libc++][NFC] mark LWG3723 as implemented (#109356)

This patch marks LWG3723 as implemented, with the implementation
completed in commit 87f3ff3 and released in `libc++` 17.0.

Closes #105104


  Commit: 97b0d2076f53f669f27dc6d0539a3d01f28381e7
      https://github.com/llvm/llvm-project/commit/97b0d2076f53f669f27dc6d0539a3d01f28381e7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)"

This reverts commit 40d8888f13fb54b0fe840deef23054de6544c184.
One last Windows failure remaining.


  Commit: 1c47fa9b620d0abb280647b4f361ada43784d00e
      https://github.com/llvm/llvm-project/commit/1c47fa9b620d0abb280647b4f361ada43784d00e
  Author: Daniel Hernandez-Juarez <dhernandez0 at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Add support for AMD f16 math library calls (#108809)

In this PR we add support for AMD f16 math library calls
(`__ocml_*_f16`)

CC: @krzysz00 @manupak


  Commit: 3db0f8c895d4e814a18b754f9afbb1e03bd839a5
      https://github.com/llvm/llvm-project/commit/3db0f8c895d4e814a18b754f9afbb1e03bd839a5
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll

  Log Message:
  -----------
  [SLP]Update TrackedToOrig mappings after reduction vectorization

Need to update mappings in TrackedToOrig to correctly provide mapping
between updated reduced value after vectorization and its original
value, otherwise the compiler might miss this update and it may cause
compiler crash later, when it tries to find the original instruction
mapping for the updated value.

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


  Commit: 6267f121f510859f8722c34a4a8c75e4d93b0300
      https://github.com/llvm/llvm-project/commit/6267f121f510859f8722c34a4a8c75e4d93b0300
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [libc] Fix missing LIBC_TYPES_HAS_FLOAT16 guard around DyadicFloat::generic_as() (#109697)

See Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/93/builds/6872.


  Commit: d1edef56e87631ca8712afe01ac560710a2334f2
      https://github.com/llvm/llvm-project/commit/d1edef56e87631ca8712afe01ac560710a2334f2
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Type.h
    A llvm/include/llvm/SandboxIR/Utils.h
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Functions to find vectorizor-relevant properties (#109221)

When vectorizing, the destination type and value of stores is more
relevant than the type of the instruction itself. Similarly for return
instructions. These functions provide a convenient way to do that
without special-casing them everywhere, and avoids the need for
friending any class that needs access to Value::LLVMTy to calculate it.

Open to better naming.


  Commit: 8be6b108fbd35c6f50db488a0a5462eba6852cfd
      https://github.com/llvm/llvm-project/commit/8be6b108fbd35c6f50db488a0a5462eba6852cfd
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll

  Log Message:
  -----------
  [NVPTX] Remove nvvm.bitcast.* intrinsics (#107936)

Remove the following intrinsics which correspond directly to a bitcast:

- llvm.nvvm.bitcast.f2i
- llvm.nvvm.bitcast.i2f
- llvm.nvvm.bitcast.d2ll
- llvm.nvvm.bitcast.ll2d


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

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

  Log Message:
  -----------
  [VPlan] Only store single scalar array per VPValue in VPTransState (NFC)

After 8ec406757cb92 (https://github.com/llvm/llvm-project/pull/95842),
VPTransformState only stores a single scalar vector per VPValue.

Simplify the code by replacing the nested SmallVector in PerPartScalars with
a single SmallVector and rename to VPV2Scalars for clarity.


  Commit: e093bb9e5a6884842402e2cca03f002b514e4411
      https://github.com/llvm/llvm-project/commit/e093bb9e5a6884842402e2cca03f002b514e4411
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
    A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)" (#109688)

This reverts commit 2cd20c255684257b86940bdda6861897f0bf3c00.

This relands commit 9886788a8a500a1b429a6db64397c849b112251c.

This was causing more buildbot failures due to getcpu not being
available with glibc <=2.29. This patch fixes that by directly making
the syscall, assuming the syscall number macro is available.


  Commit: 416c3ce0138ff4039dab13ff634ee6392b9a3c7b
      https://github.com/llvm/llvm-project/commit/416c3ce0138ff4039dab13ff634ee6392b9a3c7b
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement ConstantExpr (#109491)

This patch implements an empty sandboxir::ConstantExpr class, mirroring
llvm::ConstantExpr.


  Commit: 6e6d5eae765939cc4074bdd606658e78c4a2a559
      https://github.com/llvm/llvm-project/commit/6e6d5eae765939cc4074bdd606658e78c4a2a559
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    A lldb/test/API/macosx/expedited-thread-pcs/Makefile
    A lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
    A lldb/test/API/macosx/expedited-thread-pcs/foo.c
    A lldb/test/API/macosx/expedited-thread-pcs/main.cpp

  Log Message:
  -----------
  [lldb] Don't invalid register context after setting thread pc's (#109499)

Some gdb remote serial protocol stubs will send the thread IDs and PCs
for all threads in a process in the stop-reply packet. lldb often needs
to know the pc values for all threads while at a private stop, and that
results in <n-1> read-register packets for <n> threads, and can be a big
performance problem when this is a hot code path.

GDBRemoteRegisterContext tracks the StopID of when its values were set,
and when the thread's StopID has incremented, it marks all values it has
as Invalid, and knows to refetch them.

We have a code path that resulted in setting the PCs for all the
threads, and then `ProcessGDBRemote::CalculateThreadStopInfo` *forcing*
an invalidation of all the register contexts, forcing us to re-read the
pc values for all threads except the one that stopped.

There are times when it is valid to force an invalidation of the
regsiter cache - for instance, if the layout of the registers has
changed because the processor state is different, or we've sent a
write-all-registers packet to the inferior and we want to make sure we
stay in sync with the inferior. But there was no reason for this method
to be forcing the register context to be invalid.

I added a test when running on Darwin systems, where debugserver always
sends the thread IDs and PCs, which turns on packet logging. The test
runs against an inferior which has 4 threads; it steps over a dlopen()
call, steps in to a user function with debug info, steps-over and
steps-in across source lines with multiple function calls, and then
examines the packet log and flags it as an error if lldb asked for the
pc value of any thread at any point in the debug session.

For this program and the operations we're doing, with debugserver that
provides thread IDs and PCs, we should never ask for the value of a pc
register.

rdar://136247381


  Commit: 2b892b05025b6e0ed2f211435f99838ea3bbccd8
      https://github.com/llvm/llvm-project/commit/2b892b05025b6e0ed2f211435f99838ea3bbccd8
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/lit.local.cfg
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm.txt
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm.txt.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_multirun_dasm.txt
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_multirun_dasm.txt.expected
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/amdgpu-basic.test
    A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/lit.local.cfg
    M llvm/utils/UpdateTestChecks/common.py
    A llvm/utils/update_mc_test_checks.py

  Log Message:
  -----------
  added a script to update llvm-mc test file (#107246)

Added a script to update the test file generated by llvm-mc binary. The
script accepts .s and .txt for asm and dasm.

For mc test I am targetting there is no function name which can be used
as a key, thus no clear mapping between input and output. The script
assumes the test are always line-by-line and it update the output marker
for each test line-by-line.

---------

Co-authored-by: Alexander Richardson <mail at alexrichardson.me>


  Commit: 706e71076e0276747e7ae94e3f8a7f73a45e5b6e
      https://github.com/llvm/llvm-project/commit/706e71076e0276747e7ae94e3f8a7f73a45e5b6e
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    R llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extended-vectorized-gathered-inst.ll
    R llvm/test/Transforms/SLPVectorizer/X86/external-user-instruction-minbitwidth.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extractelement-insertpoint.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extracts-with-undefs.ll
    R llvm/test/Transforms/SLPVectorizer/X86/gather_extract_from_vectorbuild.ll
    R llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-crash-index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-const-undef.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-element-multiple-uses.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insertelement-postpone.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insertelement-uses-vectorized-index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    R llvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
    R llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    R llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
    R llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
    R llvm/test/Transforms/SLPVectorizer/X86/multi-node-vectorized-insts.ll
    R llvm/test/Transforms/SLPVectorizer/X86/multi-uses-with-deps-in-first.ll
    R llvm/test/Transforms/SLPVectorizer/X86/one-element-vector.ll
    A llvm/test/Transforms/SLPVectorizer/ext-int-reduced-not-operand.ll
    A llvm/test/Transforms/SLPVectorizer/extended-vectorized-gathered-inst.ll
    A llvm/test/Transforms/SLPVectorizer/external-user-instruction-minbitwidth.ll
    A llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
    A llvm/test/Transforms/SLPVectorizer/extractelement-insertpoint.ll
    A llvm/test/Transforms/SLPVectorizer/extractlements-gathered-first-node.ll
    A llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
    A llvm/test/Transforms/SLPVectorizer/gather_extract_from_vectorbuild.ll
    A llvm/test/Transforms/SLPVectorizer/gep-with-extractelement-many-users.ll
    A llvm/test/Transforms/SLPVectorizer/insert-crash-index.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const-undef.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-multiple-uses.ll
    A llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
    A llvm/test/Transforms/SLPVectorizer/insertelement-uses-vectorized-index.ll
    A llvm/test/Transforms/SLPVectorizer/int-bitcast-minbitwidth.ll
    A llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
    A llvm/test/Transforms/SLPVectorizer/minbitwidth-multiuse-with-insertelement.ll
    A llvm/test/Transforms/SLPVectorizer/minbitwidth-node-with-multi-users.ll
    A llvm/test/Transforms/SLPVectorizer/minbitwidth-user-not-min.ll
    A llvm/test/Transforms/SLPVectorizer/multi-node-vectorized-insts.ll
    A llvm/test/Transforms/SLPVectorizer/multi-uses-with-deps-in-first.ll
    A llvm/test/Transforms/SLPVectorizer/one-element-vector.ll

  Log Message:
  -----------
  [SLP] Move some of X86 tests to common directory (#107587)

Some of the tests from the X86 directory can be generalized to improve
coverage for other architectures


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

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenInstAlias.h
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Use const record pointers in TableGen/Common files (#109467)

Use const record pointers in TableGen/Common files.

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


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


  Commit: 74405b9d74d974523c0f9172a9b0c1cfd7320356
      https://github.com/llvm/llvm-project/commit/74405b9d74d974523c0f9172a9b0c1cfd7320356
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement a few Instruction member functions (#109709)

This patch implements some of the missing member functions of
sandboxir::Instruction.


  Commit: 954ab83e6a8acb7a78936cfa3e2284b1eaf8b722
      https://github.com/llvm/llvm-project/commit/954ab83e6a8acb7a78936cfa3e2284b1eaf8b722
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
    A llvm/test/MC/AMDGPU/amdhsa-kd-kernarg-preload.s

  Log Message:
  -----------
  [AMDGPU] Include unused preload kernarg in KD total SGPR count (#104743)

Unlike with implicitly preloaded data UserSGPRs firmware is unable to
handle cases where SGPRs for kernel arguments contain preloaded data but
not are not explicitly referenced in the kernel. We need to include
these preloaded SGPRs in the GRANULATED_WAVEFRONT_SGPR_COUNT calculation
to not clobber SGPRs in adjacent waves.


  Commit: e44ecf76e049474190c33cd737642a0a066fb6b0
      https://github.com/llvm/llvm-project/commit/e44ecf76e049474190c33cd737642a0a066fb6b0
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/CodeGen/X86/section-stats.ll

  Log Message:
  -----------
  [llvm][ELF] Add ELF header/section header table size statistics (#109345)

Followup to #102363. This makes the `elf-object-writer.*Bytes` stats sum
up to `assembler.ObjectBytes`.


  Commit: 16d11e26f36fa0de8ef6e402bb85e32bf7c7acd6
      https://github.com/llvm/llvm-project/commit/16d11e26f36fa0de8ef6e402bb85e32bf7c7acd6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/newhdrgen/yaml/stdlib.yaml
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/gpu/CMakeLists.txt
    A libc/src/stdlib/gpu/system.cpp
    A libc/src/stdlib/system.h
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Add GPU support for the 'system' function (#109687)

Summary:
This function can easily be implemented by forwarding it to the host
process. This shows up in a few places that we might want to test the
GPU so it should be provided. Also, I find the idea of the GPU
offloading work to the CPU via `system` very funny.


  Commit: 3bbe0f90f33357c27e3195207fa35c0fb44e426c
      https://github.com/llvm/llvm-project/commit/3bbe0f90f33357c27e3195207fa35c0fb44e426c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [libc] Add 'strings.h' header on the GPU (#109661)

Summary:
These are GNU extensions but still show up, the entrypoints were enabled
but we weren't emitting the header so they couldn't be used.


  Commit: 1fae1314f1ff58f3601640c0a2c48cee3a322e5d
      https://github.com/llvm/llvm-project/commit/1fae1314f1ff58f3601640c0a2c48cee3a322e5d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)

(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)

Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).

This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.

Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.

Implementation notes:

This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
   (eErrorTypeInvalid)
   eErrorTypeGeneric      llvm::StringError
   eErrorTypePOSIX        llvm::ECError
   eErrorTypeMachKernel   MachKernelError
   eErrorTypeExpression   llvm::ErrorList<ExpressionError>
   eErrorTypeWin32        Win32Error
```

Relanding with built-in cloning support for llvm::ECError, and support
for initializing a Windows error with a NO_ERROR error code, and
modifying TestGDBRemotePlatformFile.py to support different renderings
of ENOSYS.


  Commit: 9ac00b85e05d21be658d6aa0c91cbe05bb5dbde2
      https://github.com/llvm/llvm-project/commit/9ac00b85e05d21be658d6aa0c91cbe05bb5dbde2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/rotate.ll
    M llvm/test/CodeGen/NVPTX/rotate_64.ll

  Log Message:
  -----------
  [NVPTX] deprecate nvvm.rotate.* intrinsics, cleanup funnel-shift handling (#107655)

This change deprecates the following intrinsics which can be trivially
converted to llvm funnel-shift intrinsics:

- @llvm.nvvm.rotate.b32
- @llvm.nvvm.rotate.right.b64
- @llvm.nvvm.rotate.b64


  Commit: 0a5edb4de408ae0405f85c3e4c6da5233f185f63
      https://github.com/llvm/llvm-project/commit/0a5edb4de408ae0405f85c3e4c6da5233f185f63
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp

  Log Message:
  -----------
  [bolt] Don't call llvm::raw_string_ostream::flush() (NFC)

Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered.
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )


  Commit: 783bac7ffb8f0d58d7381d90fcaa082eb0be1c1d
      https://github.com/llvm/llvm-project/commit/783bac7ffb8f0d58d7381d90fcaa082eb0be1c1d
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/Analysis/CtxProfAnalysis/handle-select.ll

  Log Message:
  -----------
  [ctx_prof] Handle `select` and its `step` instrumentation (#109185)

The `step` instrumentation shouldn't be treated, during use, like an `increment`. The latter is treated as a BB ID. The step isn't that, it's more of a type of value profiling. We need to distinguish between the 2 when really looking for BB IDs (==increments), and handle appropriately `step`s. In particular, we need to know when to elide them because `select`s may get elided by function cloning, if the condition of the select is statically known.


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

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

  Log Message:
  -----------
  [NFC][hwasan] Convert ShadowMapping into class (#109616)

In the next patch we can switch to enum.


  Commit: 300051159b5d8caef1e74193ebfb1ed1bce21c5e
      https://github.com/llvm/llvm-project/commit/300051159b5d8caef1e74193ebfb1ed1bce21c5e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M bolt/test/X86/log.test
    M bolt/test/perf2bolt/perf_test.test

  Log Message:
  -----------
  [BOLT][test] Update log.test and perf_test

Address noisy tests by:
- perf_test: bumping sampling frequency to maximum,
- log.test: matching Binary Function "main"


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

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

  Log Message:
  -----------
  [NFC][hwasan] Use `enum class` in `ShadowMapping` (#109617)


  Commit: 3734fa8c724ce2af2f69886ca97c05c6c3717c34
      https://github.com/llvm/llvm-project/commit/3734fa8c724ce2af2f69886ca97c05c6c3717c34
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
    M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    R llvm/lib/Target/DirectX/DXILMetadata.cpp
    R llvm/lib/Target/DirectX/DXILMetadata.h
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    A llvm/test/CodeGen/DirectX/Metadata/lib-entries.ll
    A llvm/test/CodeGen/DirectX/Metadata/multiple-entries-cs-error.ll
    A llvm/test/CodeGen/DirectX/Metadata/target-profile-error.ll
    M llvm/test/CodeGen/DirectX/legalize-module-flags.ll
    M llvm/test/CodeGen/DirectX/legalize-module-flags2.ll
    M llvm/test/CodeGen/DirectX/strip-call-attrs.ll
    M llvm/test/CodeGen/DirectX/typed_ptr.ll

  Log Message:
  -----------
  [DXIL] Consume Metadata Analysis information in passes (#108034)

- Changed `DXILTranslateMetadata::translateMetadata()` to consume DXIL
Metadata Analysis information. Subsumed into `DXILTranslateMetedata.cpp`
the functionality in `DXILMetadata.*` files - that are hence deleted.
- Changed `DXILPrepare` pass to consume DXIL Metadata Analysis
information.
- Renamed `ModuleMetadataInfo::ShaderStage` to
`ModuleMetadataInfo::ShaderProfile` to better convey what it represents.
- Updated `unknown` target shader stage specification in triples of a
couple of tests.
- Added new tests for additional verification of `DXILTranslateMetadata`
pass functionality.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td

  Log Message:
  -----------
  [RISCV] Add explicit XLenVT cast to vector load/store patterns.

This seems to be needed to get the patterns to import into GISel
properly.

Unfortunately, it also adds ~400 bytes to the SelectionDAG table.
I'm hoping if we remove i32 as a legal type for GPR registers, this
will go down.


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

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

  Log Message:
  -----------
  [clang][NFC] add static for internal linkage function (#109436)

Detected by clang-tidy misc-use-internal-linkage


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

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp

  Log Message:
  -----------
  [codegen][NFC] add static mark for internal usage variable and function (#109431)

Detect by clang-tidy misc-use-internal-linkage


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

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

  Log Message:
  -----------
  [NFC][hwasan] Remove code duplication in ShadowMapping::init (#109618)

The goal to is to reorder this function to make
initialization in following order:
1. Defaults
2. Target specific overrides
3. Explicit copt<> overrides


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

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

  Log Message:
  -----------
  [SandboxVec] Tag insts in a Region with metadata. (#109353)

For each region, we create a metadata node. Then when an instruction is
added to the Region, it gets tagged with the metadata node for that
region. In the following example, we have a Region that contains only
the `%t0` instruction.

```
define i8 @foo(i8 %v0, i8 %v1) {
  %t0 = add i8 %v0, 1, !sbvec !0
  %t1 = add i8 %t0, %v1
  ret i8 %t1
}

!0 = distinct !{!"region"}
```

This commit also adds a function to create regions from metadata already
present in a Function.

This metadata can be used for debugging: if we dump IR before a Region
pass, the IR will contain enough info to re-create the Region and run
the pass by itself in a later invocation.

---------

Co-authored-by: Alina Sbirlea <alina.g.simion at gmail.com>


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h

  Log Message:
  -----------
  [WebAssembly] Apply clang-tidy fixes on AsmParser/TypeCheck (NFC) (#109692)

Fixes are mostly one of these:
- `auto` -> `auto *` when the type is a pointer
- Function names start with a lowercase letter
- Variable names start with an uppercase letter
- No need to have an `else` after a `return`

Diff without whitespaces is easier to view.


  Commit: 00629752e622814649e67d6e5ecb02bf131b537d
      https://github.com/llvm/llvm-project/commit/00629752e622814649e67d6e5ecb02bf131b537d
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix cost model for getGatherCost with FixedVectorType ScalarTy. (#109369)


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll

  Log Message:
  -----------
  [hwasan] Replace "-hwasan-with-ifunc" and "-hwasan-with-tls" options (#109619)

Relationship between "-hwasan-mapping-offset",
"-hwasan-with-ifunc", and "-hwasan-with-tls" can
be to hard to understand.

Now we will have "-hwasan-mapping-offset",
presense of which will imply fixed shadow.

If "-hwasan-mapping-offset-dynamic" will set one
of 3 available dynamic shadows.

As-is "-hwasan-mapping-offset" has precedence over
"-hwasan-mapping-offset-dynamic". In follow up
patches we need to use the one with last
occurrence.


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

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

  Log Message:
  -----------
  [RISCV] Move OrigIdx == 0 check to start of lowerEXTRACT_SUBVECTOR. NFC (#109731)

Allows us to remove a separate check of OrigIdx != 0 for the mask case.


  Commit: fd11c81a80608ddd4b33b664e28b426229aabde1
      https://github.com/llvm/llvm-project/commit/fd11c81a80608ddd4b33b664e28b426229aabde1
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libcxx/include/__memory/unique_temporary_buffer.h

  Log Message:
  -----------
  [libc++] Add `_LIBCPP_NO_CFI` to `__allocate_unique_temporary_buffer` (#109682)

Follows up #100914. Addresses the issue revealed in
https://github.com/llvm/llvm-project/pull/100914#discussion_r1771647801.


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

  Changed paths:
    M llvm/include/llvm/Support/raw_ostream.h
    M llvm/unittests/Support/raw_ostream_test.cpp

  Log Message:
  -----------
  [Support] Add scaling support in `indent` (#109478)

Scaled indent is useful when indentation is always in steps of a fixed
number (the Scale) and still allow using the +/- operators to adjust
indentation.


  Commit: 86c640323286f4d692a634373c71536795cd7290
      https://github.com/llvm/llvm-project/commit/86c640323286f4d692a634373c71536795cd7290
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    A compiler-rt/test/nsan/fcmp.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Add check-cmp flag (#108707)

Add check-cmp flag.

Closes #108435.


  Commit: 2028687ecad01ccc135cdc03eca933d7eec24df4
      https://github.com/llvm/llvm-project/commit/2028687ecad01ccc135cdc03eca933d7eec24df4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

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

  Log Message:
  -----------
  [DWARFLinkerTypeUnit] Simplify code around try_emplace (NFC) (#109670)

Without this patch, we first default-construct a value with
try_emplace and then immediately override it with a new value.

This patch inserts the final value with try_emplace and simplies the
code around it.


  Commit: 3cd3202b785654b8ac6d3bcf9ee18efcdd5171b0
      https://github.com/llvm/llvm-project/commit/3cd3202b785654b8ac6d3bcf9ee18efcdd5171b0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp

  Log Message:
  -----------
  [Frontend] Teach LoadFromASTFile to take FileName by StringRef (NFC) (#109583)

Without this patch, several callers of LoadFromASTFile construct an
instance of std::string to be passed as FileName, only to be converted
back to StringRef when LoadFromASTFile calls ReadAST.

This patch changes the type of FileName to StringRef and updates the
callers.


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

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

  Log Message:
  -----------
  [RISCV] Hoist duplicate code in lowerINSERT_SUBVECTOR. NFC (#109733)


  Commit: 64e7cb266e54e689791ad499965ddb0f8a1a2262
      https://github.com/llvm/llvm-project/commit/64e7cb266e54e689791ad499965ddb0f8a1a2262
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] Use auto (NFC)

I'm planning to change the type of BlockByCopyDecls and
BlockByRefDecls to SetVector.  Declaring these iterators with auto
makes it easier to migrate to the new type.


  Commit: 9b5a3036adbd9eed0f377cdf06aa622b917a1699
      https://github.com/llvm/llvm-project/commit/9b5a3036adbd9eed0f377cdf06aa622b917a1699
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  [OpenMP][Docs] Update OpenMP supported features table (#109726)

OpenMP features table: updated scope directive status from 'worked on'
to 'done' in section OpenMP 5.1 Implementation Details.


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

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

  Log Message:
  -----------
  [IR][Attribute] Add missing `const` def on `addAllocSizeParamAttr()`; NFC


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

  Changed paths:
    M llvm/lib/Support/ModRef.cpp
    M llvm/lib/Support/OptionStrCmp.cpp

  Log Message:
  -----------
  [NFC] Fix line endings for ModRef.cpp/OptionStrCmp.cpp (#109712)


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

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

  Log Message:
  -----------
  [ELF] Pass Ctx & to Driver and Writer


  Commit: b30b9eb7a8823c1b3bbcd1bf9452e743a17d9223
      https://github.com/llvm/llvm-project/commit/b30b9eb7a8823c1b3bbcd1bf9452e743a17d9223
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/lib/CodeGen/LiveInterval.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp

  Log Message:
  -----------
  LiveInterval: Make verify functions return bool (#109672)

This will allow the MachineVerifier to check these properties
instead of just asserting


  Commit: fa089b014b41db4ef90378c7eae35306402cfcb3
      https://github.com/llvm/llvm-project/commit/fa089b014b41db4ef90378c7eae35306402cfcb3
  Author: SJW <48454132+sjw36 at users.noreply.github.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/test/Dialect/SCF/loop-pipelining.mlir

  Log Message:
  -----------
  [SCF] Fixed epilogue predicates in loop pipelining (#108964)

The computed loop iteration is zero based, so only check it is less than
zero. This fixes the case when lower bound is not zero.


  Commit: cde7b30268a85a3e7900a31534a97e7eb4de9236
      https://github.com/llvm/llvm-project/commit/cde7b30268a85a3e7900a31534a97e7eb4de9236
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir

  Log Message:
  -----------
  AMDGPU: Fix missing functions in MIR tests

This function was in the IR section, but not present in the MIR
function list.


  Commit: 63b2595846b86b4e4eb9afba5e97dd64e8135c10
      https://github.com/llvm/llvm-project/commit/63b2595846b86b4e4eb9afba5e97dd64e8135c10
  Author: sstipano <146831748+sstipano at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir
    A llvm/test/CodeGen/AMDGPU/freeze.ll

  Log Message:
  -----------
  [AMDGPU][GlobalIsel] Use isRegisterClassType for G_FREEZE and G_IMPLICIT_DEF (#101331)

G_FREEZE was legal for <13 x S32> which caused an infinite loop in the
combiner


  Commit: 2c58063435ce4717a949585bc5c32ecf98a77238
      https://github.com/llvm/llvm-project/commit/2c58063435ce4717a949585bc5c32ecf98a77238
  Author: Sergey Kozub <skozub at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/Types.h
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Types.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/python/mlir/extras/types.py
    M mlir/test/IR/attribute.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/python/ir/builtin_types.py
    M mlir/utils/lldb-scripts/mlirDataFormatters.py
    M mlir/utils/tree-sitter-mlir/grammar.js

  Log Message:
  -----------
  [MLIR] Add f4E2M1FN type (#108877)

This PR adds `f4E2M1FN` type to mlir.

`f4E2M1FN` type is proposed in [OpenCompute MX
Specification](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf).
It defines a 4-bit floating point number with bit layout S1E2M1. Unlike
IEEE-754 types, there are no infinity or NaN values.

```c
f4E2M1FN
- Exponent bias: 1
- Maximum stored exponent value: 3 (binary 11)
- Maximum unbiased exponent value: 3 - 1 = 2
- Minimum stored exponent value: 1 (binary 01)
- Minimum unbiased exponent value: 1 − 1 = 0
- Has Positive and Negative zero
- Doesn't have infinity
- Doesn't have NaNs

Additional details:
- Zeros (+/-): S.00.0
- Max normal number: S.11.1 = ±2^(2) x (1 + 0.5) = ±6.0
- Min normal number: S.01.0 = ±2^(0) = ±1.0
- Min subnormal number: S.00.1 = ±2^(0) x 0.5 = ±0.5
```

Related PRs:
- [PR-95392](https://github.com/llvm/llvm-project/pull/95392) [APFloat]
Add APFloat support for FP4 data type
- [PR-105573](https://github.com/llvm/llvm-project/pull/105573) [MLIR]
Add f6E3M2FN type - was used as a template for this PR
- [PR-107999](https://github.com/llvm/llvm-project/pull/107999) [MLIR]
Add f6E2M3FN type


  Commit: f6a8eb98b13ee50c67ecf4804461a23fba7398aa
      https://github.com/llvm/llvm-project/commit/f6a8eb98b13ee50c67ecf4804461a23fba7398aa
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-atomic-cmpxchg-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fract.f64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-saddr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/agpr-to-agpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/expand-si-indirect.mir
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/high-RP-reschedule.mir
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umax.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.reduce.umin.mir
    M llvm/test/CodeGen/AMDGPU/merge-flat-with-global-load-store.mir
    M llvm/test/CodeGen/AMDGPU/merge-global-load-store.mir
    M llvm/test/CodeGen/AMDGPU/move-load-addr-to-valu.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
    M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-non-empty-but-used-interval.mir
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-barrier-hang-weak-dep.mir
    M llvm/test/CodeGen/AMDGPU/sched-barrier-pre-RA.mir
    M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
    M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/MC/AMDGPU/flat-global.s
    A llvm/test/MC/AMDGPU/gfx10_flat_instructions_err.s
    A llvm/test/MC/AMDGPU/gfx11_flat_instructions_err.s
    A llvm/test/MC/AMDGPU/gfx12_flat_instructions_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_flat.txt

  Log Message:
  -----------
  [AMDGPU][MC] Disallow null as saddr in flat instructions (#101730)

Some flat instructions have an saddr operand. When 'null' is provided as
saddr, it may have the same encoding as another instruction. For
example, the instructions 'global_atomic_add v1, v2, null' and
'global_atomic_add v[1:2], v2, off' have the same encoding. This patch
disallows having null as saddr.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll

  Log Message:
  -----------
  [ARM] Fix VMOVRRD combine with non-canonical inserts. (#109639)

In some situations, in the test case here with the multiple calls being
late legalized, we can see inserts of the form:
```
     b = insert a, x, 0
    c = insert b, y, 1
   d = insert c, z, 0
  bc = bitcast d
 e = extract bc, 0
r = vmovrrd e
```
The redundant insert will usually be removed, but in some cases are not
prior to PerformVMOVRRDCombine. The code was finding the first insert
from each lane (x and y), as opposed to the last (z and y).


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/test/CodeGen/ARM/expand-pseudos.mir
    M llvm/test/CodeGen/ARM/vbsl.ll

  Log Message:
  -----------
  [ARM] Fix VBSL Pseudo kill flags. (#109629)

When expanding a VBSP pseudo into VMOV; VBSL, if the first reg was
killed in the BSP then the kill flags could be incorrect copied to the
mov (vorr) and the vbsl. Drop the kill flags.

Note that this sometimes comes up when all the operands of the VBSP are
the same, which can be optimized separately.


  Commit: 1493c247b687160aa92cf13ac1c6f363870bbac0
      https://github.com/llvm/llvm-project/commit/1493c247b687160aa92cf13ac1c6f363870bbac0
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [ASan][test] Fix TestCases/Posix/stack-overflow.cpp on Solaris/sparcv9 (#109101)

When ASan testing is enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-sunos :: TestCases/Posix/stack-overflow.cpp
```
test `FAIL`s:
```
compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp:80:12: error: CHECK: expected string not found in input
 // CHECK: {{stack-overflow on address 0x.* \(pc 0x.* bp 0x.* sp 0x.* T.*\)}}
           ^
AddressSanitizer:DEADLYSIGNAL
AddressSanitizer:DEADLYSIGNAL
=================================================================
==11358==ERROR: AddressSanitizer: SEGV on unknown address 0xff3fff90 (pc 0x000db0c0 bp 0xfeed59f8 sp 0xfeed5978 T0)
==11358==The signal is caused by a READ memory access.
AddressSanitizer:DEADLYSIGNAL
AddressSanitizer: nested bug in the same thread, aborting.
```
It turns out that `sanitizer_linux.cpp` (`GetPcSpBp`) tries to
dereference the stack pointer to get at the saved frame pointer, which
cannot work since `sp` has been invalidated by the stack overflow in the
test. The access attempt thus leads to a second `SEGV`.

Solaris `walkcontext(3C)` doesn't have that problem: in the original
OpenSolaris sources (`$SRC/lib/libc/port/gen/walkstack.c`) they used
`/proc/self/as` to avoid the fault, which is quite heavy-handed. Solaris
11.4 uses a non-faulting load instead (`load_no_fault_uint32`, which
just uses the `lduwa` insn).

This patch follows this lead, returning a `NULL` `bp` in the failure
case. Unfortunately, this leads to `SEGV`s in the depth of the unwinder,
so this patch avoids printing a stack trace in this case.

Tested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.


  Commit: 4ac141683c310447f0efba775dc59b2145511ac0
      https://github.com/llvm/llvm-project/commit/4ac141683c310447f0efba775dc59b2145511ac0
  Author: tomasz-kaminski-sonarsource <79814193+tomasz-kaminski-sonarsource at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/class/class.friend/p7-cxx20.cpp
    M clang/test/CXX/class/class.mfct/p1-cxx20.cpp

  Log Message:
  -----------
  [C++20][Modules] NFC Reworked handling of inline for functions defined in class (#109470)

Reworked handling of implicit inline marking for member and friend
function defined in class.
Now, we handle it in an additive manner, i.e. if such in-class functions
are inline implicitly by language rules,
we mark the as `setImplicitInline`, and perform no action otherwise.
As we never remove inline specifier, the implementation is orthogonal to
other sources of inline
(like `inline`, `constexpr`, e.t.c), and we do not need to handle them
specially.

Also included test for `constexpr`, `consteval` and global module cases.


  Commit: 3907d186d627f8957627b2861cf6f879d07c93c2
      https://github.com/llvm/llvm-project/commit/3907d186d627f8957627b2861cf6f879d07c93c2
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [sanitizer_common] Heed __ndbl_ prefix for 32-bit Linux/sparc64 inter… (#109106)

…ceptors

When ASan testing is enabled on SPARC as per PR #107405, a couple of
tests `FAIL` on Linux/sparc64:
```
  AddressSanitizer-sparc-linux :: TestCases/printf-2.c
  AddressSanitizer-sparc-linux :: TestCases/printf-3.c
  AddressSanitizer-sparc-linux :: TestCases/printf-4.c
  AddressSanitizer-sparc-linux :: TestCases/printf-5.c

  SanitizerCommon-asan-sparc-Linux :: Linux/unexpected_format_specifier_test.cpp
```
It turns out the interceptors aren't used since on Linux/sparc64
`double` and `long double` are the same, and a couple of `stdio`
functions are prefixed with `__nldbl_` (no long double) accordingly.

This patch handles this.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: 4a264c559922a8754a0e28fbf316ba667ec19798
      https://github.com/llvm/llvm-project/commit/4a264c559922a8754a0e28fbf316ba667ec19798
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [sanitizer_common] Fix GetArgsAndEnv on Linux/sparc64 (#109109)

When ASan testing is enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-linux :: TestCases/Posix/print_cmdline.cpp
```
test `FAIL`s. Either `ASAN_OPTIONS=print_cmdline=true` yielded binary
garbage in the `Command:` output or just an empty string.

It turns out one needs to apply an offset to `__libc_stack_end` to get
at the actual `argc`/`argv`, as described in `glibc`'s
`sysdeps/sparc/sparc{32,64}/dl-machine.h` (`DL_STACK_END`).

This patch does this, fixing the test.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: d814006c0aedf806f2ea09660c26f51099020b2c
      https://github.com/llvm/llvm-project/commit/d814006c0aedf806f2ea09660c26f51099020b2c
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [ASan][test] Fix Posix/coverage-fork.cpp on Solaris (#109626)

With ASan testing enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-sunos-dynamic :: TestCases/Posix/coverage-fork.cpp
```
test occasionally `FAIL`s on Solaris/sparcv9:
```
compiler-rt/test/asan/TestCases/Posix/coverage-fork.cpp:46:15: error: CHECK-DAG: expected string not found in input
// CHECK-DAG: Parent PID: [[ParentPID:[0-9]+]]
              ^
```
It turns out that the output for parent and child processes is
interleaved like
```
Parent PID: Child PID: 27426
27425
```
Checking with `truss` shows that the `fprintf`s are implemented as 3
separate `write`s:
```
28489:  write(2, " P a r e n t   P I D :  ", 12)        = 12
28489:  write(2, " 2 8 4 8 9", 5)                       = 5
28489:  write(2, "\n", 1)                               = 1
```

To avoid this, this patch switches the test to use `snprintf`/`write` to
guarantee the output is atomic.

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


  Commit: debc325bb1f58025c44393408a2b5a53ef8041f9
      https://github.com/llvm/llvm-project/commit/debc325bb1f58025c44393408a2b5a53ef8041f9
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/test/CodeGen/Mips/cconv/illegal-vectors.ll

  Log Message:
  -----------
  [MIPS] Fix failing to legalize load+call with vector of non-p2 integer (#109625)

Add a condition to check whether the vector element type is a power of 2.

Fixes #102870.


  Commit: 5cd0900ef6eb97d72803bdca7180538a40431722
      https://github.com/llvm/llvm-project/commit/5cd0900ef6eb97d72803bdca7180538a40431722
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    A llvm/test/Transforms/InstCombine/icmp-inttoptr.ll

  Log Message:
  -----------
  [InstCombine] Compare `icmp inttoptr, inttoptr` values directly (#107012)

InstCombine already has some rules for `icmp ptrtoint, ptrtoint` to drop
the casts and compare the source values. This change adds the same for
the reverse case with `inttoptr`.


  Commit: 3dbd929ea6af134650dd1d91baeb61a4fc1b0eb8
      https://github.com/llvm/llvm-project/commit/3dbd929ea6af134650dd1d91baeb61a4fc1b0eb8
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Update comment referring to SIRemoveShortExecBranches pass (#109756)

That pass no longer exists, since
5df2af8b0ef33f48b1ee72bcd27bc609b898da52 has merged it into
SIPreEmitPeephole.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/codegen.m

  Log Message:
  -----------
  [clang][bytecode] Ignore CPointerToObjCPointerCasts (#109760)


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

  Changed paths:
    M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    M llvm/test/CodeGen/X86/canonicalize-vars.ll

  Log Message:
  -----------
  [X86] Cleanup check prefixes in FCANONICALIZE tests for better sharing


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Allow placement-new in std functions pre-C++26 (#109753)


  Commit: b75174d05aa033a382d4c088e96e068a774f46da
      https://github.com/llvm/llvm-project/commit/b75174d05aa033a382d4c088e96e068a774f46da
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  [compiler-rt] prctl interception update, SECCOMP_MODE_FILTER support. (#107722)


  Commit: eabc8857e77c94a09624c12cc690753f68b87825
      https://github.com/llvm/llvm-project/commit/eabc8857e77c94a09624c12cc690753f68b87825
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c

  Log Message:
  -----------
  [BPF] make __BPF_FEATURE_MAY_GOTO available for cpuv1 (#108071)

For some reason `__BPF_FEATURE_MAY_GOTO` is available for CPUs v{2,3,4}
but is not available for CPU v1. This limitation is arbitrary:
- the instruction is never produced by LLVM backend;
- on Linux Kernel side this instruction is available in kernels that
also support CPUv4.

Hence, it is more consistent to either always allow
`__BPF_FEATURE_MAY_GOTO` or only allow it for CPUv4.


  Commit: 70529b24a30943d46e361d2990268499921e28a2
      https://github.com/llvm/llvm-project/commit/70529b24a30943d46e361d2990268499921e28a2
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/Disassembler/X86/apx/kmov.txt

  Log Message:
  -----------
  [X86][APX] Do not emit {evex} prefix for memory variant (#109759)

This was mistakely changed by #109579, which doesn't match with other
EVEX decoding.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll

  Log Message:
  -----------
  [AArch64][CostModel] Reduce the cost of fadd reduction with fast flag (#108791)

fadd reduction with
  1. Fast flag set
2. No of elements in input vector is power of 2 results in series of
faddp instructions. faddp instruction has latency/throughput identical
to fadd instruction and hence, we set relative cost=1 for faddp as well.

The change didn't show any regression with SPEC17-FP(C/C++),
llvm-test-suite on Neoverse-V2.


  Commit: 3659aa8079e00d7bd4f2d9c68c404a93ec297200
      https://github.com/llvm/llvm-project/commit/3659aa8079e00d7bd4f2d9c68c404a93ec297200
  Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    A llvm/test/CodeGen/AMDGPU/sgpr-spill-fi-skip-processing-stack-arg-dbg-value-list.mir
    A llvm/test/CodeGen/AMDGPU/vgpr-spill-fi-skip-processing-stack-arg-dbg-value-list.mir

  Log Message:
  -----------
  [AMDGPU] Fix handling of DBG_VALUE_LIST while fixing the dead frame indices. (#109685)

Both SGPR->VGPR and VGPR->AGPR spilling code give a fixup to the spill
frame indices referred in debug instructions so that they can be
entirely removed. The stack argument is present at 0th index in
DBG_VALUE and at 2nd index for DBG_VALUE_LIST.

Fixes: SWDEV-484156


  Commit: 30dbbdd2ea25e3ab5596e1fb0474696b242a760c
      https://github.com/llvm/llvm-project/commit/30dbbdd2ea25e3ab5596e1fb0474696b242a760c
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [Bazel] Fix for 127349fcba81646389e4b8202b35405a5fdbef47


  Commit: cc7b24a4d125e9a81480aaaa961a2b963bbb2ea2
      https://github.com/llvm/llvm-project/commit/cc7b24a4d125e9a81480aaaa961a2b963bbb2ea2
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [NFC] Fix typos in comments (#109765)


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

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

  Log Message:
  -----------
  [X86] SimplifyDemandedVectorEltsForTargetNode - reduce vector width of FRSQRT/FRCP ymm nodes.

If we only demand the lower subvector of a FRSQRT/FRCP node, then reduce the width of the instruction.


  Commit: 396f6775143ffa80b9f0e72e7250613092d88124
      https://github.com/llvm/llvm-project/commit/396f6775143ffa80b9f0e72e7250613092d88124
  Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    R llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    R llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
    R llvm/test/MC/AMDGPU/gfx1150_asm_sopp.s
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_sopp.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [AMDGPU] Remove unused VGPRSingleUseHintInsts feature (#109769)


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

  Changed paths:
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [LLD][COFF][NFC] Use dyn_cast on section chunks (#109701)

Instead of dyn_cast_or_null, chunk pointers are never null.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll

  Log Message:
  -----------
  MemCpyOpt: replace an AA query with MSSA query (NFC) (#108535)

Fix a long-standing TODO.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/float-induction.ll

  Log Message:
  -----------
  [VPlan] Fix incorrect argument for CreateBinOp after 06c3a7d2d764.

06c3a7d2d764 incorrectly updated CreateBinOp to pass the debug location,
which gets interpreted as FPMath node. Remove the argument.


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

  Changed paths:
    M lldb/docs/index.rst
    A lldb/docs/resources/addinglanguagesupport.md

  Log Message:
  -----------
  [lldb][docs] Resurrect the information on adding a new language (#109427)

This got deleted in e078c9507c3abb4d9bb2265c366b26557880a3e3, I presume
accidentally, because it didn't have a corresponding rst file for it.

So I've brought it back and converted it into Markdown. The content
remains accurate, from what I know at least.

It's a bit "now draw the rest of the owl" but if nothing else, it gives
you a bunch of important classes to go and research as a starting point.

You can see the original content here:
https://github.com/llvm/llvm-project/blob/5d71fc5d7b5ffe2323418a09db6eddaf84d6c662/lldb/www/adding-language-support.html


  Commit: d4f38f43f5402041dd36977baa459830011d6ac6
      https://github.com/llvm/llvm-project/commit/d4f38f43f5402041dd36977baa459830011d6ac6
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/test/CodeGen/ARM/preferred-function-alignment.ll

  Log Message:
  -----------
  [LLVM][ARM][CodeGen]Define branch instruction alignment for m85 and m7 (#109647)

Branch instruction alignments were not defined for cortex-m85 and
cortex-m7 which misses an optimisation opportunity. With this patch we
see performance improvements as high as 5% on some benchmarks with most
around 1%.


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

  Changed paths:
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/include/llvm/IR/Type.h
    M llvm/lib/IR/LLVMContext.cpp

  Log Message:
  -----------
  [IR] Remove deprecated opaque pointer migration methods

Remove the following methods:

 * Type::getNonOpaquePointerElementType()
 * Type::isOpaquePointerTy()
 * LLVMContext::supportsTypedPointers()
 * LLVMContext::setOpaquePointers()

These were used temporarily during the opaque pointers migration,
and are no longer needed.


  Commit: 3d34053af61ff45e05d230d2678eb8e95322eb14
      https://github.com/llvm/llvm-project/commit/3d34053af61ff45e05d230d2678eb8e95322eb14
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/test/Driver/relax.s
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
    M llvm/test/MC/ELF/relocation-alias.s
    M llvm/test/MC/X86/gotpcrelx.s
    M llvm/test/MC/X86/reloc-directive-elf-64.s

  Log Message:
  -----------
  [X86,MC] Add relocation R_X86_64_REX2_GOTPCRELX (#106681)

For

	mov        name at GOTPCREL(%rip), %reg
	test       %reg, name at GOTPCREL(%rip)
	binop      name at GOTPCREL(%rip), %reg

where binop is one of adc, add, and, cmp, or, sbb, sub, xor
instructions, add

 `R_X86_64_REX2_GOTPCRELX`/`R_X86_64_CODE_4_GOTPCRELX` = 43

if the instruction starts at 4 bytes before the relocation offset. It
similar to R_X86_64_GOTPCRELX.

Linker can treat `R_X86_64_REX2_GOTPCRELX`/`R_X86_64_CODE_4_GOTPCRELX`
as `R_X86_64_GOTPCREL` or convert the above instructions to

	lea	name(%rip), %reg
	mov	$name, %reg
	test	$name, %reg
	binop	$name, %reg

if the first byte of the instruction at the relocation `offset - 4` is
`0xd5` (namely, encoded w/ REX2 prefix) when possible.

Binutils patch:
https://github.com/bminor/binutils-gdb/commit/3d5a60de52556f6a53d71d7e607c6696450ae3e4
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2023-December/131462.html
ABI discussion: https://groups.google.com/g/x86-64-abi/c/KbzaNHRB6QU
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: 6cfe6a6b3e9578be80120add7fbe19506f747196
      https://github.com/llvm/llvm-project/commit/6cfe6a6b3e9578be80120add7fbe19506f747196
  Author: Georgi Mirazchiyski <georgi.mirazchiyski at codeplay.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] Assert no bad shift operations will happen (#108416)

The assumption in the asserts is based on the fact that no SGPR/VGPR
register Arg mask in the ISelLowering and Legalizer can equal zero. They
are implicitly set to ~0 by default (meaning non-masked) or explicitly
to a non-zero value.
The `optimizeCompareInstr` case is different from the above described.
It requires the mask to be a power-of-two because it's a special-case
optimization, hence in this case we still cannot have an invalid shift.
This commit also silences static analysis tools wrt potential bad shifts
that could result from the output of `countr_zero(Mask)`.


  Commit: 5dc15ddf575978e0115b1a6edacb59f056792a80
      https://github.com/llvm/llvm-project/commit/5dc15ddf575978e0115b1a6edacb59f056792a80
  Author: Georgi Mirazchiyski <georgi.mirazchiyski at codeplay.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h

  Log Message:
  -----------
  [AMDGPU] Default-initialize uninitialized class member variables (#108428)


  Commit: 4f8e76684f4c1e67726222c35f173ef722464a7e
      https://github.com/llvm/llvm-project/commit/4f8e76684f4c1e67726222c35f173ef722464a7e
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll

  Log Message:
  -----------
  [AsmPrinter] Do not emit label instructions after the function body if the target is SPIR-V (#107013)

AsmPrinter always creates a symbol for the end of function if valid
debug info is present. However, this breaks SPIR-V target's output,
because SPIR-V specification allows label instructions only inside a
block, not after the function body (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpLabel).
This PR proposes to disable emission of label instructions after the
function body if the target is SPIR-V.

This PR is a fix of the
https://github.com/llvm/llvm-project/issues/102732 issue.


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

  Changed paths:
    M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    A lldb/test/API/functionalities/gdb_remote_client/TestAArch64XMLRegistersSVEOnly.py

  Log Message:
  -----------
  [lldb][AArch64] Create Neon subregs when XML only includes SVE (#108365)

Fixes #107864

QEMU decided that when SVE is enabled it will only tell us about SVE
registers in the XML, and not include Neon registers. On the grounds
that the Neon V registers can be read from the bottom 128 bits of a SVE
Z register (SVE's vector length is always >= 128 bits).

To support this we create sub-registers just as we do for S and D
registers of the V registers. Except this time we use part of the Z
registers.

This change also updates our fallback for registers with unknown types
that are > 128 bit. This is detailed in
https://github.com/llvm/llvm-project/issues/87471, though that covers
more than this change fixes.

We'll now treat any register of unknown type that is >= 128 bit as a
vector of bytes. So that the user gets to see something
even if the order might be wrong.

And until lldb supports vector and union types for registers, this is
also the only way we can get a value to apply the sub-reg to, to make
the V registers.


  Commit: c30fa3cde755e7519f0962f581868a09da1ea130
      https://github.com/llvm/llvm-project/commit/c30fa3cde755e7519f0962f581868a09da1ea130
  Author: Georgi Mirazchiyski <georgi.mirazchiyski at codeplay.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix has_single_bit assertion for Mask in SIInstrInfo (#109785)

Convert the `int64_t` Mask to `uint64_t` for `llvm::has_single_bit` to
compile.


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

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [llvm][docs] Improve formatting of ENABLE_PROJECTS/RUNTIMES description

* Add line breaks so it's clear what should be passed to CMake.
* Make the note into an RST note block.
* Fix a couple of markdown style plain text markers.


  Commit: c1826aeef353bf4bd8b181b47a0dbb1f1af93836
      https://github.com/llvm/llvm-project/commit/c1826aeef353bf4bd8b181b47a0dbb1f1af93836
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir][tensor] Add new helper hooks for RelayoutOp (#109642)

Implements two helper hooks for PackOp and UnPackOP, `getAllOuterDims`
and `getTiledOuterDims`, and adds them to RelayoutOp (that both PackOp
an UnPackOp inherit from).

This improves code re-use and also clarifies the meaning of "outer dims"
and "tiled outer dims".


  Commit: 3e3780ef6ab5902cd1763e28bb143e47091bd23a
      https://github.com/llvm/llvm-project/commit/3e3780ef6ab5902cd1763e28bb143e47091bd23a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-bf16-converts.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Implement nxvf32 fpround to nxvbf16. (#107420)


  Commit: 8ba334bc4ad1e20c8201b85ed0a3e3b87bc47fe1
      https://github.com/llvm/llvm-project/commit/8ba334bc4ad1e20c8201b85ed0a3e3b87bc47fe1
  Author: Dominik Montada <dominik.montada at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-impuse2.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-rm-reg.mir
    A llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties-conflict.mir
    A llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties.mir
    M llvm/test/CodeGen/X86/sjlj-shadow-stack-liveness.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-func-info.mir

  Log Message:
  -----------
  [MIR] Allow overriding isSSA, noPhis, noVRegs in MIR input (#108546)

Allow setting the computed properties IsSSA, NoPHIs, NoVRegs for MIR
functions in MIR input. The default value is still the computed value.
If the property is set to false, the computed result is ignored. Conflicting
values (e.g. setting IsSSA where the input MIR is clearly not SSA) lead to
an error.

Closes #37787


  Commit: db054a197002c4d6b2c568d7c36d86f5fccade2d
      https://github.com/llvm/llvm-project/commit/db054a197002c4d6b2c568d7c36d86f5fccade2d
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll

  Log Message:
  -----------
  [AArch64][SME] Fix ADDVL addressing to scavenged stackslot. (#109674)

In https://reviews.llvm.org/D159196 we avoided stackslot scavenging
when there was no FP available. But in the case where FP is available
we need to actually prefer using the FP over the BP.

This change affects more than just SME, but it should be a general
improvement, since any slot above the (address pointed to by) FP
is always closer to FP than BP, so it makes sense to always favour
using the FP to address it when the FP is available.

This also fixes the issue for SME where this is not just preferred
but required.


  Commit: 3073c3c2290a6d9b12fbaefa40dd22eef6312895
      https://github.com/llvm/llvm-project/commit/3073c3c2290a6d9b12fbaefa40dd22eef6312895
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/AArch64/sincos-stack-slots.ll

  Log Message:
  -----------
  [SDAG] Avoid creating redundant stack slots when lowering FSINCOS (#108401)

When lowering `FSINCOS` to a library call (that takes output pointers)
we can avoid creating new stack allocations if the results of the
`FSINCOS` are being stored. Instead, we can take the destination
pointers from the stores and pass those to the library call.

---

Note: As a NFC this also adds (and uses) `RTLIB::getFSINCOS()`.


  Commit: 3ec5e74c0dc99095f5961a31421c7adaf2860ec8
      https://github.com/llvm/llvm-project/commit/3ec5e74c0dc99095f5961a31421c7adaf2860ec8
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] Fix layering for 127349fcba81646389e4b8202b35405a5fdbef47


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

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/listflatten-error.td
    A llvm/test/TableGen/listflatten.td

  Log Message:
  -----------
  [TableGen] Add a !listflatten operator to TableGen (#109346)

Add a !listflatten operator that will transform an input list of type
`list<list<X>>` to `list<X>` by concatenating elements of the
constituent lists of the input argument.


  Commit: 12033e550b186f3b3e4d2ca3ce9cfc3d3a3fa6e1
      https://github.com/llvm/llvm-project/commit/12033e550b186f3b3e4d2ca3ce9cfc3d3a3fa6e1
  Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/SPARC/salvage-debug-isel.ll
    M llvm/test/CodeGen/X86/pr57673.ll

  Log Message:
  -----------
  [ISelDAG] Salvage debug info at isel by referring to frame indices. (#109126)

We can refer to frame index locations when salvaging debug info
for certain nodes, which prevents the compiler from optimizing
out the location.


  Commit: b47d1787b51f55d69ef1b4f88e72cd54af451649
      https://github.com/llvm/llvm-project/commit/b47d1787b51f55d69ef1b4f88e72cd54af451649
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir

  Log Message:
  -----------
  [mlir][vector] Refine vectorisation of tensor.extract (#109580)

This PR fixes a bug in `isLoopInvariantIdx`. It makes sure that the
following case is vectorised as `vector.gather` (as opposed to
attempting a contiguous load):
```mlir
  func.func @index_from_output_column_vector_gather_load(%src: tensor<8x128xf32>) -> tensor<8x1xf32> {
    %c0 = arith.constant 0 : index
    %0 = tensor.empty() : tensor<8x1xf32>
    %res = linalg.generic {
      indexing_maps = [#map],
      iterator_types = ["parallel", "parallel"]
    } outs(%0 : tensor<8x1xf32>) {
    ^bb0(%arg1: f32):
        %1 = linalg.index 0 : index
      %extracted = tensor.extract %src[%1, %c0] : tensor<8x128xf32>
        linalg.yield %extracted : f32
    } -> tensor<8x1xf32>
    return %res : tensor<8x1xf32>
  }
```

Specifically, when looking for loop-invariant indices in
`tensor.extract` Ops, any `linalg.index` Op that's used in address
colcluation should only access loop dims that are == 1. In the example
above, the following does not meet that criteria:
```mlir
  %1 = linalg.index 0 : index
```

Note that this PR also effectively addresses the issue fixed in #107922,
i.e. exercised by:
  * `@vectorize_nd_tensor_extract_load_1d_column_vector_using_gather_load`

`getNonUnitLoopDim` introduced in #107922 is still valid though. In
fact, it is required to identify that the following case is a contiguous
load:
```mlir
  func.func @index_from_output_column_vector_contiguous_load(%src: tensor<8x128xf32>) -> tensor<8x1xf32> {
    %c0 = arith.constant 0 : index
    %0 = tensor.empty() : tensor<8x1xf32>
    %res = linalg.generic {
      indexing_maps = [#map],
      iterator_types = ["parallel", "parallel"]
    } outs(%0 : tensor<8x1xf32>) {
    ^bb0(%arg1: f32):
        %1 = linalg.index 0 : index
      %extracted = tensor.extract %src[%c0, %1] : tensor<8x128xf32>
        linalg.yield %extracted : f32
    } -> tensor<8x1xf32>
    return %res : tensor<8x1xf32>
  }
```
Some logic is still missing to lower the above to
`vector.transfer_read`, so it is conservatively lowered to
`vector.gather` instead (see TODO in
`getTensorExtractMemoryAccessPattern`).

There's a few additional changes:
  * `getNonUnitLoopDim` is simplified and renamed as
    `getTrailingNonUnitLoopDimIdx`, additional comments are added (note
    that the functionality didn't change);
  * extra comments in a few places, variable names in comments update to
    use Markdown (which is the preferred approach in MLIR).

This is a follow-on for:
  * https://github.com/llvm/llvm-project/pull/107922
  * https://github.com/llvm/llvm-project/pull/102321


  Commit: 106e4506ce6084e10353073d8880e2f736b74981
      https://github.com/llvm/llvm-project/commit/106e4506ce6084e10353073d8880e2f736b74981
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [OpenMP][Docs] Update OpenMP release notes with 'omp scope' (#109752)

Release notes: added 'omp scope' directive to "OpenMP Support" section
of "What's New in Clang"


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll

  Log Message:
  -----------
  [AMDGPU] Use shared prefix in GFX12 barrier test


  Commit: 57bee1e4322d34f9760563081f9c10b6850bc2bf
      https://github.com/llvm/llvm-project/commit/57bee1e4322d34f9760563081f9c10b6850bc2bf
  Author: Xing Guo <higuoxing+github at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/ELF_R_X86_64_PC.s
    R llvm/test/ExecutionEngine/JITLink/x86-64/ELF_R_X86_64_PC8.s

  Log Message:
  -----------
  [JITLink] Add support for R_X86_64_PC16 relocation type. (#109630)

This patch adds support for R_X86_64_PC16 relocation type and
x86_64::Delta16 edge kind. This patch also adds missing test cases for
R_X86_64_PC32, R_X86_64_PC64 relocation types.


  Commit: 02a334de6690202154ef09456c581618ff290f9a
      https://github.com/llvm/llvm-project/commit/02a334de6690202154ef09456c581618ff290f9a
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [SPIR-V] Fix bad insertion for type/id MIR (#109686)

Those instructions were inserted either after the instruction using it,
or in the middle of the module.
The first directly causes an issue. The second causes a more subtle
issue: the first type the type is inserted, the emission is fine, but
the second times, the first instruction is reused, without checking its
position in the function. This can lead to the second usage dominating
the definition.

In SPIR-V, types are usually in the header, above all code definition,
but at this stage I don't think we can, so what I do instead is to emit
it in the first basic block.

This commit reduces the failed tests with expensive checks from 107 to
71.

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: fe7bc872aad83fc0d5cf998230df752e73bb696d
      https://github.com/llvm/llvm-project/commit/fe7bc872aad83fc0d5cf998230df752e73bb696d
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/test/DebugInfo/Generic/debug-ranges-duplication.ll

  Log Message:
  -----------
  [DebugInfo][z/OS] XFAIL debug-ranges-duplication.ll on z/OS (#109681)

Same fix was provided for AIX in commit
704da919bafa5b088223f9d77424f24ae754539e.
The issue is unsupported DWARF 5 section with the following assertion:

`Assertion failed: Section && "Cannot switch to a null section!", file:
llvm/lib/MC/MCStreamer.cpp, line: 1266 `


  Commit: 0de1e3e787c6d78b87ccb865ba2f2daf8d8e4ecc
      https://github.com/llvm/llvm-project/commit/0de1e3e787c6d78b87ccb865ba2f2daf8d8e4ecc
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp

  Log Message:
  -----------
  [;SystemZ][z/OS] Fix llvm-ctxprof to open input files in text mode (#109691)

Reading text files on z/OS relies on auto conversion to handle
ASCII/EBCDIC correctly. For this to work files need to be opened in text
mode is that is the type of the file. This PR fixes `llvm-ctxprof`
utility in this regards which in turn fixes the following LIT failure on
z/OS:

`FAIL: LLVM :: Analysis/CtxProfAnalysis/flatten-zero-path.ll`


  Commit: 622ae7ffa432ca5985cf1655cf499e04b289bbf2
      https://github.com/llvm/llvm-project/commit/622ae7ffa432ca5985cf1655cf499e04b289bbf2
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-insr.ll

  Log Message:
  -----------
  [LLVM][InstCombine][AArch64] sve.insr(splat(x), x) ==> splat(x) (#109445)

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


  Commit: 216e1b90c4a988880b772b8d152769f7d0cac0c6
      https://github.com/llvm/llvm-project/commit/216e1b90c4a988880b772b8d152769f7d0cac0c6
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.h

  Log Message:
  -----------
  [rtsan] Remove std::variant from rtsan diagnostics (#109786)

Following issue #109529 and PR
#109715, this PR removes the
`std::variant` in rtsan's diagnostics code, in favour of a solution by
`enum` without the C++ runtime.


  Commit: b1e4656e8ee3289dc5f3139fc8eb33152f96bfe6
      https://github.com/llvm/llvm-project/commit/b1e4656e8ee3289dc5f3139fc8eb33152f96bfe6
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp

  Log Message:
  -----------
  [NFC][analyzer] Make `invalidateRegions` accept `Stmt` instead of `Expr` (#109792)

As was reported
[here](https://github.com/llvm/llvm-project/pull/103714#pullrequestreview-2238037812),
`invalidateRegions` should accept `Stmt` instead of `Expr`. This
conversion is possible, since `Expr` was anyway converted back to `Stmt`
later.

This refactoring is needed to fix another FP related to use of inline
assembly. The fix would be to change `State->bindLoc` to
`state->invalidateRegions` inside inline assembly visitor, since
`bindLoc` only binds to offset 0, which is not really correct semantics
in case of inline assembly.


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

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

  Log Message:
  -----------
  [LV] Remove more references of unrolled parts after 57f5d8f2fe.

Continue to clean up some now stale references of unroll parts and
related terminology as pointed out post-commit for 06c3a7d.


  Commit: 8b5e841487976ecc4233227fdd069f5a5f4443f0
      https://github.com/llvm/llvm-project/commit/8b5e841487976ecc4233227fdd069f5a5f4443f0
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Updates XeGPU TensorDescAttr and Refine Gather/Scatter definition (#109675)

Bring back #109144 with fixes to VectorToXeGPU


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

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    R llvm/test/CodeGen/NVPTX/intrin-nocapture.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  [NVVM] Upgrade nvvm.ptr.* intrinics to addrspace cast (#109710)

Remove the following intrinsics which can be trivially replaced with an
`addrspacecast`

  * llvm.nvvm.ptr.gen.to.global
  * llvm.nvvm.ptr.gen.to.shared
  * llvm.nvvm.ptr.gen.to.constant
  * llvm.nvvm.ptr.gen.to.local
  * llvm.nvvm.ptr.global.to.gen
  * llvm.nvvm.ptr.shared.to.gen
  * llvm.nvvm.ptr.constant.to.gen
  * llvm.nvvm.ptr.local.to.gen

Also, cleanup the NVPTX lowering of `addrspacecast` making it more
concise.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/select-profitability.ll

  Log Message:
  -----------
  [RISCV][TTI/SLP] Add test coverage for select of constants costing

Provides coverage for an upcoming change which accounts for the cost
of materializing the vector constants in the vector select.


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

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

  Log Message:
  -----------
  [LV] Remove another reference of unrolled parts after 57f5d8f2fe.

Continue to clean up some now stale references of unroll parts and
related terminology as pointed out post-commit for 06c3a7d.


  Commit: fa17977c315062646d4d1e01262d68dd69313e61
      https://github.com/llvm/llvm-project/commit/fa17977c315062646d4d1e01262d68dd69313e61
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [libc][bazel] Remove specializations from libc_math_function. (#109802)

There are no more specializations `libc/src/math/x86_64` or
`libc/src/math/aarch64` anymore. All implementations are going through
the generic implementation.


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

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] prctl interception update, SECCOMP_MODE_FILTER support. (#107722)"

This reverts commit b75174d05aa033a382d4c088e96e068a774f46da.
Does not build on Android, see comments on
https://github.com/llvm/llvm-project/pull/107722


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

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp

  Log Message:
  -----------
  [Rewrite] Use SmallSetVector (NFC) (#109746)

We can combine:

  SmallVector<ValueDecl *, 8> BlockByCopyDecls;
  llvm::SmallPtrSet<ValueDecl *, 8> BlockByCopyDeclsPtrSet;

into:

  llvm::SmallSetVector<ValueDecl *, 8> BlockByCopyDecls;

Likewise, we can combine:

  SmallVector<ValueDecl *, 8> BlockByRefDecls;
  llvm::SmallPtrSet<ValueDecl *, 8> BlockByRefDeclsPtrSet;

into:

  llvm::SmallSetVector<ValueDecl *, 8> BlockByRefDecls;


  Commit: 36dce5091e384087f5d1ceaf3777ac14f41087e4
      https://github.com/llvm/llvm-project/commit/36dce5091e384087f5d1ceaf3777ac14f41087e4
  Author: spupyrev <spupyrev at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [CodeLayout][NFC] Format and minor refactoring of MBP (#109729)

This PR has two (NFC) commits:
- clang-format MBP
- move a part of tail duplication and block aligning into helper
functions for better readability.


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

  Changed paths:
    M llvm/include/llvm/Analysis/PtrUseVisitor.h

  Log Message:
  -----------
  [PtrInfo] Use plain pointer over 'PointerIntPair<Instruction *, 1, bool>'. NFC (#109772)

This PtrInfo holds a pointer and whether it has been set. We can
represent this sentinal value as a nullptr, as we would for most
pointers. This assumes that the value is never set to nullptr, but from
the uses that appears to be true and already assumed.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll

  Log Message:
  -----------
  [AMDGPU] Fix chain handling when lowering barrier intrinsics (#109799)

Previously we would fail an assertion in RemoveNodeFromCSEMaps after
lowering:
t3: ch = llvm.amdgcn.s.barrier.join t0, TargetConstant:i64<2973>,
Constant:i32<0>
to:
  t6: ch = S_BARRIER_JOIN_IMM TargetConstant:i32<0>


  Commit: d4a38c8ff5c993e14c42895b51a47272fb03a857
      https://github.com/llvm/llvm-project/commit/d4a38c8ff5c993e14c42895b51a47272fb03a857
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll

  Log Message:
  -----------
  [DFAJumpThreading] Handle select unfolding when user phi is not a dir… (#109511)

…ect successor

Previously the code assumed that the select instruction is defined in a
block that is a direct predecessor of the block where the PHINode uses
it. So, we were hitting an assertion when we tried to access the def
block as an incoming block for the user phi node.

This patch handles that case by using the correct end block and creating
a new phi node that aggregates both the values of the select in that end
block, and then using that new unfolded phi to overwrite the original
user phi node.

Fixes #106083

Change-Id: Ie471994cca232318f74a6e6438efa21e561c2dc0


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

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

  Log Message:
  -----------
  [clang][bytecode] Fix vector shifts on big-endian systems (#109800)

For shifts, the LHS and RHS element types might be different. The
variable naming here could probably use some love now, but I'm trying to
fix this as fast as possible.

See the discussion in https://github.com/llvm/llvm-project/pull/108949


  Commit: 206408732bca2ef464732a39c8319d47c8a1dbea
      https://github.com/llvm/llvm-project/commit/206408732bca2ef464732a39c8319d47c8a1dbea
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h

  Log Message:
  -----------
  [lldb][NFC] Add a missing setter method for UnwindPlans (#109751)

The UnwindPlan class has getter and setter methods for specifying an
abstract register location, but it doesn't have a setter for a DWARF
Expression register location. This hasn't been needed for any of the
UnwindPlans that we do in mainline lldb yet, but it is used in the Swift
language SwiftLanguageRuntime plugin which creates UnwindPlan for async
functions. While it's currently unused on main branch, this is a
straightforward setter in the same form as the others, the only caveat
being that it doesn't own the dwarf expression bytes, it has a pointer
to them.


  Commit: 7773243d9916f98ba0ffce0c3a960e4aa9f03e81
      https://github.com/llvm/llvm-project/commit/7773243d9916f98ba0ffce0c3a960e4aa9f03e81
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    R llvm/test/Transforms/SLPVectorizer/X86/peek-through-shuffle.ll
    R llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
    R llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    R llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
    R llvm/test/Transforms/SLPVectorizer/X86/pr31599-inseltpoison.ll
    R llvm/test/Transforms/SLPVectorizer/X86/pr31599.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction-gather-non-scheduled-extracts.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction-modified-values.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reordered-top-scalars.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reordering-single-phi.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reused-buildvector-matching-vectorized-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
    R llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
    R llvm/test/Transforms/SLPVectorizer/X86/scalarazied-result.ll
    R llvm/test/Transforms/SLPVectorizer/X86/scalarization-overhead.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shuffle-multivector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shufflebuilder-bug.ll
    R llvm/test/Transforms/SLPVectorizer/X86/stores-non-ordered.ll
    R llvm/test/Transforms/SLPVectorizer/X86/unknown-entries.ll
    R llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
    A llvm/test/Transforms/SLPVectorizer/peek-through-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/phi-node-bitwidt-op-not.ll
    A llvm/test/Transforms/SLPVectorizer/phi-undef-input.ll
    A llvm/test/Transforms/SLPVectorizer/postponed_gathers.ll
    A llvm/test/Transforms/SLPVectorizer/pr31599-inseltpoison.ll
    A llvm/test/Transforms/SLPVectorizer/pr31599.ll
    A llvm/test/Transforms/SLPVectorizer/reduction-gather-non-scheduled-extracts.ll
    A llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    A llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
    A llvm/test/Transforms/SLPVectorizer/reordered-top-scalars.ll
    A llvm/test/Transforms/SLPVectorizer/reordering-single-phi.ll
    A llvm/test/Transforms/SLPVectorizer/reused-buildvector-matching-vectorized-node.ll
    A llvm/test/Transforms/SLPVectorizer/root-trunc-extract-reuse.ll
    A llvm/test/Transforms/SLPVectorizer/same-scalar-in-same-phi-extract.ll
    A llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll
    A llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
    A llvm/test/Transforms/SLPVectorizer/shrink_after_reorder2.ll
    A llvm/test/Transforms/SLPVectorizer/shuffle-multivector.ll
    A llvm/test/Transforms/SLPVectorizer/shufflebuilder-bug.ll
    A llvm/test/Transforms/SLPVectorizer/stores-non-ordered.ll
    A llvm/test/Transforms/SLPVectorizer/unknown-entries.ll
    A llvm/test/Transforms/SLPVectorizer/zext-incoming-for-neg-icmp.ll

  Log Message:
  -----------
  [SLP] Move more X86 tests to common directory (#109821)

Some of the tests from the X86 directory can be generalized to improve
coverage for other architectures


  Commit: fe6a3d46aa658fdd1e9a6cbb2031a597a3e59536
      https://github.com/llvm/llvm-project/commit/fe6a3d46aa658fdd1e9a6cbb2031a597a3e59536
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/stdio/gpu/CMakeLists.txt
    A libc/src/stdio/gpu/rename.cpp
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Implement the 'rename' function on the GPU (#109814)

Summary:
Straightforward implementation like the other `stdio.h` functions.


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

  Changed paths:
    M llvm/test/CodeGen/X86/pmulh.ll

  Log Message:
  -----------
  [X86] Add test coverage for #109790


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

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

  Log Message:
  -----------
  [X86] combinePMULH - simplify pattern matching with SDPatternMatch. NFC.


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

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

  Log Message:
  -----------
  [X86] combinePMULH - pull out repeated IsTruncateFree helper. NFC.


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

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

  Log Message:
  -----------
  [X86] combinePMULH - we can treat constant vectors as freely truncatable.

Fixes #109790


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

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

  Log Message:
  -----------
  [RISCV] Treat insert_subvector into undef with index==0 as legal. (#109745)

Regardless of fixed and scalable type. We can always use subreg ops.

We don't need to do any container conversion.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll

  Log Message:
  -----------
  [X86] Add test coverage for #109272


  Commit: 04b443e77845cd20ab5acc4356cee509316135dd
      https://github.com/llvm/llvm-project/commit/04b443e77845cd20ab5acc4356cee509316135dd
  Author: jimingham <jingham at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/docs/use/python-reference.rst
    M lldb/examples/python/cmdtemplate.py
    M lldb/examples/python/templates/parsed_cmd.py
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Utility/CompletionRequest.h
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
    M lldb/test/API/commands/command/script/add/test_commands.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  Add the ability to define custom completers to the parsed_cmd template. (#109062)

If your arguments or option values are of a type that naturally uses one
of our common completion mechanisms, you will get completion for free.
But if you have your own custom values or if you want to do fancy things
like have `break set -s foo.dylib -n ba<TAB>` only complete on symbols
in foo.dylib, you can use this new mechanism to achieve that.


  Commit: 090755234e5033de67be994e99e31f4d13dcdcc5
      https://github.com/llvm/llvm-project/commit/090755234e5033de67be994e99e31f4d13dcdcc5
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp

  Log Message:
  -----------
  [rtsan] Refactor initialization state to prevent hangs (#109830)

Move to tri state (Uninitialized, Initialized, Initializing) for our
init state. We currently just have 2 (Uninitialized and Initialized).


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

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

  Log Message:
  -----------
  [SandboxIR] Implement a few Instruction member functions (#109820)

This patch implements a few sandboxir::Instruction predicate functions.


  Commit: 234193bae6cf8b19703c6e543b100517bb99a9f7
      https://github.com/llvm/llvm-project/commit/234193bae6cf8b19703c6e543b100517bb99a9f7
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorize-convolution.mlir

  Log Message:
  -----------
  [mlir][linalg] Vectorization support for convolution of i1 type (#109480)

Normally convolutions present with the following linalg op region
```
^bb0(%arg14: i4, %arg15: i4, %arg16: i4):
  %17 = arith.muli %arg14, %arg15 : i4
  %18 = arith.addi %arg16, %17 : i4
  linalg.yield %18 : i4
  ```
  However, for i1 due to strength reduction we get something like
  ```
  ^bb0(%arg14: i1, %arg15: i1, %arg16: i1):
  %17 = arith.andi %arg14, %arg15 : i1
  %18 = arith.ori %arg16, %17 : i1
  linalg.yield %18 : i1
  ```
  This PR updates the logic to support this region for i1 types.


  Commit: 26029d77a57cb4aaa1479064109e985a90d0edd8
      https://github.com/llvm/llvm-project/commit/26029d77a57cb4aaa1479064109e985a90d0edd8
  Author: Tex Riddell <texr at microsoft.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/atan2.ll
    A llvm/test/CodeGen/DirectX/atan2_error.ll

  Log Message:
  -----------
  [DirectX] Add atan2 intrinsic and expand for DXIL backend (p1) (#108865)

This change is part of this proposal:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This preliminary work adds the intrinsic to llvm and expands using atan
intrinsic for DXIL backend, since DXIL has no atan2 op.

Part 1 for Implement the atan2 HLSL Function #70096.


  Commit: 12285cca5ed713dfd483bd96422a5607b8af0085
      https://github.com/llvm/llvm-project/commit/12285cca5ed713dfd483bd96422a5607b8af0085
  Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
    A llvm/test/tools/dsymutil/X86/dwarf5-many-include-directories.test

  Log Message:
  -----------
  [DWARF] Use ULEB128 and not just one byte for directory indices (#109067)

According to the standard `DW_LNCT_directory_index` can be `data1`,
`data2`, or `udata` (see 6.2.4.1). The code was using `data1`, but this
limits the number of directories to 256, even if the variable holding
the directory index is a `uint64_t`. `dsymutil` was hitting an assertion
when trying to write directory indices higher than 255.

Modify the classic and the parallel DWARF linkers to use `udata` and
encode the directory indices as ULEB128 and provide a test that has more
than 256 directories to check the changes are working as expected.

For people that were using `dsymutil` with CUs that had between 128-256
directories, this will mean that for those indices 2 bytes will be used
now, instead of just one.


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

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    R llvm/test/CodeGen/DirectX/atan2.ll
    R llvm/test/CodeGen/DirectX/atan2_error.ll

  Log Message:
  -----------
  Revert "[DirectX] Add atan2 intrinsic and expand for DXIL backend (p1)" (#109842)

Reverts llvm/llvm-project#108865

Broke the Docs build


  Commit: 312f73765b29db468cd282130d1b519ed3eeae96
      https://github.com/llvm/llvm-project/commit/312f73765b29db468cd282130d1b519ed3eeae96
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lld/test/wasm/unsupported-pic-relocations.s
    M lld/test/wasm/unsupported-pic-relocations64.s
    M lld/wasm/Relocations.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Don't report relocation error when linking with -r/--relocatable (#109822)

Followup to #104926.

We ran into issues on the emscripten waterfall where relocation against
`__dso_handle` were being reported as errors even though
`-r/--relocatable` was being used to generate object file output rather
than executable output.


  Commit: a977b9460f8f007a7dedd9197adc7d76bb95b0b6
      https://github.com/llvm/llvm-project/commit/a977b9460f8f007a7dedd9197adc7d76bb95b0b6
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp

  Log Message:
  -----------
  Reapply [compiler-rt] prctl interception update, SECCOMP_MODE_FILTER … (#109834)

…support. #107722


  Commit: 6d3d5f30bd58af6d16d0b4b7d32dc3ead1e098ec
      https://github.com/llvm/llvm-project/commit/6d3d5f30bd58af6d16d0b4b7d32dc3ead1e098ec
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/revec-fix-109835.ll

  Log Message:
  -----------
  [SLP][REVEC] getWidenedType should be used instead of FixedVectorType::get. (#109843)

reference: https://github.com/llvm/llvm-project/issues/109835


  Commit: 71ca9fcb8dc9ea0e1e3a4a47820edc78c398a85e
      https://github.com/llvm/llvm-project/commit/71ca9fcb8dc9ea0e1e3a4a47820edc78c398a85e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/unittests/MI/LiveIntervalTest.cpp

  Log Message:
  -----------
  llvm-reduce: Don't print verifier failed machine functions (#109673)

This produces far too much terminal output, particularly for the
instruction reduction. Since it doesn't consider the liveness of of
the instructions it's deleting, it produces quite a lot of verifier
errors.


  Commit: a6bdf3face377ee7ea84a02bada8a7e2ff380fe8
      https://github.com/llvm/llvm-project/commit/a6bdf3face377ee7ea84a02bada8a7e2ff380fe8
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/lit.cfg.py

  Log Message:
  -----------
  [asan][windows][tests] support MSVC compiler-id in asan tests (#109706)

This follows up on https://github.com/llvm/llvm-project/pull/108255 to
allow actually running the test suite with MSVC. Note, however, that
MSVC can't yet build compiler-rt, most tests don't yet pass with msvc,
and building and testing with different compilers is ill-supported.
Follow ups will fix the first two issues, the third is future work.

Note that `/Zi` is removed from the clang-cl command line, but lit as a
whole adds `-gcodeview`, so there should still be debug info.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Add createPtrAdd helper (NFC).

Preparation for https://github.com/llvm/llvm-project/pull/106431.


  Commit: 9830156f623c56062bf6df1b4c4b4bd8ab5bd57c
      https://github.com/llvm/llvm-project/commit/9830156f623c56062bf6df1b4c4b4bd8ab5bd57c
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] add true16 and fake16 test file for vop3 instructions (#109695)

duplicating mc test, and updating proper flag for true16 and fake16 test
file for vop3 instructions. This is preparing for the up-coming VOP3
true16 changes


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

  Changed paths:
    M llvm/include/llvm/Support/OptionStrCmp.h
    M llvm/test/TableGen/listflatten-error.td
    M llvm/test/TableGen/listflatten.td

  Log Message:
  -----------
  [NFC] Fix line endings for OptionStrCmp.h and .td test files (#109806)

Fix line endings for these files to Unix style.


  Commit: 38371a1855dd891fdd0a6cf437e7c25b80f36dfe
      https://github.com/llvm/llvm-project/commit/38371a1855dd891fdd0a6cf437e7c25b80f36dfe
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp

  Log Message:
  -----------
  [rtsan][NFC] Make Uninitialzed state explicit (#109856)

Follow on to #109830 

There should be no functional change, as enums start at 0 anyway. This
just makes the code more readable and prevents any future bugs.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
    M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll

  Log Message:
  -----------
  [ctx_prof] Automatically convert available external linkage to local for modules with contextual roots (#109203)

For the modules containing context roots, the way IPO happens will potentially result in imported functions that are differently specialized (even if themselves not inlined) than their originals. So we want to convert them to local rather than elide them.

Eventually we'd perform this as a ThinLTO directive.


  Commit: cf9fc5e22fa51e5b3a8182e7ef408cd77064a664
      https://github.com/llvm/llvm-project/commit/cf9fc5e22fa51e5b3a8182e7ef408cd77064a664
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M cmake/Modules/CMakePolicy.cmake

  Log Message:
  -----------
  [CMake] enable CMP0147 policy if available (#109150)

Closes #38383.

This enables parallel custom build commands, which improve compilation
time on Windows with Visual Studio.


  Commit: b4130bee6bfd34d8045f02fc9f951bcb5db9d85c
      https://github.com/llvm/llvm-project/commit/b4130bee6bfd34d8045f02fc9f951bcb5db9d85c
  Author: Zentrik <llvm.zentrik at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp

  Log Message:
  -----------
  Fix libFuzzer not building with pthreads on Windows (#109525)

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


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the operand reordering and bad reused values decision


  Commit: b9bd8ca24e46c1fd6fa343a248936e395f103765
      https://github.com/llvm/llvm-project/commit/b9bd8ca24e46c1fd6fa343a248936e395f103765
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/Options.td
    M lld/docs/ReleaseNotes.rst
    A lld/test/COFF/Inputs/include1d.yaml
    M lld/test/COFF/include.test
    M lld/test/COFF/include2.test

  Log Message:
  -----------
  [LLD][COFF] Adds `/includeglob` flag (#109721)

This implements parity with the `--undefined-glob` flag on
[ELF](https://reviews.llvm.org/D63244), but for COFF.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll

  Log Message:
  -----------
  [SLP]Better analysis of the repeated instructions during operands reordering

When doing the repeated instructions analysis, better to make the
reordering non-profitable, if the number of unique instructions is not
power-of-2. In this case better to keep power-of-2 elements as this
allows better vectorization.

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


  Commit: cace9869775a185793122f845d81a5ff46f15728
      https://github.com/llvm/llvm-project/commit/cace9869775a185793122f845d81a5ff46f15728
  Author: Evan Wilde <ewilde at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/cmake/modules/CMakeLists.txt
    M llvm/cmake/modules/LLVMConfig.cmake.in

  Log Message:
  -----------
  Export empty vt_gen target (for standalone builds) (#109817)

Fixing the standalone builds by exporting the vt_gen target so that the
sources of the clangCodeGen target can form an explicit dependency edge
on it.


  Commit: df4f828938db807fc7c4611896fe9659af482e81
      https://github.com/llvm/llvm-project/commit/df4f828938db807fc7c4611896fe9659af482e81
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h

  Log Message:
  -----------
  [lldb][NFC] Replace lldb's DWARFFormValue::ValueType with llvm's (#109853)


  Commit: 5d88fd33ee03105c02130e4f130ccf87997d940e
      https://github.com/llvm/llvm-project/commit/5d88fd33ee03105c02130e4f130ccf87997d940e
  Author: Eric Fiselier <eric at efcs.ca>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libcxx/utils/ci/docker-compose.yml

  Log Message:
  -----------
  attempt to bump actions runner bot version so I can build a new image


  Commit: aeb18ebbe0a1a2fbce9b432eefed46c1d90968ea
      https://github.com/llvm/llvm-project/commit/aeb18ebbe0a1a2fbce9b432eefed46c1d90968ea
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M libc/src/sys/socket/linux/CMakeLists.txt
    M libc/src/sys/socket/linux/recv.cpp
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/linux/recvmsg.cpp
    M libc/src/sys/socket/linux/socketpair.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel

  Log Message:
  -----------
  [libc] Add MSAN unpoison annotations to recv funcs (#109844)

Anywhere a struct is returned from the kernel, we need to explicitly
unpoison it for MSAN. This patch does that for the recv, recvfrom,
recvmsg, and socketpair functions.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h

  Log Message:
  -----------
  [memprof] Use BLAKE for FrameId (#109501)

This patch uses a stronger hash function for FrameId.

Without this patch, I've observed hash collisions in fairly common
scenarios.  Specifically, for a given GUID, I see three pairs of hash
collisions in the two-dimensional range 1 <= LineOffset <= 70 and
1 <= Column <= 50, which may be a bit too frequent.  With the new
function, I don't see collisions at all even for a large profile.

Impact on serialization/deserialization should be as follows:

- Up to indexed memprof format Version 2, inclusive: The FrameIds
  computed with the new hash function will show up as part of the
  profile file.  However, the deserializer only treats FrameIds as
  keys (but not hash values) to retrieve Frames from the on-disk hash
  table, so a change of the hash function shouldn't matter.

- For indexed memprof format Version 3, FrameIds do not show up at all
  in the resulting profile file.  FrameIds are only used to break ties
  when we sort Frames in writeMemProfFrameArray.


  Commit: ce1f01b887ea5945ec3ffb45e05e674804d5d7a7
      https://github.com/llvm/llvm-project/commit/ce1f01b887ea5945ec3ffb45e05e674804d5d7a7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Symbol/UnwindPlan.cpp

  Log Message:
  -----------
  [lldb][NFC] Add the UnwindPlan method for the header update

In 206408732bca2ef464732a39c8319d47c8a1dbea I updated the
UnwindPlan header to include a new method, but didn't add
the actual implementation.  Fix that.


  Commit: ab0bd344d6556634646001f720e9a0b47801a1a4
      https://github.com/llvm/llvm-project/commit/ab0bd344d6556634646001f720e9a0b47801a1a4
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [compiler-rt] Fix #109834 for Android (#109876)


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV] Add reversed select testcase for canSplatOperand [nfc]


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

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

  Log Message:
  -----------
  [RISCV] Don't create MachineMemOperand in foldMemoryOperandImpl. (#109840)

The caller already does this after we return. I think it will overwrite
any MMO we add.

I'm the original author of this code and I'm not sure why I did it.


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

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

  Log Message:
  -----------
  [RISCV] Don't create insert/extract subreg during lowering. (#109754)

Create the equivalent INSERT_SUBVECTOR/EXTRACT_SUBVECTOR instead.

When we tried porting this to global isel, we noticed that subreg
operations are created early. We aren't able to do this until
instruction selection in global isel.

For SelectionDAG, it makes sense to use insert/extract_subvector as the
canonical form for these operations pre-isel. If it had come into
SelectionDAG as a insert/extract_subvector we would have kept it in that
form.


  Commit: 4c4fb6ada7a168e5129a22efb4d604bb6fc60b17
      https://github.com/llvm/llvm-project/commit/4c4fb6ada7a168e5129a22efb4d604bb6fc60b17
  Author: yonghong-song <yhs at fb.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGen/bpf-attr-type-tag-atomic.c
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    A llvm/test/CodeGen/BPF/BTF/atomics.ll
    A llvm/test/CodeGen/BPF/BTF/print_btf.py
    A llvm/test/CodeGen/BPF/atomics_mem_order_v1.ll
    A llvm/test/CodeGen/BPF/atomics_mem_order_v3.ll
    A llvm/test/CodeGen/BPF/atomics_sub64_relaxed_v1.ll
    A llvm/test/CodeGen/BPF/xaddd_v1.ll

  Log Message:
  -----------
  [BPF] Do atomic_fetch_*() pattern matching with memory ordering (#107343)

Three commits in this pull request:
commit 1: implement pattern matching for memory ordering seq_cst,
acq_rel, release, acquire and monotonic. Specially, for monotonic memory
ordering (relaxed memory model), if no return value is used, locked insn
is used.
commit 2: add support to handle dwarf atomic modifier in BTF generation.
Actually atomic modifier is ignored in BTF.
commit 3: add tests for new atomic ordering support and BTF support with
_Atomic type.
I removed RFC tag as now patch sets are in reasonable states.

For atomic fetch_and_*() operations, do pattern matching with memory
ordering
seq_cst, acq_rel, release, acquire and monotonic (relaxed). For
fetch_and_*()
operations with seq_cst/acq_rel/release/acquire ordering,
atomic_fetch_*()
instructions are generated. For monotonic ordering, locked insns are
generated
if return value is not used. Otherwise, atomic_fetch_*() insns are used.
The main motivation is to resolve the kernel issue [1].
   
The following are memory ordering are supported:
  seq_cst, acq_rel, release, acquire, relaxed
Current gcc style __sync_fetch_and_*() operations are all seq_cst.

To use explicit memory ordering, the _Atomic type is needed. The
following is
an example:

```
$ cat test.c
\#include <stdatomic.h>
void f1(_Atomic int *i) {
   (void)__c11_atomic_fetch_and(i, 10, memory_order_relaxed);
}
void f2(_Atomic int *i) {
   (void)__c11_atomic_fetch_and(i, 10, memory_order_acquire);
}
void f3(_Atomic int *i) {
   (void)__c11_atomic_fetch_and(i, 10, memory_order_seq_cst);
}
$ cat run.sh
clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -c test.c -o test.o && llvm-objdum
p -d test.o
$ ./run.sh
       
test.o: file format elf64-bpf
       
Disassembly of section .text:

0000000000000000 <f1>:
       0:       b4 02 00 00 0a 00 00 00 w2 = 0xa
       1:       c3 21 00 00 50 00 00 00 lock *(u32 *)(r1 + 0x0) &= w2
       2:       95 00 00 00 00 00 00 00 exit
       
0000000000000018 <f2>:
       3:       b4 02 00 00 0a 00 00 00 w2 = 0xa
       4:       c3 21 00 00 51 00 00 00 w2 = atomic_fetch_and((u32 *)(r1 + 0x0), w2)
       5:       95 00 00 00 00 00 00 00 exit
       
0000000000000030 <f3>:
       6:       b4 02 00 00 0a 00 00 00 w2 = 0xa
       7:       c3 21 00 00 51 00 00 00 w2 = atomic_fetch_and((u32 *)(r1 + 0x0), w2)
       8:       95 00 00 00 00 00 00 00 exit
```    

The following is another example where return value is used:

```
$ cat test1.c
\#include <stdatomic.h>
int f1(_Atomic int *i) {
   return __c11_atomic_fetch_and(i, 10, memory_order_relaxed);
}  
int f2(_Atomic int *i) {
   return __c11_atomic_fetch_and(i, 10, memory_order_acquire);
}  
int f3(_Atomic int *i) {
   return __c11_atomic_fetch_and(i, 10, memory_order_seq_cst);
}  
$ cat run.sh
clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -c test1.c -o test1.o && llvm-objdump -d test1.o
$ ./run.sh

test.o: file format elf64-bpf

Disassembly of section .text:

0000000000000000 <f1>:
       0:       b4 00 00 00 0a 00 00 00 w0 = 0xa
       1:       c3 01 00 00 51 00 00 00 w0 = atomic_fetch_and((u32 *)(r1 + 0x0), w0)
       2:       95 00 00 00 00 00 00 00 exit
       
0000000000000018 <f2>:
       3:       b4 00 00 00 0a 00 00 00 w0 = 0xa
       4:       c3 01 00 00 51 00 00 00 w0 = atomic_fetch_and((u32 *)(r1 + 0x0), w0)
       5:       95 00 00 00 00 00 00 00 exit
       
0000000000000030 <f3>:
       6:       b4 00 00 00 0a 00 00 00 w0 = 0xa
       7:       c3 01 00 00 51 00 00 00 w0 = atomic_fetch_and((u32 *)(r1 + 0x0), w0)
       8:       95 00 00 00 00 00 00 00 exit
```    

You can see that for relaxed memory ordering, if return value is used,
atomic_fetch_and()
insn is used. Otherwise, if return value is not used, locked insn is
used.

Here is another example with global _Atomic variable:

```
$ cat test3.c
\#include <stdatomic.h>

_Atomic int i;

void f1(void) {
   (void)__c11_atomic_fetch_and(&i, 10, memory_order_relaxed);
}
void f2(void) {
   (void)__c11_atomic_fetch_and(&i, 10, memory_order_seq_cst);
}
$ cat run.sh
clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -c test3.c -o test3.o && llvm-objdump -d test3.o
$ ./run.sh

test3.o:        file format elf64-bpf

Disassembly of section .text:

0000000000000000 <f1>:
       0:       b4 01 00 00 0a 00 00 00 w1 = 0xa
       1:       18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
       3:       c3 12 00 00 50 00 00 00 lock *(u32 *)(r2 + 0x0) &= w1
       4:       95 00 00 00 00 00 00 00 exit
       
0000000000000028 <f2>:
       5:       b4 01 00 00 0a 00 00 00 w1 = 0xa
       6:       18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
       8:       c3 12 00 00 51 00 00 00 w1 = atomic_fetch_and((u32 *)(r2 + 0x0), w1)
       9:       95 00 00 00 00 00 00 00 exit
```    

Note that in the above compilations, '-g' is not used. The reason is due
to the following IR
related to _Atomic type:
```
$clang  -I/home/yhs/work/bpf-next/tools/testing/selftests/bpf -O2 --target=bpf -g -S -emit-llvm test3.c
```
The related debug info for test3.c:
```
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "i", scope: !2, file: !3, line: 3, type: !16, isLocal: false, isDefinition: true)
...
!16 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !17)
!17 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
```

If compiling test.c, the related debug info:
```
...
!19 = distinct !DISubprogram(name: "f1", scope: !1, file: !1, line: 3, type: !20, scopeLine: 3, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !25)
!20 = !DISubroutineType(types: !21)
!21 = !{null, !22}
!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !23, size: 64)
!23 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !24)
!24 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!25 = !{!26}
!26 = !DILocalVariable(name: "i", arg: 1, scope: !19, file: !1, line: 3, type: !22)
```

All the above suggests _Atomic behaves like a modifier (e.g. const,
restrict, volatile).
This seems true based on doc [1].

Without proper handling DW_TAG_atomic_type, llvm BTF generation will be
incorrect since
the current implementation assumes no existence of DW_TAG_atomic_type.
So we have
two choices here:
(1). llvm bpf backend processes DW_TAG_atomic_type but ignores it in BTF
encoding.
(2). Add another type, e.g., BTF_KIND_ATOMIC to BTF. BTF_KIND_ATOMIC
behaves as a
       modifier like const/volatile/restrict.

For choice (1), llvm bpf backend should skip dwarf::DW_TAG_atomic_type
during
BTF generation whenever necessary.

For choice (2), BTF_KIND_ATOMIC will be added to BTF so llvm backend and
kernel
needs to handle that properly. The main advantage of it probably is to
maintain
this atomic type so it is also available to skeleton. But I think for
skeleton
a raw type might be good enough unless user space intends to do some
atomic
operation with that, which is a unlikely case.
    
So I choose choice (1) in this RFC implementation. See the commit
message of the second commit for details.

[1]
https://lore.kernel.org/bpf/7b941f53-2a05-48ec-9032-8f106face3a3@linux.dev/
 [2] https://dwarfstd.org/issues/131112.1.html

---------


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

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    A clang/test/CodeGen/inline-asm-output-variant.c
    A clang/test/Misc/cc1as-output-asm-variant.c
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/lib/CodeGen/LLVMTargetMachine.cpp

  Log Message:
  -----------
  [clang] Add cc1 --output-asm-variant= to set output syntax

2fcaa549a824efeb56e807fcf750a56bf985296b (2010) added cc1as option
`-output-asm-variant` (untested) to set the output syntax.
`clang -cc1as -filetype asm -output-asm-variant 1` allows AT&T input and
Intel output (`AssemblerDialect` is also used by non-x86 targets).

This patch renames the cc1as option (to avoid collision with -o) and
makes it available for cc1 to set output syntax. This allows different
input & output syntax:

```
echo 'asm("mov $1, %eax");' | clang -xc - -S -o - -Xclang --output-asm-variant=1
```

Note: `AsmWriterFlavor` (with a misleading name), used to initialize
MCAsmInfo::AssemblerDialect, is primarily used for assembly input, not
for output.
Therefore,
`echo 'asm("mov $1, %eax");' | clang -x c - -mllvm --x86-asm-syntax=intel -S -o -`,
which achieves a similar goal before Clang 19, was unintended.

Close #109157

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


  Commit: 02d6aad5cc940f17904c1288dfabc3fd2d439279
      https://github.com/llvm/llvm-project/commit/02d6aad5cc940f17904c1288dfabc3fd2d439279
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [MemProf] Reduce unnecessary context id computation (NFC) (#109857)

One of the memory reduction techniques was to compute node context ids
on the fly. This reduced memory at the expense of some compile time
increase.

For a large binary we were spending a lot of time invoking getContextIds
on the node during assignStackNodesPostOrder, because we were iterating
through the stack ids for a call from leaf to root (first to last node
in the parlance used in that code). However, all calls for a given entry
in the StackIdToMatchingCalls map share the same last node, so we can
borrow the approach used by similar code in updateStackNodes and compute
the context ids on the last node once, then iterate each call's stack
ids in reverse order while reusing the last node's context ids.

This reduced the thin link time by 43% for a large target. It isn't
clear why there wasn't a similar increase measured when introducing the
node context id recomputation, but the compile time was longer to start
with then.


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

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

  Log Message:
  -----------
  [RISCV] Fix a warning

This patch fixes:

  llvm/lib/Target/RISCV/RISCVISelLowering.cpp:10479:12: error:
  variable 'SubRegIdx' set but not used
  [-Werror,-Wunused-but-set-variable]


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

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp

  Log Message:
  -----------
  [llvm-reduce] Avoid repeated hash lookups (NFC) (#109747)


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

  Changed paths:
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  [gold-plugin] Avoid repeated hash lookups (NFC) (#109748)


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

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

  Log Message:
  -----------
  [llvm-extract] Avoid repeated hash lookups (NFC) (#109749)


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

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

  Log Message:
  -----------
  [llvm-ifs] Avoid repeated map lookups (NFC) (#109750)


  Commit: 3cfd0c0d36975504099034ce11f4df07c5a7eba7
      https://github.com/llvm/llvm-project/commit/3cfd0c0d36975504099034ce11f4df07c5a7eba7
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGen/scoped-atomic-ops.c
    A clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/Sema/scoped-atomic-ops.c
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
    M llvm/test/CodeGen/SPIRV/atomicrmw.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
    M llvm/test/CodeGen/SPIRV/fence.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
    A llvm/test/CodeGen/SPIRV/scoped_atomicrmw.ll

  Log Message:
  -----------
  [SPIRV][RFC] Rework / extend support for memory scopes (#106429)

This change adds support for correctly lowering the `__scoped` Clang
builtins, and corresponding scoped LLVM instructions. These were
previously unconditionally lowered to Device scope, which is possibly incorrect. 
Furthermore, the default / implicit scope is changed from Device (an 
OpenCL assumption) to AllSvmDevices (aka System), since the SPIR-V BE is not 
OpenCL specific / can ingest IR coming from other language front-ends. OpenCL 
defaulting to Device scope is now reflected in the front-end handling of atomic 
ops, which seems preferable.


  Commit: 4494c54326fe33d19c14df851188f867b14ded2a
      https://github.com/llvm/llvm-project/commit/4494c54326fe33d19c14df851188f867b14ded2a
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  [lldb] Fix typos in various help messages. (#109851)


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

  Changed paths:
    M llvm/include/llvm/Option/OptTable.h
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    R llvm/utils/TableGen/OptParserEmitter.cpp
    R llvm/utils/TableGen/OptRSTEmitter.cpp
    A llvm/utils/TableGen/OptionParserEmitter.cpp
    A llvm/utils/TableGen/OptionRSTEmitter.cpp
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [LLVM][TableGen] Rename Option emitter files (#109216)

Rename OptXXXEmitter.cpp to OptionXXXEmitter.cpp to have a less
ambiguous
name, as `Opt` could also mean optimization.


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
    M llvm/test/MC/WebAssembly/type-checker-errors.s

  Log Message:
  -----------
  [WebAssembly] Allow AsmTypeCheck detect multiple errors in function (#109705)

This allows multiple errors to be reported within a function, rather
than returning on the first error and not looking at the rest of the
function.

I think the rationale for the previous behavior was that upon
encountering the first error, the value stack was not in the correct
status anymore and the rest of the function checking was not very
meaningful. But this patch makes the instruction push the correct result
type upon its completion, so the while the possibility of previous error
affecting later instructions is not zero, I think this can be more
helpful to assembly hand-writers. This also allows us to write multiple
error test cases without creating as many functions.

This is what Wabt and Binaryen wast checker/validator do as well.

Also this makes sure we return a value (true/false) within an `if` for
each instruction, removing the need for the long `if`-`else if`-`else
if` chain and making them all just `if`s. I also added newlines between
the `if`s, which I feel is easier to read.


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    A flang/test/Fir/CUDA/cuda-constructor.f90

  Log Message:
  -----------
  [flang][cuda] Add global constructor for allocators registration (#109854)

This pass creates the constructor function to call the allocator
registration and adds it to the global_ctors.


  Commit: 9ef9acbd4f5f84e1bfceb677a064b724f102554e
      https://github.com/llvm/llvm-project/commit/9ef9acbd4f5f84e1bfceb677a064b724f102554e
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_flags.inc
    A compiler-rt/test/rtsan/halt_on_error.cpp

  Log Message:
  -----------
  [rtsan] Introduce halt_on_error flag (#109832)


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

  Changed paths:
    M llvm/utils/gn/build/BUILD.gn
    M llvm/utils/gn/build/toolchain/target_flags.gni
    M llvm/utils/gn/secondary/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/lsan/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
    M llvm/utils/gn/secondary/lld/unittests/AsLibAll/BUILD.gn
    M llvm/utils/gn/secondary/lld/unittests/BUILD.gn
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGenTypes/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/DebugInfo/BTF/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/Utils/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-dwp/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-libtool-darwin/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/sancov/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Instrumentation/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [gn] Reformat build files

Ran:

    git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format

No behavior change.


  Commit: e33e087a175567e88b361fd198536314a0a1fff2
      https://github.com/llvm/llvm-project/commit/e33e087a175567e88b361fd198536314a0a1fff2
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    A llvm/test/CodeGen/AMDGPU/postra-sink-update-dependency.mir

  Log Message:
  -----------
  [MachineSink] Update register dependency correctly (#109763)

The accumulateUsedDefed() was missing if block prologue interference
check does not pass. This would cause incorrect register dependency,
which cause incorrect sinking.


  Commit: 2495130c1b5c255bbcf5ff84555026649c5fa697
      https://github.com/llvm/llvm-project/commit/2495130c1b5c255bbcf5ff84555026649c5fa697
  Author: beetrees <b at beetr.ee>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/test/builtins/Unit/multf3_test.c

  Log Message:
  -----------
  [compiler-rt] Add missing carry to 128x128->256 wide multiply (#97257)


  Commit: 4fc08b6cd57bda1d3e28eae283f7b20f8ce463d1
      https://github.com/llvm/llvm-project/commit/4fc08b6cd57bda1d3e28eae283f7b20f8ce463d1
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir
    R llvm/test/CodeGen/AMDGPU/freeze.ll

  Log Message:
  -----------
  Revert "[AMDGPU][GlobalIsel] Use isRegisterClassType for G_FREEZE and G_IMPLICIT_DEF (#101331)"

This reverts commit 63b2595846b86b4e4eb9afba5e97dd64e8135c10.
(llvmorg-20-init-6782-g63b2595846b8)
A few bots have been failing on `inst-select-unmerge-values.mir`


  Commit: 642bfd89f94f90bc9696a81e72333f6eb1ce5f20
      https://github.com/llvm/llvm-project/commit/642bfd89f94f90bc9696a81e72333f6eb1ce5f20
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    A compiler-rt/test/ubsan/TestCases/Integer/suppressions-builtin.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/builtins.cpp

  Log Message:
  -----------
  [Clang][compiler-rt][UBSan] Improve `__ubsan_handle_invalid_builtin` (#109088)

This patch improves error message, and fixes a copy-paste
mistake in GET_REPORT_OPTIONS argument.

Address comment
https://github.com/llvm/llvm-project/pull/104741#discussion_r1764323722.

---------

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


  Commit: 3da5e82e31712792411945b655929a1680fb476c
      https://github.com/llvm/llvm-project/commit/3da5e82e31712792411945b655929a1680fb476c
  Author: duk <74797529+duk-37 at users.noreply.github.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
    M llvm/test/CodeGen/NVPTX/unreachable.ll

  Log Message:
  -----------
  [NVPTX] Fix NVPTXLowerUnreachable::isLoweredToTrap logic (#109730)

Previously, this pass would not generate traps if `NoTrapAfterNoreturn`
was set and would generate traps even if the instruction directly before
the `UnreachableInst` was `llvm.trap()`.

Fix both of these problems and add some tests.


  Commit: 0a42c7c6679bcc6f7be4b3d103670197acac96a9
      https://github.com/llvm/llvm-project/commit/0a42c7c6679bcc6f7be4b3d103670197acac96a9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaLookup.cpp
    A clang/test/Modules/GH109879-1.cpp
    A clang/test/Modules/GH109879-2.cpp

  Log Message:
  -----------
  [clang] fix assert in ADL finding entity in the implicit global module (#109882)

This adds to the assert the implicit global module case as in module
purview.

Fixes #109879


  Commit: 7a086e1b2dc05f54afae3591614feede727601fa
      https://github.com/llvm/llvm-project/commit/7a086e1b2dc05f54afae3591614feede727601fa
  Author: yabinc <yabinc at google.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
    M clang/test/CodeGen/2008-08-07-AlignPadding1.c
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/decl.c
    M clang/test/CodeGen/designated-initializers.c
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/flexible-array-init.c
    M clang/test/CodeGen/global-init.c
    M clang/test/CodeGen/init.c
    A clang/test/CodeGen/linux-kernel-struct-union-initializer.c
    A clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mms-bitfields.c
    M clang/test/CodeGen/union-init2.c
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenObjC/designated-initializers.m

  Log Message:
  -----------
  [clang][CodeGen] Zero init unspecified fields in initializers in C (#97121)

When an initializer is provided to a variable, the Linux kernel relied
on the compiler to zero-initialize unspecified fields, as clarified in
https://www.spinics.net/lists/netdev/msg1007244.html.

But clang doesn't guarantee this:
1. For a union type, if an empty initializer is given, clang only
   initializes bytes for the first field, left bytes for other (larger)
   fields are marked as undef. Accessing those undef bytes can lead
   to undefined behaviors.
2. For a union type, if an initializer explicitly sets a field, left
   bytes for other (larger) fields are marked as undef.
3. When an initializer is given, clang doesn't zero initialize padding.

So this patch makes the following change:
1. In C, when an initializer is provided for a variable, zero-initialize
   undef and padding fields in the initializer.
2. Document the change in LanguageExtensions.rst.

As suggested in
https://github.com/llvm/llvm-project/issues/78034#issuecomment-2183437928,
the change isn't required by C23, but it's standards conforming to do
so.

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


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

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h

  Log Message:
  -----------
  [NVPTX][NFC] Refactor utilities to use std::optional (#109883)


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll

  Log Message:
  -----------
  [hwasan] Add "-hwasan-with-frame-record" (#109620)

It should not be implied form mapping settings.
No longer disable frame records for fixed offset.


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

  Changed paths:
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/CUDA/memory.h
    M flang/runtime/CUDA/memory.cpp
    M flang/unittests/Runtime/CUDA/CMakeLists.txt
    A flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  [flang][cuda] Add entry point for alloc/free and simple copy (#109867)

These will be used to translate simple cuf.alloc/cuf.free and
cuf.data_transfer on scalar and constant size arrays.


  Commit: 18b9d49ce3370c012fdd04ec87d854d53293f6a6
      https://github.com/llvm/llvm-project/commit/18b9d49ce3370c012fdd04ec87d854d53293f6a6
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Android.rules

  Log Message:
  -----------
  lldb: get lldb API tests working with newer Android NDKs

## Purpose
Running the LLDB API tests against a remote Android target with NDK
version r22 or later fails to compile the test inferiors. NDK r21 from
2021 is the most recent NDK that still works with the LLDB API tests.
This PR updates the Android make rules to support newer Android NDK
versions (r19 and later).

## Overview
* Updates and simplifies `Android.rules` to match the newer Android NDK
unified toolchain layout introduced in NDK r19
* Sets `OBJCOPY` and `ARCHIVER` env vars, required by a few test cases,
to their `llvm-` versions in the unified toolchain
* Drops support for pre-2019 Android NDK versions to keep the rules
simple
* Provides an error message if the tests are run using an incompatible
NDK layout

## Problem Details
Android introduced a unified tools layout in NDK r19 (2019) and removed
the old layout in r22 (2021). Releases r19, r20, and r21 support both
the old and new layout side-by-side. More details are in #106270.

## Validation
Ran a sub-set of the LLDB API tests against remote Android targets for
the four primary architectures i386, x86_64, arm, and aarch64. No
validation was done against riscv targets.

For each case, ran the copy of `lldb-server` from the Android NDK on the
device with the latest LLDB test cases in llvm-project

Ran tests with both r19 (the oldest supported) and r26 (more recent,
unified layout only) NDK versions.

Example test command for aarch64:
```
./build/bin/lldb-dotest --out-of-tree-debugserver --arch aarch64 --platform-name remote-android --platform-url connect://localhost:5432 --platform-working-dir /data/local/tmp --compiler=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/clang lldb/test/API/android/
```
**NOTE: there are a lot of test failures when running the full suite
(especially against 32-bit ARM target). These failures occur independent
of this change.**

Verified the expected error message appears when attempting to run using
NDK r18
```
Build Command Output:
make: Entering directory '/home/andrew/src/llvm/llvm-project/build/lldb-test-build.noindex/android/platform/TestDefaultCacheLineSize.test_cache_line_size'
/home/andrew/src/llvm/llvm-project/lldb/packages/Python/lldbsuite/test/make/Android.rules:16: *** "No unified toolchain sysroot found in /home/andrew/Android/Sdk/ndk/18.1.5063045/toolchains/llvm/prebuilt/linux-x86_64/bin/../../../../... NDK must be r19 or later.".  Stop.
make: Leaving directory '/home/andrew/src/llvm/llvm-project/build/lldb-test-build.noindex/android/platform/TestDefaultCacheLineSize.test_cache_line_size'
```

## Impact
**This change explicitly removes support for the pre-2019 NDK
structure.** Only NDK r19 (from 2019) and later can be used when running
the LLDB API tests. If the maintainers object, we can easily support
both the old and new NDK toolchain layouts side-by-side at the cost of
readability/maintainability. Since this change only impacts tests, I
don't see much value in supporting NDKs that are over 5 years old.

## Guidance to Reviewers
* I am not an expert on `clang` arguments so if anything looks off let
me know.
* While I personally thing supporting 5+ year old NDKs for testing seems
unnecessary, please chime-in if you are concerned with dropping that
support. I can easily revise to support both old and new layouts
side-by-side.
* If there are any specific tests you'd like me to run I will do my best
to accommodate. It doesn't look like there's much (any?) Android LLDB CI
coverage.


  Commit: d50eaac12f0cdfe27e942290942b06889ab12a8c
      https://github.com/llvm/llvm-project/commit/d50eaac12f0cdfe27e942290942b06889ab12a8c
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
    M clang/test/CodeGen/2008-08-07-AlignPadding1.c
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/decl.c
    M clang/test/CodeGen/designated-initializers.c
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/flexible-array-init.c
    M clang/test/CodeGen/global-init.c
    M clang/test/CodeGen/init.c
    R clang/test/CodeGen/linux-kernel-struct-union-initializer.c
    R clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mms-bitfields.c
    M clang/test/CodeGen/union-init2.c
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenObjC/designated-initializers.m

  Log Message:
  -----------
  Revert "[clang][CodeGen] Zero init unspecified fields in initializers in C" (#109898)

Reverts llvm/llvm-project#97121

Causing failures on LNT bots; log shows a crash in
ConstStructBuilder::BuildStruct.


  Commit: 81dac7d613c945cf56925162081eaf4a998cea8a
      https://github.com/llvm/llvm-project/commit/81dac7d613c945cf56925162081eaf4a998cea8a
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add Semantic Checks for Atomic Capture Construct (#108516)

This PR adds semantic checks to ensure the atomic capture construct
conforms to one of the valid forms:
[capture-stmt, update-stmt], [capture-stmt, write-stmt] or [update-stmt,
capture-stmt].

Functions checkForSymbolMatch and checkForSingleVariableOnRHS are moved
from flang/lib/Lower/DirectivesCommon.h to flang/Semantics/tools.h for
reuse.

---------

Co-authored-by: Kiran Chandramohan <kiranchandramohan at gmail.com>


  Commit: cfe1adc42a5e6a81741f868aff2cf06cec3c24c1
      https://github.com/llvm/llvm-project/commit/cfe1adc42a5e6a81741f868aff2cf06cec3c24c1
  Author: Tex Riddell <texr at microsoft.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/atan2.ll
    A llvm/test/CodeGen/DirectX/atan2_error.ll

  Log Message:
  -----------
  Reland: [DirectX] Add atan2 intrinsic and expand for DXIL backend (p1) (#109878)

This change is part of this proposal:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

This preliminary work adds the intrinsic to llvm and expands using atan
intrinsic for DXIL backend, since DXIL has no atan2 op.

Part 1 for Implement the atan2 HLSL Function #70096.

(reland #108865 reverted in #109842 due to doc build break)


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    A llvm/test/Instrumentation/HWAddressSanitizer/mapping-override.ll

  Log Message:
  -----------
  [hwasan] Consider order of mapping copts (#109621)

Flags "-hwasan-mapping-offset" and
"-hwasan-mapping-offset-dynamic" are mutually
exclusive, use the last one.


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

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlmul_ext_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlmul_trunc_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vset.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vundefined.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlmul_ext_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlmul_trunc_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vset.c

  Log Message:
  -----------
  [RISCV] Enable f16 vget/vset/vcreate/vlmul_ext/vlmul_trunc/vundefined intrinsics with Zvfhmin. (#109889)

These intrinsics don't produce any instructions so don't require Zvfh.

This makes Zvfhmin consistent with Zvfbfmin. See also
https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/351


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp

  Log Message:
  -----------
  [RISCV] Use RVVBitsPerBlock in assignRVVStackObjectOffsets and adjustReg. NFC (#109848)

I think the 8 here represents RVVBitsPerBlock / 8.


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

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/tools/llvm-cov/SourceCoverageViewText.cpp

  Log Message:
  -----------
  [llvm] Use std::optional::value_or (NFC) (#109890)


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

  Changed paths:
    M llvm/include/llvm/Support/raw_ostream.h
    M llvm/unittests/Support/raw_ostream_test.cpp
    M llvm/utils/TableGen/Common/PredicateExpander.cpp
    M llvm/utils/TableGen/Common/PredicateExpander.h
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen] Adopt scaled indent in PredicateExpander (#109801)

Adopt scaled indent in PredicateExpander.
Added pre/post inc/dec operators to `indent` and related unit tests.
Verified by comparing *.inc files generated by LLVM build with/without
the change.


  Commit: 614aeda93b2225c6eb42b00ba189ba7ca2585c60
      https://github.com/llvm/llvm-project/commit/614aeda93b2225c6eb42b00ba189ba7ca2585c60
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/rv32zacas-invalid.s
    M llvm/test/MC/RISCV/rv32zacas-valid.s
    M llvm/test/MC/RISCV/rv64zacas-invalid.s
    M llvm/test/MC/RISCV/rv64zacas-valid.s
    M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Mark Zacas as non-experimental (#109651)

The extension has been ratified for some time, but we kept it
experimental (see #99898) due to
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/444>. The
ABI issue has been resolved by #101023 so I believe there's no known
barrier to moving Zacas to non-experimental.


  Commit: f586b1e3f42788025aa6f55be70c5e361cc8b529
      https://github.com/llvm/llvm-project/commit/f586b1e3f42788025aa6f55be70c5e361cc8b529
  Author: Tzung-Han Juang <tzunghan.juang at xanadu.ai>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
    M mlir/test/Dialect/LLVM/transform-e2e.mlir
    M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
    M mlir/test/Dialect/Linalg/pad-to-specific-memory-space.mlir
    M mlir/test/Dialect/Vector/transform-vector.mlir
    M mlir/test/Examples/transform/ChH/full.mlir

  Log Message:
  -----------
  [MLIR] Make `OneShotModuleBufferize` use `OpInterface` (#107295)

**Description:** 

`OneShotModuleBufferize` deals with the bufferization of `FuncOp`,
`CallOp` and `ReturnOp` but they are hard-coded. Any custom
function-like operations will not be handled. The PR replaces a part of
`FuncOp` and `CallOp` with `FunctionOpInterface` and `CallOpInterface`
in `OneShotModuleBufferize` so that custom function ops and call ops can
be bufferized.

**Related Discord Discussion:**
[Link](https://discord.com/channels/636084430946959380/642426447167881246/1280556809911799900)

---------

Co-authored-by: erick-xanadu <110487834+erick-xanadu at users.noreply.github.com>


  Commit: 470e5afe6969530f39eb46c129bfb52b2729ed37
      https://github.com/llvm/llvm-project/commit/470e5afe6969530f39eb46c129bfb52b2729ed37
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Port f586b1e3f42788025aa6f55be70c5e361cc8b529 (#109908)


  Commit: e1365ce2220dade4e771881dcde9a7e0511ce451
      https://github.com/llvm/llvm-project/commit/e1365ce2220dade4e771881dcde9a7e0511ce451
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Add type assertions to ArrayElem{,Pop} (#109829)

So we don't accidentally try to use those with the wrong type.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/PGOCtxProfReader.h

  Log Message:
  -----------
  [ctx_prof] Simplify ingestContext (NFC) (#109902)

try_emplace can default-construct the value, so:

  try_emplace(CSId, CallTargetMapTy())
  try_emplace(CSId)

are equivalent to each other.  We can further simplify the function
using the fact that Map.try_emplace(Key).first->second is the same as
Map[Key].


  Commit: fa824dc0dd960214865b03d8f56b18bb93e4a88b
      https://github.com/llvm/llvm-project/commit/fa824dc0dd960214865b03d8f56b18bb93e4a88b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    A llvm/include/llvm/IR/ConstantFPRange.h
    M llvm/lib/IR/CMakeLists.txt
    A llvm/lib/IR/ConstantFPRange.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/ConstantFPRangeTest.cpp

  Log Message:
  -----------
  [LLVM][IR] Add constant range support for floating-point types (#86483)

This patch adds basic constant range support for floating-point types to enable range-based optimizations.


  Commit: d8f555d62546fc1fbee3d2a48b37779c629bf87b
      https://github.com/llvm/llvm-project/commit/d8f555d62546fc1fbee3d2a48b37779c629bf87b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/ubsan-builtin-checks.c
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/lib/ubsan/ubsan_handlers.h
    M compiler-rt/test/ubsan/TestCases/Misc/builtins.cpp

  Log Message:
  -----------
  [UBSan] Diagnose assumption violation (#104741)

This patch extends [D34590](https://reviews.llvm.org/D34590) to check
assumption violations.

---------

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


  Commit: 4bd3a62cd600c607e7cb3d69dd75ac4069e3eef9
      https://github.com/llvm/llvm-project/commit/4bd3a62cd600c607e7cb3d69dd75ac4069e3eef9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix diagnosing std::construct_at with wrong type (#109828)

We can't make the assumption that types are always fine in std
functions.


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

  Changed paths:
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp

  Log Message:
  -----------
  [clang] Use std::optional::value_or (NFC) (#109894)


  Commit: c2fd3b76f21632fa617a18c50dc9dff84b1a6538
      https://github.com/llvm/llvm-project/commit/c2fd3b76f21632fa617a18c50dc9dff84b1a6538
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp
    M compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp
    M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp

  Log Message:
  -----------
  [ASan][test] XFAIL stack overflow tests on Linux/sparc64 (#109773)

When enabling ASan SPARC testing as per PR #107405, 3 stack overflow
tests `FAIL` on Linux/sparc64:
```
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux :: TestCases/Posix/stack-overflow.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Posix/stack-overflow.cpp
```
However, as detailed in Issue #109771, even a Linux equivalent of the
Solaris/sparcv9 fix (PR #109101) doesn't improve the situation.

Therefore this patch `XFAIL`s the tests until the root cause can be
figured out.

Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`, and
`x86_64-pc-linux-gnu`.


  Commit: 1cb12fa9edd744fe72897660541f7841401823c6
      https://github.com/llvm/llvm-project/commit/1cb12fa9edd744fe72897660541f7841401823c6
  Author: David Green <david.green at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-perm.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trunc.mir

  Log Message:
  -----------
  [GlobalISel] Combine unmerge(unmerge()) if the result is legal. (#109606)

This attempts to fold:
```
  %1:_(<2 x s32>), %2:_(<2 x s32>) = G_UNMERGE_VALUES %0:_(<4 x s32>)
  %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %1
```
Into a single UNMERGE:
```
  %3:_(s32), %4:_(s32), %5:_(s32), %6:_(s32) = G_UNMERGE_VALUES %0
```

This transform already exists, this patch alters it to occur when the
result UNMERGE is considered legal.

It does not try to transform where the result would be extracting a
subelement from a vector at the moment, as the code is not setup to
handle it.
```
  %1:_(s32), %2:_(s32) = G_UNMERGE_VALUES %0:_(<2 x s32>)
  %3:_(s16), %4:_(s16) = G_UNMERGE_VALUES %1
```

This helps us reduce the amount of legalization artefacts, especially
from widened vectors padded with undef.


  Commit: 1cdcec5884fb99d921800197e0863329de6b10ee
      https://github.com/llvm/llvm-project/commit/1cdcec5884fb99d921800197e0863329de6b10ee
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/Sema/fp16vec-sema.c

  Log Message:
  -----------
  [clang][bytecode] Handle vector comma op (#109827)

Currently we were not handle comma op for vector operands, after this
patch, we handle the comma op for vector operands with common way.

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 832297ca32f4fba75fea68efc93a3e6c222c89ff
      https://github.com/llvm/llvm-project/commit/832297ca32f4fba75fea68efc93a3e6c222c89ff
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M clang/test/CodeGenCXX/mangle-concept.cpp

  Log Message:
  -----------
  Fix compatibility version in test (#97128)

The mangling compatibility being tested here changed between Clang 17
and 18, not between 16 and 17, so change the "old" version to 17.

As requested by @ahatanak in [post-commit
review](https://github.com/llvm/llvm-project/commit/7421dd55a16f18919a568499e4c0888ed3a5e8b5#commitcomment-128651446).


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

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h

  Log Message:
  -----------
  [GlobalISel] Fix a warning

This patch fixes:

  llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h:1097:7:
  error: unannotated fall-through between switch labels
  [-Werror,-Wimplicit-fallthrough]


  Commit: a6ea0b0d2973d3d94f9ed7aac6db9ca722664774
      https://github.com/llvm/llvm-project/commit/a6ea0b0d2973d3d94f9ed7aac6db9ca722664774
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    A compiler-rt/test/sanitizer_common/TestCases/Darwin/freadlink.c

  Log Message:
  -----------
  [compiler-rt] intercept macOs's freadlink call. (#83679)

available since macOs Ventura.


  Commit: df6822f4eb81638e724f09b948b83fe678412d25
      https://github.com/llvm/llvm-project/commit/df6822f4eb81638e724f09b948b83fe678412d25
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lldb/source/API/SBTarget.cpp
    M lldb/test/API/python_api/target/TestTargetAPI.py

  Log Message:
  -----------
  [lldb] Fix error reporting in SBTarget::ReadMemory (#109764)

The function should use the by-ref SBError argument instead of creating
a new one. This code has been here since ~forever, and was probably
copied from methods which return an SBError result (where one needs to
create a local variable).


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn

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


  Commit: d7c6e943836368c17467f2d0dcf1e8caddbd9b6d
      https://github.com/llvm/llvm-project/commit/d7c6e943836368c17467f2d0dcf1e8caddbd9b6d
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    A llvm/test/Transforms/StructurizeCFG/structurizer-keep-perf-md.ll

  Log Message:
  -----------
  [AMDGPU][StructurizeCFG] pre-commit tests: maintain branch_weights metadata (#109812)


  Commit: 90c14748638f1e10e31173b145fdbb5c4529c922
      https://github.com/llvm/llvm-project/commit/90c14748638f1e10e31173b145fdbb5c4529c922
  Author: Timothy Pearson <162513562+tpearson-ssc at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/PowerPC/ldexp-libcall.ll
    M llvm/test/CodeGen/PowerPC/ldexp.ll
    A llvm/test/CodeGen/PowerPC/negative-integer-fp-libcall.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll

  Log Message:
  -----------
  [SDAG] Honor signed arguments in floating point libcalls (#109134)

In ExpandFPLibCall, an assumption is made that all floating point
libcalls that take integer arguments use unsigned integers. In the case
of ldexp and frexp, this assumption is incorrect, leading to
miscompilation and subsequent target-dependent incorrect operation.

Indicate that ldexp and frexp utilize signed arguments in
ExpandFPLibCall.

Fixes #108904

Signed-off-by: Timothy Pearson <tpearson at solidsilicon.com>


  Commit: ae7b454f98ba002ba1cc4cf19fac55f629cfc52f
      https://github.com/llvm/llvm-project/commit/ae7b454f98ba002ba1cc4cf19fac55f629cfc52f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
    M mlir/test/Dialect/LLVM/transform-e2e.mlir
    M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
    M mlir/test/Dialect/Linalg/pad-to-specific-memory-space.mlir
    M mlir/test/Dialect/Vector/transform-vector.mlir
    M mlir/test/Examples/transform/ChH/full.mlir

  Log Message:
  -----------
  Revert "[MLIR] Make `OneShotModuleBufferize` use `OpInterface`" (#109919)

Reverts llvm/llvm-project#107295

This commit breaks an integration test:
```
build/bin/mlir-opt mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir  -one-shot-bufferize="bufferize-function-boundaries"
```


  Commit: 2ccac07bf22d17029d4437b0a727dd55c8c86d56
      https://github.com/llvm/llvm-project/commit/2ccac07bf22d17029d4437b0a727dd55c8c86d56
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules2.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules3.cpp

  Log Message:
  -----------
  [C++20][Modules] Fix crash when function and lambda inside loaded from different modules (#109167)

Summary:
Because AST loading code is lazy and happens in unpredictable order, it
is possible that a function and lambda inside the function can be loaded
from different modules. As a result, the captured DeclRefExpr won’t
match the corresponding VarDecl inside the function. This situation is
reflected in the AST as follows:

```
FunctionDecl 0x555564f4aff0 <Conv.h:33:1, line:41:1> line:33:35 imported in ./thrift_cpp2_base.h hidden tryTo 'Expected<Tgt, const char *> ()' inline
|-also in ./folly-conv.h
`-CompoundStmt 0x555564f7cfc8 <col:43, line:41:1>
  |-DeclStmt 0x555564f7ced8 <line:34:3, col:17>
  | `-VarDecl 0x555564f7cef8 <col:3, col:16> col:7 imported in ./thrift_cpp2_base.h hidden referenced result 'Tgt' cinit
  |   `-IntegerLiteral 0x555564f7d080 <col:16> 'int' 0
  |-CallExpr 0x555564f7cea8 <line:39:3, col:76> '<dependent type>'
  | |-UnresolvedLookupExpr 0x555564f7bea0 <col:3, col:19> '<overloaded function type>' lvalue (no ADL) = 'then_' 0x555564f7bef0
  | |-CXXTemporaryObjectExpr 0x555564f7bcb0 <col:25, col:45> 'Expected<bool, int>':'folly::Expected<bool, int>' 'void () noexcept' zeroing
  | `-LambdaExpr 0x555564f7bc88 <col:48, col:75> '(lambda at Conv.h:39:48)'
  |   |-CXXRecordDecl 0x555564f76b88 <col:48> col:48 imported in ./folly-conv.h hidden implicit <undeserialized declarations> class definition
  |   | |-also in ./thrift_cpp2_base.h
  |   | `-DefinitionData lambda empty standard_layout trivially_copyable literal can_const_default_init
  |   |   |-DefaultConstructor defaulted_is_constexpr
  |   |   |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param
  |   |   |-MoveConstructor exists simple trivial needs_implicit
  |   |   |-CopyAssignment trivial has_const_param needs_implicit implicit_has_const_param
  |   |   |-MoveAssignment
  |   |   `-Destructor simple irrelevant trivial constexpr needs_implicit
  |   `-CompoundStmt 0x555564f7d1a8 <col:58, col:75>
  |     `-ReturnStmt 0x555564f7d198 <col:60, col:67>
  |       `-DeclRefExpr 0x555564f7d0a0 <col:67> 'Tgt' lvalue Var 0x555564f7d0c8 'result' 'Tgt' refers_to_enclosing_variable_or_capture
  `-ReturnStmt 0x555564f7bc78 <line:40:3, col:11>
    `-InitListExpr 0x555564f7bc38 <col:10, col:11> 'void'
```

This diff modifies the AST deserialization process to load lambdas
within the canonical function declaration sooner, immediately following
the function, ensuring that they are loaded from the same module.

Re-land https://github.com/llvm/llvm-project/pull/104512 Added test case
that caused crash due to multiple enclosed lambdas deserialization.

Test Plan: check-clang


  Commit: 0259f92711599c45d229fb12f6f51915fffac6bd
      https://github.com/llvm/llvm-project/commit/0259f92711599c45d229fb12f6f51915fffac6bd
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp

  Log Message:
  -----------
  [mlir][memref] Add builder that infers `reinterpret_cast` result type (#109432)

Add a convenience builder that infers the result type of
`memref.reinterpret_cast`.

Note: It is not possible to remove the result type from all builder
overloads because this op currently also allows certain
operand/attribute + result type combinations that do not match. The op
verifier should probably be made stricter, but that's a larger change
that requires additional `memref.cast` ops in some places that build
`reinterpret_cast` ops.


  Commit: b7b945b09cddad128e42d82d759e74f0cd5b0ee3
      https://github.com/llvm/llvm-project/commit/b7b945b09cddad128e42d82d759e74f0cd5b0ee3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  LiveRangeCalc: Pass output stream to verify

Restores output on this failure after
71ca9fcb8dc9ea0e1e3a4a47820edc78c398a85e


  Commit: 8e3cde04cbf13d2aa2251acdd8adbae8d3edd43d
      https://github.com/llvm/llvm-project/commit/8e3cde04cbf13d2aa2251acdd8adbae8d3edd43d
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll

  Log Message:
  -----------
  [LoongArch][test] Add float-point atomic load/store tests. NFC


  Commit: 4f90e75bdc156d2630da525eb74d00611753c706
      https://github.com/llvm/llvm-project/commit/4f90e75bdc156d2630da525eb74d00611753c706
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/image-waterfall-loop-O0.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/spill-wait.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-agpr.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt.mir

  Log Message:
  -----------
  [AMDGPU] Do not count implicit VGPRs in SIInsertWaitcnts (#109049)

When generating waitcounts before a use or def skip VGPRs. We never have
a real implicit VGPR operands on memory instructions, it is only for
super-reg liveness accounting.

Some other instructions (MOVRELS as an example) may have real implicit
VGPR uses though.

This is less then ideal but most of the problems observed with spills.


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

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

  Log Message:
  -----------
  [NFC][LoopVectorize] Remove unused argument from fixupIVUsers (#109789)

The VectorHeader argument passed to fixupIVUsers is unused
and can be removed.


  Commit: b8d1bae6484625332ab7596390b855e6dacfead7
      https://github.com/llvm/llvm-project/commit/b8d1bae6484625332ab7596390b855e6dacfead7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CmpInstAnalysis.h
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp

  Log Message:
  -----------
  [CmpInstAnalysis] Return decomposed bit test as struct (NFC) (#109819)

decomposeBitTestICmp() currently returns the result via two out
parameters plus an in-place modification of Pred. This changes it to
return an optional struct instead.

The motivation here is twofold. First, I'd like to extend this code to
handle cases where the comparison is against a value other than zero,
which would mean yet another out parameter. Second, while doing that I
was badly bitten by the in-place modification, so I'd like to get rid of
it.


  Commit: c58e51ac9786a335f7ebfe8978605e2379cc2c2a
      https://github.com/llvm/llvm-project/commit/c58e51ac9786a335f7ebfe8978605e2379cc2c2a
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [ConstantFPRange] Suppress unused result warnings. NFC. (#109921)

Fixes warnings `error: ignoring return value of function declared with
'nodiscard' attribute [-Werror,-Wunused-result]`.


  Commit: 99cd4cb1231a7209725722e477c2d829a18fb252
      https://github.com/llvm/llvm-project/commit/99cd4cb1231a7209725722e477c2d829a18fb252
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/docs/ReleaseNotes.rst
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD][MINGW] Add `--undefined-glob` flag support (#109866)


  Commit: ba3d174d3f9ec4fb98a837e4e5089094405e1d33
      https://github.com/llvm/llvm-project/commit/ba3d174d3f9ec4fb98a837e4e5089094405e1d33
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/FuzzMutate/IRMutator.cpp

  Log Message:
  -----------
  [FuzzMutate] Avoid repeated hash lookups (NFC) (#109903)


  Commit: ec60030639000daa6d64a92e088d74e65fcfc8a1
      https://github.com/llvm/llvm-project/commit/ec60030639000daa6d64a92e088d74e65fcfc8a1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/IndexedValuesMap.h

  Log Message:
  -----------
  [DWARFLinker] Avoid repeated hash lookups (NFC) (#109904)


  Commit: c3fc763dc165df36e655bf687b96688c2e7184ec
      https://github.com/llvm/llvm-project/commit/c3fc763dc165df36e655bf687b96688c2e7184ec
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp

  Log Message:
  -----------
  [MCA] Avoid repeated hash lookups (NFC) (#109905)


  Commit: a36aca5e189e8fd50af32060a25167e52e807f90
      https://github.com/llvm/llvm-project/commit/a36aca5e189e8fd50af32060a25167e52e807f90
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/tools/sancov/sancov.cpp

  Log Message:
  -----------
  [sancov] Avoid repeated map lookups (NFC) (#109906)


  Commit: 850ee790cfcafa39c4f00441e049e2862a597ad8
      https://github.com/llvm/llvm-project/commit/850ee790cfcafa39c4f00441e049e2862a597ad8
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] Port fa824dc0dd960214865b03d8f56b18bb93e4a88b


  Commit: d853adee004dcee7d5a4984539c07f08394cf2b4
      https://github.com/llvm/llvm-project/commit/d853adee004dcee7d5a4984539c07f08394cf2b4
  Author: Dominik Montada <dominik.montada at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    A llvm/test/CodeGen/MIR/Generic/machine-function-isssa-conflict.mir
    A llvm/test/CodeGen/MIR/Generic/machine-function-nophis-conflict.mir
    A llvm/test/CodeGen/MIR/Generic/machine-function-novregs-conflict.mir
    R llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties-conflict.mir

  Log Message:
  -----------
  [MIR] Fix return value when computed properties conflict with given prop (#109923)

This fixes a test failure when expensive checks are enabled. Use the
correct return value when computing machine function properties resulted
in an error (e.g. when conflicting with explicitly set values).

Without this, the machine verifier would crash even in the presence of
parsing errors which should have gently terminated execution.


  Commit: 53907ed5081b6cfde6cbe147ab06a074a4f3e0ed
      https://github.com/llvm/llvm-project/commit/53907ed5081b6cfde6cbe147ab06a074a4f3e0ed
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c

  Log Message:
  -----------
  [clang][codegen] Don't mark "int" TBAA on FP libcalls with indirect args (#108853)

On some targets, an FP libcall with argument types such as long double
will be lowered to pass arguments indirectly via pointers. When this is
the case we should not mark the libcall with "int" TBAA as it may lead
to incorrect optimizations.

Currently, this can be seen for long doubles on x86_64-w64-mingw32. The
`load x86_fp80` after the call is (incorrectly) marked with "int" TBAA
(overwriting the previous metadata for "long double").

Nothing seems to break due to this currently as the metadata is being
incorrectly placed on the load and not the call. But if the metadata
is moved to the call (which this patch ensures), LLVM will optimize out
the setup for the arguments.


  Commit: 445d8b2d10b2bb9a5f50e3fe0671045acd309a04
      https://github.com/llvm/llvm-project/commit/445d8b2d10b2bb9a5f50e3fe0671045acd309a04
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-write-zt.ll

  Log Message:
  -----------
  [Clang][LLVM][AArch64] Add intrinsic for LUTI4 SME2 instruction (#97755)

This patch adds these intrinsics:

// Variants are also available for: _s8
svuint8x4_t svluti4_zt_u8_x4(uint64_t zt0, svuint8x2_t zn)
__arm_streaming __arm_in("zt0");

according to PR#324[1]
[1]ARM-software/acle#324


  Commit: 5a191e3cd904b5fee202569e54fe04f91f1a697f
      https://github.com/llvm/llvm-project/commit/5a191e3cd904b5fee202569e54fe04f91f1a697f
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll

  Log Message:
  -----------
  [RISCV][test] Correct +experimental-ztso attr to +ztso in test

This doesn't chane the test output, but means it's now testing what it's
supposed to.


  Commit: f1bbabd6289a351430657a2eb3b57fffa8c6d248
      https://github.com/llvm/llvm-project/commit/f1bbabd6289a351430657a2eb3b57fffa8c6d248
  Author: David Green <david.green at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/test/CodeGen/ARM/vbsl.ll

  Log Message:
  -----------
  [ARM] Lower arm_neon_vbsl to ARMISD::VBSP and fold (vbsl x, y, y) to y (#109761)

This helps clean up the patterns a little and will help share combines
on both the intrinsic and VBSP. A combine is then added to fold away the
VBSP if both the selected operands are the same.


  Commit: bbb3679ad8e5a6d2ed6432a8171465eadf9f73f8
      https://github.com/llvm/llvm-project/commit/bbb3679ad8e5a6d2ed6432a8171465eadf9f73f8
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp

  Log Message:
  -----------
  [SPIRV] Fix compilation error 'use of parameter from containing function' when building PR #106429 with gcc (#109924)

It appears that PR https://github.com/llvm/llvm-project/pull/106429
introduced an issue for builds with SPIRV Backend target when building
with gcc, e.g.:
```
/llvm-project/llvm/lib/Target/SPIRV/SPIRVUtils.cpp:263:36: error: use of parameter from containing function
  263 |     llvm::SyncScope::ID SubGroup = Ctx.getOrInsertSyncScopeID("subgroup");
      |                                    ^~~
/llvm-project/llvm/lib/Target/SPIRV/SPIRVUtils.cpp:256:46: note: ‘llvm::LLVMContext& Ctx’ declared here
  256 | SPIRV::Scope::Scope getMemScope(LLVMContext &Ctx, SyncScope::ID Id) {
```
This PR fixes this by removing struct and using static const variables
instead.


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

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py

  Log Message:
  -----------
  [lldb][test] Skip TestConcurrentVFork on all Linux

And given that it is only for Linux - effectively skip it,
but in a way where we don't forget that it's Linux only.

See https://github.com/llvm/llvm-project/issues/85084.

This test times out on occasion on Arm, AArch64 and X86 Linux,
which I saw just today in a buildkite build. Causing a failure that
is 1. confusing because the PR wasn't for LLDB and 2. annoying
to find in the giant log file (which isn't the test's fault,
but it adds to the overhead).

It's probably important to have this test running somewhere but
right now it's causing too much noise to do so.


  Commit: c93e29439b1ab8ef6873c385f152a06e3395cb59
      https://github.com/llvm/llvm-project/commit/c93e29439b1ab8ef6873c385f152a06e3395cb59
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp

  Log Message:
  -----------
  [lldb] fix vFile:open, vFile:unlink error codes (#106950)

This patch makes gdb-server sends only GDB RSP supported error codes
during vFile:open and vFile:unlink handling.


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

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [llvm][docs] Update the project and runtimes lists (#109788)

And add a note to explain which variable to prefer if the project can go
in both.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


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

  Changed paths:
    M llvm/docs/RISCVUsage.rst

  Log Message:
  -----------
  [llvm][docs] Fix RISCVUsage docs build error

After changes in #109651.

Warning, treated as error:
/home/davspi01/work/open_source/llvm-project/llvm/docs/RISCVUsage.rst::Anonymous hyperlink mismatch: 1 references but 0 targets.

In typical RST fashion, all that was missing was a space between
the last word and the opening `<` of the link.


  Commit: 02f46d7fb8b2a2434b1597fb96f65d7f82f3aeac
      https://github.com/llvm/llvm-project/commit/02f46d7fb8b2a2434b1597fb96f65d7f82f3aeac
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    R llvm/test/CodeGen/AArch64/sme2-intrinsics-write-zt.ll

  Log Message:
  -----------
  Revert "[Clang][LLVM][AArch64] Add intrinsic for LUTI4 SME2 instruction (#97755)"

Going to revert to Fix test in clang as it is failing

This reverts commit 445d8b2d10b2bb9a5f50e3fe0671045acd309a04.


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

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
    A lldb/test/API/linux/aarch64/fpmr/Makefile
    A lldb/test/API/linux/aarch64/fpmr/TestAArch64LinuxFPMR.py
    A lldb/test/API/linux/aarch64/fpmr/main.c

  Log Message:
  -----------
  [lldb][AArch64][Linux] Add Floating Point Mode Register (#106695)

Otherwise known as FEAT_FPMR. This register controls the behaviour of
floating point operations.

https://developer.arm.com/documentation/ddi0601/2024-06/AArch64-Registers/FPMR--Floating-point-Mode-Register

As the current floating point register contexts are fixed size, this has
been placed in a new set. Linux kernel patches have landed already, so
you can cross check with those.

To simplify testing we're not going to do any floating point operations,
just read and write from the program and debugger to make sure each sees
the other's values correctly.


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

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [llvm][cmake] Error when a runtime is in LLVM_ENABLE_PROJECTS and LLVM_ENABLE_RUNTIMES (#109791)

The documentation tells you not to do this:
https://llvm.org/docs/CMake.html#llvm-related-variables

But until now we did not enforce it.

```
$ cmake ../llvm-project/llvm/ -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="pstl" -DLLVM_ENABLE_RUNTIMES="libcxx;pstl"
```
```
CMake Error at CMakeLists.txt:166 (message):
  Runtime project "pstl" found in LLVM_ENABLE_PROJECTS and
  LLVM_ENABLE_RUNTIMES.  It must only appear in one of them and that one
  should almost always be LLVM_ENABLE_RUNTIMES.
```


  Commit: c71b212285bd3b4ba3758d4db042a869f520862e
      https://github.com/llvm/llvm-project/commit/c71b212285bd3b4ba3758d4db042a869f520862e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/IR/ProfDataUtils.cpp

  Log Message:
  -----------
  ProfDataUtils: Avoid dyn_extract + assert (NFC)


  Commit: 0ef24aa549536e65fc3b23c4d21b6b76190d416e
      https://github.com/llvm/llvm-project/commit/0ef24aa549536e65fc3b23c4d21b6b76190d416e
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/DAGCombine_extract_vector_elt.ll

  Log Message:
  -----------
  Fix for logic in combineExtract() (#108208)

A (csmith) test case appeared where combineExtract() crashed when the
input vector was a bitcast into a vector of i1:s. Fix this by adding a check
with canTreatAsByteVector() before the call.


  Commit: 0c31ea5a09d854d5891eac40629f6a17a66fdcf7
      https://github.com/llvm/llvm-project/commit/0c31ea5a09d854d5891eac40629f6a17a66fdcf7
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
    M clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c

  Log Message:
  -----------
  [Clang][SME2] Use tuple result of SME  builtins directly. (#109423)

I missed a codepath during PR108008 so SME2/SVE2p1 builtins are
converting their struct return type into a large vector, which is
causing unnecessary casting via memory.


  Commit: ce6c236c965dc1bb5fa2257e17ea253a015705cc
      https://github.com/llvm/llvm-project/commit/ce6c236c965dc1bb5fa2257e17ea253a015705cc
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Basic/TargetID.cpp
    M llvm/include/llvm/ADT/SmallSet.h

  Log Message:
  -----------
  [ADT][NFC] Simplify SmallSet (#109412)

- Remove dependence on `STLExtras.h`.
- Remove unused header inclusions.
- Make `count` use `contains` for deduplication.
- Replace hand-written linear scans on Vector by `std::find`.


  Commit: e4688b98cd2b86035a2b563a8db0819710d6275a
      https://github.com/llvm/llvm-project/commit/e4688b98cd2b86035a2b563a8db0819710d6275a
  Author: Chengjun <chengjunp at Nvidia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    A llvm/test/Transforms/SimplifyCFG/avoid-complex-phi.ll

  Log Message:
  -----------
  [SimplifyCFG] Avoid increasing too many phi entries when removing empty blocks (#104887)

Now in the simplifycfg and jumpthreading passes, we will remove the
empty blocks (blocks only have phis and an unconditional branch).
However, in some cases, this will increase size of the IR and slow down
the compile of other passes dramatically. For example, we have the
following CFG:

1. BB1 has 100 predecessors, and unconditionally branches to BB2 (does
not have any other instructions).
2. BB2 has 100 phis.

Then in this case, if we remove BB1, for every phi in BB2, we need to
increase 99 entries (replace the incoming edge from BB1 with 100 edges
from its predecessors). Then in total, we will increase 9900 phi
entries, which can slow down the compile time for many other passes.

Therefore, in this change, we add a check to see whether removing the
empty blocks will increase lots of phi entries. Now, the threshold is
1000 (can be controlled by the command line option
`max-phi-entries-increase-after-removing-empty-block`), which means that
we will not remove an empty block if it will increase the total number
of phi entries by 1000. This threshold is conservative and for most of
the cases, we will not have such a large phi. So, this will only be
triggered in some unusual IRs.


  Commit: de70b959b152a071c3d788492a3a37470163af55
      https://github.com/llvm/llvm-project/commit/de70b959b152a071c3d788492a3a37470163af55
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix typo in promoteUniformOpToI32 (#109942)


  Commit: 8ea0dbab2e623df499bdce122394ed9bcfe2172e
      https://github.com/llvm/llvm-project/commit/8ea0dbab2e623df499bdce122394ed9bcfe2172e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Remove spurious CMake dependencies for convert-vector-to-llvm (NFC)

These don't seem used by this pass.


  Commit: 63b534be1765391d102464d26208eef3510fd62d
      https://github.com/llvm/llvm-project/commit/63b534be1765391d102464d26208eef3510fd62d
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    A llvm/test/CodeGen/RISCV/rvv/stack-folding.ll

  Log Message:
  -----------
  [RISCV] Fold vmv.x.s into load from stack (#109774)

If a vector is reloaded from the stack to be used in vmv.x.s, we can
tell foldMemoryOperandImpl to fold it into a scalar load.

If XLEN < SEW then this currently just bails. I couldn't think of a way
to express a vmv.x.s that truncates in LLVM IR.


  Commit: f43ad88ae1adf15cffcb8d4a9e521644315f7a8d
      https://github.com/llvm/llvm-project/commit/f43ad88ae1adf15cffcb8d4a9e521644315f7a8d
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll

  Log Message:
  -----------
  [RISCV] Handle zvfhmin and zvfbfmin promotion to f32 in half arith costs (#108361)

Arithmetic half or bfloat ops on zvfhmin and zvfbfmin respectively will
be promoted and carried out in f32, so this updates
getArithmeticInstrCost to check for this.


  Commit: 4f951503b9b6519906bfe4608bf151057a210b22
      https://github.com/llvm/llvm-project/commit/4f951503b9b6519906bfe4608bf151057a210b22
  Author: sstipano <146831748+sstipano at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir
    A llvm/test/CodeGen/AMDGPU/freeze.ll

  Log Message:
  -----------
  Reland "[AMDGPU][GlobalIsel] Use isRegisterClassType for G_FREEZE and G_IMPLICIT_DEF (#101331)" (#109958)

S192 type was missing from AllScalarTypes.


  Commit: dc2d0d5e1a4e7a7524f68aa9739acf22bee13b9e
      https://github.com/llvm/llvm-project/commit/dc2d0d5e1a4e7a7524f68aa9739acf22bee13b9e
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
    M llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
    M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    A llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
    A llvm/test/CodeGen/Xtensa/inline-asm-mem-constraint.ll
    A llvm/test/CodeGen/Xtensa/inline-asm.ll

  Log Message:
  -----------
  [Xtensa] Add basic support for inline asm constraints. (#108986)


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Quality.cpp
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
    M clang-tools-extra/clangd/index/StdLib.cpp
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/modularize/Modularize.cpp

  Log Message:
  -----------
  [clang-tools-extra] Don't flush llvm::raw_string_ostream (NFC)

Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered.
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )


  Commit: b40ff5ac2d407074db4479c6e271f51c3f5db4c2
      https://github.com/llvm/llvm-project/commit/b40ff5ac2d407074db4479c6e271f51c3f5db4c2
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/test/Transforms/StructurizeCFG/structurizer-keep-perf-md.ll

  Log Message:
  -----------
  [AMDGPU][StructurizeCFG] Maintain branch MD_prof metadata (#109813)

Currently `StructurizeCFG` drops branch_weight metadata .
This metadata can be generated from user annotations in the source code
like:

```cpp
if (...) [[likely]] {
}
```


  Commit: 9583215d55b639f9fc28400b560f9e66c13db13a
      https://github.com/llvm/llvm-project/commit/9583215d55b639f9fc28400b560f9e66c13db13a
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll

  Log Message:
  -----------
  [RISCV] Add splat tests for zvfbfmin and without zfhmin/zfbfmin. NFC

This exercises the lowering path when the scalar type isn't legal.


  Commit: 2a29d24ba94dac82e838c694595a0a574e505aab
      https://github.com/llvm/llvm-project/commit/2a29d24ba94dac82e838c694595a0a574e505aab
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallSet.h
    M llvm/unittests/ADT/SmallSetTest.cpp

  Log Message:
  -----------
  [ADT] Use perfect forwarding in SmallSet::insert() (#108590)

Previously this method took arguments by const-ref. This patch changes
the implementation to take perfectly forwarded arguments in the form of
a universal reference. Now, the insertion method will take advantage of
arguments passed as rvalue, potentially leading to performance
improvements.


  Commit: 786dc5a2da9bb55d98c65d018de25d9bd31485ff
      https://github.com/llvm/llvm-project/commit/786dc5a2da9bb55d98c65d018de25d9bd31485ff
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [lldb-dap] Simplify `readMemory` (#109485)

The `readMemory` request used the `MemoryRegionInfo` so it could also
support short reads. Since #106532, this is no longer necessary, as
mentioned by @labath in a comment on #104317.

With this commit, we no longer set the `unreadableBytes` in the result.
But this is optional, anyway, according to the spec, and afaik the
VS Code UI does not make good use of `unreadableBytes`, anyway.

We prefer `SBTarget::ReadMemory` over `SBProcess::ReadMemory`, because
the `memory read` command also reads memory through the target instead
of the process, and because users would expect the UI view and the
results from memory read to be in-sync.


  Commit: 1c984b86b389bbc71c8c2988d1d707e2f32878bd
      https://github.com/llvm/llvm-project/commit/1c984b86b389bbc71c8c2988d1d707e2f32878bd
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Adopt !listflatten for Intrinsic type signature (#109884)

Intrinisc type signature is a `list<list<int>>` that hold IIT encoding
for each param/ret type (outer list) where the IIT encoding for each
type itself can be 0 or more integers (the inner list). Intrinsic
emitter flatten this list into generate the type signature in
`ComputeTypeSignature`.

Use the new !listflatten() operator to instead flatten the list in the
TableGen definition and eliminate flattening in the emitter code.

Verified that `-gen-intrinsic-impl` output for Intrinsics.td is
identical with and without the change.


  Commit: fe06a6daae6be85d47cd1e51654e91f9ac6e63d7
      https://github.com/llvm/llvm-project/commit/fe06a6daae6be85d47cd1e51654e91f9ac6e63d7
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  Reland: [clang] Diagnose dangling issues for the "Container<GSLPointer>" case. #107213 (#108344)

This relands #107213, with with fixes to address false positives
(`make_optional(nullptr)`).


  Commit: 59693ea6d1822d8cf43db8090ddb4c8d7a78f471
      https://github.com/llvm/llvm-project/commit/59693ea6d1822d8cf43db8090ddb4c8d7a78f471
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/ConstantFPRange.h
    M llvm/lib/IR/ConstantFPRange.cpp
    M llvm/unittests/IR/ConstantFPRangeTest.cpp

  Log Message:
  -----------
  [ConstantFPRange] Remove `ConstantFPRange::toKnownFPClass` (#109960)

Addresses comment
https://github.com/llvm/llvm-project/pull/86483#pullrequestreview-2327710679.


  Commit: 1e67e4bbba2a90ecaf5340acef110972413e3e5b
      https://github.com/llvm/llvm-project/commit/1e67e4bbba2a90ecaf5340acef110972413e3e5b
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/unittests/Support/TimerTest.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] z/OS does not support nanosleep, use usleep instead (#109823)

Use usleep instead of nanosleep to resolve a build error on z/OS because
there is no support for nanosleep.


  Commit: 5ef02a3fd4758ae1b9151ac581eebd1109b4daad
      https://github.com/llvm/llvm-project/commit/5ef02a3fd4758ae1b9151ac581eebd1109b4daad
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [InstCombine] Fall through to computeKnownBits() for sdiv by -1

When dividing by -1 we were breaking out of the code entirely,
while we should fall through to computeKnownBits().

This fixes an instcombine-verify-known-bits discrepancy.

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


  Commit: 60ed2361c0917b4f8d54cb85935cfbf8904aa51d
      https://github.com/llvm/llvm-project/commit/60ed2361c0917b4f8d54cb85935cfbf8904aa51d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll

  Log Message:
  -----------
  [LV][EVL]Explicitly model AVL as sub, original TC, EVL_PHI.

Patch explicitly models AVL as sub original TC, EVL_PHI instead of
having it in EXPLICIT-VECTOR-LENGTH VPInstruction. Required for correct
safe dependence distance suport.

Reviewers: fhahn, ayalz

Reviewed By: ayalz

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


  Commit: ab0e8d0678f1093b9a8964cc798780b9f48aa35c
      https://github.com/llvm/llvm-project/commit/ab0e8d0678f1093b9a8964cc798780b9f48aa35c
  Author: sstipano <146831748+sstipano at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir

  Log Message:
  -----------
  [AMDGPU] Fix failing test after #109958 (#109964)


  Commit: 8e9011b3b8dc6a4234e5452951ae429f52127db6
      https://github.com/llvm/llvm-project/commit/8e9011b3b8dc6a4234e5452951ae429f52127db6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [LV][NFC]Fix formatting


  Commit: fd88121a58da87bf0c5f3e4d8434948c28722640
      https://github.com/llvm/llvm-project/commit/fd88121a58da87bf0c5f3e4d8434948c28722640
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [rtsan] Link in proper CXX ABI library (#109715)

To match other sanitizers


  Commit: 4be1c19a9fbdff02044cd46b703c842bb7a6afdb
      https://github.com/llvm/llvm-project/commit/4be1c19a9fbdff02044cd46b703c842bb7a6afdb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Adjust AnyOf after creating ComputeReductionResult (NFC).

Prepares for a follow-up change to use VPInstruction::ResumePhi to
create the resume phi for reductions.


  Commit: 3f37c517fbc40531571f8b9f951a8610b4789cd6
      https://github.com/llvm/llvm-project/commit/3f37c517fbc40531571f8b9f951a8610b4789cd6
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Analysis/SparsePropagation.h
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
    M llvm/lib/Transforms/IPO/CalledValuePropagation.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [NFC] Switch a number of DenseMaps to SmallDenseMaps for speedup (#109417)

If we use SmallDenseMaps instead of DenseMaps at these locations,
we get a substantial speedup because there's less spurious malloc
traffic. Discovered by instrumenting DenseMap with some accounting
code, then selecting sites where we'll get the most bang for our buck.


  Commit: 817e742ba55406688bf1f00557d24a60cfce962f
      https://github.com/llvm/llvm-project/commit/817e742ba55406688bf1f00557d24a60cfce962f
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Analysis/SparsePropagation.h
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
    M llvm/lib/Transforms/IPO/CalledValuePropagation.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  Revert "[NFC] Switch a number of DenseMaps to SmallDenseMaps for speedup (#109417)"

This reverts commit 3f37c517fbc40531571f8b9f951a8610b4789cd6.

Lo and behold, I missed a unit test


  Commit: 02c138f8d1d6ca7152823d44ad5709d13bcd06ee
      https://github.com/llvm/llvm-project/commit/02c138f8d1d6ca7152823d44ad5709d13bcd06ee
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-fp8-intrinsics/acle_sme2_fp8_scale.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-fscale.ll

  Log Message:
  -----------
  [AArch64] Implement intrinsics for SME2 FSCALE (#100128)

This patch implements these intrinsics:

FSCALE SINGLE AND MULTI
``` 
  // Variants are also available for:
  // [_single_f32_x2], [_single_f64_x2],
  // [_single_f16_x4], [_single_f32_x4], [_single_f64_x4]
  svfloat16x2_t svscale[_single_f16_x2](svfloat16x2_t zd, svfloat16_t zm) __arm_streaming;

  // Variants are also available for:
  //  [_f32_x2], [_f64_x2],
  //  [_f16_x4], [_f32_x4], [_f64_x4]
  svfloat16x2_t svscale[_f16_x2](svfloat16x2_t zd, svfloat16x2_t zm) __arm_streaming

```
(cf. https://github.com/ARM-software/acle/pull/323)

Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>


  Commit: 35ae7ee925e0c6eab962910885db3314c4961aa8
      https://github.com/llvm/llvm-project/commit/35ae7ee925e0c6eab962910885db3314c4961aa8
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  Remove spurious ; in ElimAvailExtern.cpp

Fix post #109203


  Commit: 22829f757dc76b23071d9438ae9c6ddc3e966db0
      https://github.com/llvm/llvm-project/commit/22829f757dc76b23071d9438ae9c6ddc3e966db0
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp

  Log Message:
  -----------
  [PS4,PS5][Driver] Fix typo in comment (NFC) (#109980)


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

  Changed paths:
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/arm64ec-import.test

  Log Message:
  -----------
  [LLD][COFF][NFC] Use CHPE version 2 in tests (#109872)


  Commit: 3477eb722fe094a6143108813ff017145aa9ef8a
      https://github.com/llvm/llvm-project/commit/3477eb722fe094a6143108813ff017145aa9ef8a
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_context.cpp
    M compiler-rt/lib/rtsan/rtsan_context.h
    M compiler-rt/lib/rtsan/rtsan_preinit.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp

  Log Message:
  -----------
  [rtsan][NFC] Move away from system include style for local headers (#109977)


  Commit: e9cb44090ff7b3feda386ca1ee1252ab47c0617e
      https://github.com/llvm/llvm-project/commit/e9cb44090ff7b3feda386ca1ee1252ab47c0617e
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.h
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
    A llvm/test/CodeGen/X86/isel-fp-to-int.ll
    A llvm/test/CodeGen/X86/isel-int-to-fp.ll

  Log Message:
  -----------
  [X86][GlobalISel] Enable scalar versions of G_UITOFP and G_FPTOUI (#100079)

Also add tests for G_SITOFP and G_FPTOSI


  Commit: aea06684992873f70c5834e2f455f913e5b8d671
      https://github.com/llvm/llvm-project/commit/aea06684992873f70c5834e2f455f913e5b8d671
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/builders/builder.py
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/test/API/functionalities/archives/Makefile

  Log Message:
  -----------
  [lldb][test] Use tools from llvm instead of compiler tools (#109961)

In #102185, toolchain detection for API tests has been rewritten in
Python. Tools paths for tests there are determined from compiler path.

Here tools are taken from `--llvm-tools-dir` dotest.py argument, which
by default refers to the LLVM build directory, unless they are
explicitly redefined in environment variables. It helps to minimize
external dependencies and to maximize the reproducibility of the build.


  Commit: 3469db82b5c821c94b58c0b81f03bbef51efa30b
      https://github.com/llvm/llvm-project/commit/3469db82b5c821c94b58c0b81f03bbef51efa30b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll

  Log Message:
  -----------
  [SLP]Add subvector vectorization for non-load nodes

Previously SLP vectorize supported clustered vectorization for loads
only. This patch adds support for "clustered" vectorization for other
instructions.
If the buildvector node contains "clusters", which can be vectorized
separately and then inserted into the resulting buildvector result, it
is better to do, since it may reduce the cost of the vector graph and
produce better vector code.
The patch does some analysis, if it is profitable to try to do this kind
of extra vectorization. It checks the scalar instructions and its
operands and tries to vectorize them only if they result in a better
graph.

Reviewers: RKSimon

Reviewed By: RKSimon

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


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll

  Log Message:
  -----------
  [TTI][RISCV] Model cost of loading constants arms of selects and compares (#109824)

This follows in the spirit of 7d82c99403f615f6236334e698720bf979959704,
and extends the costing API for compares and selects to provide
information about the operands passed in an analogous manner. This
allows us to model the cost of materializing the vector constant, as
some select-of-constants are significantly more expensive than others
when you account for the cost of materializing the constants involved.

This is a stepping stone towards fixing
https://github.com/llvm/llvm-project/issues/109466. A separate SLP patch
will be required to utilize the new API.


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

  Changed paths:
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb][lldb-dap] Fix compilation error on 32 bit platforms

https://github.com/llvm/llvm-project/pull/109485 tried to std::min
between size_t and uint64_t. size_t on 32 bit is 32 bits.

https://lab.llvm.org/buildbot/#/builders/18/builds/4430/steps/4/logs/stdio

Explicitly select the size_t template to fix this.

This will truncate one of the arguments but that's the count_requested.
If you're debugging from a 32 bit host and you asked it to read
> 32 bit range of memory from a 64 bit target, you weren't going
to have any success anyway.

The final result needs to be size_t to resize the vector with.


  Commit: ac802a3148cc6df21f6ea3f9942a90499388fa25
      https://github.com/llvm/llvm-project/commit/ac802a3148cc6df21f6ea3f9942a90499388fa25
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsSignalingTest.h
    A libc/test/include/issignaling_test.c
    A libc/test/include/issignaling_test.cpp
    A libc/test/include/issignalingf_test.cpp
    A libc/test/include/issignalingl_test.cpp

  Log Message:
  -----------
  [libc][math] Implement issignaling macro. (#109615)

#109201


  Commit: a514457e62e96a13fc69343e058658f37bff9641
      https://github.com/llvm/llvm-project/commit/a514457e62e96a13fc69343e058658f37bff9641
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/test/Analysis/ctu-on-demand-parsing.c
    M clang/test/Analysis/ctu-on-demand-parsing.cpp
    M clang/test/CodeGenCXX/pr59765-modules-global-ctor-dtor.cppm
    M clang/test/Driver/hipstdpar.c
    M clang/test/Driver/lld-repro.c
    M clang/test/OpenMP/lit.local.cfg

  Log Message:
  -----------
  Mark tests as unsupported when targeting z/OS (#107916)

Set up these tests so these are marked as unsupported when targeting
z/OS. Most would already be unsupported if you ran lit on z/OS. However,
they also need to be unsupported if the default triple is z/OS.


  Commit: 6b109a34ccedd3c75a067e322da0386c156c241d
      https://github.com/llvm/llvm-project/commit/6b109a34ccedd3c75a067e322da0386c156c241d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/reduction-whole-regs-loads.ll

  Log Message:
  -----------
  [SLP]Initial support for non-power-of-2 (but still whole register) number of elements in operands.

Patch adds basic support for non-power-of-2 number of elements in
operands. The patch still requires that this number addresses whole
registers.

Reviewers: RKSimon, preames

Reviewed By: preames

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


  Commit: 6fae8b8a4266461e81da12d2a7889ff35aac6526
      https://github.com/llvm/llvm-project/commit/6fae8b8a4266461e81da12d2a7889ff35aac6526
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [rtsan][NFC] Rename RTSAN_LINK_LIBS to RTSAN_DYNAMIC_LIBS (#109991)

Follow on to #109715 

This better matches this same variable in asan, ubsan, hwasan, and nsan.
Shows the logical coupling, and describes them as "dynamic only" which
is their intent.


  Commit: 3be8e3ad0c424dbeb9e4c8401174335e106a2d5d
      https://github.com/llvm/llvm-project/commit/3be8e3ad0c424dbeb9e4c8401174335e106a2d5d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
    M flang/test/Lower/HLFIR/forall.f90
    M flang/test/Lower/HLFIR/where-nonelemental.f90
    M flang/test/Lower/array-elemental-calls-char.f90
    M flang/test/Lower/array-user-def-assignments.f90

  Log Message:
  -----------
  [flang] translate pure and elemental attribute in FIR (#109954)

Follow-up from a previous patch that turned bind_c into an enum for
procedure attribute.

This patch carries the elemental and pure Fortran attribute into FIR so
that the optimizer can leverage that info in the future (I think debug
info may also need to know these aspects since DWARF has DW_AT_elemental
and DW_AT_pure nodes).

SIMPLE from F2023 will be translated once it is handled in the
front-end.

NON_RECURSIVE is only meaningful on func.func since we are not
guaranteed to know that aspect on the caller side (it is not part of
Fortran characteristics). There is a DW_AT_recursive DWARF node. I will
do it while dealing with func.func attributes.


  Commit: a024a0ceedae886c254b496c9321f9ef253cd7f8
      https://github.com/llvm/llvm-project/commit/a024a0ceedae886c254b496c9321f9ef253cd7f8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/test/CodeGenCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  [clang][bytecode] Override InConstantContext flag for immediate calls (#109967)

And fix the diagnostics for __builtin_is_constant_evaluated(). We can be
in a non-constant context, but calling an immediate function always
makes the context constant for the duration of that call.


  Commit: 74dcf0b595d4d230f65a7bba7b0164c019d3c08b
      https://github.com/llvm/llvm-project/commit/74dcf0b595d4d230f65a7bba7b0164c019d3c08b
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-objdump/SourcePrinter.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-strings/llvm-strings.cpp
    M llvm/utils/split-file/split-file.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Open text files in text mode (#109972)

This patch continues the work that was started here
https://reviews.llvm.org/D99426 to correctly open text files in text
mode.


  Commit: 9a0e281e8ccfc57ed5a5754d320b710efad6d303
      https://github.com/llvm/llvm-project/commit/9a0e281e8ccfc57ed5a5754d320b710efad6d303
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    A llvm/test/CodeGen/NVPTX/intrin-nocapture.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  Revert "[NVVM] Upgrade nvvm.ptr.* intrinics to addrspace cast (#109710)"

This reverts commit 36757613b73908f055674a8df0b51cc00aa04373.


  Commit: 4cb61c20ef38c6020389a15e739bac929b15425a
      https://github.com/llvm/llvm-project/commit/4cb61c20ef38c6020389a15e739bac929b15425a
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/rotate.ll
    M llvm/test/CodeGen/NVPTX/rotate_64.ll

  Log Message:
  -----------
  Revert "[NVPTX] deprecate nvvm.rotate.* intrinsics, cleanup funnel-shift handling (#107655)"

This reverts commit 9ac00b85e05d21be658d6aa0c91cbe05bb5dbde2.


  Commit: 97189492a1a75d39c09b0a54982f2a028c9bd652
      https://github.com/llvm/llvm-project/commit/97189492a1a75d39c09b0a54982f2a028c9bd652
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/arm-execute-only.c

  Log Message:
  -----------
  The real option name and not the alias used is displayed in msgs when using a config file (#107613)

An example of this is the -mpure-code option. Without a config file
being used, an error message will print `-mpure-code`. But if a config
file is used, the error message will print `-mexecute-only`.


  Commit: 11c423f9bebc3be27722225ca8120e8775be836c
      https://github.com/llvm/llvm-project/commit/11c423f9bebc3be27722225ca8120e8775be836c
  Author: Chris Cotter <ccotter14 at bloomberg.net>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bdlb_nullablevalue.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bsl_optional.h
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp

  Log Message:
  -----------
  [clang-tidy] Add support for bsl::optional (#101450)


  Commit: 88945db4dfaefe65535ec0670e0e3d238667446b
      https://github.com/llvm/llvm-project/commit/88945db4dfaefe65535ec0670e0e3d238667446b
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/amdgpu-demote-scc-branches.ll

  Log Message:
  -----------
  [AMDGPU][SIPreEmitPeephole] pre-commit tests: mustRetainExeczBranch: use a cost model (#109816)


  Commit: 808c498f52c8ff7724f762dab351600864023098
      https://github.com/llvm/llvm-project/commit/808c498f52c8ff7724f762dab351600864023098
  Author: lntue <lntue at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    R libc/test/include/IsSignalingTest.h
    R libc/test/include/issignaling_test.c
    R libc/test/include/issignaling_test.cpp
    R libc/test/include/issignalingf_test.cpp
    R libc/test/include/issignalingl_test.cpp

  Log Message:
  -----------
  Revert "[libc][math] Implement issignaling macro." (#109992)

Reverts llvm/llvm-project#109615


  Commit: 556ec4a7261447d13703816cd3730a891441e52c
      https://github.com/llvm/llvm-project/commit/556ec4a7261447d13703816cd3730a891441e52c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/select-profitability.ll

  Log Message:
  -----------
  [SLP] Pass operand info to getCmpSelInstrInfo (#109998)

Depending on the constant, selects with constant arms can have highly
varying cost. This adjusts SLP to use the new API introduced in
d2885743.

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


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

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

  Log Message:
  -----------
  [VPlan] Remove VPIteration, update to use directly VPLane instead (NFC)

After 8ec406757cb92 (https://github.com/llvm/llvm-project/pull/95842),
only the lane part of VPIteration is used.

Simplify the code by replacing remaining uses of VPIteration with VPLane directly.


  Commit: fff03b07c6048f2b9c45a9f71e6fb38e09d4856c
      https://github.com/llvm/llvm-project/commit/fff03b07c6048f2b9c45a9f71e6fb38e09d4856c
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-fp8-intrinsics/acle_sme2_fp8_scale.c

  Log Message:
  -----------
      Fix "[AArch64] Implement intrinsics for SME2 FSCALE" (#109999)

This patch fixes failure in acle_sme2_fp8_scale.c test


  Commit: d01e336336f2b7fb4137e3dcc7d5c0b06ca1f3d6
      https://github.com/llvm/llvm-project/commit/d01e336336f2b7fb4137e3dcc7d5c0b06ca1f3d6
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Solaris.cpp

  Log Message:
  -----------
  [Driver] Enable ASan on Solaris/SPARC (#107403)

Once PR #107223 lands, ASan can be enabled on Solaris/SPARC. This patch
does just that. As on Solaris/x86, the dynamic ASan runtime lib needs to
be linked with `-z now` to avoid an `AsanInitInternal` cycle.

Tested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.


  Commit: cebb7c010854e39a77065cfd681db91a79e7ce15
      https://github.com/llvm/llvm-project/commit/cebb7c010854e39a77065cfd681db91a79e7ce15
  Author: Thomas Köppe <tkoeppe at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp

  Log Message:
  -----------
  [clang-tidy] modernize-use-nullptr matches "NULL" in templates (#109169)

Make modernize-use-nullptr matcher also match "NULL", but not "0", when
it appears on a substituted type of a template specialization.

Previously, any matches on a substituted type were excluded, but this
meant that a situation like the following is not diagnosed:

```c++
template <typename T>
struct X {
  T val;
  X() { val = NULL; }  // should diagnose
};
```

When the user says `NULL`, we expect that the destination type is always
meant to be a pointer type, so this should be converted to `nullptr`. By
contrast, we do not propose changing a literal `0` in that case, which
appears as initializers of both pointer and integer specializations in
reasonable real code. (If `NULL` is used erroneously in such a
situation, it should be changed to `0` or `{}`.)


  Commit: 78c6506543dee13c9335edc5c85bc73c4853fbd7
      https://github.com/llvm/llvm-project/commit/78c6506543dee13c9335edc5c85bc73c4853fbd7
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Disable the clang-tidy checks to get CI back (#109989)

The CI has been a complete mess for the past week, and the only thing
preventing it from being back is the Clang tidy checks. Disable them (as
a total hack) to get CI back.


  Commit: 1c1bb7749860b4265c002528cbfe4b6c623b934c
      https://github.com/llvm/llvm-project/commit/1c1bb7749860b4265c002528cbfe4b6c623b934c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [libc++abi] Fix issue when building the demangler in C++11

Captures with an initializer only work in C++14. This broke the C++11
CI but wasn't noticed because our CI was down.


  Commit: 660ddb3a9357e766eb628abb8ea8c0776951d0db
      https://github.com/llvm/llvm-project/commit/660ddb3a9357e766eb628abb8ea8c0776951d0db
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps5-linker.c

  Log Message:
  -----------
  [PS4,PS5][Driver] Pass `-L<sdk>/target/lib -L.` to linker (#109796)

The proprietary PS4 linker implicitly adds `=/target/lib` and `.` as
library search paths. This behaviour was added to the PS5 linker via a
downstream patch in LLD. This really belongs in the driver, instead.
This change adds the driver behaviour to allow removal of the downstream
patch in LLD.

There are no plans to update the PS4 linker behaviour in the analogous
way, so do not pass the same search paths to the PS4 linker.

SIE tracker: TOOLCHAIN-16704


  Commit: a280275cff497f96492d7c1094ba30309dbd3ad6
      https://github.com/llvm/llvm-project/commit/a280275cff497f96492d7c1094ba30309dbd3ad6
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h

  Log Message:
  -----------
  [compiler-rt] Fix #83679 for macos sdk < 13.0 (#109946)


  Commit: b3b6141ba1105ad5b9712a9c93891003170c32ac
      https://github.com/llvm/llvm-project/commit/b3b6141ba1105ad5b9712a9c93891003170c32ac
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Fix two formatv issues in LDB_LOG (NFC)


  Commit: 72307ba615952ffa3be9be0d2b175b70e8c86710
      https://github.com/llvm/llvm-project/commit/72307ba615952ffa3be9be0d2b175b70e8c86710
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Driver


  Commit: 3c348bf5435896bea70f613d9bdcc542201075b4
      https://github.com/llvm/llvm-project/commit/3c348bf5435896bea70f613d9bdcc542201075b4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
    M llvm/test/CodeGen/RISCV/half-arith.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll

  Log Message:
  -----------
  [RISCV] Fold (fmv_x_h/w (load)) to an integer load. (#109900)


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

  Changed paths:
    M lld/test/ELF/aarch64-undefined-weak.s
    M llvm/test/MC/ARM/ltorg-range.s
    A llvm/test/tools/llvm-objdump/ELF/AArch64/zeroes.test
    A llvm/test/tools/llvm-objdump/ELF/ARM/zeroes.test
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-objdump] Print ... even if a data mapping symbol is active

Swap `!DisassembleZeroes` and `if (DumpARMELFData)` conditions so that
in the false DisassembleZeroes case (default), `...` will be printed for
long consecutive zeroes, even when a data mapping symbol is active.

This is especially useful for certain lld tests that insert a huge
padding within a code section. Without `...` the output will be huge.

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


  Commit: b1aea98cfa357e23f4bb52232da5f41781f23bff
      https://github.com/llvm/llvm-project/commit/b1aea98cfa357e23f4bb52232da5f41781f23bff
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/unittests/include/common/VirtualFileHelper.h
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Tooling/Core/Replacement.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-refactor/ClangRefactor.cpp
    M clang/tools/clang-refactor/TestSupport.cpp
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp

  Log Message:
  -----------
  [clang] Make deprecations of some `FileManager` APIs formal (#110014)

Some `FileManager` APIs still return `{File,Directory}Entry` instead of
the preferred `{File,Directory}EntryRef`. These are documented to be
deprecated, but don't have the attribute that warns on their usage. This
PR marks them as such with `LLVM_DEPRECATED()` and replaces their usage
with the recommended counterparts. NFCI.


  Commit: 394f59c203c715d00be4643c20bbe22893397adf
      https://github.com/llvm/llvm-project/commit/394f59c203c715d00be4643c20bbe22893397adf
  Author: Lewis Crawford <lcrawford at nvidia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

  Log Message:
  -----------
  [NVPTX] Add Read/Write/SideEffect attributes to atomic instructions (#109665)

Set the mayLoad, mayStore, and hasSideEffects hints for NVPTX atomic
instructions. This prevents any optimizations (e.g. rematerialization)
from illegally duplicating them and generating broken code.


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

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/unittests/SandboxIR/CMakeLists.txt
    A llvm/unittests/SandboxIR/UtilsTest.cpp

  Log Message:
  -----------
  [SandboxIR][Utils] Implement getMemoryLocation() (#109724)

This patch implements sandboxir::Utils::memoryLocationGetOrNone() that calls
MemoryLocation::getOrNone() internally.
Ideally this would require a sandboxir::MemoryLocation, but this should
be good enough for now.


  Commit: f172c31a578fa72375ce7a2199ecdfbbd764dc0e
      https://github.com/llvm/llvm-project/commit/f172c31a578fa72375ce7a2199ecdfbbd764dc0e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/masked-load-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-store-fp.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/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll

  Log Message:
  -----------
  [RISCV] Lower memory ops and VP splat for zvfhmin and zvfbfmin (#109387)

We can lower f16/bf16 memory ops without promotion through the existing
custom lowering.

Some of the zero strided VP loads get combined to a VP splat, so we need
to also handle the lowering for that for f16/bf16 w/ zvfhmin/zvfbfmin.
This patch copies the lowering from ISD::SPLAT_VECTOR over to
lowerScalarSplat which is used by the VP splat lowering.


  Commit: c71bfc59ee1cec32d56a82476461e242398f82ca
      https://github.com/llvm/llvm-project/commit/c71bfc59ee1cec32d56a82476461e242398f82ca
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/unittests/Basic/FileManagerTest.cpp

  Log Message:
  -----------
  [clang] Fix FileManagerTest

Compilation failure caused by b1aea98cfa357e23f4bb52232da5f41781f23bff.


  Commit: 0f521931b85e6b5f798af357cf32a7ae782a848d
      https://github.com/llvm/llvm-project/commit/0f521931b85e6b5f798af357cf32a7ae782a848d
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  LLVMContext: add getSyncScopeName() to lookup individual scope name (#109484)

This PR adds a `getSyncScopeString(Id)` API to `LLVMContext` that
returns the `StringRef` for that ID, if any.


  Commit: c3334dad732e3a3a53e57c028bdb337766e01598
      https://github.com/llvm/llvm-project/commit/c3334dad732e3a3a53e57c028bdb337766e01598
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/CMakeLists.txt
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_flags.inc
    A compiler-rt/lib/rtsan/rtsan_stats.cpp
    A compiler-rt/lib/rtsan/rtsan_stats.h
    A compiler-rt/test/rtsan/exit_stats.cpp

  Log Message:
  -----------
  [rtsan] Add exit statistics (#109885)

adds the flag `print_stats_on_exit` which mirrors nsan's same flag.

# Why?

Not only is this nice for the end users, this gives us a very trivial
way to test deduplication which is next up

Currently the style is something like:

```
RealtimeSanitizer exit stats:
    Total error count: 488
```


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

  Changed paths:
    A llvm/test/TableGen/intrinsic-target-prefix-for-target-independent.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h

  Log Message:
  -----------
  [LLVM][TableGen] Check name conflicts between target dep and independent intrinsics  (#109826)

Validate that for target independent intrinsics the second dotted
component of their name (after the `llvm.`) does not match any existing
target names (for which atleast one intrinsic has been defined). Doing
so is invalid as LLVM will search for that intrinsic in that target's
intrinsic table and not find it, and conclude that its an unknown
intrinsic.


  Commit: 6786928c4fe1f9daf720d3b604987de2b013e70b
      https://github.com/llvm/llvm-project/commit/6786928c4fe1f9daf720d3b604987de2b013e70b
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/unittests/IR/IntrinsicsTest.cpp

  Log Message:
  -----------
  [Core] Skip over target name in intrinsic name lookup (#109971)

When searching for an intrinsic name in a target specific slice of the
intrinsic name table, skip over the target prefix. For such cases,
currently the first loop iteration in `lookupLLVMIntrinsicByName` does
nothing (i.e., `Low` and `High` stay unchanged and it does not shrink
down the search window), so we can skip this useless first iteration by
skipping over the target prefix.


  Commit: 1911a50fae8a441b445eb835b98950710d28fc88
      https://github.com/llvm/llvm-project/commit/1911a50fae8a441b445eb835b98950710d28fc88
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fbasic-block-sections.c
    M llvm/docs/CommandGuide/llvm-objdump.rst
    M llvm/docs/Extensions.rst
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    A llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll
    A llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
    M llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
    A llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
    A llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
    M llvm/test/CodeGen/X86/basic-block-address-map.ll
    R llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir
    R llvm/test/CodeGen/X86/basic-block-sections-labels-empty-block.ll
    R llvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll
    R llvm/test/CodeGen/X86/basic-block-sections-labels-pgo-features.ll
    M llvm/test/CodeGen/X86/basic-block-sections-mir-print.ll

  Log Message:
  -----------
  Deprecate the `-fbasic-block-sections=labels` option. (#107494)

This feature is supported via the newer option
`-fbasic-block-address-map`. Using the old option still works by
delegating to the newer option, while a warning is printed to show
deprecation.


  Commit: 639a0afa9955a8613902e46e168767bc05c46cdd
      https://github.com/llvm/llvm-project/commit/639a0afa9955a8613902e46e168767bc05c46cdd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fbasic-block-sections.c
    M llvm/docs/CommandGuide/llvm-objdump.rst
    M llvm/docs/Extensions.rst
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    R llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll
    R llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
    M llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
    R llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
    R llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
    M llvm/test/CodeGen/X86/basic-block-address-map.ll
    A llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir
    A llvm/test/CodeGen/X86/basic-block-sections-labels-empty-block.ll
    A llvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll
    A llvm/test/CodeGen/X86/basic-block-sections-labels-pgo-features.ll
    M llvm/test/CodeGen/X86/basic-block-sections-mir-print.ll

  Log Message:
  -----------
  Revert "Deprecate the `-fbasic-block-sections=labels` option. (#107494)"

This reverts commit 1911a50fae8a441b445eb835b98950710d28fc88.

Several bots are failing:

https://lab.llvm.org/buildbot/#/builders/190/builds/6519
https://lab.llvm.org/buildbot/#/builders/3/builds/5248
https://lab.llvm.org/buildbot/#/builders/18/builds/4463


  Commit: 2b125e899b6414ca55f9d3e5989450e33d28ab7c
      https://github.com/llvm/llvm-project/commit/2b125e899b6414ca55f9d3e5989450e33d28ab7c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [LV] Don't pass loop preheader to getOrCreateVectorTripCount (NFCI).

The vector trip count must already be created when fixupIVUsers is
called. Don't pass the vector preheader there and delay retrieving the
vector loop header. This ensures we are re-using the already computed
trip count. Computing the trip count from scratch would not be correct,
as the IR may not be in a valid state yet.


  Commit: b935d312f13a95388113093e8ac4ae3037cb7842
      https://github.com/llvm/llvm-project/commit/b935d312f13a95388113093e8ac4ae3037cb7842
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/IsSignalingTest.h
    A libc/test/include/issignaling_test.c
    A libc/test/include/issignaling_test.cpp
    A libc/test/include/issignalingf_test.cpp
    A libc/test/include/issignalingl_test.cpp

  Log Message:
  -----------
  [libc][math] Reapply and fix issignaling macro. (#110011)

reapply #109615


  Commit: 8588c6ec545a859936bfac0ac36bc931da4b0c7d
      https://github.com/llvm/llvm-project/commit/8588c6ec545a859936bfac0ac36bc931da4b0c7d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn

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


  Commit: eb48aac7d40ee9cd3072c466d7ab17facb58570f
      https://github.com/llvm/llvm-project/commit/eb48aac7d40ee9cd3072c466d7ab17facb58570f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [Clang] Automatically link the `compiler-rt` for GPUs if present (#109152)

Summary:
This automically links `copmiler-rt` for offloading languages if it
exists in the resource directory.


  Commit: c3201ddaeac02a2c86a38b75be14be61a8ffcc9e
      https://github.com/llvm/llvm-project/commit/c3201ddaeac02a2c86a38b75be14be61a8ffcc9e
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M flang/docs/FlangDriver.md
    A flang/include/flang/Optimizer/Passes/CommandLineOpts.h
    A flang/include/flang/Optimizer/Passes/Pipelines.h
    R flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Common/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/CMakeLists.txt
    A flang/lib/Optimizer/Passes/CMakeLists.txt
    A flang/lib/Optimizer/Passes/CommandLineOpts.cpp
    A flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/tco/CMakeLists.txt
    M flang/tools/tco/tco.cpp

  Log Message:
  -----------
  [flang][NFC] Refactor to remove .inc file containing shared code (#109874)

Remove flang/include/flang/Tools/CLOptions.inc - which was included as
is in - several places. Move the code in it to header and source files
which are used used in the "standard" way. Some minor cleanup such as
removing trailing whitespace and excessive newlines and reordering
entries alphabetically for files that were modified along the way.
Update the documentation that referenced CLOptions.inc.


  Commit: 29b92d07746fac26cd64c914bc9c5c3833974f6d
      https://github.com/llvm/llvm-project/commit/29b92d07746fac26cd64c914bc9c5c3833974f6d
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/reduction-whole-regs-loads.ll

  Log Message:
  -----------
  Revert "[SLP]Initial support for non-power-of-2 (but still whole register) number of elements in operands."

This reverts commit 6b109a34ccedd3c75a067e322da0386c156c241d.

This causes a crash when linking lencod in ReleaseThinLTO configuration


  Commit: 7645d9c77d390cff68ec2d253bc5b23c37bc665f
      https://github.com/llvm/llvm-project/commit/7645d9c77d390cff68ec2d253bc5b23c37bc665f
  Author: SJW <48454132+sjw36 at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/test/Dialect/SCF/loop-pipelining.mlir

  Log Message:
  -----------
  [mlir][scf] Fix loop iteration calculation for negative step in LoopPipelining (#110035)

This fixes loop iteration count calculation if the step is
    a negative value, where we should adjust the added
    delta from `step-1` to `step+1` when doing the ceil div.


  Commit: 7e5df5bcc3be3299a0aa3a2c65f81b794c5ba935
      https://github.com/llvm/llvm-project/commit/7e5df5bcc3be3299a0aa3a2c65f81b794c5ba935
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    A llvm/include/llvm/SandboxIR/Module.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    A llvm/lib/SandboxIR/Module.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement Module (#109716)

This patch implements sandboxir::Module.
It provides access to globals.


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

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

  Log Message:
  -----------
  [gn build] Port 7e5df5bcc3be


  Commit: 6fb39ac77bb2e080cc41cd0060464e76f84f994a
      https://github.com/llvm/llvm-project/commit/6fb39ac77bb2e080cc41cd0060464e76f84f994a
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    A bolt/test/merge-fdata-uninitialized-header.test
    M bolt/tools/merge-fdata/merge-fdata.cpp

  Log Message:
  -----------
  [BOLT][merge-fdata] Initialize YAML profile header (#109613)

While merging profiles, some fields in the input header, e.g.
HashFunction, could be uninitialized leading to a UMR. Initialize merged
header with the first input header.

Fixes #109592


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

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

  Log Message:
  -----------
  [sanitizer] Extract SANITIZER_FREEBSD version of ThreadDescriptorSizeFallback (#109743)

This should fix SANITIZER_FREEBSD and simplify
SANITIZER_GLIBC version.

Also the PR make readers aware of problematic
`ThreadDescriptorSizeFallback` for SANITIZER_FREEBSD.
Maybe it will encourage FreeBSD maintainers to
improve the functions, or prove that it's not needed at
all.


  Commit: fea159671ae189fd25f0b01f35160ca31a07f962
      https://github.com/llvm/llvm-project/commit/fea159671ae189fd25f0b01f35160ca31a07f962
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [llvm][cmake] Do not emit error on `libc`'s use of project + runtime build (#110038)

Summary:
The `libc` project automatically adds `libc` to the projects list if
it's in the runtimes list. This then causes it to enter the projects
directory to bootstrap a handful of utilities, This usage conflicts
with a new error message with effectively stopped us from doing this.

This patch weakens the error message to permit this single case.


  Commit: 1bfca99909c249d9a1733e16ed0e85652f755639
      https://github.com/llvm/llvm-project/commit/1bfca99909c249d9a1733e16ed0e85652f755639
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/reduction-whole-regs-loads.ll

  Log Message:
  -----------
  [SLP]Initial support for non-power-of-2 (but still whole register) number of elements in operands.

Patch adds basic support for non-power-of-2 number of elements in
operands. The patch still requires that this number addresses whole
registers.

Reviewers: RKSimon, preames

Reviewed By: preames

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


  Commit: 4db0cc4c5582c73eb793572f8a8d5892b05fdfde
      https://github.com/llvm/llvm-project/commit/4db0cc4c5582c73eb793572f8a8d5892b05fdfde
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/X86/print-only-section.s

  Log Message:
  -----------
  [BOLT] Allow sections in --print-only flag (#109622)

While printing functions, expand --print-only flag to accept section
names. E.g., "--print-only=\.init" will only print functions from
".init" section.


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

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/IPO/ModuleInliner.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    A llvm/test/Analysis/CtxProfAnalysis/flatten-icp.ll

  Log Message:
  -----------
  [ctx_prof] Simple ICP criteria during module inliner (#109881)

This is mostly for test: under contextual profiling, we perform ICP for those indirect callsites which have targets marked as `alwaysinline`.

This helped uncover a bug with the way the profile was updated upon ICP, where we were skipping over the update if the target wasn't called in that context. That was resulting in incorrect counts for the indirect BB.

Also flyby fix to the total/direct count values, they should be 64-bit (as all counters are in the contextual profile)


  Commit: eab63b5a8cf2214ddfee566a87deb3013ffcc362
      https://github.com/llvm/llvm-project/commit/eab63b5a8cf2214ddfee566a87deb3013ffcc362
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libc/src/stdio/printf_core/parser.h

  Log Message:
  -----------
  [libc] Fix %m on CPUs with float128 but no int128 (#110053)

This bug is caused by the BigInt implementation failing to initialize
from errno. Explanation below, but the fix is a static cast to int.

The bug only shows up on risc-v 32 because of a chain of type-oddities:
1) Errno is provided by a struct with an implicit cast to int.
2) The printf parser uses an int128 to store the value of a conversion
   on systems with long double greater than double.
3) On systems without native int128 support we use our own BigInt
instead.

These combine such that if both long double and int128 exist (e.g. on
x86) there's no issue, errno is implicitly cast to int, which is
extended to int128. If long double is double (e.g. on arm32) then int64
is used in the printf parser, the implicit cast works, and there's no
issue. The only way this would come up is if the target has a proper
long double type, but not int128, which is the case for at least the
current risc-v 32 bot.


  Commit: e7d68c903be0d813be96954b274e65e58c42e5e4
      https://github.com/llvm/llvm-project/commit/e7d68c903be0d813be96954b274e65e58c42e5e4
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M libc/hdr/errno_macros.h

  Log Message:
  -----------
  [libc] Fix errno_macros.h include paths. (#110057)

The proxy header errno_macros.h should include relative to `libc/` but
it
was instead including relative to `libc/include/`. This patch fixes this
by adding the `include` to the paths.


  Commit: 51039101cf32591782ef564a108db71150a3b7c3
      https://github.com/llvm/llvm-project/commit/51039101cf32591782ef564a108db71150a3b7c3
  Author: Sriraman Tallam <38991943+tmsri at users.noreply.github.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Add more functions to sandboxir:Instruction class. (#110050)

The getter functions simply turn around and call the LLVM
counterparts.  This is fine until we don't add new sandbox IR
opcodes.  At that point, we may have to explicitly check if
the behavior is different.


  Commit: a068b974b199b0e7350da2d9506adc7df3995ce3
      https://github.com/llvm/llvm-project/commit/a068b974b199b0e7350da2d9506adc7df3995ce3
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll

  Log Message:
  -----------
  [VPlan] Implement VPWidenLoad/StoreEVLRecipe::computeCost().  (#109644)

Currently the EVL recipes transfer the tail masking to the EVL.
But in the legacy cost model, the mask exist and will calculate the
instruction cost of the mask.
To fix the difference between the VPlan-based cost model and the legacy
cost model, we always calculate the instruction cost for the mask in the
EVL recipes.

Note that we should remove the mask cost in the EVL recipes when we
don't need to compare to the legacy cost model.

This patch also fixes #109468.


  Commit: 3e65c30eee4d5ff5ac96ee1bc6644c5ea1f2da82
      https://github.com/llvm/llvm-project/commit/3e65c30eee4d5ff5ac96ee1bc6644c5ea1f2da82
  Author: jofrn <jofernau at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/Analysis/Lint.cpp
    A llvm/test/Analysis/Lint/const-store.ll

  Log Message:
  -----------
  [Lint][AMDGPU] No store to const addrspace (#109181)

Ensure store to const addrspace is not allowed by Linter.


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

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

  Log Message:
  -----------
  [RISCV] Reuse Factor variable instead of hardcoding 2 in other places. NFC


  Commit: 13809b3d95924d691db53e62182d8ad46b0e08ec
      https://github.com/llvm/llvm-project/commit/13809b3d95924d691db53e62182d8ad46b0e08ec
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [SandboxIR] Fix failing unittest introduced by 51039101cf32


  Commit: 9bc26e9e8eb7b63c6a96f93e5644e0511bf3f735
      https://github.com/llvm/llvm-project/commit/9bc26e9e8eb7b63c6a96f93e5644e0511bf3f735
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/cluster-dim.ll

  Log Message:
  -----------
  [NVPTX] Support !"cluster_dim_{x,y,z}" metadata (#109548)

Add support for !"cluster_dim_{x,y,z}" metadata to allow specifying
cluster dimensions on a kernel function in llvm.

If any of these metadata entries are present, the `.explicitcluster` PTX
directive is used and the specified dimensions are lowered with the
`.reqnctapercluster` directive. For more details see:
[PTX ISA: 11.7. Cluster Dimension Directives]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#cluster-dimension-directives)


  Commit: 165a912807ee3acbd421d2c819c51872f700c9b0
      https://github.com/llvm/llvm-project/commit/165a912807ee3acbd421d2c819c51872f700c9b0
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    A llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    A llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Context class into a separate file (#110049)


  Commit: 0813c76d400840ac2aaf041dc589941740874944
      https://github.com/llvm/llvm-project/commit/0813c76d400840ac2aaf041dc589941740874944
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 165a912807ee


  Commit: 661666d43ab9795b58e909a5d9c25714308deb5b
      https://github.com/llvm/llvm-project/commit/661666d43ab9795b58e909a5d9c25714308deb5b
  Author: Corbin Robeck <corbin.robeck at amd.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td

  Log Message:
  -----------
  [AMDGPU] Move renamedInGFX9 from TableGen to SIInstrInfo helper function/macro to free up a bit slot (#82787)

Follow on to #81525 and #81901 in the series of consolidating bits in
TSFlags.

Remove renamedInGFX9 from SIInstrFormats.td and move to helper
function/macro in SIInstrInfo. renamedInGFX9 points to V_{add, sub,
subrev, addc, subb, subbrev}_ U32 and V_{div_fixup_F16, fma_F16,
interp_p2_F16, mad_F16, mad_U16, mad_I16}.


  Commit: 0f85c3e08456a69fad05f6941012c1a25a5b1a81
      https://github.com/llvm/llvm-project/commit/0f85c3e08456a69fad05f6941012c1a25a5b1a81
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix missing dependency on the nvlink-wrapper (#110056)

Summary:
If this tool changes it should be rebuilt, as its used in the
compilation pipeline.


  Commit: 4ffb747aa4e619c91271acc0ee61169f3447cdbe
      https://github.com/llvm/llvm-project/commit/4ffb747aa4e619c91271acc0ee61169f3447cdbe
  Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp

  Log Message:
  -----------
  [SPIR-V][NFC] More efficient getPaddedLen (#105823)

Quick fix with small performance improvement for getPaddedLen function.


  Commit: 3d424e8aacf560e38f804f2717c638dec1e41ff7
      https://github.com/llvm/llvm-project/commit/3d424e8aacf560e38f804f2717c638dec1e41ff7
  Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [SPIR-V] Support for multiple DebugCompilationUnit in DI (#109645)

The module in LLVM can have more then one CompilationUnit when e.g.
modules are combined by llvm-linker.
This property also needs to be handled in DI.


  Commit: f4fa16f14b3ee7da244687e4a138a5a6df3e1a48
      https://github.com/llvm/llvm-project/commit/f4fa16f14b3ee7da244687e4a138a5a6df3e1a48
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/SemaCXX/lambda-attributes.cpp
    M clang/test/SemaCXX/lambda-conversion-op-cc.cpp

  Log Message:
  -----------
  [Clang] Bugfixes and improved support for `AttributedType`s in lambdas (#85325)

This fixes a crash when we attempt to instantiate a lambda with an
`AnnotatedType`, refactors the code that handles transforming the
function type of a lambda, and improves source fidelity for lambda
function types.

This fixes #85120 and fixes #85154.

---------

Co-authored-by: Yuxuan Chen <ych at meta.com>
Co-authored-by: Doug Wyatt <dwyatt at apple.com>


  Commit: 3d01af78a96892e2359f905db580eee9f204179e
      https://github.com/llvm/llvm-project/commit/3d01af78a96892e2359f905db580eee9f204179e
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

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

  Log Message:
  -----------
  [nfc][ctx_prof] Remove unnecessary include

Removed dependency on `Transforms/Utils` from
`CtxProfAnalysis.cpp` - it was unnecessary to
begin with.


  Commit: 2b0a708f41dd6291ee744704d43febc975e3d026
      https://github.com/llvm/llvm-project/commit/2b0a708f41dd6291ee744704d43febc975e3d026
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/test/SemaCXX/lambda-attributes.cpp

  Log Message:
  -----------
  [Clang] Set target in test (#110068)

I forgot to set the target for a test that uses the `preserve_most` cc
and it’s breaking the bots.


  Commit: e237d8aac8a90f4cb25604801d2b544e1d148d88
      https://github.com/llvm/llvm-project/commit/e237d8aac8a90f4cb25604801d2b544e1d148d88
  Author: Tex Riddell <texr at microsoft.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M bolt/test/AArch64/constant_island_pie_update.s
    M bolt/test/AArch64/update-weak-reference-symbol.s

  Log Message:
  -----------
  [BOLT] Fix tests broken by abe0dd1 (#110071)

abe0dd195a3b2630afdc5c1c233eb2a068b2d72f (#109553) changed default
llvm-objdump output for consecutive zeros.

This broke two tests:
BOLT :: AArch64/constant_island_pie_update.s
BOLT :: AArch64/update-weak-reference-symbol.s

This fixes the test failures by adding -z to llvm-objdump in RUN line.


  Commit: 14b567dcaae62660aa360bed595b087339143b17
      https://github.com/llvm/llvm-project/commit/14b567dcaae62660aa360bed595b087339143b17
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    A llvm/test/CodeGen/X86/ipra-local-linkage-2.ll

  Log Message:
  -----------
  [X86][IPRA] Add getIPRACSRegs since frame registers are risked to be optimized out. (#109597)

X86 IPRA had below correctness issue:
https://gcc.godbolt.org/z/6hh88xv9r
This patch is a workaround to fix it.


  Commit: a96876f38b46d3b5a4ef9c1778f6f88aa5b0834e
      https://github.com/llvm/llvm-project/commit/a96876f38b46d3b5a4ef9c1778f6f88aa5b0834e
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/utils/TableGen/X86ManualInstrMapping.def

  Log Message:
  -----------
  [X86] Fix missing immediate qualifier in #108593 (#110072)


  Commit: 3d0469516c687b6dad3e6482fd94d64c65fa4a01
      https://github.com/llvm/llvm-project/commit/3d0469516c687b6dad3e6482fd94d64c65fa4a01
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb] fix one-off error in vformat specifier

Results in an assert at runtime, when run on an improperly formed
corefile.

rdar://136659551


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

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

  Log Message:
  -----------
  [RISCV] Minor cleanups to lowerInterleaveIntrinsicToStore and lowerDeinterleaveIntrinsicToLoad. NFC

-Reduce the scope of some variables.
-Use getArgOperand instead of getOperand to get intrinsic operands.
-Use initialize_list instead of a SmallVector.
-Remove wide VectorType variable that is only used to check fixed vs
 scalable. We can use the narrow VectorType for that.


  Commit: 0f984976897857a8f4003063be6fa38a733fa624
      https://github.com/llvm/llvm-project/commit/0f984976897857a8f4003063be6fa38a733fa624
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp

  Log Message:
  -----------
  [lldb] [Mach-O corefiles] Sanity check malformed dyld

lldb scans the corefile for dyld, the dynamic loader, and when it
finds a mach-o header that looks like dyld, it tries to read all
of the load commands and symbol table out of the corefile memory.
If the load comamnds and symbol table are absent or malformed,
it doesn't handle this case and can crash.  Back out when we
fail to create a Module from the dyld binary.

rdar://136659551


  Commit: 7b7747dc1d3da1a829503ea9505b4cecce4f5bda
      https://github.com/llvm/llvm-project/commit/7b7747dc1d3da1a829503ea9505b4cecce4f5bda
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fbasic-block-sections.c
    M lld/ELF/LTO.cpp
    M llvm/docs/CommandGuide/llvm-objdump.rst
    M llvm/docs/Extensions.rst
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    A llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll
    A llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
    M llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
    A llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
    A llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
    M llvm/test/CodeGen/X86/basic-block-address-map.ll
    R llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir
    R llvm/test/CodeGen/X86/basic-block-sections-labels-empty-block.ll
    R llvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll
    R llvm/test/CodeGen/X86/basic-block-sections-labels-pgo-features.ll
    M llvm/test/CodeGen/X86/basic-block-sections-mir-print.ll

  Log Message:
  -----------
  Reapply "Deprecate the `-fbasic-block-sections=labels` option." (#110039)

This reapplies commit 1911a50fae8a441b445eb835b98950710d28fc88 with a
minor fix in lld/ELF/LTO.cpp which sets Options.BBAddrMap when
`--lto-basic-block-sections=labels` is passed.


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

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

  Log Message:
  -----------
  [ELF] Pass Ctx & to Driver


  Commit: 23487be4903630a4c06160562fb939f6389aa99d
      https://github.com/llvm/llvm-project/commit/23487be4903630a4c06160562fb939f6389aa99d
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Merge the conditions used for deciding CS spills for amdgpu_cs_chain[_preserve] (#109911)

Multiple conditions exist to decide whether callee save spills/restores
are required for amdgpu_cs_chain or amdgpu_cs_chain_preserve calling
conventions. This patch consolidates them all and moves to a single
place.


  Commit: fde3c16ac9851e5f030fa410af098063baaf5019
      https://github.com/llvm/llvm-project/commit/fde3c16ac9851e5f030fa410af098063baaf5019
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][LLVM] Add operand bundle support (#108933)

This PR adds LLVM [operand
bundle](https://llvm.org/docs/LangRef.html#operand-bundles) support to
MLIR LLVM dialect. It affects these 3 operations related to making
function calls: `llvm.call`, `llvm.invoke`, and `llvm.call_intrinsic`.

This PR adds two new parameters to each of the 3 operations. The first
parameter is a variadic operand `op_bundle_operands` that contains the
SSA values for operand bundles. The second parameter is a property
`op_bundle_tags` which holds an array of strings that represent the tags
of each operand bundle.


  Commit: 571a867f1f7abc4a58420f60b2b121b5fd13e26b
      https://github.com/llvm/llvm-project/commit/571a867f1f7abc4a58420f60b2b121b5fd13e26b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp:128:1:
  error: unused function 'convertOperandBundles'
  [-Werror,-Wunused-function]


  Commit: 781cb10f33beb9a829857de41827c0e4ff83bb32
      https://github.com/llvm/llvm-project/commit/781cb10f33beb9a829857de41827c0e4ff83bb32
  Author: pudge62 <maruipu2019 at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [TSan] fix the module map of main executable on darwin platforms (#107227)

In the executable image on Darwin platforms, there is a `__PAGEZERO`
segment with a size of 0. When calculating the module map, this segment
must be skipped to avoid errors. The previous implementation
inaccurately calculated the executable image's range, starting the
address at `0 + slide`.


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

  Changed paths:
    M clang/lib/AST/ByteCode/MemberPointer.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove a useless cast

getDecl() now always returns a ValueDecl.


  Commit: ae54a00cc1eb64a0300e190ccdc46ae9b31d2835
      https://github.com/llvm/llvm-project/commit/ae54a00cc1eb64a0300e190ccdc46ae9b31d2835
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/ptr-arith.c

  Log Message:
  -----------
  [clang][analyzer] FixedAddressChecker: no warning if system macro is used (#108993)


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

  Changed paths:
    M clang/include/clang/Serialization/ModuleFile.h

  Log Message:
  -----------
  [clang] [Modules] Don't assume an overriden module file can not be out-of-date

There is an assertion in ModuleFile assumes that an overriden module
file can't be out of date. But it is not seriously true in the case
clangd. e.g., the source files are overriden, but clangd relies on if
the files are out of date to trigger rebuilding preamble.

And techniquely, overriden doesn't imply it can't be out of date. This
was found during the use clangd of a large code base with modules.
Although I failed to reproduce an example, I feel it is fine to land
this directly for this particular case.


  Commit: 57bed5cd63b5d23ca821be09b4e593646cd84146
      https://github.com/llvm/llvm-project/commit/57bed5cd63b5d23ca821be09b4e593646cd84146
  Author: David Green <david.green at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/f16-instructions.ll

  Log Message:
  -----------
  [AArch64] Update and regenerate f16-instructions.ll. NFC


  Commit: c808e665ce5a74ed37b807865b92646c4bbbbf3d
      https://github.com/llvm/llvm-project/commit/c808e665ce5a74ed37b807865b92646c4bbbbf3d
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/ARM/align-func-start.ll

  Log Message:
  -----------
  [DebugInfo] Don't emit .loc directive with all values zero (#109978)

When emitting debug info for code alignment, it was possible to emit a
.loc directive with a file number of zero, which is invalid for DWARF 4
and earlier. This happened because getCurrentDwarfLoc() returned a
zero-initialised value when there hadn't been a previous .loc directive
emitted.

---------

Co-authored-by: Paul T Robinson <paul.robinson at sony.com>


  Commit: 28039055e57e4ee8c7e142909c70097c20009303
      https://github.com/llvm/llvm-project/commit/28039055e57e4ee8c7e142909c70097c20009303
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
    M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir

  Log Message:
  -----------
  [MLIR][Transform] Hoist Pad generates linalg.transpose (#109669)

For readability purpose, generate linalg named ops when possible.
For maintainability purpose, get rid of duplicated code.


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

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Writer.cpp
    A lld/test/COFF/arm64ec-import-range-ext.test

  Log Message:
  -----------
  [LLD][COFF] Add support for ARM64EC import call thunks with extended range (#109703)

The MSVC linker generates range extensions for these thunks when needed.
This commit inlines the range extension into the thunk, making it both
slightly more optimal and easier to implement in LLD.


  Commit: a059b29930d046a2426be15c58421ee8971ec11c
      https://github.com/llvm/llvm-project/commit/a059b29930d046a2426be15c58421ee8971ec11c
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/smul.with.overflow.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/uadd.with.overflow.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/umul.with.overflow.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/usub.with.overflow.ll
    A llvm/test/CodeGen/SPIRV/optimizations/add-check-overflow.ll
    A llvm/test/CodeGen/SPIRV/passes/translate-aggregate-uaddo.ll

  Log Message:
  -----------
  [SPIR-V] Allow intrinsics with aggregate return type to reach GlobalISel (#108893)

Two main goals of this PR are:
* to support "Arithmetic with Overflow" intrinsics, including the
special case when those intrinsics are being generated by the
CodeGenPrepare pass during translations with optimization;
* to redirect intrinsics with aggregate return type to be lowered via
GlobalISel operations instead of SPIRV-specific unfolding/lowering (see
https://github.com/llvm/llvm-project/pull/95012).

There is a new test case
`llvm/test/CodeGen/SPIRV/passes/translate-aggregate-uaddo.ll` that
describes and checks the general logics of the translation.

This PR continues a series of PRs aimed to identify and fix flaws in
code emission, to improve pass rates for the mode with expensive checks
set on (see https://github.com/llvm/llvm-project/pull/101732,
https://github.com/llvm/llvm-project/pull/104104,
https://github.com/llvm/llvm-project/pull/106966), having in mind the
ultimate goal of proceeding towards the non-experimental status of
SPIR-V Backend.

The reproducers are:

1) consider `llc -O3 -mtriple=spirv64-unknown-unknown ...` with:

```
define spir_func i32 @foo(i32 %a, ptr addrspace(4) %p) {
entry:
  br label %l1

l1:
  %e = phi i32 [ %a, %entry ], [ %i, %body ]
  %i = add nsw i32 %e, 1
  %fl = icmp eq i32 %i, 0
  br i1 %fl, label %exit, label %body

body:
  store i8 42, ptr addrspace(4) %p
  br label %l1

exit:
  ret i32 %i
}
```

2) consider `llc -O0 -mtriple=spirv64-unknown-unknown ...` with:

```
define spir_func i32 @foo(i32 %a, ptr addrspace(4) %p) {
entry:
  br label %l1

l1:                                               ; preds = %body, %entry
  %e = phi i32 [ %a, %entry ], [ %math, %body ]
  %0 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %e, i32 1)
  %math = extractvalue { i32, i1 } %0, 0
  %ov = extractvalue { i32, i1 } %0, 1
  br i1 %ov, label %exit, label %body

body:                                             ; preds = %l1
  store i8 42, ptr addrspace(4) %p, align 1
  br label %l1

exit:                                             ; preds = %l1
  ret i32 %math
}
```


  Commit: b860d8659a336dd5a5b813c8790db2de4b1a04c5
      https://github.com/llvm/llvm-project/commit/b860d8659a336dd5a5b813c8790db2de4b1a04c5
  Author: David Green <david.green at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith-fp16.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Regenerate legalize-fp-arith-fp16.mir. NFC


  Commit: 69ef3b102cc0893491efd37faa7b3e957ed90bef
      https://github.com/llvm/llvm-project/commit/69ef3b102cc0893491efd37faa7b3e957ed90bef
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Transforms/debug-107988.fir
    A flang/test/Transforms/debug-variable-char-len.fir

  Log Message:
  -----------
  [flang][debug] Allow variable length for dummy char arguments. (#109448)

As pointed out by @jeanPerier
[here](https://github.com/llvm/llvm-project/pull/108283#discussion_r1764528809),
we don't need to restrict the length of the dummy character argument
location to `fir.unboxchar`. This PR removes that restriction.


  Commit: d9250061e10b82f82d9833009f6565775578ee58
      https://github.com/llvm/llvm-project/commit/d9250061e10b82f82d9833009f6565775578ee58
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/HLFIR/bindc-value-derived.f90
    M flang/test/Lower/HLFIR/block_bindc_pocs.f90
    M flang/test/Lower/Intrinsics/signal.f90
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/bindc_procs.f90
    M flang/test/Lower/c-interoperability-c-pointer.f90
    M flang/test/Lower/call.f90
    M flang/test/Lower/func-attrs.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/program-units-fir-mangling.f90

  Log Message:
  -----------
  [flang] add fir.proc_attrs attributes to func.func (#110002)

BIND(C) ABI need care in the TargetRewrite pass. currently, we are not
able to accurately identify fun.func that are BIND(C) in FIR (the
fir.bindc_name is used in other contexts, like for program names).

This patch adds the fir.proc_attrs to func.func just like it was done
for calls recently. This replace the previous named attribute for
PURE/ELEMENTAL/RECURSIVE (note that RECURSIVE is changed to
NON_RECURSIVE, which brings more data since RECURSIVE is the default for
procedures that do not have explicit RECURSIVE/NON_RECUSRIVE
attributes).


  Commit: 056a3f4673a4f88d89e9bf00614355f671014ca5
      https://github.com/llvm/llvm-project/commit/056a3f4673a4f88d89e9bf00614355f671014ca5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Analysis/SparsePropagation.h
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
    M llvm/lib/Transforms/IPO/CalledValuePropagation.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/unittests/Analysis/SparsePropagation.cpp

  Log Message:
  -----------
  [NFC] Reapply 3f37c517f, SmallDenseMap speedups

This time with 100% more building unit tests. Original commit message follows.

[NFC] Switch a number of DenseMaps to SmallDenseMaps for speedup (#109417)

If we use SmallDenseMaps instead of DenseMaps at these locations,
we get a substantial speedup because there's less spurious malloc
traffic. Discovered by instrumenting DenseMap with some accounting
code, then selecting sites where we'll get the most bang for our buck.


  Commit: 2ad435f9f6fb792d9b010ddf56ca3ea26fbf5f15
      https://github.com/llvm/llvm-project/commit/2ad435f9f6fb792d9b010ddf56ca3ea26fbf5f15
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticCategories.h
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Frontend/LogDiagnosticPrinter.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
    M clang/test/Sema/diagnose_if.c
    R clang/test/SemaCXX/diagnose_if-warning-group.cpp
    M clang/tools/diagtool/ListWarnings.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/libclang/CXStoredDiagnostic.cpp
    M flang/lib/Frontend/TextDiagnosticPrinter.cpp

  Log Message:
  -----------
  Revert "[clang] Extend diagnose_if to accept more detailed warning information (#70976)"

This reverts commit e39205654dc11c50bd117e8ccac243a641ebd71f.

There are further discussions in
https://github.com/llvm/llvm-project/pull/70976, happening for past two
weeks. Since there were no responses for couple weeks now, reverting
until author is back.


  Commit: 497523b695d06c8bf9f3aaf5a5cb4414a5b0625b
      https://github.com/llvm/llvm-project/commit/497523b695d06c8bf9f3aaf5a5cb4414a5b0625b
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  [flang][OpenMP] Delayed privatization MLIR lowering support for `distribute` (#109632)

Starts delayed privatizaiton support for standalone `distribute`
directives. Other flavours of `distribute` are still TODO as well as
MLIR to LLVM IR lowering.


  Commit: 9f33eb861a3d17fd92163ee894f7cd9f256d03fb
      https://github.com/llvm/llvm-project/commit/9f33eb861a3d17fd92163ee894f7cd9f256d03fb
  Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    A clang/include/clang/Basic/CFProtectionOptions.def
    A clang/include/clang/Basic/CFProtectionOptions.h
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGen/RISCV/riscv-cf-protection.c

  Log Message:
  -----------
  [clang][RISCV] Introduce command line options for RISC-V Zicfilp CFI

This patch enables the following command line flags for RISC-V targets:

+ `-fcf-protection=branch` turns on forward-edge control-flow integrity conditioning
+ `-mcf-branch-label-scheme=unlabeled|func-sig` selects the label scheme used in the forward-edge CFI conditioning


  Commit: 21ac5c86614b13686f4d7611064d9e71c3af30c8
      https://github.com/llvm/llvm-project/commit/21ac5c86614b13686f4d7611064d9e71c3af30c8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Remove duplicated ExtractFromEnd handling from unoll (NFC).

ExtractFromEnd is already handled earlier, remove duplicated code.


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

  Changed paths:
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
    M lldb/test/API/linux/aarch64/fpmr/TestAArch64LinuxFPMR.py

  Log Message:
  -----------
  [lldb][AArch64] Add register fields for the fpmr register (#109934)

The FP8 formats have a "_" in the name so that they are:
1. Easier to read.
2. Possible to use in register expressions if/when they are supported.

Some other bits do have defined meanings but they are not simple to
name. Better that folks read the manual for those.

See this page for the full details:

https://developer.arm.com/documentation/ddi0601/2024-06/AArch64-Registers/FPMR--Floating-point-Mode-Register


  Commit: 82ce8296b8024f1fb549c4b2dfcf736f809e19b7
      https://github.com/llvm/llvm-project/commit/82ce8296b8024f1fb549c4b2dfcf736f809e19b7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't call dtors of anonymous unions (#110087)


  Commit: 100fd0cd5ac229d1aafc4af60e8b0440274d5713
      https://github.com/llvm/llvm-project/commit/100fd0cd5ac229d1aafc4af60e8b0440274d5713
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-order-detection.ll

  Log Message:
  -----------
  [SLP]Fix a crash when trying to identify one source order

Need to check that order index is not out-of-boundaries when trying to
detect that the reuse mask is one-source-mask with clusters to fix
compiler crash


  Commit: 28439a19c15f4273ea56342ac3e20a8918307561
      https://github.com/llvm/llvm-project/commit/28439a19c15f4273ea56342ac3e20a8918307561
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll

  Log Message:
  -----------
  [SCEV] Add tests with non-power-of-2 steps for #108777.

Adds extra tests for https://github.com/llvm/llvm-project/pull/108777.


  Commit: f82fb06cd1276bd358315e45cd3f4312b1319314
      https://github.com/llvm/llvm-project/commit/f82fb06cd1276bd358315e45cd3f4312b1319314
  Author: Daniel Krupp <daniel.krupp at ericsson.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/assume-controlled-environment.c
    M clang/test/Analysis/bool-assignment.c
    M clang/test/Analysis/cxx-method-names.cpp
    M clang/test/Analysis/debug-exprinspection-istainted.c
    M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
    M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
    M clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c
    M clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
    M clang/test/Analysis/fread.c
    M clang/test/Analysis/global-region-invalidation-errno.c
    M clang/test/Analysis/global-region-invalidation.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.cpp
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-notes.c
    M clang/test/Analysis/redefined_system.c
    M clang/test/Analysis/string.c
    M clang/test/Analysis/taint-checker-callback-order-has-definition.c
    M clang/test/Analysis/taint-checker-callback-order-without-definition.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-dumps.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/test/Analysis/taint-tester.c
    M clang/test/Analysis/taint-tester.cpp
    M clang/test/Analysis/taint-tester.m
    M clang/utils/analyzer/SATestBuild.py

  Log Message:
  -----------
  [analyzer] Moving TaintPropagation checker out of alpha (#67352)

This commit moves the **alpha.security.taint.TaintPropagation** and
**alpha.security.taint.GenericTaint** checkers to the **optin.taint**
optional package.

These checkers were stabilized and improved by recent commits thus 
they are ready for production use.


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

  Changed paths:
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp

  Log Message:
  -----------
  [lldb][AArch64] Fix crash loading core files on 32 bit systems

https://github.com/llvm/llvm-project/pull/109934 added FPMR which
uses a bit in hwcaps greater than 31. So it marked the 1 with UL
which is fine on 64 bit systems but for 32 bit UL is 4 bytes.

Use ULL so we aren't invoking undefined behaviour.


  Commit: 439dcfafc5af3e018a80e8112bc515249e1cbfbc
      https://github.com/llvm/llvm-project/commit/439dcfafc5af3e018a80e8112bc515249e1cbfbc
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h

  Log Message:
  -----------
  [llvm][ARM][NFC] Renaming FeaturePrefLoopAlignment (#109932)

The feature 'FeaturePrefLoopAlignment' was misleading as it was used to
set the alignment of branch targets such as functions. Renamed to
FeaturePreferfBranchAlignment.


  Commit: 9abf6d3506c7289e062836cb9f70a9eaa56bcb68
      https://github.com/llvm/llvm-project/commit/9abf6d3506c7289e062836cb9f70a9eaa56bcb68
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/test/Analysis/malloc-annotations.c

  Log Message:
  -----------
  [analyzer] [MallocChecker] Assume functions with `ownership_returns`  return unknown memory (#110115)

There is no good way to tell CSA if function with `ownership_returns`
attribute returns initialized or not initialized memory. To make FP rate
lower, let's assume that memory returned from such functions is unknown
and do not reason about it.

In future it would be great to add a way to annotate such behavior


  Commit: 0b8866d15ac5806a980d2ff2ea63240d8acfa778
      https://github.com/llvm/llvm-project/commit/0b8866d15ac5806a980d2ff2ea63240d8acfa778
  Author: Discookie <viktor.cseh at ericsson.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions.c

  Log Message:
  -----------
   [clang-tidy] Add user-defined functions to `bugprone-unsafe-functions` check (#106350)

Adds the check option `bugprone-unsafe-functions.CustomFunctions` to be
able to match user-defined functions as part of the checker.
Adds the option `bugprone-unsafe-functions.ReportDefaultFunctions` to
disable reporting the default set of functions as well.

The functions names are matched using the same mechanism as the
`matchesAnyListedName` tidy matcher, documented in
`unsafe-functions.rst`.


  Commit: 9e65dcac660723a06039c7e9b30f305b9b8ca652
      https://github.com/llvm/llvm-project/commit/9e65dcac660723a06039c7e9b30f305b9b8ca652
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp

  Log Message:
  -----------
  [clangd] Add some regression tests for clang-tidy finding severities


  Commit: e13cbaca6925629165e3cced90b33777f0fe09fe
      https://github.com/llvm/llvm-project/commit/e13cbaca6925629165e3cced90b33777f0fe09fe
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/spirv-amdgcn-float16.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/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl

  Log Message:
  -----------
  [clang][CodeGen][SPIR-V] Fix incorrect SYCL usage, implement missing interface (#109415)

This is primarily meant to address the issue identified in #109182,
around incorrect usage of `-fsycl-is-device`; we now have AMDGCN
flavoured SPIR-V which retains the desired behaviour around the default
AS and does not depend on the SYCL language being enabled to do so.
Overall, there are three changes:

1. We unconditionally use the `SPIRDefIsGen` AS map for AMDGCNSPIRV
target, as there is no case where the hack of setting default to private
would be desirable, and it can be used for languages other than OCL/HIP;
2. We implement `SPIRVTargetCodeGenInfo::getGlobalVarAddressSpace` for
SPIR-V in general, because otherwise using it from languages other than
HIP or OpenCL would yield 0, incorrectly;
3. We remove the incorrect usage of `-fsycl-is-device`.


  Commit: a43a2981e4f041c148709496857b678b2734fa10
      https://github.com/llvm/llvm-project/commit/a43a2981e4f041c148709496857b678b2734fa10
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Fix typo: ILP64E => LP64E


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

  Changed paths:
    A llvm/docs/ReleaseNotes.md
    R llvm/docs/ReleaseNotes.rst
    M llvm/docs/conf.py

  Log Message:
  -----------
  [llvm][docs] Convert LLVM release notes to Markdown (#109107)

* Markdown is the most common format on GitHub and most contributors are
more familiar with it than RST.
* This leads to mistakes in the RST syntax and/or folks just using
Markdown syntax and assuming it works.
* The release notes have a high number of edits and a high number of
views, we should optimise for making the common path easy. That is,
adding a bullet point and a link.
* Though GitHub can render RST and Markdown, its support for Markdown is
more complete (and neither handle the Sphinx directives well).
* We already have some Markdown docs in the llvm docs.

To keep the original formatting we do need some Sphinx directives still,
and those are provided by MyST which is already enabled.

https://myst-parser.readthedocs.io/en/latest/

I did have to enable an extension so we can substitute in the release
version.


https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#substitutions-with-jinja2

Needing to use MyST means there is some special knowledge needed if you
want to do advanced things, but at least the basics remain Markdown.
Even in RST form, you still had to look up Sphinx syntax.

I also make use of a nested directive

https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#nesting-directives
to implement the prerelease warning.

The note about sections referred to another note that got removed in
4c72deb613d9d8838785b431facb3eb480fb2f51. I presume accidentally, so I
have restored that.

I also removed the "Update on required toolchains to build LLVM" header
because the section is now empty.

The other difference is that the table of contents now has a heading
"Contents". This is the default and I could not find a way to remove
that name. Otherwise it's the same table as you'd get from the RST
document.


  Commit: 39babbffc9f44244efaeca8951782a2a6ef814db
      https://github.com/llvm/llvm-project/commit/39babbffc9f44244efaeca8951782a2a6ef814db
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Implement isSDNodeAlwaysUniform for INTRINSIC_W_CHAIN (#110114)

There are no always uniform side-effecting intrinsics upstream to test
this with, but we have examples downstream.


  Commit: af7aa223d27996b129a2d1a0a4540f270c9a1e03
      https://github.com/llvm/llvm-project/commit/af7aa223d27996b129a2d1a0a4540f270c9a1e03
  Author: Finlay <finlay.marno at codeplay.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [MLIR][GPU] Lower subgroup query ops in gpu-to-llvm-spv (#108839)

These ops are:
* gpu.subgroup_id
* gpu.lane_id
* gpu.num_subgroups
* gpu.subgroup_size

---------

Signed-off-by: Finlay Marno <finlay.marno at codeplay.com>


  Commit: 58e8683a31186a281d83499798aa5f867b4c5894
      https://github.com/llvm/llvm-project/commit/58e8683a31186a281d83499798aa5f867b4c5894
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    A flang/include/flang/Common/LangOptions.def
    A flang/include/flang/Common/LangOptions.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    R flang/include/flang/Frontend/LangOptions.def
    R flang/include/flang/Frontend/LangOptions.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Common/CMakeLists.txt
    A flang/lib/Common/LangOptions.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInvocation.cpp
    R flang/lib/Frontend/LangOptions.cpp

  Log Message:
  -----------
  [flang][Frontend] Move LangOptions from Frontend to Common (#110012)

The information in LangOptions is not tied to any frontend code, and
could be used by any other component.


  Commit: 3b20a833cb4d701ff9d61aca2120d125b618950f
      https://github.com/llvm/llvm-project/commit/3b20a833cb4d701ff9d61aca2120d125b618950f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang][Semantics] Add LangOptions to SemanticsContext (#110013)

The motivation for this is to make OpenMP settings visible in the
semantic checks (OpenMP version in particular).


  Commit: 00ab44ee66dbcf0d32819dbc6e4eefd1b7c48dfa
      https://github.com/llvm/llvm-project/commit/00ab44ee66dbcf0d32819dbc6e4eefd1b7c48dfa
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Examples/omp-in-reduction-clause.f90
    M flang/test/Examples/omp-order-clause.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/declare-target-data.f90
    M flang/test/Lower/OpenMP/declare-target-deferred-marking.f90
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/order-clause01.f90
    M flang/test/Parser/OpenMP/tile-size.f90
    M flang/test/Parser/OpenMP/unroll-full.f90
    M flang/test/Parser/OpenMP/unroll.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    A flang/test/Semantics/OpenMP/clause-validity02.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.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_ptr1.f90

  Log Message:
  -----------
  [flang][OpenMP] Add version checks for clauses (#110015)

If there is a clause that is allowed on a given directive in a later
version of the OpenMP spec, report an error and provide the minimal spec
version that allows the clause.

The case where a clause is not allowed on a directive at all is already
handled elsewhere.


  Commit: 8f214597775ef86c9647085f5532948f7f53c794
      https://github.com/llvm/llvm-project/commit/8f214597775ef86c9647085f5532948f7f53c794
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Add additional store speculation tests (NFC)


  Commit: 95c0e03376a4699c38cd3e37a3b6fdad0549cd52
      https://github.com/llvm/llvm-project/commit/95c0e03376a4699c38cd3e37a3b6fdad0549cd52
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M libc/test/src/stdio/fgets_test.cpp

  Log Message:
  -----------
  [libc] Fix 'fgets' test on the GPU for some C libraries (#110118)

Summary:
The GPU handling for a lot of `FILE *` functions pretty much just
forwards it to the host via RPC. This test checks for implementation
defined behavior, which sometimes passes and sometimes doesn't. We just
disable it here so it works on the standard semantics.

We do this forwarding primarily for interopt w/ the host if the user is
compiling from an offloading language (e.g. CUDA).


  Commit: f9cba2eea4c23f80a2a49b21052d313009801d7d
      https://github.com/llvm/llvm-project/commit/f9cba2eea4c23f80a2a49b21052d313009801d7d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

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

Change InstrInfoEmitter to use const RecordKeeper.

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


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


  Commit: 3e0d31c97cf27d46c464bf5a2712b28b69fa0503
      https://github.com/llvm/llvm-project/commit/3e0d31c97cf27d46c464bf5a2712b28b69fa0503
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [llvm-dis][NFC] Avoid unnecessary copies while iterating (#109860)

Avoid unnecessary copies while iterating on input files


  Commit: 3ea55d3cb0655c7863596321e132b59158325433
      https://github.com/llvm/llvm-project/commit/3ea55d3cb0655c7863596321e132b59158325433
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Add a source location to destructor calls (#110121)

The added test case is still diagnosed differently, but I'm not sure
which version is better.


  Commit: f3421349361fdbad4060689ce601e5665f20af10
      https://github.com/llvm/llvm-project/commit/f3421349361fdbad4060689ce601e5665f20af10
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#110074)


  Commit: f4b1335b8921013ef0e45976cab0bc9e4e44f0ee
      https://github.com/llvm/llvm-project/commit/f4b1335b8921013ef0e45976cab0bc9e4e44f0ee
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp

  Log Message:
  -----------
  [Mips] Avoid repeated map lookups (NFC) (#110075)


  Commit: ecccc6a350e83bb8f776e2599b5cdc5e38591894
      https://github.com/llvm/llvm-project/commit/ecccc6a350e83bb8f776e2599b5cdc5e38591894
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [Coroutines] Avoid repeated hash lookps (NFC) (#110076)


  Commit: 6d6d15b626a3d6132765a75a103a773b0e45327b
      https://github.com/llvm/llvm-project/commit/6d6d15b626a3d6132765a75a103a773b0e45327b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [X86] Avoid repeated hash lookups (NFC) (#110077)


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

  Changed paths:
    R llvm/test/Analysis/ValueTracking/knownbits-rem-lowbits.ll
    A llvm/test/Analysis/ValueTracking/knownbits-rem.ll

  Log Message:
  -----------
  ValueTracking/test: cover known-high-bits of rem (#109006)

There is an underlying bug in KnownBits, and we should theoretically be
able to determine the high-bits of an srem as shown in the test, just
like urem. In preparation to fix this bug, add pre-commit tests testing
high-bits of srem and urem.


  Commit: 6d114944142ae5a1d0387fe40ffa9351b6f642aa
      https://github.com/llvm/llvm-project/commit/6d114944142ae5a1d0387fe40ffa9351b6f642aa
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/IR/AffineMap.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][Linalg] Refine how broadcast dims are treated (#99015)

This PR fixes how broadcast dims (identified as "zero" results in
permutation maps) corresponding to a reduction iterator are vectorised
in the case of generic Ops. Here's an example:

```mlir
  #map = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>
  #map1 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)>

  func.func @generic_with_reduction_and_broadcast(%arg0: tensor<1x12x197x197xf32>) -> (tensor<1x12x197x1xf32>) {
    %0 = tensor.empty() : tensor<1x12x197x1xf32>

    %1 = linalg.generic {indexing_maps = [#map, #map1],
                        iterator_types = ["parallel", "parallel", "parallel", "reduction"]}
      ins(%arg0 : tensor<1x12x197x197xf32>)
      outs(%0 : tensor<1x12x197x1xf32>) {

    ^bb0(%in: f32, %out: f32):
      %818 = arith.addf %in, %out : f32
      linalg.yield %818 : f32
    } -> tensor<1x12x197x1xf32>
    return %1 : tensor<1x12x197x1xf32>
  }
```

This is a perfectly valid Generic Op, but currently triggers two issues
in the vectoriser. The root cause is this map:

```mlir
  #map1 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)>
```

This map triggers an assert in `reindexIndexingMap` -  this hook
incorrectly assumes that every result in the input map is a `dim`
expression and that there are no constants. That's not the case in this
example. `reindexIndexingMap` is extended to allow maps like the one
above. For now, only constant "zero" results are allowed. This can be
extended in the future once a good motivating example is available.

Separately, the permutation map highlighted above "breaks" mask
calculation (ATM masks are always computed, even in the presence of
static shapes). When applying the following permutation:
```mlir
  (d0, d1, d2, d3) -> (d0, d1, d2, 0)
```

to these canonical shapes (corresponding to the example above):
```
  (1, 12, 197, 197)
```
we end up with the following error:
```bash
error: vector types must have positive constant sizes but got 1, 12, 197, 0
```

The error makes sense and indicates that we should update the
permutation map above to:
```
  (d0, d1, d2, d3) -> (d0, d1, d2)
```

This would correctly give the following vector type:
```
  vector<1x12x197xi1>
```

Fixes #97247


  Commit: 9c48a04328f1dfa739985f64b33f20b67e085277
      https://github.com/llvm/llvm-project/commit/9c48a04328f1dfa739985f64b33f20b67e085277
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp

  Log Message:
  -----------
  [mlir][tensor] Refine the semantics of `createPadHighOp` (#109667)

Refine `createPadHighOp` so that the output tensor is required to be
statically shaped. This is to prevent the current behaviour, which is
incorrect:

>  // If `type` has dynamic dimensions the padding width is set to zero.

The actual padding width should be set to: `%new_dim - %old_dim`, where
%new_dim` and `%old_dim` are defined via e.g. `tensor.dim` Op applied to
output and input tensors, respectively.

This PR is an attempt to clarify the semantics surrounding dynamic
shapes in preparation for adding support for scalable vectors to the
pack/unpack logic in Tensor/Linalg (dynamic shapes is what we use to
model scalable (*) sizes at the Tensor/MemRef level).

(*) Scalable as in Arm's Scalable Vector Extension (SVE)


  Commit: c511cc099af6c25dc226af1e15b63e16295a790b
      https://github.com/llvm/llvm-project/commit/c511cc099af6c25dc226af1e15b63e16295a790b
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/aarch64-neon-fp8-intrinsics/acle_neon_fscale.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/neon-fp8-fscale.ll

  Log Message:
  -----------
  [AArch64] Implement NEON vscale intrinsics (#100347)

This patch implements following intrinsics:

```
float16x4_t vscale_f16(float16x4_t vn, int16x4_t vm)	
float16x8_t vscaleq_f16(float16x8_t vn, int16x8_t vm)
float32x2_t vscale_f32(float32x2_t vn, int32x2_t vm)
float32x4_t vscaleq_f32(float32x4_t vn, int32x4_t vm)
float64x2_t vscaleq_f64(float64x2_t vn, int64x2_t vm)
```

as defined in https://github.com/ARM-software/acle/pull/323

Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: 24d707e215a1e2d34d5c34156573a8607ab349f9
      https://github.com/llvm/llvm-project/commit/24d707e215a1e2d34d5c34156573a8607ab349f9
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-neon-fp8-intrinsics/acle_neon_fscale.c

  Log Message:
  -----------
  Fix "[AArch64] Implement NEON vscale intrinsics" (#110136)

This patch fixes failure of  acle_neon_fscale.c in non-aarch64 targets.


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

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/source/Utility/UUID.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp

  Log Message:
  -----------
  [lldb] Don't flush llvm::raw_string_ostream (NFC) (#110128)

Don't call raw_string_ostream::flush(), which is essentially a no-op. As
specified in the docs, raw_string_ostream is always unbuffered. (
65b13610a5226b84889b923bae884ba395ad084d for further reference )


  Commit: 784e0cf2d980cdf0f63d3dba722389c5a556cda4
      https://github.com/llvm/llvm-project/commit/784e0cf2d980cdf0f63d3dba722389c5a556cda4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/test/Driver/B-opt.c
    M clang/test/Driver/as-options.s
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/relax.s
    M clang/test/Driver/target-as.s

  Log Message:
  -----------
  [Driver][test] Replace legacy -target with --target=

Similar to previous cleanup.


  Commit: b52885bc234151decff08ddb942fc5d67ccf4fd6
      https://github.com/llvm/llvm-project/commit/b52885bc234151decff08ddb942fc5d67ccf4fd6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/PDL/IR/PDL.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp

  Log Message:
  -----------
  [mlir] Use std::optional::value_or (NFC) (#109893)


  Commit: 0215579daba628460ba1b8bf8caf8eea6eb0df15
      https://github.com/llvm/llvm-project/commit/0215579daba628460ba1b8bf8caf8eea6eb0df15
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M offload/test/lit.cfg

  Log Message:
  -----------
  [Flang][Offload][Tests] Set default OpenMP version to 5.2 (52) (#110138)

We recently added versioning support to Flang's OpenMP, which restricts
and enables certain things based on the OpenMP specification version.
Currently one of the check-offload tests makes use of a feature that's
at a slightly higher version than the current default causing it to
fail.

This PR basically applies the highest current OpenMP version number as a
default argument for the lit.cfg, if we need more fine grained control
in the future we can expand it to different lit commands for each
relevant version than can then be added in each test. But for now, to
keep it simple, just set the max level version.


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/formatter_integral.h
    R libcxx/include/__std_clang_module
    M libcxx/include/module.modulemap
    M libcxx/test/libcxx/clang_modules_include.gen.py
    R libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
    M libcxx/utils/CMakeLists.txt
    R libcxx/utils/generate_std_clang_module_header.py

  Log Message:
  -----------
  [libc++][modules] Rewrite the modulemap to have fewer top-level modules (#107638)

This patch rewrites the modulemap to have fewer top-level modules.
Previously, our modulemap had one top level module for each header in
the library, including private headers. This had the well-known problem
of making compilation times terrible, in addition to being somewhat
against the design principles of Clang modules.

This patch provides almost an order of magnitude compilation time
improvement when building modularized code (certainly subject to
variations). For example, including <ccomplex> without a module cache
went from 22.4 seconds to 1.6 seconds, a 14x improvement.

To achieve this, one might be tempted to simply put all the headers in a
single top-level module. Unfortunately, this doesn't work because libc++
provides C compatibility headers (e.g. stdlib.h) which create cycles
when the C Standard Library headers are modularized too. This is
especially tricky since base systems are usually not modularized: as far
as I know, only Xcode 16 beta contains a modularized SDK that makes this
issue visible. To understand it, imagine we have the following setup:

   // in libc++'s include/c++/v1/module.modulemap
   module std {
      header stddef.h
      header stdlib.h
   }

   // in the C library's include/module.modulemap
   module clib {
      header stddef.h
      header stdlib.h
   }

Now, imagine that the C library's <stdlib.h> includes <stddef.h>,
perhaps as an implementation detail. When building the `std` module,
libc++'s <stdlib.h> header does `#include_next <stdlib.h>` to get the C
library's <stdlib.h>, so libc++ depends on the `clib` module.

However, remember that the C library's <stdlib.h> header includes
<stddef.h> as an implementation detail. Since the header search paths
for libc++ are (and must be) before the search paths for the C library,
the C library ends up including libc++'s <stddef.h>, which means it
depends on the `std` module. That's a cycle.

To solve this issue, this patch creates one top-level module for each C
compatibility header. The rest of the libc++ headers are located in a
single top-level `std` module, with two main exceptions. First, the
module containing configuration headers (e.g. <__config>) has its own
top-level module too, because those headers are included by the C
compatibility headers.

Second, we create a top-level std_core module that contains several
dependency-free utilities used (directly or indirectly) from the __math
subdirectory. This is needed because __math pulls in a bunch of stuff,
and __math is used from the C compatibility header <math.h>.

As a direct benefit of this change, we don't need to generate an
artificial __std_clang_module header anymore to provide a monolithic
`std` module, since our modulemap does it naturally by construction.

A next step after this change would be to look into whether math.h
really needs to include the contents of __math, and if so, whether
libc++'s math.h truly needs to include the C library's math.h header.
Removing either dependency would break this annoying cycle.

Thanks to Eric Fiselier for pointing out this approach during a recent
meeting. This wasn't viable before some recent refactoring, but wrapping
everything (except the C headers) in a large module is by far the
simplest and the most effective way of doing this.

Fixes #86193


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

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CodeLayout.h
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/Transforms/Utils/CodeLayout.cpp

  Log Message:
  -----------
  [NFC][CodeLayout] Remove unused parameter (#110145)

The `NodeCounts` parameter of `calcExtTspScore()` is unused, so remove
it.
Use `SmallVector` since arrays are expected to be small since they
represent MBBs.


  Commit: f5b95db4c3ea266489a68a7655425b18ce5805f6
      https://github.com/llvm/llvm-project/commit/f5b95db4c3ea266489a68a7655425b18ce5805f6
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    M compiler-rt/lib/rtsan/rtsan_stats.cpp
    M compiler-rt/lib/rtsan/rtsan_stats.h
    A compiler-rt/test/rtsan/deduplicate_errors.cpp
    M compiler-rt/test/rtsan/exit_stats.cpp

  Log Message:
  -----------
  [rtsan] Only print out unique stack traces (#110028)

# Why?

In real-time programming, you often have a process or dispatch loop that
is called many, many, many times. Without de-duplication the user will
be drowning in errors.

Introduce a way to only print the stacks one time only, if they have
been seen before


  Commit: f0162fcd7bf8bfbbc0a17b1a175801246f42f247
      https://github.com/llvm/llvm-project/commit/f0162fcd7bf8bfbbc0a17b1a175801246f42f247
  Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp

  Log Message:
  -----------
  [NFC] [Flang] [Semantics] [OpenMP] Fix typo in error message. (#110147)

Fix typo which should be "at least" instead of "at lease".


  Commit: 852b6486246141e44cc9f126f542a2ae0d73b3d6
      https://github.com/llvm/llvm-project/commit/852b6486246141e44cc9f126f542a2ae0d73b3d6
  Author: Rafael Ubal <rubal at mathworks.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Quant/CMakeLists.txt
    R mlir/include/mlir/Dialect/Quant/FakeQuantSupport.h
    A mlir/include/mlir/Dialect/Quant/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/Quant/IR/Quant.h
    A mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
    A mlir/include/mlir/Dialect/Quant/IR/QuantDialectBytecode.td
    A mlir/include/mlir/Dialect/Quant/IR/QuantOps.td
    A mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
    R mlir/include/mlir/Dialect/Quant/QuantDialectBytecode.td
    R mlir/include/mlir/Dialect/Quant/QuantOps.h
    R mlir/include/mlir/Dialect/Quant/QuantOps.td
    R mlir/include/mlir/Dialect/Quant/QuantOpsBase.td
    R mlir/include/mlir/Dialect/Quant/QuantTypes.h
    A mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
    A mlir/include/mlir/Dialect/Quant/Transforms/Passes.h
    A mlir/include/mlir/Dialect/Quant/Transforms/Passes.td
    R mlir/include/mlir/Dialect/Quant/UniformSupport.h
    A mlir/include/mlir/Dialect/Quant/Utils/FakeQuantSupport.h
    A mlir/include/mlir/Dialect/Quant/Utils/UniformSupport.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/Utils/QuantUtils.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/InitAllPasses.h
    M mlir/lib/CAPI/Dialect/Quant.cpp
    M mlir/lib/Dialect/Quant/CMakeLists.txt
    M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
    M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.h
    M mlir/lib/Dialect/Quant/IR/QuantOps.cpp
    M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
    M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
    A mlir/lib/Dialect/Quant/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Quant/Transforms/LowerQuantOps.cpp
    A mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
    M mlir/lib/Dialect/Quant/Utils/FakeQuantSupport.cpp
    M mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Quant/canonicalize.mlir
    A mlir/test/Dialect/Quant/invalid.mlir
    A mlir/test/Dialect/Quant/lower-quant-ops.mlir
    A mlir/test/Dialect/Quant/ops.mlir
    M mlir/test/Dialect/Quant/parse-uniform-invalid.mlir
    A mlir/test/Dialect/Quant/strip-func-quant-types.mlir

  Log Message:
  -----------
  [mlir] Improvements to the 'quant' dialect (#100667)

Full revamp of the 'quant' dialect. This is an implementation for the
RFC at
https://discourse.llvm.org/t/rfc-improvements-in-the-quant-dialect/79942


  Commit: 83368191a21340a6c3a8f88b01ecae6433640957
      https://github.com/llvm/llvm-project/commit/83368191a21340a6c3a8f88b01ecae6433640957
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/cl-zc.cpp
    M clang/test/Driver/config-file-errs.c
    M clang/test/Driver/response-file-errs.c
    M llvm/test/Support/interrupts.test
    M llvm/test/tools/dsymutil/X86/remarks-linking-archive.text
    M llvm/test/tools/gold/X86/stats-file-option.ll
    M llvm/test/tools/llvm-ar/read-only-archive.test
    M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test

  Log Message:
  -----------
  Use %errc to get text for system errors (#109852)

Several lit tests look for messages with text generated from strerror()
such as "no such file or directory". The value can change slightly from
system to system. Use the llvm-lit macro `%errc_<ERRCODE>` instead.

This was really noticable on z/OS because the generated text includes an
error code as well as the text.


  Commit: 68ed1728bf45162187a2b54eed226097b8fc0a12
      https://github.com/llvm/llvm-project/commit/68ed1728bf45162187a2b54eed226097b8fc0a12
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Unify mayWriteToMemory and mayHaveSideEffects logic for VPInst.

Unify logic for mayWriteToMemory and mayHaveSideEffects for
VPInstruction, with the later relying on the former. Also extend to
handle binary operators.

Split off from https://github.com/llvm/llvm-project/pull/106441


  Commit: 4822e9dce3483fdec7957cea092384041c8ca013
      https://github.com/llvm/llvm-project/commit/4822e9dce3483fdec7957cea092384041c8ca013
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/Target/Lanai/LanaiRegisterInfo.h

  Log Message:
  -----------
  [llvm] use 64-bit types for result of getDwarfRegNum (NFC) (#109494)

The register encoding used by NVPTX and cuda-gdb basically use strings
encoded as numbers. They are always within 64-bits, but typically
outside of 32-bits, since they often need at least 5 characters.

This patch changes the signature of `MCRegisterInfo::getDwarfRegNum` and
some related data structures to use 64-bit numbers to accommodate
encodings like this.

Additionally, `MCRegisterInfo::getDwarfRegNum` is marked as virtual, so
that targets with peculiar dwarf register mapping schemes (such as
NVPTX) can override its behavior.

I originally tried to do a broader switch to 64-bit types for registers,
but it caused many problems. There are various places in code generation
where registers are not just treated as 32-bit numbers, but also treat
certain bit offsets as flags. So I limited the change as much as
possible to just the output of `getDwarfRegNum`. Keeping the types used
by `DwarfLLVMRegPair` as unsigned preserves the current behaviors. The
only way to give a 64-bit output from `getDwarfRegNum` that actually
needs more than 32-bits is to override `getDwarfRegNum` and provide an
implementation that sidesteps the use of the `DwarfLLVMRegPair` maps
defined in tablegen files.

First layer of stack supporting:
https://github.com/llvm/llvm-project/pull/109495


  Commit: 95eb3d45f6f906a484164cd5148167f331502dda
      https://github.com/llvm/llvm-project/commit/95eb3d45f6f906a484164cd5148167f331502dda
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
    M llvm/test/DebugInfo/NVPTX/cu-range-hole.ll
    M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  [NVPTX] add support for encoding PTX registers for DWARF (#109495)

This patch adds support for encoding PTX registers for DWARF, using the
encoding supported by nvcc and cuda-gcc.

There are some other features still needed for proper register debugging
that this patch does not address, such as DW_AT_address_class.

This PR is stacked on: https://github.com/llvm/llvm-project/pull/109494


  Commit: e8d2057ca48646a0d354051977298a76724cfaf3
      https://github.com/llvm/llvm-project/commit/e8d2057ca48646a0d354051977298a76724cfaf3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M offload/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP] Add critical region lock for NVPTX targets (#110148)

Summary:
We define this on AMDGCN but not NVPTX, which leads to some failures
dependong on the target.


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

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    A llvm/include/llvm/SandboxIR/Value.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/SandboxIR.cpp
    A llvm/lib/SandboxIR/Value.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Value class into a separate file (#110059)


  Commit: d4d38bcc3931d28d8b97d055258e27772119d0fe
      https://github.com/llvm/llvm-project/commit/d4d38bcc3931d28d8b97d055258e27772119d0fe
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

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


  Commit: 8ea2b417419344182053c0726cfff184d7917498
      https://github.com/llvm/llvm-project/commit/8ea2b417419344182053c0726cfff184d7917498
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/color-diagnostics-forwarding.f90
    M flang/test/Driver/color-diagnostics-parse.f90
    M flang/test/Driver/color-diagnostics-scan.f
    M flang/test/Driver/color-diagnostics-sema.f90
    M flang/test/Driver/color-diagnostics.f90

  Log Message:
  -----------
  [flang][Driver] Support -fdiagnostics-color

Add support for -fdiagnostics-color and -fdiagnostics-color=. Add
documentation for -fdiagnostics-color= which should also be visible in
clang.

Partially addresses requests in #89888


  Commit: 0cf844759add057f76ca72a611e692eea191c7b7
      https://github.com/llvm/llvm-project/commit/0cf844759add057f76ca72a611e692eea191c7b7
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir

  Log Message:
  -----------
  [MLIR][SCF] Fold dim ops of iter_args to respective init_args (#109973)

Fold dim ops of iter_args to dim ops of their respective init args.
E.g.:

```
 %0 = ... : tensor<?x?xf32>
 scf.forall ... shared_outs(%arg0 = %0) -> (tensor<?x?xf32>) {
   %1 = tensor.dim %arg0, %c0 : tensor<?x?xf32>
   ...
 }
```
 is folded to:

```

 %0 = ... : tensor<?x?xf32>
 scf.forall ... shared_outs(%arg0 = %0) -> (tensor<?x?xf32>) {
   %1 = tensor.dim %0, %c0 : tensor<?x?xf32>
   ...
 }
```


  Commit: e08938280ad1d6a79785919bf89c2b670d379055
      https://github.com/llvm/llvm-project/commit/e08938280ad1d6a79785919bf89c2b670d379055
  Author: Lenny Truong <lenny.truong at sifive.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/lib/Rewrite/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add MLIRConversionPassIncGen to cmake deps for FrozenRewritePatternSet (#110054)

Fixes missing header in downstream circt python wheel build (e.g.
https://github.com/llvm/circt/actions/runs/11022589675/job/30612234430).

Confirmed by
* https://github.com/llvm/circt/actions/runs/11040046220/job/30667073462
*
https://github.com/llvm/circt/commit/0646e7e9276ff9bf6e7561c399fbe8c3431b509a


  Commit: 97f0f5b574d36e3252966c455cfb3a687b4f5325
      https://github.com/llvm/llvm-project/commit/97f0f5b574d36e3252966c455cfb3a687b4f5325
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp

  Log Message:
  -----------
  [MC, NVPTX] Fix warnings

This patch fixes:

  llvm/include/llvm/MC/MCRegisterInfo.h:146:7: error:
  'llvm::MCRegisterInfo' has virtual functions but non-virtual
  destructor [-Werror,-Wnon-virtual-dtor]

  llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp:163:21: error:
  comparison of integers of different signs: 'int' and 'size_type'
  (aka 'unsigned long') [-Werror,-Wsign-compare]


  Commit: a285ba7529feaa7c49890e314facb5e9f4d8dc11
      https://github.com/llvm/llvm-project/commit/a285ba7529feaa7c49890e314facb5e9f4d8dc11
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp

  Log Message:
  -----------
  Revert "[mlir][tensor] Refine the semantics of `createPadHighOp`" (#110153)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/minbitwidth-cast-node-length.ll

  Log Message:
  -----------
  [SLP]Use number of scalars as a vector length for minbw cast

Need to use the number of scalars, not the vector factor of the node.
Otherwise incorrect casting can be estimated, leading to a compiler
crash.


  Commit: c6876b4e2165ac07831c1158c2ac9fb71167f98b
      https://github.com/llvm/llvm-project/commit/c6876b4e2165ac07831c1158c2ac9fb71167f98b
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  Update input names from input to input1 for Table, Reverse, Slice (#109807)

- For input naming consistency, updated the inputs to input1 for Table,
Reverse and Slice operator

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [llvm] Replace uses of Type::getPointerTo() (NFC) (#110163)

Replace uses of `Type::getPointerTo()` which is to be removed.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: bfe29945603e2040cc56d9e30f05da0627c819cd
      https://github.com/llvm/llvm-project/commit/bfe29945603e2040cc56d9e30f05da0627c819cd
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] Fix minor runCmd error message formatting (#110150)

This tweaks the construction of the error message when using `expect`/`runCmd`. With 
this change, the stdout/stderr is placed after the message "Command '<command>' did not 
return successfully".

Before:
```
AssertionError: False is not True : Command 'p whatever
Error output:
error: <some error message>
' did not return successfully
```

After:
```
AssertionError: False is not True : Command 'p whatever' did not return successfully
Error output:
error: <some error message>
```


  Commit: 9483ff9f09e5c3d2c4b01fbb8272d0d5c7bcc042
      https://github.com/llvm/llvm-project/commit/9483ff9f09e5c3d2c4b01fbb8272d0d5c7bcc042
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/Transforms/MemProfContextDisambiguation/inlined4.ll

  Log Message:
  -----------
  Reapply "[MemProf] Streamline and avoid unnecessary context id duplication (#107918)" (#110036)

This reverts commit 12d4769cb84b2b2e60f9776fa043c6ea16f08ebb, reapplying
524a028f69cdf25503912c396ebda7ebf0065ed2 but with fixes for failures
seen in broader testing.


  Commit: 0950078ba07116f52402c22b173ae113432d2b83
      https://github.com/llvm/llvm-project/commit/0950078ba07116f52402c22b173ae113432d2b83
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Change DXILEmitter to use const Record pointers (#110111)

Change DXILEmitter to use const Record pointers.

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


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


  Commit: 90b7fe42d8e6f8647ce9279d6d026c36ccfcbb8f
      https://github.com/llvm/llvm-project/commit/90b7fe42d8e6f8647ce9279d6d026c36ccfcbb8f
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
    R clang/test/CodeGenHLSL/builtins/create_handle.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/unittests/IR/IntrinsicsTest.cpp

  Log Message:
  -----------
  [HLSL] Remove `__builtin_hlsl_create_handle` (#109910)

The `__builtin_hlsl_create_handle` called from the constructor of
resource buffer class was supposed to initialize the resource handle
based on resource type and registry binding information. It is not
possible to do though that because the registry binding information is
not accessible from the constructor during codegen.

Instead, the handle should be initialized to an empty or null handle
with something like `__builtin_hlsl_create_null_handle`. This PR is
removing `__builtin_hlsl_create_handle` first and the
`__builtin_hlsl_create_null_handle` will be added to the constructor
once the handle type changes to `__hlsl_resource_t` and
HLSLAttributeResourceType is updated to be a canonical type, which will
allow the initialization assignment.

The actual handle initialization based on the registry binding will be
implemented part 2/2 of llvm/llvm-project#105076 once the dependent
tasks are completed.

Part 1/2 of llvm/llvm-project#105076.


  Commit: d1297638a381c4c7da93af4cd48173f4cef4252d
      https://github.com/llvm/llvm-project/commit/d1297638a381c4c7da93af4cd48173f4cef4252d
  Author: norx1991 <yifei.xu at utexas.edu>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  Update BUILD.bazel (#110170)

It was broken by https://github.com/llvm/llvm-project/pull/100667


  Commit: 324bdd662dedfd03b884e082f577a8ad6dc1f8a6
      https://github.com/llvm/llvm-project/commit/324bdd662dedfd03b884e082f577a8ad6dc1f8a6
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILDataScalarization.cpp
    A llvm/lib/Target/DirectX/DXILDataScalarization.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    A llvm/test/CodeGen/DirectX/scalar-data.ll
    A llvm/test/CodeGen/DirectX/scalar-load.ll
    M llvm/test/CodeGen/DirectX/scalar-store.ll

  Log Message:
  -----------
  [DirectX] Data Scalarization of Vectors in Global Scope (#110029)

This change adds a pass to scalarize vectors in global scope into
arrays.

There are three distinct parts
1. find the globals that need to be updated and define what the new type
should be
2. initialize that new type and copy over all the right attributes over
from the old type.
3. Use the instruction visitor pattern to update the loads, stores, and
geps for the layout of the new data structure.

resolves https://github.com/llvm/llvm-project/issues/107920


  Commit: ac2a2816e3fe934998e5f950c9426fca0796929d
      https://github.com/llvm/llvm-project/commit/ac2a2816e3fe934998e5f950c9426fca0796929d
  Author: norx1991 <yifei.xu at utexas.edu>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  Fix BUILD.bazel error (#110172)


  Commit: 7a2c5c69ce01cacb18b7838826e442bb981bf9c8
      https://github.com/llvm/llvm-project/commit/7a2c5c69ce01cacb18b7838826e442bb981bf9c8
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    A llvm/include/llvm/SandboxIR/User.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    A llvm/lib/SandboxIR/User.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move User into a separate file (#110157)


  Commit: 35eaed7ec7dd7f02ed2f6893bfdd349e19fc3c79
      https://github.com/llvm/llvm-project/commit/35eaed7ec7dd7f02ed2f6893bfdd349e19fc3c79
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 7a2c5c69ce01


  Commit: c11722223bacf604e60414542743d021a9f13aee
      https://github.com/llvm/llvm-project/commit/c11722223bacf604e60414542743d021a9f13aee
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

  Log Message:
  -----------
  [LLDB][Minidump] Add Multiplatform test to ensure determinism (#108602)

Adds a test that ensures two minidumps produced from the same target are
the same bytes. Covers the three primary core flavors.


  Commit: 1d8fad9fef4b2f1637498a017c44f0e8ebac20f8
      https://github.com/llvm/llvm-project/commit/1d8fad9fef4b2f1637498a017c44f0e8ebac20f8
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl

  Log Message:
  -----------
  [HLSL] Allow resource type attributes only on `__hlsl_resource_t` (#110143)

Resource type attributes should only ever be used on the intangible type
`__hlsl_resource_t`.


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

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

  Log Message:
  -----------
  [SandboxIR][NFC] Move Region from SandboxVectorizer to SandboxIR. (#110173)

I'm planning to add RegionPass and RegionPassManager next to the
equivalent FunctionPass and FunctionPassManager in SandboxIR, which
means that SandboxIR has to know about Regions.

There's nothing vectorizer-specific about the Region class, and the only
thing using Regions at this moment is the unit test, so this is a
straightforward file move.


  Commit: 74f276dd0f77cf5958e74eb8deb97e5b953c9e35
      https://github.com/llvm/llvm-project/commit/74f276dd0f77cf5958e74eb8deb97e5b953c9e35
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  Revert "[SandboxIR][NFC] Move Region from SandboxVectorizer to SandboxIR." (#110177)

Reverts llvm/llvm-project#110173. Missed an #include with the old path.


  Commit: 139688a699f6db784bd559b147334f1d51314f9c
      https://github.com/llvm/llvm-project/commit/139688a699f6db784bd559b147334f1d51314f9c
  Author: Tex Riddell <texr at microsoft.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2.ll

  Log Message:
  -----------
  [SPIRV] Add atan2 function lowering (p2) (#110037)

This change is part of this proposal:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294

- Add generic opcode for atan2
- Add SPIRV lowering for atan2

Part 2 for Implement the atan2 HLSL Function #70096.


  Commit: 1eecc1346a9c13eab078c4fd981c755adfda97d5
      https://github.com/llvm/llvm-project/commit/1eecc1346a9c13eab078c4fd981c755adfda97d5
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] NFC: Fix layering check / parse headers violations (#110117)

Those tools check strict dependency and standalone headers in Google,
but some internal build optimizations caused some violations not to be
detected. This change adds a missing dependency, and includes some types
that are needed for template instantiation.


  Commit: d8a281590311010955c323806fb24fa484376f4d
      https://github.com/llvm/llvm-project/commit/d8a281590311010955c323806fb24fa484376f4d
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    A clang/test/Modules/string-literal-uniqueness.cpp
    M clang/test/SemaCXX/builtins.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    A clang/test/SemaCXX/ptrauth-sign-constant.cpp

  Log Message:
  -----------
  [clang] implement current direction of CWG2765 for string literal comparisons in constant evaluation (#109208)

Track the identity of each string literal object produced by evaluation
with a global version number. Accept comparisons between literals of the
same version, and between literals of different versions that cannot
possibly be placed in overlapping storage. Treat the remaining
comparisons as non-constant.

---------

Co-authored-by: Timm Baeder <tbaeder at redhat.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


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

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

  Log Message:
  -----------
  [bazel][SandboxIR] Add cc_test rule for SandboxIR tests. (#110184)


  Commit: 14afac0d1a5d4d64a7d9622b78dc38ba5c925c56
      https://github.com/llvm/llvm-project/commit/14afac0d1a5d4d64a7d9622b78dc38ba5c925c56
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    A llvm/include/llvm/SandboxIR/Argument.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Value.h
    A llvm/lib/SandboxIR/Argument.cpp
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Argument into a separate file (#110174)


  Commit: 2f2d8df080c7352afea050a468e9bac622b60b26
      https://github.com/llvm/llvm-project/commit/2f2d8df080c7352afea050a468e9bac622b60b26
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 14afac0d1a5d


  Commit: e82b26a3d388594a8af5640cd8aa570f7ecda469
      https://github.com/llvm/llvm-project/commit/e82b26a3d388594a8af5640cd8aa570f7ecda469
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl

  Log Message:
  -----------
  [HLSL] Vector Usual Arithmetic Conversions (#108659)

HLSL has a different set of usual arithmetic conversions for vector
types to resolve a common type for binary operator expressions.

This PR implements the current spec proposal from:
https://github.com/microsoft/hlsl-specs/pull/311

There is one case that may need additional handling for implicitly
truncating `vector<T,1>` to `T` early to allow other transformations.

Fixes #106253


  Commit: 2b84ef06ac55ac8de3c210d059ec3a3c96666a90
      https://github.com/llvm/llvm-project/commit/2b84ef06ac55ac8de3c210d059ec3a3c96666a90
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Handle f16/bf16 extract_vector_elt when scalar type is legal (#110144)

When the scalar type is illegal, it gets softened during type
legalization and gets lowered as an integer.

However with zfhmin/zfbfmin the type is now legal and it passes through
type legalization where it crashes because we didn't have any custom
lowering or patterns for it.

This handles said case via the existing custom lowering to a vslidedown
and vfmv.f.s.
It also handles the case where we only have zvfhmin/zvfbfmin and don't
have vfmv.f.s, in which case we need to extract it to a GPR and then use
fmv.h.x.

Fixes #110126


  Commit: 5a6dc614527332254b2b230ff2ff7527ca6d0785
      https://github.com/llvm/llvm-project/commit/5a6dc614527332254b2b230ff2ff7527ca6d0785
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    R clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl

  Log Message:
  -----------
  Revert "[HLSL] Vector Usual Arithmetic Conversions" (#110191)

Reverts llvm/llvm-project#108659

Reverting due to bot breakage.


  Commit: 3c66a51054d7ec1fe42d72917624e7c6d484e498
      https://github.com/llvm/llvm-project/commit/3c66a51054d7ec1fe42d72917624e7c6d484e498
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    R llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    R llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  [SandboxVec][Interval] Convert InstrInterval class to a class template (#110021)

This patch converts InstrInterval class to a class template and renames
InstrInterval to Itnerval.

This change will allow us to reuse the Interval for dependency graph
nodes.


  Commit: 049fc920e631743dd3ff9e51fd7135adbaf9d1dc
      https://github.com/llvm/llvm-project/commit/049fc920e631743dd3ff9e51fd7135adbaf9d1dc
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    A llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/lib/SandboxIR/CMakeLists.txt
    A llvm/lib/SandboxIR/Constant.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Constant and derived classes into a separate file (#110189)


  Commit: 246896b77ecd483747a35468fcf7f92169d5bc3d
      https://github.com/llvm/llvm-project/commit/246896b77ecd483747a35468fcf7f92169d5bc3d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 049fc920e631


  Commit: fbec6754d6d643762738fe4428e3faf6bae51a7d
      https://github.com/llvm/llvm-project/commit/fbec6754d6d643762738fe4428e3faf6bae51a7d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 3c66a51054d7


  Commit: 9efc761d42496335e52bfe6e58b5c721e23d47f0
      https://github.com/llvm/llvm-project/commit/9efc761d42496335e52bfe6e58b5c721e23d47f0
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

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

  Log Message:
  -----------
  Reapply "[SandboxIR][NFC] Move Region from SandboxVectorizer to SandboxIR." (#110173) (#110181)

Re-applies llvm/llvm-project#110173 after fixing build break.


  Commit: e0d6f6623482f6b3d2dc628ac64d96d877ac3756
      https://github.com/llvm/llvm-project/commit/e0d6f6623482f6b3d2dc628ac64d96d877ac3756
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 9efc761d4249


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
    M llvm/test/MC/WebAssembly/type-checker-errors.s
    M llvm/test/MC/WebAssembly/type-checker-return.s

  Log Message:
  -----------
  [WebAssembly] Unify type checking in AsmTypeCheck (#110094)

This unifies the way we check types in various places in AsmTypeCheck.
The objectives of this PR are:

- We now use `checkTypes` for all type checking and `checkAndPopTypes`
for type checking + popping. All other functions are helper functions to
call these two functions.

- We now support comparisons of types between vectors. This lets us
printing error messages in more readable way. When an instruction takes
[i32, i64] but the stack top is [f32, f64], now instead of
  ```console
  error: type mismatch, expected i64 but got f64
  error: type mismatch, expected i32 but got f32
  ```
  we can print this
  ```console
  error: type mismatch, expected [i32, i64] but got [f32, f64]
  ```
which is also the format Wabt checker prints. This also helps printing
more meaningful messages when there are superfluous values on the stack
at the end of the function, such as:
  ```console
  error: type mismatch, expected [] but got [i32, exnref]
  ```
Actually, many instructions are not utilizing this batch printing now,
which still causes multiple error messages to be printed for a single
instruction. This will be improved in a follow-up.

- The value stack now supports `Any` and `Ref`. There are instructions
that requires the type to be anything. Also instructions like
`ref.is_null` requires the type to be any reference types. Type
comparison function will handle this types accordingly, meaning
`match(I32, Any)` or `match(externref, Ref)` will succeed.

The changes in `type-checker-errors.s` are mostly the message format
changes. One downside of the new message format is that it doesn't have
instruction names in it. I plan to improve that in a potential
follow-up.

This also made some modifications in the instructions in
`type-checker-errors.s`. Currently, except for a few functions I've
recently added at the end, each function tests for a single error,
because the type checker used to bail out after the first error until
#109705. But many functions included multiple errors anyway, which I
don't think was the intention of the original writer. So I added some
instructions to remove the other errors which are not being tested. (In
some cases I added more error checking lines instead, when I felt that
could be relevant.)

Thanks to the new `ExactMatch` option in `checkTypes` function family,
we now can distinguish the cases when to check against only the top of
the value stack and when to check against the whole stack (e.g. to check
whether we have any superfluous values remaining at the end of the
function). `return` or `return_call(_indirect)` can set `ExactMatch` to
`false` because they don't care about the superfluous values. This makes
`type-checker-return.s` succeed and I was able to remove the `FIXME`.

This is the basis of the PR that fixes block parameter/return type
handling in the checker, but does not yet include the actual
block-related functionality, which will be submitted separately after
this PR.


  Commit: f6dacda94907c83942760dd49578a31fc5f990bf
      https://github.com/llvm/llvm-project/commit/f6dacda94907c83942760dd49578a31fc5f990bf
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stack-folding.ll

  Log Message:
  -----------
  [RISCV] Fold vfmv.f.s into load from stack (#110129)

This is the f64/f32 version of #109774.
I've left out f16 and bf16 for now because there's a separate issue
where we can't select extract_vector_elt when f16/bf16 is a legal type,
see #110126.


  Commit: f6a756f35a4d0719a96b4e214905369d565d87da
      https://github.com/llvm/llvm-project/commit/f6a756f35a4d0719a96b4e214905369d565d87da
  Author: xiaohui1.xu <xiaohui1.xu at intel.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir

  Log Message:
  -----------
  [mlir][linalg] fix segmentation fault in isContractionBody function (#108703)

Fix Segmentation Fault in function.
`getDefiningOp()` may return `nullptr` pointer.


  Commit: 44950de5b1496aaf524b73201579f56ff4325c52
      https://github.com/llvm/llvm-project/commit/44950de5b1496aaf524b73201579f56ff4325c52
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp

  Log Message:
  -----------
  [nvlink-wrapper] Use a symbolic link instead of copying the file (#110139)

Summary:
We need all inputs to `nvlink` to end in `.cubin` while the rest of the
compiler toolchain wants `.o`. Previously we copied `.o` file to
`.cubin` files, but this is wasteful. Instead, we can just create a link
against it. This saves some disk space during link time.


  Commit: f7dfaf35065fc858056a206b10c3dfbf8029f801
      https://github.com/llvm/llvm-project/commit/f7dfaf35065fc858056a206b10c3dfbf8029f801
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/test/DebugInfo/NVPTX/cu-range-hole.ll
    M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  [NVPTX] add address class for variables with a single register location (#110030)

This is the final piece to enable register debugging for variables in
registers that have single locations that last throughout their
enclosing scope.

The next step after this for supporting register debugging for NVPTX is
to support the .debug_loc section.

Stacked on top of: https://github.com/llvm/llvm-project/pull/109495


  Commit: 3b96294f2d3dd5d9646803c7c4e35039a373792e
      https://github.com/llvm/llvm-project/commit/3b96294f2d3dd5d9646803c7c4e35039a373792e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/test/Driver/notypecheck.s

  Log Message:
  -----------
  [WebAssembly] Update type checker message in notypecheck.s

This was missing from https://github.com/llvm/llvm-project/pull/110094.


  Commit: d9853a8a101a9ec2d2199c6124d1fa826a84336c
      https://github.com/llvm/llvm-project/commit/d9853a8a101a9ec2d2199c6124d1fa826a84336c
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp

  Log Message:
  -----------
  [clang-tidy][bugprone-posix-return] support integer literals as LHS (#109302)

Refactor matches to give more generic checker.

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: e069434afcd21911ad36c55971bb8f754854c09f
      https://github.com/llvm/llvm-project/commit/e069434afcd21911ad36c55971bb8f754854c09f
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_context.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_assertions.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp

  Log Message:
  -----------
  [rtsan][NFC] Remove unncessary namespace specifiers (#110197)


  Commit: d435acb8ebb46425e752d1fb02015dbbf6471585
      https://github.com/llvm/llvm-project/commit/d435acb8ebb46425e752d1fb02015dbbf6471585
  Author: sinan <sinan.lin at linux.alibaba.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir

  Log Message:
  -----------
  [DWARF] Don't emit DWARF5 symbols for DWARF2/3 + non-lldb (#110120)

Modify other legacy dwarf versions to align with the dwarf4 handling
approach when determining whether to generate DWARF5 or GNU extensions.


  Commit: 09cd5a86733a362f12542a11ffd834cac885eb32
      https://github.com/llvm/llvm-project/commit/09cd5a86733a362f12542a11ffd834cac885eb32
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Refuse to contruct objects with virtual bases (#110142)


  Commit: 24bc3244d4e221f4e6740f45e2bf15a1441a3076
      https://github.com/llvm/llvm-project/commit/24bc3244d4e221f4e6740f45e2bf15a1441a3076
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    R libcxx/include/__algorithm/fold.h
    A libcxx/include/__algorithm/ranges_fold.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++][NFC] Rename fold.h to ranges_fold.h (#109696)

This follows the pattern we use consistently for ranges algorithms.


  Commit: 9bdcf7aa18ae8061ebe2209433ddeecac4464bc2
      https://github.com/llvm/llvm-project/commit/9bdcf7aa18ae8061ebe2209433ddeecac4464bc2
  Author: Jesse Huang <jesse.huang at sifive.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/calls.ll
    M llvm/test/CodeGen/RISCV/tail-calls.ll

  Log Message:
  -----------
  [RISCV] Software guard direct calls in large code model (#109377)

Support for large code model are added recently, and sementically
direct calls are lowered to an indirect branch with a constant pool target.
By default it does not use the x7 register and this is suboptimal with
Zicfilp because it introduces landing pad check, which is unnecessary
since the constant pool is read-only and unlikely to be tampered.

Change direct calls and tail calls to use x7 as the scratch
register (a.k.a. software guarded branch in the CFI spec)


  Commit: e59e30d3f84152d93f45b683a16ebf011e716872
      https://github.com/llvm/llvm-project/commit/e59e30d3f84152d93f45b683a16ebf011e716872
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 24bc3244d4e2


  Commit: 91ec9cb96051e4c9044fc47c42732a5f5528e6c8
      https://github.com/llvm/llvm-project/commit/91ec9cb96051e4c9044fc47c42732a5f5528e6c8
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-const-v-muable.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Use canonical type (#109393)

This PR fixes a bug in UncountedCallArgsChecker that calling a function
with a member variable which is Ref/RefPtr is erroneously treated as
safe by canoniclizing the type before checking whether it's ref counted
or not.


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

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp

  Log Message:
  -----------
  [AArch64] Use MCRegister. NFC


  Commit: 8a7843ca0ff56a2d5c22bc78ba16309d5af39869
      https://github.com/llvm/llvm-project/commit/8a7843ca0ff56a2d5c22bc78ba16309d5af39869
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
    M llvm/test/CodeGen/RISCV/half-arith.ll
    M llvm/test/CodeGen/RISCV/half-bitmanip-dagcombines.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-imm.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll
    M llvm/test/CodeGen/RISCV/kcfi-mir.ll
    A llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir

  Log Message:
  -----------
  [RISCV] Add 16 bit GPR sub-register for Zhinx. (#107446)

This patches adds a 16 bit register class for use with Zhinx
instructions. This makes them more similar to Zfh instructions and
allows us to only spill 16 bits.

I've added CodeGenOnly instructions for load/store using GPRF16 as that
gave better results than insert_subreg/extract_subreg. I'm using FSGNJ
for GPRF16 copy with Zhinx as that gave better results. Zhinxmin will
use ADDI+subreg operations.

Function arguments use this new GPRF16 register class for f16 arguments
with Zhinxmin. Eliminating the need to use RISCVISD::FMV* nodes.

I plan to extend this idea to Zfinx next.


  Commit: 631bcbe9de13e160d427ad7452a7ef2ca67911ab
      https://github.com/llvm/llvm-project/commit/631bcbe9de13e160d427ad7452a7ef2ca67911ab
  Author: Mike Hommey <mh at glandium.org>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [llvm][cmake] Properly place clang runtime directory on linker command line when WinMsvc.cmake is involved (#110084)

WinMsvc.cmake, used for cross-compiling LLVM, targetting Windows, puts
-libpath flags on the linker command line for the MSVC directories.
Those may contain clang runtime libraries that come from MSVC, and may
be incompatible with the clang compiler in use when it doesn't come from
MSVC (which is obviously the case on cross-compiles). By prioritizing
the clang runtime directory on the linker command line, we avoid those
libraries being picked up by the linker.


  Commit: 91b565bd7f98a695535ccea153895e002411e3de
      https://github.com/llvm/llvm-project/commit/91b565bd7f98a695535ccea153895e002411e3de
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/AsmParser/LLParser.cpp

  Log Message:
  -----------
  [LLVM][NFC] Remove redundant copy parameter in lambda (#110156)

Remove redundant copy parameter in lambda

Fixes: #95643


  Commit: 9a361684c80a779c28d8315503a423e05f0cc061
      https://github.com/llvm/llvm-project/commit/9a361684c80a779c28d8315503a423e05f0cc061
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [C++20][Modules] Fix non-determinism in serialized AST (#110131)

Summary:
https://github.com/llvm/llvm-project/pull/109167 serializes
FunctionToLambdasMap in the order of pointers in DenseMap. It gives
different order with different memory layouts. Fix this issue by using
LocalDeclID instead of pointers.

Test Plan: check-clang


  Commit: 9f255d863f31f3d3c434f662dc9e2255ef54407c
      https://github.com/llvm/llvm-project/commit/9f255d863f31f3d3c434f662dc9e2255ef54407c
  Author: David Green <david.green at arm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith-fp16.mir
    M llvm/test/CodeGen/AArch64/f16-instructions.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/fneg.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Lower fp16 abs and neg without fullfp16. (#110096)

This changes the existing promote logic to lower, so that it can use
normal integer operations. A minor change was needed to fneg lower code
to handle vectors.


  Commit: 30f5a3ca150e98d482abc6a4d0e3fe6c12f77695
      https://github.com/llvm/llvm-project/commit/30f5a3ca150e98d482abc6a4d0e3fe6c12f77695
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/MCJIT/test-global-ctors.ll
    M llvm/test/ExecutionEngine/Orc/weak-comdat.ll

  Log Message:
  -----------
  [MCJIT][ORC] Change test guards to 'UNSUPPORTED: system-darwin'.

These tests were guarded with 'UNSUPPORTED: target={{.*}}-darwin{{.*}}', but
that check may unintentionally pass if LLVM is configured with a host triple
that specifies a specific Darwin flavor, e.g. macOS with
-DLLVM_HOST_TRIPLE:STRING=aarch64-apple-macosx13.0. All darwin flavors should
set 'system-darwin', so this is a safer feature to check.

rdar://134942819


  Commit: ff8a9921ec9425e31aa1da273c2e4836f9e4069e
      https://github.com/llvm/llvm-project/commit/ff8a9921ec9425e31aa1da273c2e4836f9e4069e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp

  Log Message:
  -----------
  WebKit Checkers should set DeclWithIssue. (#109389)

Set DeclWithIssue in alpha.webkit.UncountedCallArgsChecker and
alpha.webkit.UncountedLocalVarsChecker.


  Commit: 61c8b7159a740d43a6a0fa52756eb479e1a9c1c3
      https://github.com/llvm/llvm-project/commit/61c8b7159a740d43a6a0fa52756eb479e1a9c1c3
  Author: Vipul Cariappa <vipulcariappa at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/unittests/Interpreter/InterpreterTest.cpp

  Log Message:
  -----------
  [clang] return first Decl for CanonicalDecl in TranslationUnitDecl (#110101)

Return the first `Decl` when using
`TranslationUnitDecl::getCanonicalDecl`


  Commit: 880ee48d5c9d88be1c611451e84f16eafcebd1a6
      https://github.com/llvm/llvm-project/commit/880ee48d5c9d88be1c611451e84f16eafcebd1a6
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [clang][CGExpr] Avoid Type::getPointerTo() (NFC) (#110209)

`Type::getPointerTo()` is to be removed soon.

This also removes the whole code section for "C99 6.5.2.2p6"; It's
essentially a no-op since llvm uses opaque pointers.


  Commit: 3c0984309ed338560f902a918d6f99959b4c7c33
      https://github.com/llvm/llvm-project/commit/3c0984309ed338560f902a918d6f99959b4c7c33
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    R clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/unchecked-members.cpp
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [alpha.webkit.NoUncheckedPtrMemberChecker] Introduce member variable checker for CheckedPtr/CheckedRef (#108352)

This PR introduces new WebKit checker to warn a member variable that is
a raw reference or a raw pointer to an object, which is capable of
creating a CheckedRef/CheckedPtr.


  Commit: 8dd817b25ae8b666aef839d36ffe028c01d411b5
      https://github.com/llvm/llvm-project/commit/8dd817b25ae8b666aef839d36ffe028c01d411b5
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/test/CodeGen/ARM/struct_byval.ll

  Log Message:
  -----------
  [LangRef] Disallow accessing byval arguments from tail-called functions (#110093)

We already disallow accessing the callee's allocas from a tail-called
function, because their stack memory will have been de-allocated before
the tail call. I think this should apply to byval arguments too, as they
also occupy space in the caller's stack frame.

This was originally part of #109943, spilt out for separate review.


  Commit: 0df88802c69814e7fce662da14f70580e2df4c34
      https://github.com/llvm/llvm-project/commit/0df88802c69814e7fce662da14f70580e2df4c34
  Author: Juan Manuel Martinez Caamaño <juamarti at amd.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgpu-demote-scc-branches.ll

  Log Message:
  -----------
  [AMDGPU][SIPreEmitPeephole][NFC] remove useless declaration in test


  Commit: 048bc6727644c103044ea22a6f06b80cb2443ec5
      https://github.com/llvm/llvm-project/commit/048bc6727644c103044ea22a6f06b80cb2443ec5
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    A clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/PrimType.h
    A clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Start implementing fixed point types (#110216)

Add the primitive type and implement to-bool casts.


  Commit: 5e9813667958688f5ab0e0b776b509b2b909d1e4
      https://github.com/llvm/llvm-project/commit/5e9813667958688f5ab0e0b776b509b2b909d1e4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp

  Log Message:
  -----------
  Fix LLVM_ENABLE_ABI_BREAKING_CHECKS macro check: use #if instead of #ifdef (#110185)

This macros is always defined: either 0 or 1. The correct pattern is to
use #if.


  Commit: 3f8380f3ea4921bce6b388f76d686e3b064182a2
      https://github.com/llvm/llvm-project/commit/3f8380f3ea4921bce6b388f76d686e3b064182a2
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [AArch64] Factor out the emission of MOV and MOVZ/MOVK instructions (#110017)

Throughout the AArch64AsmPrinter implementation, there are a few common
instructions emitted at many places: ORRXrs as an alias of "mov Xd, Xm"
and movz/movk for materialization of constants. This commit introduces
utility functions for emission of these three instructions.


  Commit: 6fe723441b66c86bbe86bfc9c1f504d0c295c91b
      https://github.com/llvm/llvm-project/commit/6fe723441b66c86bbe86bfc9c1f504d0c295c91b
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/hoist-binop.ll

  Log Message:
  -----------
  LICM: hoist BO assoc for FAdd and FMul (#108415)

Extend hoistBOAssociation to the FAdd and FMul cases, noting that we
copy an intersection of the fast-math flags present in both
instructions.


  Commit: 1c26e2b6f90253efdf38a5a70d011722d4eb1216
      https://github.com/llvm/llvm-project/commit/1c26e2b6f90253efdf38a5a70d011722d4eb1216
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll

  Log Message:
  -----------
  [ArgPromotion] Perform alias analysis on actual arguments of Calls (#106216)

Teach Argument Promotion to perform alias analysis on actual arguments
of Calls to a Function, to try to prove that all Calls to the Function
do not modify the memory pointed to by an argument. This surfaces more
opportunities to perform Argument Promotion in cases where simply
looking at a Function's instructions is insufficient to prove that the
pointer argument is not invalidated before all loads from it.


  Commit: 5cc64bf60bc04b9315de3c679eb753de4d554a8a
      https://github.com/llvm/llvm-project/commit/5cc64bf60bc04b9315de3c679eb753de4d554a8a
  Author: William Huhn <william.huhn at intel.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [Nomination] Update Intel representation in the security group (#109281)

I'd like to nominate Sergey Zverev as an Intel representative to replace
Andy Kaylor, who will be leaving the security group. Sergey is the one
of the main security points of contact for the Intel compiler team.


  Commit: 3fee3e83a8a802cd23e79fbf2f1320bb8f961d0c
      https://github.com/llvm/llvm-project/commit/3fee3e83a8a802cd23e79fbf2f1320bb8f961d0c
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Support/KnownBits.cpp
    M llvm/test/Analysis/ValueTracking/knownbits-rem.ll
    M llvm/test/CodeGen/ARM/select-imm.ll

  Log Message:
  -----------
  KnownBits: refine srem for high-bits (#109121)

KnownBits::srem does not correctly set the leader zero-bits, omitting
the fact that LHS may be known-negative or known-non-negative. Fix this.

Alive2 proof: https://alive2.llvm.org/ce/z/Ugh-Dq


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

  Changed paths:
    M clang/include/clang/Testing/CommandLineArgs.h
    M clang/include/clang/Testing/TestClangConfig.h
    A clang/include/clang/Testing/TestLanguage.def
    M clang/lib/Testing/CommandLineArgs.cpp
    M clang/unittests/AST/MatchVerifier.h
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
    M clang/unittests/Tooling/Syntax/MutationsTest.cpp
    M clang/unittests/Tooling/Syntax/SynthesisTest.cpp
    M clang/unittests/Tooling/Syntax/TreeTest.cpp
    M clang/unittests/Tooling/Syntax/TreeTestBase.cpp

  Log Message:
  -----------
  [clang][test] add TestLanguage.def to specify all tested language versions (#94243)

Adds a def file to have a single location where tested language versions
are specified. Removes the need to update multiple locations in the
testing infrastructure to add a new language version to be tested. Test
instatiation can now include all languages without needing to specify
them.
This patch also adds pretty printing for instantiated test names. That
means, that a test instantiated with C++23 will have the name
`...TestSuite/TestName/CXX23` instead ending with some number (index of
the argument for instantiation of the test), which provides a better
experience when encountering a test failure with a specific language
version. The suffix will also contain an `_win` if the target contains
`win`.

---------

Co-authored-by: Sirraide <aeternalmail at gmail.com>


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/minbw-multiused-from-gather.ll

  Log Message:
  -----------
  [SLP]Look for vector user when estimating the cost

Need to find the first vector node user, not the very first user node at
all. The very first user might be a gather, vectorized as clustered,
which may cause compiler crash.

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


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

  Changed paths:
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [clang][test] remove unused `run` overload in `BoundNodesCallback` (#105935)

The overload that did not take the additional `ASTContext *` argument is
unnecessary when the context could simply be commented out, as it is
always passed to `run` from `VerifyMatcher::run`.
This patch removes the single-argument overload in favor of having a
single overload.


  Commit: 581c015ed0cfe05d8dd3450375cd3db316e334f1
      https://github.com/llvm/llvm-project/commit/581c015ed0cfe05d8dd3450375cd3db316e334f1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement fixed point negation (#110237)


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

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/doxygen.cfg.in
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/CMakeLists.txt
    A clang/utils/generate_ast_matcher_doc_tests.py

  Log Message:
  -----------
  [clang][test] add testing for the AST matcher reference (#94248)

## Problem Statement
Previously, the examples in the AST matcher reference, which gets
generated by the doxygen comments in `ASTMatchers.h`, were untested and
best effort.
Some of the matchers had no or wrong examples of how to use the matcher.

## Solution
This patch introduces a simple DSL around doxygen commands to enable
testing the AST matcher documentation in a way that should be relatively
easy to use.
In `ASTMatchers.h`, most matchers are documented with a doxygen comment.
Most of these also have a code example that aims to show what the
matcher will match, given a matcher somewhere in the documentation text.
The way that the documentation is tested, is by using doxygen's alias
feature to declare custom aliases. These aliases forward to
`<tt>text</tt>` (which is what doxygen's `\c` does, but for multiple
words). Using the doxygen aliases is the obvious choice, because there
are (now) four consumers:
 - people reading the header/using signature help
 - the doxygen generated documentation
 - the generated html AST matcher reference
 - (new) the generated matcher tests

This patch rewrites/extends the documentation such that all matchers
have a documented example.
The new `generate_ast_matcher_doc_tests.py` script will warn on any
undocumented matchers (but not on matchers without a doxygen comment)
and provides diagnostics and statistics about the matchers.

The current statistics emitted by the parser are:

```text
Statistics:
        doxygen_blocks                :   519
        missing_tests                 :    10
        skipped_objc                  :    42
        code_snippets                 :   503
        matches                       :   820
        matchers                      :   580
        tested_matchers               :   574
        none_type_matchers            :     6
```

The tests are generated during building and the script will only print
something if it found an issue (compile failure, parsing issues, the
expected and actual number of failures differs).

## Description

DSL for generating the tests from documentation.

TLDR:
```
  \header{a.h}
  \endheader     <- zero or more header

  \code
    int a = 42;
  \endcode
  \compile_args{-std=c++,c23-or-later} <- optional, the std flag supports std ranges and
                                          whole languages

  \matcher{expr()} <- one or more matchers in succession
  \match{42}   <- one or more matches in succession

  \matcher{varDecl()} <- new matcher resets the context, the above
                         \match will not count for this new
                         matcher(-group)
  \match{int a  = 42} <- only applies to the previous matcher (not to the
                         previous case)
```

The above block can be repeated inside a doxygen command for multiple
code examples for a single matcher.
The test generation script will only look for these annotations and
ignore anything else like `\c` or the sentences where these annotations
are embedded into: `The matcher \matcher{expr()} matches the number
\match{42}.`.

### Language Grammar
  [] denotes an optional, and <> denotes user-input

```
  compile_args j:= \compile_args{[<compile_arg>;]<compile_arg>}
  matcher_tag_key ::= type
  match_tag_key ::= type || std || count || sub
  matcher_tags ::= [matcher_tag_key=<value>;]matcher_tag_key=<value>
  match_tags ::= [match_tag_key=<value>;]match_tag_key=<value>
  matcher ::= \matcher{[matcher_tags$]<matcher>}
  matchers ::= [matcher] matcher
  match ::= \match{[match_tags$]<match>}
  matches ::= [match] match
  case ::= matchers matches
  cases ::= [case] case
  header-block ::= \header{<name>} <code> \endheader
  code-block ::= \code <code> \endcode
  testcase ::= code-block [compile_args] cases
```

### Language Standard Versions

The 'std' tag and '\compile_args' support specifying a specific language
version, a whole language and all of its versions, and thresholds
(implies ranges). Multiple arguments are passed with a ',' separator.
For a language and version to execute a tested matcher, it has to match
the specified '\compile_args' for the code, and the 'std' tag for the
matcher. Predicates for the 'std' compiler flag are used with
disjunction between languages (e.g. 'c || c++') and conjunction for all
predicates specific to each language (e.g. 'c++11-or-later &&
c++23-or-earlier').

Examples:
 - `c`                                    all available versions of C
 - `c++11`                                only C++11
 - `c++11-or-later`                       C++11 or later
 - `c++11-or-earlier`                     C++11 or earlier
- `c++11-or-later,c++23-or-earlier,c` all of C and C++ between 11 and
                                          23 (inclusive)
 - `c++11-23,c`                             same as above

### Tags

#### `type`:
**Match types** are used to select where the string that is used to
check if a node matches comes from.
Available: `code`, `name`, `typestr`, `typeofstr`. The default is
`code`.

- `code`: Forwards to `tooling::fixit::getText(...)` and should be the
preferred way to show what matches.
- `name`: Casts the match to a `NamedDecl` and returns the result of
`getNameAsString`. Useful when the matched AST node is not easy to spell
out (`code` type), e.g., namespaces or classes with many members.
- `typestr`: Returns the result of `QualType::getAsString` for the type
derived from `Type` (otherwise, if it is derived from `Decl`, recurses
with `Node->getTypeForDecl()`)

**Matcher types** are used to mark matchers as sub-matcher with 'sub' or
as deactivated using 'none'. Testing sub-matcher is not implemented.

#### `count`:
Specifying a 'count=n' on a match will result in a test that requires
that the specified match will be matched n times. Default is 1.

#### `std`:
A match allows specifying if it matches only in specific language
versions. This may be needed when the AST differs between language
versions.

#### `sub`:
The `sub` tag on a `\match` will indicate that the match is for a node
of a bound sub-matcher.
E.g., `\matcher{expr(expr().bind("inner"))}` has a sub-matcher that
binds to `inner`, which is the value for the `sub` tag of the expected
match for the sub-matcher `\match{sub=inner$...}`. Currently,
sub-matchers are not tested in any way.


### What if ...?

#### ... I want to add a matcher?

Add a doxygen comment to the matcher with a code example, corresponding
matchers and matches, that shows what the matcher is supposed to do.
Specify the compile arguments/supported languages if required, and run
`ninja check-clang-unit` to test the documentation.

#### ... the example I wrote is wrong?

The test-generation script will try to compile your example code before
it continues. This makes finding issues with your example code easier
because the test-failures are much more verbose.

The test-failure output of the generated test file will provide
information about
 - where the generated test file is located
 - which line in `ASTMatcher.h` the example is from
 - which matches were: found, not-(yet)-found, expected
- in case of an unexpected match: what the node looks like using the
different `type`s
- the language version and if the test ran with a windows `-target` flag
(also in failure summary)

#### ... I don't adhere to the required order of the syntax?

The script will diagnose any found issues, such as `matcher is missing
an example` with a `file:line:` prefix,
which should provide enough information about the issue.

#### ... the script diagnoses a false-positive issue with a doxygen
comment?

It hopefully shouldn't, but if you, e.g., added some non-matcher code
and documented it with doxygen, then the script will consider that as a
matcher documentation. As a result, the script will print that it
detected a mismatch between the actual and the expected number of
failures. If the diagnostic truly is a false-positive, change the
`expected_failure_statistics` at the top of the
`generate_ast_matcher_doc_tests.py` file.

Fixes #57607
Fixes #63748


  Commit: 816134b3338b2cb46f4bb9e87744c67d61bf8569
      https://github.com/llvm/llvm-project/commit/816134b3338b2cb46f4bb9e87744c67d61bf8569
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    A mlir/test/Integration/GPU/CUDA/dump-sass.mlir

  Log Message:
  -----------
  [MLIR] Dump sass (#110227)

This PR dump sass by using nvdiasm


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

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/doxygen.cfg.in
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/CMakeLists.txt
    R clang/utils/generate_ast_matcher_doc_tests.py

  Log Message:
  -----------
  Revert "[clang][test] add testing for the AST matcher reference (#94248)"

This reverts commit 097ada2fcb607be09da94a0d11f627a3759a10de.


  Commit: 6f1a8c2da278a04565877e277bc4d5b70055ac74
      https://github.com/llvm/llvm-project/commit/6f1a8c2da278a04565877e277bc4d5b70055ac74
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-no-scalar-interleave.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-outerloop-scevaddrec.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    A llvm/test/Transforms/LoopVectorize/histograms.ll

  Log Message:
  -----------
  [LV] Vectorize histogram operations (#99851)

This patch implements autovectorization support for the 'all-in-one'
histogram intrinsic, which seems to have more support than the
'standalone' intrinsic. See
https://discourse.llvm.org/t/rfc-vectorization-support-for-histogram-count-operations/74788/
for an overview of the work and my notes on the tradeoffs between the
two approaches.


  Commit: 0c6ee1f9a2982b67e6dae76462cf2899133a3b05
      https://github.com/llvm/llvm-project/commit/0c6ee1f9a2982b67e6dae76462cf2899133a3b05
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallSet.h
    M llvm/unittests/ADT/SmallSetTest.cpp

  Log Message:
  -----------
  [ADT] Add more useful methods to SmallSet API (#108601)

This patch adds useful methods to the SmallSet API:

 - Constructor that takes pair of iterators.
 - Constructor that takes a range.
 - Constructor that takes an initializer list.
 - Copy constructor.
 - Move constructor.
 - Copy assignment operator.
 - Move assignment operator.


  Commit: a131fbf1687a641265ced45b19dc97ee1c9e3484
      https://github.com/llvm/llvm-project/commit/a131fbf1687a641265ced45b19dc97ee1c9e3484
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/rotate.ll
    M llvm/test/CodeGen/NVPTX/rotate_64.ll

  Log Message:
  -----------
  Reland "[NVPTX] deprecate nvvm.rotate.* intrinsics, cleanup funnel-shift handling" (#110025)

This change deprecates the following intrinsics which can be trivially
converted to llvm funnel-shift intrinsics:

- @llvm.nvvm.rotate.b32
- @llvm.nvvm.rotate.right.b64
- @llvm.nvvm.rotate.b64

This fixes a bug in the previous version (#107655) which flipped the
order of the operands to the PTX funnel shift instruction. In LLVM IR
the high bits are the first arg and the low bits are the second arg,
while in PTX this is reversed.


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

  Changed paths:
    A lldb/docs/use/aarch64-linux.md
    R lldb/docs/use/aarch64-linux.rst

  Log Message:
  -----------
  [lldb][Docs] Convert AArch64 Linux doc to Markdown

Executive decision from me given that I am the sole author
of the doc and there's nothing Markdown can't handle here.


  Commit: 45a09d1811d5d6597385ef02ecf2d4b7320c37c5
      https://github.com/llvm/llvm-project/commit/45a09d1811d5d6597385ef02ecf2d4b7320c37c5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/abi.h
    A libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/module.modulemap
    M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    A libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/incomplete.sh.cpp
    A libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Add an ABI setting to harden unique_ptr<T[]>::operator[] (#91798)

This allows catching OOB accesses inside `unique_ptr<T[]>` when the size
of the allocation is known. The size of the allocation can be known when
the unique_ptr has been created with make_unique & friends or when the
type necessitates an array cookie before the allocation.


  Commit: 4036413320c3f3139bcb72836c9256ac46cb8c95
      https://github.com/llvm/llvm-project/commit/4036413320c3f3139bcb72836c9256ac46cb8c95
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libcxx/include/__configuration/availability.h
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Add availability mapping for LLVM 18 on Apple platforms (#110158)


  Commit: 1eba87904b0cbaaee82cfdb835528b85d99320ef
      https://github.com/llvm/llvm-project/commit/1eba87904b0cbaaee82cfdb835528b85d99320ef
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [libc++] Fix AppleClang version number when checking for __builtin_verbose_trap support (#110161)

We should have been checking against 1700, not 17000, which was a typo.


  Commit: e511e2accd8835b0b181fb5fc856a57dfdcb17d7
      https://github.com/llvm/llvm-project/commit/e511e2accd8835b0b181fb5fc856a57dfdcb17d7
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 45a09d1811d5


  Commit: 49d933479342f53c3cb690368862366c5b0a51c8
      https://github.com/llvm/llvm-project/commit/49d933479342f53c3cb690368862366c5b0a51c8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libunwind/CMakeLists.txt

  Log Message:
  -----------
  [libunwind][CMake] Remove LIBUNWIND_BUILD_32_BITS which has been an error for 3 years (#110175)


  Commit: 3527e8379edb4ccd3bdbf71cfe688874cf199295
      https://github.com/llvm/llvm-project/commit/3527e8379edb4ccd3bdbf71cfe688874cf199295
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libunwind/CMakeLists.txt
    M libunwind/src/CMakeLists.txt

  Log Message:
  -----------
  [libunwind] Introduce LIBUNWIND_LIBRARY_VERSION and drop outdated Apple flags (#110178)

This patch introduces the LIBUNWIND_LIBRARY_VERSION setting to control
the dylib version of libunwind. This allows expressing the dylib version
in CMake instead of adding custom compiler flags.

As a drive-by, also remove some outdated Apple flags that are not
relevant anymore.


  Commit: eb16acedf54ac76543b3f9d6071d578472b1630d
      https://github.com/llvm/llvm-project/commit/eb16acedf54ac76543b3f9d6071d578472b1630d
  Author: sstipano <146831748+sstipano at users.noreply.github.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.image.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.load.2dmsaa.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics-gfx8.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-simplify-image-buffer-stores.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/image-d16.ll
    M llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll

  Log Message:
  -----------
  [AMDGPU] Overload resource descriptor in image intrinsics. (#107255)


  Commit: 22c8b1d853dfde925eb63c4907332c596048c631
      https://github.com/llvm/llvm-project/commit/22c8b1d853dfde925eb63c4907332c596048c631
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [BranchRelaxation] Remove quadratic behavior in relaxation pass (#96250)

Currently, we recompute block offsets after each relaxation. This causes
the complexity to be O(n^2) in the number of instructions, inflating
compile
time.

If we instead recompute block offsets after each iteration of the outer
loop, the complexity is O(n). Recomputing offsets in the outer loop will
cause some out-of-range branches to be missed in the inner loop, but
they will be relaxed in the next iteration of the outer loop.

This change may introduce unnecessary relaxations for an architecture
where the relaxed branch is smaller than the unrelaxed branch, but AFAIK
there is no such architecture.


  Commit: 32719c48ab37e7265658ced6f84b5cec1106cc25
      https://github.com/llvm/llvm-project/commit/32719c48ab37e7265658ced6f84b5cec1106cc25
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp
    M llvm/utils/TableGen/OptionRSTEmitter.cpp
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
    M llvm/utils/TableGen/X86InstrMappingEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Change a few emitters to use const Record pointers (#110112)

Change DirectiveEmitter, Option Emitter, and X86 Emitters to use const
Record pointers.

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


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


  Commit: 296901fd00825f5a8f6b3358865b0f21f6803b5d
      https://github.com/llvm/llvm-project/commit/296901fd00825f5a8f6b3358865b0f21f6803b5d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [MemCpyOpt] Use BatchAA in one more place (NFCI)

Everything else in this method using BatchAA, apart from this
call.


  Commit: 1a9569c4f025ef72a427a6c03be6d4b5db72cf1c
      https://github.com/llvm/llvm-project/commit/1a9569c4f025ef72a427a6c03be6d4b5db72cf1c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll

  Log Message:
  -----------
  [RISCV][TTI] Avoid an infinite recursion issue in getCastInstrCost (#110164)

Calling into BasicTTI is not always safe. In particular, BasicTTI does
not have a full legalization implementation (vector widening is
missing), and falls back on scalarization. The problem is that
scalarization for <N x i1> vectors is cost in terms of the cast API and
we can end up in an infinite recursive cycle.

The "right" fix for this would be teach BasicTTI how to model the full
legalization state machine, but several attempts at doing so have
resulted in dead ends or undesirable cost changes for targets I don't
understand.

This patch instead papers over the issue by avoiding the call to the
base class when dealing with an i1 source or dest. This doesn't
necessarily produce correct costs, but it should at least return
something semi-sensible and not crash.

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


  Commit: b712a1445bfcd3f04a1751f0906515cc7be51271
      https://github.com/llvm/llvm-project/commit/b712a1445bfcd3f04a1751f0906515cc7be51271
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Fix memory leak and accidentally ignoring dimensions in loader

Summary:
The loader had a bug where we weren't setting the dimensions correctly,
also I forgot to delete the paths for this  RPC call.


  Commit: f1c2331a646d28d5f528309b47cde9c13bc20542
      https://github.com/llvm/llvm-project/commit/f1c2331a646d28d5f528309b47cde9c13bc20542
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll

  Log Message:
  -----------
  [MemCpyOpt] Add additional tests for earliest escape (NFC)


  Commit: 84a0a3d3b30360b3cf1db3f1c27ff3175bf0aaf2
      https://github.com/llvm/llvm-project/commit/84a0a3d3b30360b3cf1db3f1c27ff3175bf0aaf2
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/use-module-error.f90

  Log Message:
  -----------
  [flang][driver] Make the -J option less restrictive so we would not have to struggle with autoconf (#110010)

There are autoconf-configured projects for which the generated Makefile
is invoking flang with more than one -J option, each one specifying the
same directory. Although only one module directory should be specified
(by either -J or -module-dir), it should not really matter how many
times this same directory has been specified.

Apparently, other compilers understand it that way, hence autoconf's
configure script may generate a Makefile with the repetitive -J's.

For example, when trying to build the ABINIT [1] project (which can be
configured by either CMake or the configure script) when configured by
autoconf, it fails to build as such:

```
make[3]: Entering directory 'src/98_main'
mpifort -DHAVE_CONFIG_H -I. -I../../../src/98_main -I../..  -I../../src/incs -I../../../src/incs -Ifallbacks/exports/include  -Jbuild/mods  -Jbuild/mods -c -o abinit-abinit.o `test -f 'abinit.F90' || echo '../../../src/98_main/'`abinit.F90
error: Only one '-module-dir/-J' option allowed
make[3]: *** [Makefile:3961: abinit-abinit.o] Error 1
```

This patch solves the problem.

[1] https://github.com/abinit/abinit.git


  Commit: 1fd1f65569f565b5b06fd9464b3b91fcd6f2fa2a
      https://github.com/llvm/llvm-project/commit/1fd1f65569f565b5b06fd9464b3b91fcd6f2fa2a
  Author: Daniel Hernandez-Juarez <dhernandez0 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.td
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Math/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Math/Transforms/ExtendToSupportedTypes.cpp
    R mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
    A mlir/test/Dialect/Math/extend-to-supported-types-f16.mlir
    A mlir/test/Dialect/Math/extend-to-supported-types.mlir
    R mlir/test/Dialect/Math/legalize-to-f32.mlir

  Log Message:
  -----------
   [mlir] Refactor LegalizeToF32 to specify extra supported float types and target type as arguments (#108815)

Instead of hardcoding all fp smaller than 32 bits are unsupported we
provide a way to pass supported floating point types as well as the
target type. fp64 and fp32 are implicitly supported.

CC: @krzysz00 @manupak


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

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp

  Log Message:
  -----------
  [nfc][ctx_prof] Efficient profile traversal and update (#110052)

This optimizes profile updates and visits, where we want to access contexts for a specific function. These are all the current update cases. We do so by maintaining a list of contexts for each function, preserving preorder traversal. The list is updated whenever contexts are `std::move`-d or deleted.


  Commit: bf25ecb6caff22ac7f3e44a396fb2e5aa830db49
      https://github.com/llvm/llvm-project/commit/bf25ecb6caff22ac7f3e44a396fb2e5aa830db49
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] Port 5e9813667958688f5ab0e0b776b509b2b909d1e4


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

  Changed paths:
    M clang/test/CodeGen/aarch64-fmv-dependencies.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/Sema/attr-target-version.c
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/lib/Target/AArch64/AArch64FMV.td

  Log Message:
  -----------
  [FMV][AArch64] Remove feature sha1 from FMV. (#108383)

Sha1 has been unified with sha2 in the ACLE spec
(see https://github.com/ARM-software/acle/pull/347)
so I am changing the compiler to adhere to it.


  Commit: a3b34e67e6905eb01709b35d4b792c7442ed93ac
      https://github.com/llvm/llvm-project/commit/a3b34e67e6905eb01709b35d4b792c7442ed93ac
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCF.h
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir

  Log Message:
  -----------
  [mlir][vector] Add pattern for dropping unit dims from for loops (#109585)

This adds a pattern for dropping unit dims from the iter_args of scf.for
ops using vector.shape_cast. This composes with the other patterns for
dropping unit dims from elementwise ops and transposes.


  Commit: d9b377d8b12aaa3345eaa0d1b93dc3915baba013
      https://github.com/llvm/llvm-project/commit/d9b377d8b12aaa3345eaa0d1b93dc3915baba013
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't produce a null type when checking new exprs (#110252)

getType() might give us the right type already, so use that instead of
calling getPointeeType() for all CXXNewExprs.


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

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc

  Log Message:
  -----------
  [compiler-rt][FMV][AArch64] Remove sha1 from fuchsia and apple targets. (#110291)

In e2cc63d80ce374fa04067c105a45ca7f0abba329 I forgot to remove these
references. Fixes buildbot https://lab.llvm.org/buildbot/#/builders/11/builds/5749


  Commit: 3625f9f615c024b85f1daa967abae77998b939dc
      https://github.com/llvm/llvm-project/commit/3625f9f615c024b85f1daa967abae77998b939dc
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A flang/test/Driver/xoffload-linker.f90

  Log Message:
  -----------
  [Flang][Driver][Offload] Support -Xoffload-linker argument in Flang (#109907)

The -Xoffload-linker command allows forwarding of linker commands to the
clang-linker-wrapper used for linking offload libraries into the
resulting offload binaries amongst other tasks. This is a rather useful
command to have to support the offloading programming models flang-new
currently aims to support (OpenMP/OpenACC).

Currently this flag is utilised in the check-offload tests after a
recent addition and is used in conjunction with the Fortran OpenMP test
suite there, which fails at the moment due to flang-new not recognizing
the command, this fixes the issue. The alternative to this would of
course be to setup the test config to avoid using this flag with
Fortran, but I believe adding support of the flag to flang-new has more
merit as having the same compatability/communication capabilities as
Clang to the clang-linker-wrapper is important as it's a critical
component of the offload pipeline, and the command will likely see more
use in the near future.


  Commit: 416707754fa5aafd2a6fd73d5d577f9745928d6a
      https://github.com/llvm/llvm-project/commit/416707754fa5aafd2a6fd73d5d577f9745928d6a
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalMerge.cpp
    A llvm/test/Transforms/GlobalMerge/macho-sections.ll
    A llvm/test/Transforms/GlobalMerge/macho-symbols.ll

  Log Message:
  -----------
  Fix issues with GlobalMerge on Mach-O. (#110046)

As a side-effect of PR #101222, GlobalMerge started making transforms
which are unsafe on Mach-O platforms.

Two issues, in particular, are fixed here:

1. We must never merge symbols in the `__cfstring` section, as the
linker assumes each object in this section is only ever referenced
directly, and that it can split the section as it likes.

Previously, we avoided this problem because CFString literals are
identified by private-linkage symbols. This patch adds a list of
section-names with special behavior, to avoid merging under Mach-O.

2. When GlobalMerge code was originally written, it had to be careful
about emitting symbol aliases, due to issues with Mach-O's subsection
splitting in the linker with `-dead_strip` enabled. The underlying cause
of this problem was fixed in 2016, via creation of the `.alt_entry`
assembler directive, which allows a symbol to not also imply the start
of a new subsection. GlobalMerge's workaround for that issue was never
removed.

In the meantime, Apple's new ld-prime linker was written, and has a bug
in `.alt_entry` handling. Therefore, even though the original issue was
fixed, we must _continue_ to be careful not to emit any such symbol
aliases. The existing workaround avoided it for InternalLinkage symbols,
but after the above-mentioned PR, we also must avoid emitting aliases
for PrivateLinkage symbols.

I will file an Apple bug-report about this issue, so that it can be
fixed in a future version of ld-prime. But, in the meantime, the
workaround is sufficient for GlobalMerge, unless
`-global-merge-on-externals` is enabled (which it is already not by
default, on MachO platforms, due to the original issue).

Fixes #104625


  Commit: c6747335b496a7d7448c7e1a89f56e0ed8968a67
      https://github.com/llvm/llvm-project/commit/c6747335b496a7d7448c7e1a89f56e0ed8968a67
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [Bazel] Port 7dfdca1961aadc75ca397818bfb9bd32f1879248


  Commit: 491375cc4eb24adba66b0f8af3f0dd52530f7554
      https://github.com/llvm/llvm-project/commit/491375cc4eb24adba66b0f8af3f0dd52530f7554
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    A llvm/include/llvm/SandboxIR/BasicBlock.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    A llvm/lib/SandboxIR/BasicBlock.cpp
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/Constant.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move BasicBlock class into a separate file (#110194)


  Commit: 9c7c63cdf0e290d143787256758608c569d20df8
      https://github.com/llvm/llvm-project/commit/9c7c63cdf0e290d143787256758608c569d20df8
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Fix mlir build (#110293)


  Commit: 97169bf086131d49e0d700859c6a44c09eddddd5
      https://github.com/llvm/llvm-project/commit/97169bf086131d49e0d700859c6a44c09eddddd5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/CodeOwners.rst

  Log Message:
  -----------
  Update contact email address


  Commit: 6fd870bf3585db7d9b4af5e4b95bc731bbf9c0fa
      https://github.com/llvm/llvm-project/commit/6fd870bf3585db7d9b4af5e4b95bc731bbf9c0fa
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement zero-init for fixed point types (#110257)


  Commit: a4197e472823f51075c837f709da05a55ebc16d0
      https://github.com/llvm/llvm-project/commit/a4197e472823f51075c837f709da05a55ebc16d0
  Author: jimingham <jingham at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/docs/use/tutorial.rst

  Log Message:
  -----------
  Add docs describing how the thread plan stack affects stepping (#110167)

This is a convenient little feature of lldb, but if you didn't know it
was there you'd likely never discover it.


  Commit: b65930c6cecab2552bf963cc27adbcbb97f96352
      https://github.com/llvm/llvm-project/commit/b65930c6cecab2552bf963cc27adbcbb97f96352
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 491375cc4eb2


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

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/doxygen.cfg.in
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/CMakeLists.txt
    A clang/utils/generate_ast_matcher_doc_tests.py

  Log Message:
  -----------
  [clang][test] add testing for the AST matcher reference (#110258)

## Problem Statement
Previously, the examples in the AST matcher reference, which gets
generated by the Doxygen comments in `ASTMatchers.h`, were untested and
best effort.
Some of the matchers had no or wrong examples of how to use the matcher.

## Solution
This patch introduces a simple DSL around Doxygen commands to enable
testing the AST matcher documentation in a way that should be relatively
easy to use.
In `ASTMatchers.h`, most matchers are documented with a Doxygen comment.
Most of these also have a code example that aims to show what the
matcher will match, given a matcher somewhere in the documentation text.
The way that the documentation is tested, is by using Doxygen's alias
feature to declare custom aliases. These aliases forward to
`<tt>text</tt>` (which is what Doxygen's `\c` does, but for multiple
words). Using the Doxygen aliases is the obvious choice, because there
are (now) four consumers:
 - people reading the header/using signature help
 - the Doxygen generated documentation
 - the generated HTML AST matcher reference
 - (new) the generated matcher tests

This patch rewrites/extends the documentation such that all matchers
have a documented example.
The new `generate_ast_matcher_doc_tests.py` script will warn on any
undocumented matchers (but not on matchers without a Doxygen comment)
and provides diagnostics and statistics about the matchers.

The current statistics emitted by the parser are:

```text
Statistics:
        doxygen_blocks                :   519
        missing_tests                 :    10
        skipped_objc                  :    42
        code_snippets                 :   503
        matches                       :   820
        matchers                      :   580
        tested_matchers               :   574
        none_type_matchers            :     6
```

The tests are generated during building, and the script will only print
something if it found an issue with the specified tests (e.g., missing
tests).

## Description

DSL for generating the tests from documentation.

TLDR:
```
  \header{a.h}
  \endheader     <- zero or more header

  \code
    int a = 42;
  \endcode
  \compile_args{-std=c++,c23-or-later} <- optional, the std flag supports std ranges and
                                          whole languages

  \matcher{expr()} <- one or more matchers in succession
  \match{42}   <- one or more matches in succession

  \matcher{varDecl()} <- new matcher resets the context, the above
                         \match will not count for this new
                         matcher(-group)
  \match{int a  = 42} <- only applies to the previous matcher (not to the
                         previous case)
```

The above block can be repeated inside a Doxygen command for multiple
code examples for a single matcher.
The test generation script will only look for these annotations and
ignore anything else like `\c` or the sentences where these annotations
are embedded into: `The matcher \matcher{expr()} matches the number
\match{42}.`.

### Language Grammar
  [] denotes an optional, and <> denotes user-input

```
  compile_args j:= \compile_args{[<compile_arg>;]<compile_arg>}
  matcher_tag_key ::= type
  match_tag_key ::= type || std || count || sub
  matcher_tags ::= [matcher_tag_key=<value>;]matcher_tag_key=<value>
  match_tags ::= [match_tag_key=<value>;]match_tag_key=<value>
  matcher ::= \matcher{[matcher_tags$]<matcher>}
  matchers ::= [matcher] matcher
  match ::= \match{[match_tags$]<match>}
  matches ::= [match] match
  case ::= matchers matches
  cases ::= [case] case
  header-block ::= \header{<name>} <code> \endheader
  code-block ::= \code <code> \endcode
  testcase ::= code-block [compile_args] cases
```

### Language Standard Versions

The 'std' tag and '\compile_args' support specifying a specific language
version, a whole language and all of its versions, and thresholds
(implies ranges). Multiple arguments are passed with a ',' separator.
For a language and version to execute a tested matcher, it has to match
the specified '\compile_args' for the code, and the 'std' tag for the
matcher. Predicates for the 'std' compiler flag are used with
disjunction between languages (e.g. 'c || c++') and conjunction for all
predicates specific to each language (e.g. 'c++11-or-later &&
c++23-or-earlier').

Examples:
 - `c`                                    all available versions of C
 - `c++11`                                only C++11
 - `c++11-or-later`                       C++11 or later
 - `c++11-or-earlier`                     C++11 or earlier
- `c++11-or-later,c++23-or-earlier,c` all of C and C++ between 11 and
                                          23 (inclusive)
 - `c++11-23,c`                             same as above

### Tags

#### `type`:
**Match types** are used to select where the string that is used to
check if a node matches comes from.
Available: `code`, `name`, `typestr`, `typeofstr`. The default is
`code`.

- `code`: Forwards to `tooling::fixit::getText(...)` and should be the
preferred way to show what matches.
- `name`: Casts the match to a `NamedDecl` and returns the result of
`getNameAsString`. Useful when the matched AST node is not easy to spell
out (`code` type), e.g., namespaces or classes with many members.
- `typestr`: Returns the result of `QualType::getAsString` for the type
derived from `Type` (otherwise, if it is derived from `Decl`, recurses
with `Node->getTypeForDecl()`)

**Matcher types** are used to mark matchers as sub-matcher with 'sub' or
as deactivated using 'none'. Testing sub-matcher is not implemented.

#### `count`:
Specifying a 'count=n' on a match will result in a test that requires
that the specified match will be matched n times. Default is 1.

#### `std`:
A match allows specifying if it matches only in specific language
versions. This may be needed when the AST differs between language
versions.

#### `sub`:
The `sub` tag on a `\match` will indicate that the match is for a node
of a bound sub-matcher.
E.g., `\matcher{expr(expr().bind("inner"))}` has a sub-matcher that
binds to `inner`, which is the value for the `sub` tag of the expected
match for the sub-matcher `\match{sub=inner$...}`. Currently,
sub-matchers are not tested in any way.

### What if ...?

#### ... I want to add a matcher?

Add a Doxygen comment to the matcher with a code example, corresponding
matchers and matches, that shows what the matcher is supposed to do.
Specify the compile arguments/supported languages if required, and run
`ninja check-clang-unit` to test the documentation.

#### ... the example I wrote is wrong?

The test-failure output of the generated test file will provide
information about
 - where the generated test file is located
 - which line in `ASTMatcher.h` the example is from
 - which matches were: found, not-(yet)-found, expected
- in case of an unexpected match: what the node looks like using the
different `type`s
- the language version and if the test ran with a windows `-target` flag
(also in failure summary)

#### ... I don't adhere to the required order of the syntax?

The script will diagnose any found issues, such as `matcher is missing
an example` with a `file:line:` prefix,
which should provide enough information about the issue.

#### ... the script diagnoses a false-positive issue with a Doxygen
comment?

It hopefully shouldn't, but if you, e.g., added some non-matcher code
and documented it with Doxygen, then the script will consider that as a
matcher documentation. As a result, the script will print that it
detected a mismatch between the actual and the expected number of
failures. If the diagnostic truly is a false-positive, change the
`expected_failure_statistics` at the top of the
`generate_ast_matcher_doc_tests.py` file.

Fixes #57607
Fixes #63748


  Commit: 51259deb72d5acee4f3e65911dd364d0c3827846
      https://github.com/llvm/llvm-project/commit/51259deb72d5acee4f3e65911dd364d0c3827846
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__expected/expected.h

  Log Message:
  -----------
  [libc++] LWG4025: Move assignment operator of `std::expected<cv void, E>` should not be conditionally deleted (#109363)

This patch implements LWG4025: Move assignment operator of
`std::expected<cv void, E>` should not be conditionally deleted.

Closes #105324


  Commit: ea568a93ce78d150957cf8afc7159596cd85d912
      https://github.com/llvm/llvm-project/commit/ea568a93ce78d150957cf8afc7159596cd85d912
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_diagnostics.py
    M clang/bindings/python/tests/cindex/test_type.py

  Log Message:
  -----------
  [libclang/python] Improve test coverage (#109846)

Achieve 100% test coverage on classes Cursor, Diagnostic, Type.


  Commit: 68f529df5017e9c85df4cff9cac61d8f21fc6687
      https://github.com/llvm/llvm-project/commit/68f529df5017e9c85df4cff9cac61d8f21fc6687
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp

  Log Message:
  -----------
  [rtsan] Fix comment in fcntl, fix va_args type (#108440)

Two changes here:

1. Add significantly more detail on why this is OK, from the
conversation here:
https://discourse.llvm.org/t/how-to-write-an-interceptor-for-fcntl/81203
2. Change the type we expect from va_args to intptr_t, which was also a
suggestion in that thread.


  Commit: 787a6d57f95ff6eaee8df01392900a6eea512930
      https://github.com/llvm/llvm-project/commit/787a6d57f95ff6eaee8df01392900a6eea512930
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp

  Log Message:
  -----------
  [nvlink-wrapper] Remove use of symlinks

Summary:
This was intended to be a neat optimization, but some objects come from
archives so this won't work. I could write some code to detect if it
came from an archive but I don't think it's wroth the complexity when
this already doesn't work on Windows.


  Commit: cd5f5b769010da31210bc55bd5e337ec60b34665
      https://github.com/llvm/llvm-project/commit/cd5f5b769010da31210bc55bd5e337ec60b34665
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    A llvm/test/MC/AMDGPU/ds_swizzle.s
    M llvm/test/MC/AMDGPU/gfx90a_ldst_acc.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx90a_ldst_acc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_ds.txt

  Log Message:
  -----------
  [AMDGPU][MC] Implement fft and rotate modes for ds_swizzle_b32 (#108064)

In addition to the basic mode, the ds_swizzle_b32 is supposed to support
two specific modes: fft and rotate. This patch implements those two
modes.


  Commit: 50afafbf299385c4836cca5383e9cd7eb7593c9a
      https://github.com/llvm/llvm-project/commit/50afafbf299385c4836cca5383e9cd7eb7593c9a
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll

  Log Message:
  -----------
  [RISCV][TTI] Adjust constant materialization cost for (z/s)ext from i1 (#110282)

When we're lowering to a split sequence, we only need one
materialization of the zero constant. Our codegen looks something like
this:

  vmv.v.i	v24, 0
  vmerge.vim	v8, v24, -1, v0
  vmv1r.v	v0, v16
  vmerge.vim	v16, v24, -1, v0

Note: Doing this specific case since it was pointed out in
https://github.com/llvm/llvm-project/pull/110164#discussion_r1778268391,
but it's worth noting that we have the same basic problem (over costing
split operations with split invariant terms) at multiple places through
this file.


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

  Changed paths:
    M llvm/benchmarks/SandboxIRBench.cpp
    M llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/SandboxIR/Context.h
    A llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/lib/SandboxIR/BasicBlock.cpp
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/Context.cpp
    A llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Instruction classes into a separate file (#110294)


  Commit: cce52c76a7382ca370097efad0ec8b3859796c7a
      https://github.com/llvm/llvm-project/commit/cce52c76a7382ca370097efad0ec8b3859796c7a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

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


  Commit: 1832d609f7e7d5511bb0401a30ed1cf4f49dd00b
      https://github.com/llvm/llvm-project/commit/1832d609f7e7d5511bb0401a30ed1cf4f49dd00b
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  InstCombine/Demanded: simplify srem case (NFC) (#110260)

The srem case of SimplifyDemandedUseBits partially duplicates
KnownBits::srem. It is guarded by a statement that takes the absolute
value of the RHS and checks whether it is a power of 2, but the abs()
call here useless, since an srem with a negative RHS is flipped into one
with a positive RHS, adjusting LHS appropriately. Stripping the abs call
allows us to call KnownBits::srem instead of partially duplicating it.


  Commit: 28047750d70ca12eaf29937127926ccbc39eb298
      https://github.com/llvm/llvm-project/commit/28047750d70ca12eaf29937127926ccbc39eb298
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  VPlan/PatternMatch: mark match functions const (NFC) (#108191)


  Commit: 68ddd6c80e917b5792b80bf5fd972e9d7e24fc89
      https://github.com/llvm/llvm-project/commit/68ddd6c80e917b5792b80bf5fd972e9d7e24fc89
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp

  Log Message:
  -----------
  Revert "Fix LLVM_ENABLE_ABI_BREAKING_CHECKS macro check: use #if instead of #ifdef" (#110310)

Reverts llvm/llvm-project#110185

There are inconsistencies in some of these macros, which unfortunately
isn't caught by a single upstream bot.


  Commit: c616f1992473b5cbf0f52f9e780f0f3d38dfd544
      https://github.com/llvm/llvm-project/commit/c616f1992473b5cbf0f52f9e780f0f3d38dfd544
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [MemProf] Refactor context node creation into a new helper (NFC) (#108408)

Simplify code by refactoring some common handling for node creation into
a helper function.


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

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

  Log Message:
  -----------
  [LV] Remove noalias intrinsics handling from scalarizeInstruction (NFC).

This is now handled by the explicit unroller.


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

  Changed paths:
    M llvm/include/llvm/SandboxIR/Constant.h
    R llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/lib/SandboxIR/Module.cpp
    M llvm/lib/SandboxIR/PassManager.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp
    M llvm/unittests/SandboxIR/UtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Delete SandboxIR.h (#110309)


  Commit: 8dfeb4ef5d60a5c764f0ce249cc4ec69e012ff93
      https://github.com/llvm/llvm-project/commit/8dfeb4ef5d60a5c764f0ce249cc4ec69e012ff93
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Constant.h
    A llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/lib/SandboxIR/Module.cpp
    M llvm/lib/SandboxIR/PassManager.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp
    M llvm/unittests/SandboxIR/UtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  Revert "[SandboxIR][NFC] Delete SandboxIR.h (#110309)"

This reverts commit ca47f48a5c9e81ef8b5c4a5b1fbc473ea5d5497c.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-num-elems.ll

  Log Message:
  -----------
  [SLP]Check if number of elements forms a full register

Need to check if number of elements form a full register before trying
per-register permutations to avoid compiler crash


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

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    A llvm/test/Analysis/ScalarEvolution/predicated-max-backedge-taken-count-guard-info.ll
    A llvm/test/Analysis/ScalarEvolution/trip-count-urem.ll

  Log Message:
  -----------
  [SCEV] Re-organize tests requiring remainder predicates.

Also adds additional test coverage in
Analysis/ScalarEvolution/trip-count-urem.ll

Extra test coverage is for https://github.com/llvm/llvm-project/pull/108777.


  Commit: 48dc4d39c77474c4cd7f66947bdf5d496c0108be
      https://github.com/llvm/llvm-project/commit/48dc4d39c77474c4cd7f66947bdf5d496c0108be
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++][Apple] Add missing availabilty mappings for Apple platforms (#110289)


  Commit: 63899748738ce7449e46eebb1aeb7909f2fdea2b
      https://github.com/llvm/llvm-project/commit/63899748738ce7449e46eebb1aeb7909f2fdea2b
  Author: Un1q32 <joey.t.reinhart at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Don't use aligned_alloc on iOS versions before 13 (#110315)

There's a check here to not use aligned_alloc on macOS versions before
10.15, this patch adds an equivalent check that tests for iOS 13.


  Commit: f11775f0a2af66b33934fccc5a6566c462a8f6a0
      https://github.com/llvm/llvm-project/commit/f11775f0a2af66b33934fccc5a6566c462a8f6a0
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/bindings/python/clang/cindex.py

  Log Message:
  -----------
  [libclang/python] Do not rely on `ctypes`' `errcheck` (#105490)

Call conversion functions directly instead of using them for type
conversion on library function calls via `ctypes`' `errcheck`
functionality.


  Commit: 2018f4ccf28bd017ede1c092ab8de11fa474e68a
      https://github.com/llvm/llvm-project/commit/2018f4ccf28bd017ede1c092ab8de11fa474e68a
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Constant.h
    R llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/lib/SandboxIR/Module.cpp
    M llvm/lib/SandboxIR/PassManager.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp
    M llvm/unittests/SandboxIR/UtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  Reapply "[SandboxIR][NFC] Delete SandboxIR.h (#110309)"

This reverts commit 8dfeb4ef5d60a5c764f0ce249cc4ec69e012ff93.


  Commit: 1fb3fe04cf7ce58da377a54fc435d9d8361075e3
      https://github.com/llvm/llvm-project/commit/1fb3fe04cf7ce58da377a54fc435d9d8361075e3
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [mlir] Avoid Type::getPointerTo() (NFC)

Avoid `Type::getPointerTo()` which is to be removed soon.

Also use CreateAddrSpaceCast for more clarity.


  Commit: 4407cf95d565ddba82d697e0ade58d64a0cc2ed7
      https://github.com/llvm/llvm-project/commit/4407cf95d565ddba82d697e0ade58d64a0cc2ed7
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl

  Log Message:
  -----------
  [HLSL] Vector Usual Arithmetic Conversions (#110195)

HLSL has a different set of usual arithmetic conversions for vector
types to resolve a common type for binary operator expressions.

This PR implements the current spec proposal from:
https://github.com/microsoft/hlsl-specs/pull/311

There is one case that may need additional handling for implicitly
truncating vector<T,1> to T early to allow other transformations.

Fixes #106253

Re-lands #108659


  Commit: 8ed18eded9550ba1c079ddf169e657b0673e11c9
      https://github.com/llvm/llvm-project/commit/8ed18eded9550ba1c079ddf169e657b0673e11c9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/pr97304.ll

  Log Message:
  -----------
  [RISCV] Add correct MachinePointerInfo when putting arguments on the stack. (#110140)

Previously we used an empty MachinePointerInfo. I checked a few other
targets like X86, ARM, and AArch64 and they all appear to use correct
MachinePointerInfo.


  Commit: c6500671ed3352ce4f7fb1e0411b66e74a6ea3da
      https://github.com/llvm/llvm-project/commit/c6500671ed3352ce4f7fb1e0411b66e74a6ea3da
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c

  Log Message:
  -----------
  [NVPTX] Add a clang builtin for the `warpsize` intrinsic (#110316)

Summary:
There's an intrinsic for the warp size, we want to expose this to make
the interface proposed in
https://github.com/llvm/llvm-project/pull/110179 more generic.


  Commit: 023f6910cfcbe7b3a9c405f59b3e62728617eeaf
      https://github.com/llvm/llvm-project/commit/023f6910cfcbe7b3a9c405f59b3e62728617eeaf
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Value.h

  Log Message:
  -----------
  [SandboxIR] Fix MSVC warning caused by 2018f4ccf28b


  Commit: e9700d03dd5b89ffc8ef77d0bac2ebc6228f894a
      https://github.com/llvm/llvm-project/commit/e9700d03dd5b89ffc8ef77d0bac2ebc6228f894a
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/asint.hlsl
    A clang/test/SemaHLSL/BuiltIns/asint-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implement `asint` casting using `bit_cast` (#110027)

Using clang's `__builtin_bit_cast`, implement the hlsl intrinsic
`asint`.

Follows implementation details of `asuint/asfloat`.

Fixes #99091


  Commit: 3723946146db07a7114cf998f2f9884e720748ff
      https://github.com/llvm/llvm-project/commit/3723946146db07a7114cf998f2f9884e720748ff
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/lib/SandboxIR/CMakeLists.txt
    R llvm/lib/SandboxIR/SandboxIR.cpp
    A llvm/lib/SandboxIR/Use.cpp
    M llvm/lib/SandboxIR/User.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Create Use.cpp and delete SandboxIR.cpp (#110323)


  Commit: 5d08f3256b134e9c5414b4e50563e5de0f1735c6
      https://github.com/llvm/llvm-project/commit/5d08f3256b134e9c5414b4e50563e5de0f1735c6
  Author: Zhengxing li <unixhaha at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
    A clang/test/CodeGenHLSL/builtins/fmod.hlsl
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/SemaCXX/builtins-elementwise-math.cpp
    A clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implementation of the elementwise fmod builtin (#108849)

This change add the elementwise fmod builtin to support HLSL function
'fmod' in clang for #99118

Builtins.td           - add the fmod builtin
CGBuiltin.cpp         - lower the builtin to llvm FRem instruction
hlsl_intrinsics.h     - add the fmod api
SemaChecking.cpp      - add type checks for builtin
SemaHLSL.cpp          - add HLSL type checks for builtin

clang/docs/LanguageExtensions.rst - add the builtin in *Elementwise
Builtins*
clang/docs/ReleaseNotes.rst        - announce the builtin


  Commit: 218ac5b426a0e159e7d6e83c288f0c63eda4ccdc
      https://github.com/llvm/llvm-project/commit/218ac5b426a0e159e7d6e83c288f0c63eda4ccdc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Port 3723946146db


  Commit: ae74e14bf3d79bf34fb6b71ddfcb920e6bcab2eb
      https://github.com/llvm/llvm-project/commit/ae74e14bf3d79bf34fb6b71ddfcb920e6bcab2eb
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  [LLVM][TableGen] Adopt `indent` in CallingConvEmitter (#110113)


  Commit: 3d715e1fe1dec9981869be16e8f52f923f761d8d
      https://github.com/llvm/llvm-project/commit/3d715e1fe1dec9981869be16e8f52f923f761d8d
  Author: hanhanW <hanhan0912 at gmail.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

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

  Log Message:
  -----------
  Revert "[Bazel] Port 5e9813667958688f5ab0e0b776b509b2b909d1e4"

This reverts commit bf25ecb6caff22ac7f3e44a396fb2e5aa830db49.


  Commit: f0083c6af7c19be93015a4dbafbde99378bef786
      https://github.com/llvm/llvm-project/commit/f0083c6af7c19be93015a4dbafbde99378bef786
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
    M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c

  Log Message:
  -----------
  [AIX][PGO] Enable PGO continuous mode support on AIX (#110196)


  Commit: 0b7a18bd4a5b4d04b6949ed3b8884b6024cc3aca
      https://github.com/llvm/llvm-project/commit/0b7a18bd4a5b4d04b6949ed3b8884b6024cc3aca
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/address_space_info.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll

  Log Message:
  -----------
  [Attributor] Use more appropriate approach to check flat address space (#108713)


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

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h

  Log Message:
  -----------
  [SandboxIR][NFC] Remove some unnecessary friend declarations


  Commit: 84fdfb9ca63ee4304b486d7e85545ee4e1a46f5d
      https://github.com/llvm/llvm-project/commit/84fdfb9ca63ee4304b486d7e85545ee4e1a46f5d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Expression/DiagnosticManager.cpp
    M lldb/source/Expression/ExpressionParser.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Expression/UtilityFunction.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py
    M lldb/unittests/Expression/DiagnosticManagerTest.cpp

  Log Message:
  -----------
  [lldb] Store expression evaluator diagnostics in an llvm::Error (NFC) (#106442)

…NFC]

This patch is the first patch in a series reworking of Pete Lawrence's
(@PortalPete) amazing proposal for better expression evaluator error
messages (https://github.com/llvm/llvm-project/pull/80938)

This patch is preparatory patch for improving the rendering of
expression evaluator diagnostics. Currently diagnostics are rendered
into a string and the command interpreter layer then textually parses
words like "error:" to (sometimes) color the output accordingly. In
order to enable user interfaces to do better with diagnostics, we need
to store them in a machine-readable fromat. This patch does this by
adding a new llvm::Error kind wrapping a DiagnosticDetail struct that
is used when the error type is eErrorTypeExpression. Multiple
diagnostics are modeled using llvm::ErrorList.

Right now the extra information is not used by the CommandInterpreter,
this will be added in a follow-up patch!


  Commit: 49372d1cccf50f404d52d40ae4b663db5604eb2c
      https://github.com/llvm/llvm-project/commit/49372d1cccf50f404d52d40ae4b663db5604eb2c
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Expression/DiagnosticManager.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/persistent_variables/TestPersistentVariables.py
    M lldb/test/API/commands/expression/static-initializers/TestStaticInitializers.py
    M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
    M lldb/test/API/lang/mixed/TestMixedLanguages.py
    M lldb/test/Shell/Expr/TestObjCIDCast.test
    M lldb/test/Shell/Expr/TestObjCInCXXContext.test
    M lldb/test/Shell/SymbolFile/NativePDB/incomplete-tag-type.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/unittests/Expression/DiagnosticManagerTest.cpp
    M lldb/unittests/Interpreter/CMakeLists.txt
    A lldb/unittests/Interpreter/TestCommandObjectExpression.cpp

  Log Message:
  -----------
  [lldb] Inline expression evaluator error visualization (#106470)

This patch is a reworking of Pete Lawrence's (@PortalPete) proposal
for better expression evaluator error messages:
https://github.com/llvm/llvm-project/pull/80938

Before:

```
$ lldb -o "expr a+b"
(lldb) expr a+b
error: <user expression 0>:1:1: use of undeclared identifier 'a'
a+b
^
error: <user expression 0>:1:3: use of undeclared identifier 'b'
a+b
  ^
```

After:

```
(lldb) expr a+b
            ^ ^
            │ ╰─ error: use of undeclared identifier 'b'
            ╰─ error: use of undeclared identifier 'a'
```

This eliminates the confusing `<user expression 0>:1:3` source
location and avoids echoing the expression to the console again, which
results in a cleaner presentation that makes it easier to grasp what's
going on. You can't see it here, bug the word "error" is now also in
color, if so desired.

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


  Commit: 8536d483d72119f9556a9d685c32d5fca0c3d9c1
      https://github.com/llvm/llvm-project/commit/8536d483d72119f9556a9d685c32d5fca0c3d9c1
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/unittests/Interpreter/CMakeLists.txt

  Log Message:
  -----------
  Add missing dependency to unit test


  Commit: 159470def927044abcafb203cf61c0348acd0b22
      https://github.com/llvm/llvm-project/commit/159470def927044abcafb203cf61c0348acd0b22
  Author: Alex Rice <alexrice999 at hotmail.co.uk>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [mlir] [tblgen-to-irdl] Add attributes to tblgen-to-irdl script (#109633)

Adds the ability to export attributes from the dialect and attributes of
operations in the dialect


  Commit: 2ddcc4e6b212bf91459689c40049ddedf360a448
      https://github.com/llvm/llvm-project/commit/2ddcc4e6b212bf91459689c40049ddedf360a448
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/unittests/Interpreter/CMakeLists.txt

  Log Message:
  -----------
  Revert "Add missing dependency to unit test"

This reverts commit 8536d483d72119f9556a9d685c32d5fca0c3d9c1.


  Commit: 41dca012e5d6a1f8dff640ec82245bb5152e9fb8
      https://github.com/llvm/llvm-project/commit/41dca012e5d6a1f8dff640ec82245bb5152e9fb8
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Expression/DiagnosticManager.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/persistent_variables/TestPersistentVariables.py
    M lldb/test/API/commands/expression/static-initializers/TestStaticInitializers.py
    M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
    M lldb/test/API/lang/mixed/TestMixedLanguages.py
    M lldb/test/Shell/Expr/TestObjCIDCast.test
    M lldb/test/Shell/Expr/TestObjCInCXXContext.test
    M lldb/test/Shell/SymbolFile/NativePDB/incomplete-tag-type.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/unittests/Expression/DiagnosticManagerTest.cpp
    M lldb/unittests/Interpreter/CMakeLists.txt
    R lldb/unittests/Interpreter/TestCommandObjectExpression.cpp

  Log Message:
  -----------
  Revert "[lldb] Inline expression evaluator error visualization (#106470)"

This reverts commit 49372d1cccf50f404d52d40ae4b663db5604eb2c.


  Commit: df4d7d3b29b073e24a5ebb8302e7a1ac873a5cde
      https://github.com/llvm/llvm-project/commit/df4d7d3b29b073e24a5ebb8302e7a1ac873a5cde
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/unittests/SandboxIR/UtilsTest.cpp

  Log Message:
  -----------
  [SandboxIR] Add pointer-diff utility function (#110343)

This will be used when gathering seeds to calculate the lane an
instruction in the bundle uses.

This is a retry of PR 110176, which somehow got messed up while
resolving a merge conflict.


  Commit: d33fa70dddcb29d5fd85188e119f034e585ccccf
      https://github.com/llvm/llvm-project/commit/d33fa70dddcb29d5fd85188e119f034e585ccccf
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Expression/DiagnosticManager.h
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    A lldb/source/Commands/DiagnosticRendering.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Expression/DiagnosticManager.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/persistent_variables/TestPersistentVariables.py
    M lldb/test/API/commands/expression/static-initializers/TestStaticInitializers.py
    M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
    M lldb/test/API/lang/mixed/TestMixedLanguages.py
    M lldb/test/Shell/Expr/TestObjCIDCast.test
    M lldb/test/Shell/Expr/TestObjCInCXXContext.test
    M lldb/test/Shell/SymbolFile/NativePDB/incomplete-tag-type.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/unittests/Expression/DiagnosticManagerTest.cpp
    M lldb/unittests/Interpreter/CMakeLists.txt
    A lldb/unittests/Interpreter/TestCommandObjectExpression.cpp

  Log Message:
  -----------
  [lldb] Inline expression evaluator error visualization (#106470)

This patch is a reworking of Pete Lawrence's (@PortalPete) proposal
for better expression evaluator error messages:
https://github.com/llvm/llvm-project/pull/80938

Before:

```
$ lldb -o "expr a+b"
(lldb) expr a+b
error: <user expression 0>:1:1: use of undeclared identifier 'a'
a+b
^
error: <user expression 0>:1:3: use of undeclared identifier 'b'
a+b
  ^
```

After:

```
(lldb) expr a+b
            ^ ^
            │ ╰─ error: use of undeclared identifier 'b'
            ╰─ error: use of undeclared identifier 'a'
```

This eliminates the confusing `<user expression 0>:1:3` source
location and avoids echoing the expression to the console again, which
results in a cleaner presentation that makes it easier to grasp what's
going on. You can't see it here, bug the word "error" is now also in
color, if so desired.

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


  Commit: cca32174fef004aadc177fcde44904e326c639fb
      https://github.com/llvm/llvm-project/commit/cca32174fef004aadc177fcde44904e326c639fb
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/Affine/Passes.td
    M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir
    M mlir/test/Dialect/Affine/loop-coalescing.mlir
    M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
    M mlir/test/Transforms/parallel-loop-collapsing.mlir
    M mlir/test/Transforms/single-parallel-loop-collapsing.mlir

  Log Message:
  -----------
  [mlir][SCF] Use Affine ops for indexing math. (#108450)

For index type of induction variable, the indexing math is better
represented using affine ops such as `affine.delinearize_index`.

This also further demonstrates that some of these `affine` ops might
need to move to a different dialect. For one these ops only support
`IndexType` when they should be able to work with any integer type.

This change also includes some canonicalization patterns for
`affine.delinearize_index` operation to
1) Drop unit `basis` values
2) Remove the `delinearize_index` op when the `linear_index` is a loop
induction variable of a normalized loop and the `basis` is of size 1 and
is also the upper bound of the normalized loop.

---------

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 2a005bff183c6c02004fa61a7bc5ec87d5d88ad3
      https://github.com/llvm/llvm-project/commit/2a005bff183c6c02004fa61a7bc5ec87d5d88ad3
  Author: chandan singh <36783761+chandankds at users.noreply.github.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt-read.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix for error in atomic read for different elements of the common symbol #80399 (#109265)

Fixes issue https://github.com/llvm/llvm-project/issues/80399


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

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Relocations


  Commit: f597ce03a6b2b7268e6a5c11cf7478c87b65b2bc
      https://github.com/llvm/llvm-project/commit/f597ce03a6b2b7268e6a5c11cf7478c87b65b2bc
  Author: SahilPatidar <patidarsahil2001 at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M compiler-rt/lib/orc/elfnix_platform.h
    M compiler-rt/lib/orc/macho_platform.cpp
    A compiler-rt/lib/orc/sections_tracker.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp

  Log Message:
  -----------
  [ORC][Runtime] Enhancing ELF Platform with Push-Request Model for Initializers (#102846)

With the help of @lhames, this PR introduces a push-request model to manage
initializers in the runtime state for each `JITDylib`, similar to how `MachO`
and `COFF` handle it. Previously, the ELF runtime lacked the ability to
register, deregister, or retain initializers, causing issues when re-running
`dlopen`. Initializers were erased after `rt_getInitializers` was used.

To address this, we introduce `__orc_rt_elfnix_register_init_sections` and
`__orc_rt_elfnix_register_jitdylib` (and corresponding deregister functions).
This model allows the runtime to request the push of initializers for the
`JITDylib`, with the platform handling this via a record method. Additionally,
we leverage `MachO`'s `RecordSectionsTracker` to store initializers, ensuring
only newly updated initializers are executed using `processNewSections`,
improving the runtime's efficiency and reliability.


  Commit: 969abfea48ab639687aa46b7b442f3517366da97
      https://github.com/llvm/llvm-project/commit/969abfea48ab639687aa46b7b442f3517366da97
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M compiler-rt/lib/orc/elfnix_platform.cpp

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

This patch fixes:

  compiler-rt/lib/orc/elfnix_platform.cpp:48:7: error: unused function
  'validatePointerSectionExtent' [-Werror,-Wunused-function]


  Commit: ef390b36cae0921f762fa2e3f342647b249d20ce
      https://github.com/llvm/llvm-project/commit/ef390b36cae0921f762fa2e3f342647b249d20ce
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Use RAII based alloc in gpu rpc_server instead of manual new/delete (#110341)

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 75e08a527b716a11b3085a9ea4f5bed80c386323
      https://github.com/llvm/llvm-project/commit/75e08a527b716a11b3085a9ea4f5bed80c386323
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/transform-op-pad.mlir

  Log Message:
  -----------
  [mlir][linalg] Add tests for PadOp (#110271)

Adds 3 tests for the logic to pad Linalg ops. Specifically, for
transformation under the `transform.structured.pad` TD Op.

For `@zero_pad_static` I simply took an existing test and added
check-lines. According to comments, it should fail. However, when I
tried it, it actually worked. Indeed, it triggers an important edge
cases - padding by 0 when all the shapes are static.

`@zero_pad_dynamic` exercises similar case, but some dimensions in the
input tensors are made dynamic - that's added to improve the test
coverage. Note that in this case we are padding the static dim.

Finally, `@negative_no_ub_estimate` is similar to `@zero_pad_dynamic`,
but we are trying to pad a dynamic dim instead. This fails as it's
impossible to compute the padded shape.


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

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/doxygen.cfg.in
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/CMakeLists.txt
    R clang/utils/generate_ast_matcher_doc_tests.py

  Log Message:
  -----------
  Revert "[clang][test] add testing for the AST matcher reference" (#110354)

Reverts llvm/llvm-project#110258

The commit caused a timeout for clang-arm64-windows-msvc:
https://lab.llvm.org/buildbot/#/builders/161/builds/2385
and it looks like my commit is at fault.


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

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

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning. NFC.


  Commit: 641b4d5370f1ce2f5d448cf63519f391be1cf263
      https://github.com/llvm/llvm-project/commit/641b4d5370f1ce2f5d448cf63519f391be1cf263
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement integral-to-fixed-point casts (#110350)


  Commit: bbe79a803c84f4193c39566c9b0189ecadf5d8b4
      https://github.com/llvm/llvm-project/commit/bbe79a803c84f4193c39566c9b0189ecadf5d8b4
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Use RAII alloc in gpu rpc printf impl (#110352)


  Commit: 2f7ccaf4a8565628a4c7d2b5a49bb45478940be6
      https://github.com/llvm/llvm-project/commit/2f7ccaf4a8565628a4c7d2b5a49bb45478940be6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-urem.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll

  Log Message:
  -----------
  [SCEV] Add predicate in SolveLinEq to ensure B is a multiple of A. (#108777)

This can help in cases where pointer alignment info is missing, e.g.
https://github.com/llvm/llvm-project/pull/108210

The predicate is formed for the complex expression that's passed to
SolveLinEquationWithOverflow and the checks could probably be pushed
closer to the root nodes, which in some cases may be cheaper to check.


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


  Commit: 6b62e04e3045e5d8f4361afc100a460622266f82
      https://github.com/llvm/llvm-project/commit/6b62e04e3045e5d8f4361afc100a460622266f82
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement (N)EQ between fixed point and integral (#110358)

Convert the non-fixed-point side to a fixed-point type before doing the
comparison.


  Commit: 29d0a8470426a8518da28c3e90ef884ad07f200a
      https://github.com/llvm/llvm-project/commit/29d0a8470426a8518da28c3e90ef884ad07f200a
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [clang][CGOpenMPRuntimeGPU] Avoid llvm::Type::getPointerTo() (NFC) (#110357)

`llvm::Type::getPointerTo()` is to be removed soon.


  Commit: 6cbd8a309485329a4fbfe7abf7b85e0b8f154561
      https://github.com/llvm/llvm-project/commit/6cbd8a309485329a4fbfe7abf7b85e0b8f154561
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement floating-to-fixed-point casts (#110361)


  Commit: d48777ece50c39df553ed779d0771bc9ef6747cf
      https://github.com/llvm/llvm-project/commit/d48777ece50c39df553ed779d0771bc9ef6747cf
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2024-09-28 (Sat, 28 Sep 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:
  -----------
  [mlir][polynomial] remove incorrect canonicalization rule (#110318)

arith.add for tensor does not mod coefficientModulus, and it may
overflow; the result could be incorrect

It should be rewritten as modular arithmetic instead of arith

Revert https://github.com/llvm/llvm-project/pull/93132
Addresses https://github.com/google/heir/issues/749

Cc @j2kun


  Commit: 5d734fa4c8f358299a4dfd2a7f9315a226b94a4a
      https://github.com/llvm/llvm-project/commit/5d734fa4c8f358299a4dfd2a7f9315a226b94a4a
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
    A llvm/test/Transforms/LoopIdiom/SPIRV/lit.local.cfg
    A llvm/test/Transforms/LoopIdiom/SPIRV/popcnt.ll

  Log Message:
  -----------
  [llvm][SPIRV] Expose fast `popcnt` support for SPIR-V targets (#109845)

This adds the TTI predicate for conveying the availability of fast
`popcnt`, which subsequently allows passes like `LoopIdiomRecognize` to
collapse known popcount patterns. Since SPIR-V natively exposes
`OpBitcount`, it seems preferable to compress the resulting code, and
retain the information, even if a concrete target might have to expand
back into a loop structure.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/trunc-extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement.ll

  Log Message:
  -----------
  [InstCombine] foldVecExtTruncToExtElt - extend to handle trunc(lshr(extractelement(x,c1),c2)) -> extractelement(bitcast(x),c3) patterns. (#109689)

This patch moves the existing trunc+extractlement -> extractelement+bitcast fold into a foldVecExtTruncToExtElt helper and extends the helper to handle trunc+lshr+extractelement cases as well.

Fixes #107404


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Headers/bmiintrin.h
    M clang/test/CodeGen/X86/bmi-builtins.c
    M clang/test/CodeGen/X86/tbm-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for BMI/TBM BEXTR intrinsics (#109577)

This is an initial patch for constexpr handling of the BEXTR intrinsics - the plan is to support all x86 bit manipulation intrinsics eventually (and then SSE/AVX intrinsics), but I wanted to treat this as an initial test patch.

Hopefully this will unstick #94161 as well.


  Commit: 60a6e6fa54b79d0771f36b4f9565cb6b465b7501
      https://github.com/llvm/llvm-project/commit/60a6e6fa54b79d0771f36b4f9565cb6b465b7501
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/Object/ArchiveWriter.cpp

  Log Message:
  -----------
  [Object] Avoid repeated map lookups (NFC) (#110201)


  Commit: 30089b159090ec75f657928f7cdb8aafea07159d
      https://github.com/llvm/llvm-project/commit/30089b159090ec75f657928f7cdb8aafea07159d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp

  Log Message:
  -----------
  [DWARF] Avoid repeated hash lookups (NFC) (#110202)


  Commit: 312c1cfbd165f56c0d092933b7a829f054afe323
      https://github.com/llvm/llvm-project/commit/312c1cfbd165f56c0d092933b7a829f054afe323
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#110203)


  Commit: 5bc673d37106666a545de28dfb80addf460f3de9
      https://github.com/llvm/llvm-project/commit/5bc673d37106666a545de28dfb80addf460f3de9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [MCParser] Avoid repeated hash lookups (NFC) (#110204)


  Commit: 3a5b9da11598e714890f4e9f37f894fc2c7287c2
      https://github.com/llvm/llvm-project/commit/3a5b9da11598e714890f4e9f37f894fc2c7287c2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement fixed-point-to-float casts (#110369)


  Commit: fcde4f6577697042cec1be4f8fbacc7bf483954c
      https://github.com/llvm/llvm-project/commit/fcde4f6577697042cec1be4f8fbacc7bf483954c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect Conversion: Remove redundant `lookupOrDefault` (#110370)

Remove a redundant `lookupOrDefault` that has no effect.

When no type is passed to `lookupOrDefault`, that function returns the
furthest mapped value (by following the mapping iteratively). If there
is no mapped value with the desired type, then the function also returns
the furthest mapped value.

The value that was passed to the redundant `lookupOrDefault` was
produced by this code:
```
Value newOperand = mapping.lookupOrDefault(operand, desiredType);
```

There are 2 possible cases:
- Case 1: There is no mapping to `desiredType`. Then `newOperand` is the
furthest mapped value.
- Case 2: There is a mapping to `desiredType`. Then the type of
`newOperand` is `desiredType` and the "if" branch that encloses the
redundant `lookupOrDefault` is not executed at all.

Also improve the documentation of
`ConversionValueMapping::lookupOrDefault` and simplify the
implementation a bit.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/R600InstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU] Use MCRegister. NFC


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

  Changed paths:
    M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp

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


  Commit: 6b8135762cf77028499819464cf769f222297da4
      https://github.com/llvm/llvm-project/commit/6b8135762cf77028499819464cf769f222297da4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h

  Log Message:
  -----------
  [Hexagon] Use MCRegister. NFC


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

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

  Log Message:
  -----------
  [LV] Remove redundant InnerLoopUnroller class (NFCI).

All members of InnerLoopUnroller were removed previously and it now just
forwards to InnerLoopVectorizer's constructor. Remove it.


  Commit: 871e32bd2ef2910d800db9807d5136dd1d866d8a
      https://github.com/llvm/llvm-project/commit/871e32bd2ef2910d800db9807d5136dd1d866d8a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [AsmPrinter] Avoid repeated hash lookups (NFC) (#110376)


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

  Changed paths:
    M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h

  Log Message:
  -----------
  [DWARFLinker] Avoid repeated hash lookups (NFC) (#110377)


  Commit: f8bd98b3f1e6e71f489f592effb1c96b863ac08c
      https://github.com/llvm/llvm-project/commit/f8bd98b3f1e6e71f489f592effb1c96b863ac08c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/EHUtils.h

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#110378)


  Commit: d3ca4844062411ae1b962e41636f3461d46a5b92
      https://github.com/llvm/llvm-project/commit/d3ca4844062411ae1b962e41636f3461d46a5b92
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp

  Log Message:
  -----------
  [LiveDebugValues] Avoid repeated hash lookups (NFC) (#110379)


  Commit: 6022a3a05f951632022c84416209fe6d70d9105c
      https://github.com/llvm/llvm-project/commit/6022a3a05f951632022c84416209fe6d70d9105c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [SCEV] Store predicates for EL/ENT in SmallVector.

Store predicates in ExitLimit and ExitNotTaken in a SmallVector instead
of a SmallPtrSet. This guarantees the predicates can be iterated on in a
predictable manner. This ensures the predicates can be printed and
generated in a predictable order.

This shifts de-duplication of predicates to construction time for
ExitLimit. ExitNotTaken just takes predicates from ExitLimit, so they
should also be free of duplicates.

This was exposed by 2f7ccaf4a8565628a4c7d2b5a49bb45478940be6
(https://github.com/llvm/llvm-project/pull/108777).

Should fix https://lab.llvm.org/buildbot/#/builders/110/builds/1494.


  Commit: e9c0c6604e47a7cda323544217c056f7f5aec888
      https://github.com/llvm/llvm-project/commit/e9c0c6604e47a7cda323544217c056f7f5aec888
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/prev.h
    M libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    M libcxx/test/libcxx/iterators/assert.next.pass.cpp
    M libcxx/test/libcxx/iterators/assert.prev.pass.cpp

  Log Message:
  -----------
  [libc++] Add [[nodiscard]] to std::prev and std::next (#109550)

Add `[[nodiscard]]` attribute to `std::prev` and `std::next`. Those are
potential pitfalls for users who might think they mutate the iterator.

Fixes #109452


  Commit: e7621f4199877b866977829c73a9edefe5e0cbab
      https://github.com/llvm/llvm-project/commit/e7621f4199877b866977829c73a9edefe5e0cbab
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    R llvm/test/CodeGen/NVPTX/intrin-nocapture.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  Reland "[NVVM] Upgrade nvvm.ptr.* intrinics to addrspace cast" (#110262)

Remove the following intrinsics which can be trivially replaced with an
`addrspacecast`

  * llvm.nvvm.ptr.gen.to.global
  * llvm.nvvm.ptr.gen.to.shared
  * llvm.nvvm.ptr.gen.to.constant
  * llvm.nvvm.ptr.gen.to.local
  * llvm.nvvm.ptr.global.to.gen
  * llvm.nvvm.ptr.shared.to.gen
  * llvm.nvvm.ptr.constant.to.gen
  * llvm.nvvm.ptr.local.to.gen

Also, cleanup the NVPTX lowering of `addrspacecast` making it more
concise.

This was reverted to avoid conflicts while reverting #107655. Re-landing
unchanged.


  Commit: 6558e5615ae9e6af6168b0a363808854fd66663f
      https://github.com/llvm/llvm-project/commit/6558e5615ae9e6af6168b0a363808854fd66663f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp

  Log Message:
  -----------
  [libc] Update HSA queues to use the maximum size and set the barrier bit (#110034)

Summary:
It's safer to use the maximum size, as this prevents the runtime from
oversubscribing with multiple producers. Additionally we should set the
barrier bit to ensure that the queue entries block if multiple are
submitted (Which shouldn't happen for this tool).


  Commit: e203a67f4cef5844877f6a5720e659ea09729e9a
      https://github.com/llvm/llvm-project/commit/e203a67f4cef5844877f6a5720e659ea09729e9a
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGenCUDA/address-spaces.cu
    M clang/test/CodeGenCUDA/amdgpu-visibility.cu
    M clang/test/CodeGenCUDA/anon-ns.cu
    M clang/test/CodeGenCUDA/device-var-init.cu
    M clang/test/CodeGenCUDA/device-var-linkage.cu
    M clang/test/CodeGenCUDA/filter-decl.cu
    M clang/test/CodeGenCUDA/static-device-var-no-rdc.cu
    M clang/test/CodeGenCUDA/static-device-var-rdc.cu
    M clang/test/CodeGenCUDA/template-class-static-member.cu
    M clang/test/CodeGenHIP/hipspv-addr-spaces.cpp
    M llvm/test/Transforms/GlobalOpt/externally-initialized.ll

  Log Message:
  -----------
  [cuda][HIP] `__constant__` should imply constant (#110182)

Currently, `__constant__` variables do not get unconditionally marked as
`constant` in IR, which seems a bit odd given their definition. This is
generally inconsequential for NVPTX/AMDGPU, since said variables get
emitted in the constant address space for those BEs. However, it is
potentially significant for e.g. HIP-on-SPIR-V cases, as SPIR-V does not
allow casts to/from the constant AS (`UniformConstant`), which forces
`__constant__` variables to be emitted in the global AS, thus making IR
constness meaningful.


  Commit: 8773bd0e6e9de37787e73c4c5e73ca65b0e2221f
      https://github.com/llvm/llvm-project/commit/8773bd0e6e9de37787e73c4c5e73ca65b0e2221f
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/test/IR/recursive-type.mlir

  Log Message:
  -----------
  [mlir] Print aliases for recursive types (#110346)

We're already keeping track of the alias depth to ensure that aliases
are printed before they're referenced. For recursive types, we can
additionally track whether an alias has been printed and only reference
it if so, to lift the restrictions on not printing aliases inside
mutable types.


  Commit: 8cd2f751737598f23fcdb07936f089389c4a4628
      https://github.com/llvm/llvm-project/commit/8cd2f751737598f23fcdb07936f089389c4a4628
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Port df4d7d3b29b073e24a5ebb8302e7a1ac873a5cde (#110395)


  Commit: d30d25196ced15b77092091474eafcd059baeb85
      https://github.com/llvm/llvm-project/commit/d30d25196ced15b77092091474eafcd059baeb85
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Port f597ce03a6b2b7268e6a5c11cf7478c87b65b2bc (#110396)


  Commit: 29783f70db6bb9558153f278a6c0bd17f0eb7446
      https://github.com/llvm/llvm-project/commit/29783f70db6bb9558153f278a6c0bd17f0eb7446
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Relocations


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

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Target.cpp


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

  Changed paths:
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Modules/lambda-definitions.cppm

  Log Message:
  -----------
  [C++20] [Modules] Emit implicit Deduction Guide for implicit class specialization

Fixed a crash for the attached test case due to we missed to emit the
deduction guide. The reason is, the deduction guide is attached to the
export-decl in the imported module. So we won't emit it by traversing the
AST of the current TU.


  Commit: f11abac6524f8643817711d04be0367a0e639311
      https://github.com/llvm/llvm-project/commit/f11abac6524f8643817711d04be0367a0e639311
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/fold.h
    R libcxx/include/__algorithm/ranges_fold.h
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__format/formatter_integral.h
    R libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/unique_ptr.h
    A libcxx/include/__std_clang_module
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    A libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
    R libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/incomplete.sh.cpp
    R libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    M libcxx/utils/CMakeLists.txt
    A libcxx/utils/generate_std_clang_module_header.py
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  Revert "[libc++][modules] Rewrite the modulemap to have fewer top-level modules (#107638)" (#110384)

This reverts 3 commits:
45a09d1811d5d6597385ef02ecf2d4b7320c37c5
24bc3244d4e221f4e6740f45e2bf15a1441a3076
bc6bd3bc1e99c7ec9e22dff23b4f4373fa02cae3

The GitHub pre-merge CI has been broken since this PR went in. This
change reverts it to see if I can get the pre-merge CI working again.


  Commit: 2575c398d2d0ca1607b769ba8d2f3f9b1f18527f
      https://github.com/llvm/llvm-project/commit/2575c398d2d0ca1607b769ba8d2f3f9b1f18527f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

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


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

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/X86_64.cpp

  Log Message:
  -----------
  [ELF] Remove unneeded getTargetInfo. NFC


  Commit: 7883b028b42df7b763cae20d8ff56233bee4beb6
      https://github.com/llvm/llvm-project/commit/7883b028b42df7b763cae20d8ff56233bee4beb6
  Author: tcwzxx <tcwzxx at gmail.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGenCXX/mangle-subst.cpp

  Log Message:
  -----------
  [ItaniumMangle] Add substitutions for record types when mangling vtables (#109970)

Fix #108015 

The `mangleNameOrStandardSubstitution` function does not add the RD type
into the substitution, which causes the mangling of the \<base type\> to
be incorrect.
Rename `mangleNameOrStandardSubstitution` to `mangleCXXRecordDecl` and add `Record` as a substitution


  Commit: 75ad8b23c0f430bcf3a783c50ef53b926147dff7
      https://github.com/llvm/llvm-project/commit/75ad8b23c0f430bcf3a783c50ef53b926147dff7
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M .github/workflows/release-binaries-all.yml

  Log Message:
  -----------
  workflows/release-binaries-all: trigger for Release.cmake (#110394)


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

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/AMDGPU.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/MSP430.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SPARCV9.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to TargetInfo. NFC


  Commit: 31dd29cfb37ef3e52d7cb6ed28fbb976338b30aa
      https://github.com/llvm/llvm-project/commit/31dd29cfb37ef3e52d7cb6ed28fbb976338b30aa
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/x86-64-gotpc-no-relax-err.s
    M lld/test/ELF/x86-64-gotpc-relax-nopic.s
    M lld/test/ELF/x86-64-gotpc-relax.s

  Log Message:
  -----------
  [X86,lld] Handle relocation R_X86_64_REX2_GOTPCRELX (#109783)

For

	mov        name at GOTPCREL(%rip), %reg
	test       %reg, name at GOTPCREL(%rip)
	binop      name at GOTPCREL(%rip), %reg

where binop is one of adc, add, and, cmp, or, sbb, sub, xor
instructions, we added

 R_X86_64_REX2_GOTPCRELX = 43

in #106681.

Linker can treat R_X86_64_REX2_GOTPCRELX as R_X86_64_GOTPCREL or convert
the above instructions to

	lea	name(%rip), %reg
	mov	$name, %reg
	test	$name, %reg
	binop	$name, %reg

if the first byte of the instruction at the relocation `offset - 4` is
`0xd5` (namely, encoded w/ REX2 prefix) when possible.

Binutils patch:
https://github.com/bminor/binutils-gdb/commit/3d5a60de52556f6a53d71d7e607c6696450ae3e4
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2023-December/131462.html
ABI discussion: https://groups.google.com/g/x86-64-abi/c/KbzaNHRB6QU
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: defead4d2dfc18fe423792005e99edc7b14edf2f
      https://github.com/llvm/llvm-project/commit/defead4d2dfc18fe423792005e99edc7b14edf2f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement fixed-point add (#110405)


  Commit: d705bd25eb9f11e100d3e79b65a80d446fd06f30
      https://github.com/llvm/llvm-project/commit/d705bd25eb9f11e100d3e79b65a80d446fd06f30
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h

  Log Message:
  -----------
  [compiler-rt] freadlink fix 2 for #83679. (#110372)

using __MAC_OS_X_VERSION_MIN_REQUIRED instead.


  Commit: 26df43faebaded77d694161fbdc79d81ad5d5f1c
      https://github.com/llvm/llvm-project/commit/26df43faebaded77d694161fbdc79d81ad5d5f1c
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/BPF/BTF/print_btf.py

  Log Message:
  -----------
  [BPF] fix print_btf.py test script on bigendian machines (#110332)

Make print_btf.py correctly detect endianness of the BTF input. Input
endianness is inferred from BTF magic word [2], which is a 2-byte
integer at offset 0 of the input:
- sequence `EB 9F` signals big-endian input;
- sequence `9F EB` signals little-endian input.

Before this commit the magic sequence was read using "H" format for
`unpack` method of python's `struct` module:
- if magic is `0xEB9F` assume little-endian;
- if magic is `0x9FEB` assume big-endian.

However, format `H` reads data in native endianness.

Thus the above logic would only be correct on little endian hosts:
- byte sequence `9F EB` read as `0xEB9F` -> little-endian input;
- byte sequence `EB 9F` read as `0x9FEB` -> big-endian input.

On the big-endian host the relation should be inverse.

Fix this by always reading magic in big-endian (format `>H`).

This fixes CI error reported for a BPF test using print_btf.py script in
[1]. The error happens on a s390 host, which is big-endian.

[1] https://lab.llvm.org/buildbot/#/builders/42/builds/1192
[2]
https://www.kernel.org/doc/html/latest/bpf/btf.html#btf-type-and-string-encoding


  Commit: c2a37e41b9f9f5e28339674dbdc656bc8a0bf708
      https://github.com/llvm/llvm-project/commit/c2a37e41b9f9f5e28339674dbdc656bc8a0bf708
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement fixed point casts (#110409)


  Commit: 1714b113849ae5af5e9a3d2e36e18517b058c5ae
      https://github.com/llvm/llvm-project/commit/1714b113849ae5af5e9a3d2e36e18517b058c5ae
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytcode] Convert Fixed Point values to target semantics... (#110411)

... after a binary operation. The Result of the operation is in the
common semantics of RHS and LHS, so we need to convert that to the
semantics of the BinaryOperator expression.


  Commit: 1edd22030ccb9603f21d13150847ea40a4136d45
      https://github.com/llvm/llvm-project/commit/1edd22030ccb9603f21d13150847ea40a4136d45
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

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

  Log Message:
  -----------
  [LV] Retrieve reduction resume values directly for epilogue vec. (NFC)

Use the reduction resume values from the phis in the scalar header,
instead of collecting them in a map. This removes some complexity from
the general executePlan code paths and pushes it to only the epilogue
vectorization part.


  Commit: 95ce78b742b2965f3a4a42115a96a330d779a98d
      https://github.com/llvm/llvm-project/commit/95ce78b742b2965f3a4a42115a96a330d779a98d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp
    M clang/test/Frontend/fixed_point_conversions_const.c

  Log Message:
  -----------
  [clang][bytecode] Implement fixed-point-to-int casts (#110417)

And some cleanups around overflow handling.


  Commit: 5c811ccc4d4fff8c6cbfeff69c43d03884e3a9c1
      https://github.com/llvm/llvm-project/commit/5c811ccc4d4fff8c6cbfeff69c43d03884e3a9c1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/fixed-point.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement more binary operators for fixed point types (#110423)


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

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

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#110397)


  Commit: a341820fef75e23af698e0a80c0177a72d8f0a00
      https://github.com/llvm/llvm-project/commit/a341820fef75e23af698e0a80c0177a72d8f0a00
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h

  Log Message:
  -----------
  [LiveDebugValues] Simplify code with MapVector::insert_or_assign (NFC) (#110398)

Note that we must use insert_or_assign because operator[] would
require DbgValue to have the default constructor.


  Commit: 19e5a529e8071aa9820291c6c12e99ba2cbc70dc
      https://github.com/llvm/llvm-project/commit/19e5a529e8071aa9820291c6c12e99ba2cbc70dc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h

  Log Message:
  -----------
  [GlobalISel] Avoid repeated hash lookups (NFC) (#110399)


  Commit: 76f2fa8163e406914996b7c3bce127ee585fd3f7
      https://github.com/llvm/llvm-project/commit/76f2fa8163e406914996b7c3bce127ee585fd3f7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h

  Log Message:
  -----------
  [Transforms] Avoid repeated hash lookups (NFC) (#110400)


  Commit: 6f04e65c3c62060de18a47ec351d1eedd703126d
      https://github.com/llvm/llvm-project/commit/6f04e65c3c62060de18a47ec351d1eedd703126d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/Frontend/fixed_point_errors.c

  Log Message:
  -----------
  [clang][bytecode] Implement fixed-point shifts (#110429)


  Commit: 51e0a997ca607f64beafb838ba1325f0465eecd4
      https://github.com/llvm/llvm-project/commit/51e0a997ca607f64beafb838ba1325f0465eecd4
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  [test-release.sh] Fix sed encoding issues on macOS (#105989)

When using bsd sed that ships with macOS on the object files for
comparison, every command would error with

```
sed: RE error: illegal byte sequence
```

This was potentially fixed for an older version in
6c52b02e7d0df765da608d8119ae8a20de142cff but even the commands in the
example there still have this error. You can repro this with any binary:

```
$ sed s/a/b/ /bin/ls >/dev/null
sed: RE error: illegal byte sequence
```

Where LC_CTYPE appears to no longer solve the issue:

```
$ LC_CTYPE=C sed s/a/b/ /bin/ls >/dev/null
sed: RE error: illegal byte sequence
```

But this change with LC_ALL does:

```
$ LC_ALL=C sed s/a/b/ /bin/ls >/dev/null; echo $?
0
```

It seems like the difference here is that if you have LC_ALL set to
something else, LC_CTYPE does not override it. More info:
https://stackoverflow.com/a/23584470/902968


  Commit: 2c8836c899015cce49a399a6bc47b260a24a22e7
      https://github.com/llvm/llvm-project/commit/2c8836c899015cce49a399a6bc47b260a24a22e7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

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

  Log Message:
  -----------
  [LV] Don't consider predicated insts as invariant unconditionally in CM.

Predicated instructions cannot hoisted trivially, so don't treat them as
uniform value in the cost model.

This fixes a difference between legacy and VPlan-based cost model.

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


  Commit: 886b2b258f182f2e65f117f800f8d398b0f483c3
      https://github.com/llvm/llvm-project/commit/886b2b258f182f2e65f117f800f8d398b0f483c3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp

  Log Message:
  -----------
  [BPF] Use MCRegister. NFC


  Commit: 65c41da7d2f20b4abdc7059e49eb2603632de445
      https://github.com/llvm/llvm-project/commit/65c41da7d2f20b4abdc7059e49eb2603632de445
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiBaseInfo.h

  Log Message:
  -----------
  [Lanai] Use MCRegister. NFC


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

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp

  Log Message:
  -----------
  [LoongArch] Use MCRegister. NFC


  Commit: 2ab9233f4f393c240c37ef092de09d907fe5c890
      https://github.com/llvm/llvm-project/commit/2ab9233f4f393c240c37ef092de09d907fe5c890
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp

  Log Message:
  -----------
  [MSP430] Use MCRegister. NFC


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

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/ICF.h
    M lld/ELF/LTO.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to ICF and SymbolTable


  Commit: 877e49f2b8e1c0cd6e7a74e7eeffdb419ec4113e
      https://github.com/llvm/llvm-project/commit/877e49f2b8e1c0cd6e7a74e7eeffdb419ec4113e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp

  Log Message:
  -----------
  [CSKY] Use MCRegister. NFC


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

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Thunks.cpp
    M lld/ELF/Thunks.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Thunk


  Commit: 04e69ad727815da31d9b2cfdec0c3018e9c2ebe6
      https://github.com/llvm/llvm-project/commit/04e69ad727815da31d9b2cfdec0c3018e9c2ebe6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Thunks.cpp
    M lld/ELF/Thunks.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Thunk


  Commit: 5c334247782b56be0379132ab3b26e247bc53105
      https://github.com/llvm/llvm-project/commit/5c334247782b56be0379132ab3b26e247bc53105
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

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

  Log Message:
  -----------
  [ELF] Pass Ctx & to MarkLive


  Commit: 17473182f584c8eac09fe915256dcbd761b25286
      https://github.com/llvm/llvm-project/commit/17473182f584c8eac09fe915256dcbd761b25286
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M lld/ELF/MapFile.cpp
    M lld/ELF/MapFile.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to MapFile


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

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Writer


  Commit: 079b8327ecbfd35d0cac0be2aee694c2c5d3a833
      https://github.com/llvm/llvm-project/commit/079b8327ecbfd35d0cac0be2aee694c2c5d3a833
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Target.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to InputFiles and SyntheticSections


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

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Target.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Relocations


  Commit: 129ade21bdad5f09206b773cd0591a9616ad0ca4
      https://github.com/llvm/llvm-project/commit/129ade21bdad5f09206b773cd0591a9616ad0ca4
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir

  Log Message:
  -----------
  [mlir][sparse] Replace `getSparseTensorType` with `tryGetSparseTensorType` (#109435)

This PR fixes a bug in `SparseTensorDimOpRewriter` when `tensor.dim` has
an unranked tensor type. To prevent crashes, we now use
`tryGetSparseTensorType` instead of `getSparseTensorType`. Fixes
#107807.


  Commit: dbad963a69fd7b16c6838f81b61167fbf00a413c
      https://github.com/llvm/llvm-project/commit/dbad963a69fd7b16c6838f81b61167fbf00a413c
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Sparc.h
    M clang/test/CodeGen/target-data.c
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    A llvm/test/CodeGen/SPARC/data-align.ll
    M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp

  Log Message:
  -----------
  [SPARC] Align i128 to 16 bytes in SPARC datalayouts (#106951)

Align i128s to 16 bytes, following the example at
https://reviews.llvm.org/D86310.

clang already does this implicitly, but do it in backend code too for
the benefit of other frontends (see e.g
https://github.com/llvm/llvm-project/issues/102783 &
https://github.com/rust-lang/rust/issues/128950).


  Commit: 1efd1227b2042b865afb7c5a260f2d96927bf911
      https://github.com/llvm/llvm-project/commit/1efd1227b2042b865afb7c5a260f2d96927bf911
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-mul.ll

  Log Message:
  -----------
  [InstCombine] Fold `icmp eq/ne (X *nw Z), (Y *nw Z) -> icmp eq/ne Z, 0` when `X != Y` (#110413)

Alive2: https://alive2.llvm.org/ce/z/9oDP6K
I found this pattern in
https://github.com/casadi/casadi/blob/04e75858d7e626dda62d83b862fc89fc26f52745/casadi/core/repmat.cpp#L70-L78.


  Commit: 64f2bff12b8ac40c79004ffacf46a5294600d219
      https://github.com/llvm/llvm-project/commit/64f2bff12b8ac40c79004ffacf46a5294600d219
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

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

  Log Message:
  -----------
  [ReachingDefAnalysis] Turn MBBReachingDefsInfo into a proper class (NFC) (#110432)

I'm trying to speed up the reaching def analysis by changing the
underlying data structure.  Turning MBBReachingDefsInfo into a proper
class decouples the data structure and its users.  This patch does not
change the existing three-dimensional vector structure.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 4ef77d61b2ee3054344b50d5f4e3111ce69fffcf
      https://github.com/llvm/llvm-project/commit/4ef77d61b2ee3054344b50d5f4e3111ce69fffcf
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp

  Log Message:
  -----------
  [include-cleaner] Attach Header to AnalysisResults for misisng headers (#110272)

Currently callers of analyze can't get detailed information about a
missing header, e.g. resolve path. Only way to get at this is to use low
level walkUsed funciton, which is way more complicated than just calling
analyze.

This enables further analysis, e.g. when includes are spelled relative
to inner directories, caller can still know their path relative to
repository root.


  Commit: 6292f117c39b9fc72da4e40328eeeda2aa94a5f2
      https://github.com/llvm/llvm-project/commit/6292f117c39b9fc72da4e40328eeeda2aa94a5f2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M compiler-rt/lib/orc/macho_platform.cpp
    A compiler-rt/lib/orc/record_section_tracker.h
    R compiler-rt/lib/orc/sections_tracker.h

  Log Message:
  -----------
  [ORC-RT] Rename sections_tracker.h to record_section_tracker.h.

This matches the type name defined in this header.


  Commit: e20bf28987b74ed4f4b48f49f4506d0659c09bed
      https://github.com/llvm/llvm-project/commit/e20bf28987b74ed4f4b48f49f4506d0659c09bed
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsIntangibleType.hlsl

  Log Message:
  -----------
  [HLSL] Replace `element_type*` handles in HLSLExternalSemaSource with `__hlsl_resource_t` builtin type (#110079)

Replace `element_type*` handles in HLSLExternalSemaSource with
`__hlsl_resource_t` builtin type.

The handle used to be defined as `element_type*` which was used by the
provisional subscript operator implementation. Now that the handle is
`__hlsl_resource_t` the subscript placeholder implementation was updated
to add `element_type* e;` field to the resource struct. and return a
reference to that. This field is just a temporary workaround until the
indexing is implemented properly in llvm/llvm-project#95956, at which
point the field will be removed. This seemed like a better solution than
disabling many of the existing tests that already use the `[]` operator.
One test has to be disabled nevertheless because an error based on
interactions of const and template instantiation (potential bug that can
be investigated once indexing is implemented the right way).

Fixes #84824


  Commit: 6f3c15163f9e8852768f0dd121564bffe0ace6a6
      https://github.com/llvm/llvm-project/commit/6f3c15163f9e8852768f0dd121564bffe0ace6a6
  Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll

  Log Message:
  -----------
  [SPIR-V] Fix of OpString separator in DI test (#110249)

Windows have different separators for paths than Unix based OS. One of
the tests in debug-compilation-unit.ll didn't have Win supported '\\'
variant which broken test suite on that OS.


  Commit: 0bc98349c84130babb6a4acf2951a0ccc84f574f
      https://github.com/llvm/llvm-project/commit/0bc98349c84130babb6a4acf2951a0ccc84f574f
  Author: Joshua Cao <cao.joshua at yahoo.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp

  Log Message:
  -----------
  [LICM] Use DomTreeUpdater version of SplitBlockPredecessors, nfc (#107190)

The DominatorTree version is marked for deprecation, so we use the
DomTreeUpdater version. We also update sinkRegion() to iterate over
basic blocks instead of DomTreeNodes. The loop body calls
SplitBlockPredecessors. The DTU version calls
DomTreeUpdater::apply_updates(), which may call DominatorTree::reset().
This invalidates the worklist of DomTreeNodes to iterate over.


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

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp

  Log Message:
  -----------
  [clangd] [C++20] [Modules] Support code complete for C++20 modules (#110083)

According to https://github.com/ChuanqiXu9/clangd-for-modules/issues/9,
I surprisingly found the support for C++20 modules doesn't support code
completion well.

After debugging, I found there are problems:
(1) We forgot to call `adjustHeaderSearchOptions` in code complete. This
may be an easy oversight.
(2) In `CodeCompleteOptions::getClangCompleteOpts`, we may set
`LoadExternal` as false when index is available. But we have support
modules with index. So it is conflicting. Given modules are opt in now,
I think it makes sense to to set LoadExternal as true when modules are
enabled.

This is a small fix and I wish it can land faster.


  Commit: a87640c97e5ce5b88304b4149c0e59f4399aff0a
      https://github.com/llvm/llvm-project/commit/a87640c97e5ce5b88304b4149c0e59f4399aff0a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    A llvm/test/Transforms/InferAddressSpaces/AMDGPU/issue110433.ll

  Log Message:
  -----------
  AMDGPU: Fix assertion on load of vector of pointers (#110436)

Fix InferAddressSpaces asserting on a load of a vector of flat
pointers.

Fixes #110433


  Commit: 0d384fe978f9675be9fe960940daa2fd599104ed
      https://github.com/llvm/llvm-project/commit/0d384fe978f9675be9fe960940daa2fd599104ed
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/casts.c
    M clang/test/Analysis/pointer-sub-notes.c
    M clang/test/Analysis/pointer-sub.c

  Log Message:
  -----------
  [clang][analyzer] Move 'alpha.core.PointerSub' checker into 'security.PointerSub' (#107596)


  Commit: 147558e31c2b8d2986fc13cf6f9e2bf6a120f2e6
      https://github.com/llvm/llvm-project/commit/147558e31c2b8d2986fc13cf6f9e2bf6a120f2e6
  Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle-concept.cpp
    M libcxxabi/test/test_demangle.pass.cpp

  Log Message:
  -----------
  [clang][ItaniumMangle] Mangle friend function templates with a constr… (#110247)

…aint that depends on a template parameter from an enclosing template as
members of the enclosing class.

Such function templates should be considered member-like constrained
friends per [temp.friend]p9 and
https://github.com/itanium-cxx-abi/cxx-abi/issues/24#issuecomment-934977198).


  Commit: f8373cb0f91c63ec3f1bd887ccae4387d9cd0365
      https://github.com/llvm/llvm-project/commit/f8373cb0f91c63ec3f1bd887ccae4387d9cd0365
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LV] Reuse VPReplicateRecipe to handle scalar stores in exit block. (#106342)

This patch separates the computation of the final reduction result and
the intermediate stores of reduction.

---------

Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: f5c02dd06e03969e8d95746fc184609fe28f509d
      https://github.com/llvm/llvm-project/commit/f5c02dd06e03969e8d95746fc184609fe28f509d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [MemCpyOpt] Use EarliestEscapeInfo (#110280)

Pass EarliestEscapeInfo to BatchAA in MemCpyOpt. This allows memcpy
elimination in cases where one of the involved pointers is captured
after the relevant memcpy/call.


  Commit: a548eded70dd92296439bd8561dbeeb67fc76711
      https://github.com/llvm/llvm-project/commit/a548eded70dd92296439bd8561dbeeb67fc76711
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-callee-save-restore-pairs.ll
    M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll

  Log Message:
  -----------
  [AArch64][SME]Check streaming mode when using SME2 instruction in fra… (#109680)

…me lowering

SME instructions can only be used in streaming mode. PTRUE for
predicated counter and the ld/st pair can be used when:
  sve2.1  is available or
  sme2 available in function in streaming mode.
Previously the frame lowering only checking if sme2 available when
building the machine instruction.
This fix checks if sme2 is available and is subtarget in streaming mode


  Commit: dd2792ac7d611fbf952bc0d240fc98170f9f8b4f
      https://github.com/llvm/llvm-project/commit/dd2792ac7d611fbf952bc0d240fc98170f9f8b4f
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Fix build past 6292f117c39b9fc72da4e40328eeeda2aa94a5f2 (#110459)


  Commit: f445e39ab271d07733f0f45048badd9e58905aec
      https://github.com/llvm/llvm-project/commit/f445e39ab271d07733f0f45048badd9e58905aec
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Use isWritableObject() API (#110127)

SimplifyCFG store speculation currently has some homegrown code to check
for a writable object, handling the alloca special case only.

Switch it to use the generic isWritableObject() API, which means that we
also support byval arguments, allocator return values, and writable
arguments.

I've adjusted isWritableObject() to also check for the noalias attribute
when handling writable. Otherwise, I don't think that we can generalize
from at-entry writability. This was not relevant for previous uses of
the function, because they'd already require noalias for other reasons
anyway.


  Commit: f627c453dbef21d6949dabbce2e7a424b9deda30
      https://github.com/llvm/llvm-project/commit/f627c453dbef21d6949dabbce2e7a424b9deda30
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sme-callee-save-restore-pairs.ll

  Log Message:
  -----------
  Fix test for PR#109680

The patch https://github.com/llvm/llvm-project/pull/109680 is failing
because of the test sme-callee-save-restore-pairs.ll.
This patch fixes the output of the test


  Commit: e9d12a6b451bd403d95105aa976a011dc821f126
      https://github.com/llvm/llvm-project/commit/e9d12a6b451bd403d95105aa976a011dc821f126
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll

  Log Message:
  -----------
  AMDGPU: Add test for 16 bit unsigned scratch offsets (#110255)

Large scratch offset with one on highest bit selected as negative,
negative offset has same binary representation in 16 bits as large
unsigned offset.


  Commit: 93eaa992896d74eddaf51e8e2601fabc41a1e316
      https://github.com/llvm/llvm-project/commit/93eaa992896d74eddaf51e8e2601fabc41a1e316
  Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/test/CodeGenCXX/mangle-concept.cpp

  Log Message:
  -----------
  [abi] [ItaniumMangle] Remove a test case that fails due to expected r… (#110467)

…edefinition failures.


  Commit: 83fe85115da9dc25fa270d2ea8140113c8d49670
      https://github.com/llvm/llvm-project/commit/83fe85115da9dc25fa270d2ea8140113c8d49670
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll

  Log Message:
  -----------
  AMDGPU: Fix inst-selection of large scratch offsets with sgpr base (#110256)

Use i32 for offset instead of i16, this way it does not get interpreted
as negative 16 bit offset.


  Commit: 8e0daabe97cf5e73402bcb4c3e54b3583199ba8f
      https://github.com/llvm/llvm-project/commit/8e0daabe97cf5e73402bcb4c3e54b3583199ba8f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir

  Log Message:
  -----------
  AMDGPU: Make a frame index test more realistic

We do not expect to see live carry out outputs on these adds,
so add a dead flag. Split the test for the degenerate case. This
makes it more apparent a regression in a future commit does not matter.


  Commit: b8c974f09391d78035928c599a911009bbe49e85
      https://github.com/llvm/llvm-project/commit/b8c974f09391d78035928c599a911009bbe49e85
  Author: Abhishek Varma <avarma094 at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir

  Log Message:
  -----------
  [MLIR][TilingInterface] Extend consumer fusion for multi-use of producer shared by terminator ops (#110105)

-- This commit extends consumer fusion to take place even if the
producer has multiple uses.
-- The multiple uses of the producer essentially means that besides the
consumer op in concern, the only other uses of the producer are
allowed in :-
   1. scf.yield
   2. tensor.parallel_insert_slice

Signed-off-by: Abhishek Varma <abhvarma at amd.com>


  Commit: 6f956e3117589e6a4c71ed7f27095aa232778304
      https://github.com/llvm/llvm-project/commit/6f956e3117589e6a4c71ed7f27095aa232778304
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Rename LocalMemorySize features to AddressableLocalMemorySize (#110242)

Change the names of the TableGen features to match the names used by
AMDGPUSubtarget. "Addressable" refers to the amount that can be accessed
by a single workgroup. Add some explanatory comments. NFC.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    A flang/test/Integration/debug-cyclic-derived-type-2.f90
    M flang/test/Integration/debug-cyclic-derived-type.f90
    M flang/test/Transforms/debug-derived-type-1.fir

  Log Message:
  -----------
  [flang][debug] Support derived type components with box types. (#109424)

Our support for derived types uses `getTypeSizeAndAlignment` to
calculate the offset of the members. The `fir.box` was not supported in
that function. It meant that any member which required descriptor was
not supported in the derived type.
    
We convert the type into an llvm type and then use the DataLayout to
calculate the size/offset of a member. There is no dependency on
`getTypeSizeAndAlignment` to get the size of the types.

There are 2 other changes in this PR:

1. The `recID` field is used to handle cases where we have a member
references its parent type.

2. A type cache is maintained to avoid duplication. It is also needed
for circular reference case.


Fixes #108001.


  Commit: 5883ad34d66075fdb45ee2544a8bede69a13053b
      https://github.com/llvm/llvm-project/commit/5883ad34d66075fdb45ee2544a8bede69a13053b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.ll

  Log Message:
  -----------
  DAG: Handle vector legalization of minimumnum/maximumnum (#109779)

Follow the same patterns as the other min/max variants.


  Commit: 81ba95cefe1b5a12f0a7d8e6a383bcce9e95b785
      https://github.com/llvm/llvm-project/commit/81ba95cefe1b5a12f0a7d8e6a383bcce9e95b785
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/FastISel.h
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    A llvm/test/CodeGen/X86/issue56055.ll

  Log Message:
  -----------
  FastISel: Fix incorrectly using getPointerTy (#110465)

This was using the default address space instead of the
correct one.

Fixes #56055


  Commit: 9f3728d15721830ef1d29a8ae1af97124bc26b47
      https://github.com/llvm/llvm-project/commit/9f3728d15721830ef1d29a8ae1af97124bc26b47
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Fix installation w/ ENABLE_RUNTIME_SUBNORMAL (#109926)

The `ARCHIVE` artifact kind is not valid for `install(FILES ...)`.

Additionally, install wasn't resolving the target's `TARGET_FILE`
properly and was trying to find it in the top-level build directory, rather than
in the libclc binary directory. This is because our `TARGET_FILE`
properties were being set to relative paths. The cmake behaviour they
are trying to mimic - `$<TARGET_FILE:$tgt>` - provides an absolute path.

As such this patch updates instances where we set the `TARGET_FILE`
property to return an absolute path.


  Commit: dc6e4805a0a563052c0c8d81628718fcd6acb193
      https://github.com/llvm/llvm-project/commit/dc6e4805a0a563052c0c8d81628718fcd6acb193
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/Frontend/fixed_point_comparisons.c

  Log Message:
  -----------
  [clang][bytecode] Cast fixed-point cmp result to int if necessary (#110469)

This is the case in C.


  Commit: 79382eb97adff71dbc9d4969431dd4a0967ee7ad
      https://github.com/llvm/llvm-project/commit/79382eb97adff71dbc9d4969431dd4a0967ee7ad
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/Frontend/fixed_point_div_const.c

  Log Message:
  -----------
  [clang][bytecode] Remove superfluous check from fixed-point div (#110478)

We shouldn't do this check for fixed-point values, at least the current
interpreter doesn't do it.


  Commit: 3c85102756ca0737e2282794451889cac502389f
      https://github.com/llvm/llvm-project/commit/3c85102756ca0737e2282794451889cac502389f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/fixed-point.cpp
    M clang/test/Frontend/fixed_point_crash.c

  Log Message:
  -----------
  [clang][bytecode] Handle DiscardResult for fixed-point literals (#110475)


  Commit: c897c13dde3bb413e723317c0579781fb6045a8b
      https://github.com/llvm/llvm-project/commit/c897c13dde3bb413e723317c0579781fb6045a8b
  Author: Janek van Oirschot <janek.vanoirschot at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    A llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/cndmask-no-def-vcc.ll
    M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    A llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm-reserved-regs.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/ipra.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-offsets.ll
    M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
    M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
    M llvm/test/CodeGen/AMDGPU/recursion.ll
    M llvm/test/CodeGen/AMDGPU/register-count-comments.ll
    M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
    M llvm/test/CodeGen/AMDGPU/resource-usage-dead-function.ll

  Log Message:
  -----------
  [AMDGPU] Convert AMDGPUResourceUsageAnalysis pass from Module to MF pass (#102913)

Converts AMDGPUResourceUsageAnalysis pass from Module to MachineFunction
pass. Moves function resource info propagation to to MC layer (through
helpers in AMDGPUMCResourceInfo) by generating MCExprs for every
function resource which the emitters have been prepped for.

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


  Commit: 8f50dbd7b8a2ed7206d0ad4c90129c014eb032fb
      https://github.com/llvm/llvm-project/commit/8f50dbd7b8a2ed7206d0ad4c90129c014eb032fb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

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


  Commit: 82e594a022d3f3e19ba22dfc55349fe97ed844e6
      https://github.com/llvm/llvm-project/commit/82e594a022d3f3e19ba22dfc55349fe97ed844e6
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove unused lambda capture in AMDGPUMCResourceInfo.cpp (NFC)

/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp:26:16:
error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
  auto GOCS = [this, FuncName, &OutContext](StringRef Suffix) {
               ^~~~~
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp:64:27:
error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
  auto assignMaxRegSym = [this, &OutContext](MCSymbol *Sym, int32_t RegCount) {
                          ^~~~~
2 errors generated.


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

  Changed paths:
    M llvm/test/CodeGen/X86/pmulh.ll

  Log Message:
  -----------
  [X86] pmulh.ll - add extra test coverage from #109790

Shows poor codegen on AVX512 targets


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/pmulh.ll

  Log Message:
  -----------
  [DAG] combineShiftToMULH - handle zext nneg as sext

Fixes poor codegen on AVX512 targets for a test case from #109790


  Commit: 587eaefe876f8fd2cd8b9b0862d81f35b7f9ebce
      https://github.com/llvm/llvm-project/commit/587eaefe876f8fd2cd8b9b0862d81f35b7f9ebce
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/test/asan/TestCases/Linux/ptrace.cpp

  Log Message:
  -----------
  [sanitizer_common] Handle ptrace on Linux/sparc64 (#109310)

When ASan testing is enabled on SPARC as per PR #107405, the
```
  AddressSanitizer-sparc-linux :: TestCases/Linux/ptrace.cpp
```
`FAIL`s on Linux/sparc64. This happens because the `ptrace` interceptor
has no support for that target at all.

This patch adds the missing parts and accounts for a couple of issues
specific to this target:
- In some cases, SPARC just needs to be included in the list of
supported targets.
- Besides, the types used by the `PTRACE_GETREGS` and `PTRACE_GETFPREGS`
requests need to be filled in.
- `ptrace` has a weird quirk on this target: for a couple of requests,
the meaning of the `data` and `addr` args is reversed. All of the
`Linux/ptrace.cpp` test and the interceptor, pre-syscall and
post-syscall hooks need to account for that swap in their checks.

Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.


  Commit: c0e97c4dfc936ed13ae9696f0615d7e648268bc9
      https://github.com/llvm/llvm-project/commit/c0e97c4dfc936ed13ae9696f0615d7e648268bc9
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4.ll

  Log Message:
  -----------
  [Clang][LLVM][AArch64] Add intrinsic for LUTI4 SME2 instruction (#97755) (#109953)

This patch was reverted because of a failing C test.
It now has being solved and can be merged into main again 

This patch adds these intrinsics:

// Variants are also available for: _s8
svuint8x4_t svluti4_zt_u8_x4(uint64_t zt0, svuint8x2_t zn)
__arm_streaming __arm_in("zt0");

according to PR#324[1]
[1]ARM-software/acle#324


  Commit: 735a5f67e351fc072a9f7c18b030036681f7935a
      https://github.com/llvm/llvm-project/commit/735a5f67e351fc072a9f7c18b030036681f7935a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] When allocating VGPRs, VGPR spills are not part of the prologue (#109439)

PRs #69924 and #72140 modified SIInstrInfo::isBasicBlockPrologue to skip
over EXEC modifications and spills when allocating VGPRs. But treating
VGPR spills as part of the prologue can confuse the register allocator
as in #109294, so restrict it to SGPR spills, which were inserted during
SGPR allocation which is done in an earlier pass.

Fixes: #109294
Fixes: SWDEV-485841


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    R libcxx/include/__algorithm/fold.h
    A libcxx/include/__algorithm/ranges_fold.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++][NFC] Rename fold.h to ranges_fold.h (#109696)

This follows the pattern we use consistently for ranges algorithms.

This is a re-application of 24bc3244d4e which had been reverted in
f11abac65 due to unrelated failures.


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

  Changed paths:
    M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/abi.h
    A libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/module.modulemap
    M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    A libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/incomplete.sh.cpp
    A libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Add an ABI setting to harden unique_ptr<T[]>::operator[] (#91798)

This allows catching OOB accesses inside `unique_ptr<T[]>` when the size
of the allocation is known. The size of the allocation can be known when
the unique_ptr has been created with make_unique & friends or when the
type necessitates an array cookie before the allocation.

This is a re-aplpication of 45a09d181 which had been reverted in
f11abac6 due to unrelated CI failures.


  Commit: 3d9cf8b397f61f6259049a625f4888a119352e0d
      https://github.com/llvm/llvm-project/commit/3d9cf8b397f61f6259049a625f4888a119352e0d
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp

  Log Message:
  -----------
  [clangd] Improve filtering logic for undesired proto symbols (#110091)

This used to filter any names with `_` in them, apart from
enum-constants. Resulting in discrepancies in behavior when we had
fields that have `_` in the name, or for accessors like `set_`, `has_`.

The logic seems to be trying to filter mangled names for nested entries,
so adjusted logic to only do so for top-level decls, while still
preserving some public top-level helpers.

Heuristics are still leaning towards false-negatives, e.g. if a
top-level entity has `_` in its name (`message Foo_Bar {}`), it'll be
filtered, or an enum that prefixes its type name to constants
(`enum Foo { Foo_OK }`).


  Commit: 7061d386f19aa389d405ad791b2ca4adf3946d9d
      https://github.com/llvm/llvm-project/commit/7061d386f19aa389d405ad791b2ca4adf3946d9d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 18df9d23ea39


  Commit: 5df7d88c37877756984a533e4b5ccaad015c7491
      https://github.com/llvm/llvm-project/commit/5df7d88c37877756984a533e4b5ccaad015c7491
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8e6bba230e1c


  Commit: 282fc93f09154c58a9b819ba7beaaba6c5e6ad8a
      https://github.com/llvm/llvm-project/commit/282fc93f09154c58a9b819ba7beaaba6c5e6ad8a
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] optimize unused using decls performance (#110200)

Improve performance by moving the check forward to the matching stage


  Commit: ec08c11878fd86a9919a19270d650a48ba52ba04
      https://github.com/llvm/llvm-project/commit/ec08c11878fd86a9919a19270d650a48ba52ba04
  Author: MingZhu Yan <69898423+trdthg at users.noreply.github.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/docs/Dialects/SPIR-V.md

  Log Message:
  -----------
  [mlir][doc][SPIR-V] Add missing `>` (#110464)

![image](https://github.com/user-attachments/assets/c3a8761f-647f-4a52-a68c-06a4cb543924)

If I'm not mistaken, there should be a right bracket here?

Signed-off-by: MingZhu Yan <yanmingzhu at iscas.ac.cn>


  Commit: 054eadcb117ba7c86a99dff5c9d0ed101c7f17ea
      https://github.com/llvm/llvm-project/commit/054eadcb117ba7c86a99dff5c9d0ed101c7f17ea
  Author: David Truby <david.truby at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/expression.cpp
    M flang/runtime/extensions.cpp
    A flang/test/Semantics/windows.f90
    M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
    A flang/unittests/Optimizer/Builder/Runtime/IntrinsicsTest.cpp
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  [flang] Implement GETUID and GETGID intrinsics (#108017)

GETUID and GETGID are non-standard intrinsics supported by a number of
other Fortran compilers. On supported platforms these intrinsics simply
call the POSIX getuid() and getgid() functions and return the result.
The only platform we support that does not have these is Windows.

Windows does not have the same concept of UIDs and GIDs, so on Windows
we issue a warning indicating this and return 1 from both functions.

Co-authored-by: Yi Wu <yi.wu2 at arm.com>

---------

Co-authored-by: Yi Wu <yi.wu2 at arm.com>


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

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

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

Change GlobalISelEmitter to use const RecordKeeper.

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


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


  Commit: 619688f3d37b9a74ee50ba8a336ab0680f32d2fa
      https://github.com/llvm/llvm-project/commit/619688f3d37b9a74ee50ba8a336ab0680f32d2fa
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/IR/AsmWriter.cpp

  Log Message:
  -----------
  [IR] Avoid repeated hash lookups (NFC) (#110450)


  Commit: 47b22301da4413abbf94bb2adf61e65e33fe9edb
      https://github.com/llvm/llvm-project/commit/47b22301da4413abbf94bb2adf61e65e33fe9edb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated hash lookups (NFC) (#110451)


  Commit: db9e1fb3bcc8ab950cd9b0282a29be7943ce185e
      https://github.com/llvm/llvm-project/commit/db9e1fb3bcc8ab950cd9b0282a29be7943ce185e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [MachineLICM] Avoid repeated hash lookups (NFC) (#110452)


  Commit: be6a5dc9a5b9d2944caae8bd107061e15329c690
      https://github.com/llvm/llvm-project/commit/be6a5dc9a5b9d2944caae8bd107061e15329c690
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#110453)


  Commit: 061762933b7a51452a9425b0f66e448a67d40157
      https://github.com/llvm/llvm-project/commit/061762933b7a51452a9425b0f66e448a67d40157
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix cost model for getBuildVectorCost with FixedVectorType ScalarTy. (#110073)

BoUpSLP::gather always use CreateInsertVector for FixedVectorType
ScalarTy.


  Commit: bfde17834dd9bd30da8f56166cd545f566f64895
      https://github.com/llvm/llvm-project/commit/bfde17834dd9bd30da8f56166cd545f566f64895
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir] Update the return type of `getNum{Dynamic|Scalable}Dims` (#110472)

Updates the return type of `getNumDynamicDims` and `getNumScalableDims`
from `int64_t` to `size_t`. This is for consistency with other
helpers/methods that return "size" and to reduce the number of
`static_cast`s in various places.


  Commit: ac0f64f06d67a93817ccd9a3c529ad40920115c9
      https://github.com/llvm/llvm-project/commit/ac0f64f06d67a93817ccd9a3c529ad40920115c9
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    A llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/image-waterfall-loop-O0.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx908.mir
    M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/bb-prolog-spill-during-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
    M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
    M llvm/test/CodeGen/AMDGPU/extend-wwm-virt-reg-liveness.mir
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/fold-reload-into-exec.mir
    M llvm/test/CodeGen/AMDGPU/fold-reload-into-m0.mir
    M llvm/test/CodeGen/AMDGPU/frame-index.mir
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/greedy-instruction-split-subrange.mir
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
    M llvm/test/CodeGen/AMDGPU/pr51516.mir
    M llvm/test/CodeGen/AMDGPU/preserve-only-inactive-lane.mir
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/remat-vop.mir
    M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-incorrect-fi-bookkeeping-bug.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-empty-prolog-block.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
    R llvm/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/spill-csr-frame-ptr-reg-copy.ll
    M llvm/test/CodeGen/AMDGPU/spill-empty-live-interval.mir
    M llvm/test/CodeGen/AMDGPU/spill-reg-tuple-super-reg-use.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr-update-regscavenger.ll
    M llvm/test/CodeGen/AMDGPU/spill192.mir
    M llvm/test/CodeGen/AMDGPU/spill224.mir
    M llvm/test/CodeGen/AMDGPU/spill288.mir
    M llvm/test/CodeGen/AMDGPU/spill320.mir
    M llvm/test/CodeGen/AMDGPU/spill352.mir
    M llvm/test/CodeGen/AMDGPU/spill384.mir
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/tied-op-for-wwm-scratch-reg-spill-restore.mir
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/true16-ra-pre-gfx11-regression-test.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    A llvm/test/CodeGen/AMDGPU/wwm-regalloc-error.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll

  Log Message:
  -----------
  [AMDGPU] Split vgpr regalloc pipeline (#93526)

Allocating wwm-registers and per-thread VGPR operands
together imposes many challenges in the way the
registers are reused during allocation. There are
times when regalloc reuses the registers of regular
VGPRs operations for wwm-operations in a small range
leading to unwantedly clobbering their inactive lanes
causing correctness issues that are hard to trace.

This patch splits the VGPR allocation pipeline further
to allocate wwm-registers first and the regular VGPR
operands in a separate pipeline. The splitting would
ensure that the physical registers used for wwm
allocations won't take part in the next allocation
pipeline to avoid any such clobbering.


  Commit: 9f6cd56d5a366d1b75a62a207b6568d362ea82d5
      https://github.com/llvm/llvm-project/commit/9f6cd56d5a366d1b75a62a207b6568d362ea82d5
  Author: Steven Perron <stevenperron at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/CodeGenHLSL/entry.hlsl
    M clang/test/Driver/dxc_E.hlsl

  Log Message:
  -----------
  [HLSL] Use HLSLToolChain for Vulkan (#110306)

The options are not translated correctly when targeting Vulkan using the
dxc
driver mode. Resuing the translator used for HLSL.

Fixes problem 2 in https://github.com/llvm/llvm-project/issues/108567.


  Commit: 38450dfdf5a7ce402a145d433883b252a67da561
      https://github.com/llvm/llvm-project/commit/38450dfdf5a7ce402a145d433883b252a67da561
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

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


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

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [NFC] Move intrinsic related functions to Intrinsic namespace (#110125)

Move static functions `Function::lookupIntrinsicID` and
`Function::isTargetIntrinsic` to Intrinsic namespace.


  Commit: 1e0d3c68c710fe94bd694e8b5091224e9a085b12
      https://github.com/llvm/llvm-project/commit/1e0d3c68c710fe94bd694e8b5091224e9a085b12
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  LV: reuse getSmallBestKnownTC in a TC estimation (NFC) (#105834)

GeneratedRTChecks::getCost duplicates getSmallBestKnownTC partially,
when attempting to get the best trip-count estimate. Since the intent of
this code is to get the best trip-count estimate, and
getSmallBestKnownTC is written for exactly this purpose, replace the
partial code-duplication with a call to this function.


  Commit: 7eea55fd4bf197fea20b7c255febf287664dce36
      https://github.com/llvm/llvm-project/commit/7eea55fd4bf197fea20b7c255febf287664dce36
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    R llvm/test/Analysis/LoopAccessAnalysis/pr96656.ll
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
    A llvm/test/Transforms/LoopLoadElim/unknown-stride-known-dep.ll
    R llvm/test/Transforms/LoopVersioning/pr96656.ll
    A llvm/test/Transforms/LoopVersioning/single-iteration.ll

  Log Message:
  -----------
  LoopLoadElim: re-org tests after invalid #96656 (#97598)

After pr96656.ll were added to LAA and LoopVersioning, it was decided
that the bug is in a caller of LoopVersioning, not in LAA or
LoopVersioning itself. The new candidate was LoopLoadElim, but #96656
has since been marked invalid. Hence, re-organize the added tests to
avoid confusion, and the testcase from the investigation to
LoopLoadElim.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/if-reduction.ll
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll

  Log Message:
  -----------
  LV/test: improve a couple of tests, regen with UTC (#107225)

Add noalias, where applicable, to eliminate unnecessary memory check,
and regen with UTC.


  Commit: 9177e812677ee915c6606498db57808c13ee892a
      https://github.com/llvm/llvm-project/commit/9177e812677ee915c6606498db57808c13ee892a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/test/CodeGen/X86/atomic-non-integer.ll
    A llvm/test/CodeGen/X86/bfloat-calling-conv-no-sse2.ll

  Log Message:
  -----------
  X86: Fix asserting on bfloat argument/return without sse2 (#93146)

These now get the default promote-to-float behavior, like half does.

Fixes #92899


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Headers/bmiintrin.h
    M clang/lib/Headers/lzcntintrin.h
    M clang/test/CodeGen/X86/bmi-builtins.c
    M clang/test/CodeGen/X86/lzcnt-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for LZCNT/TZCNT intrinsics (#110499)


  Commit: f9fbfc587d793b25e5f3ea0c8fa1db949085b158
      https://github.com/llvm/llvm-project/commit/f9fbfc587d793b25e5f3ea0c8fa1db949085b158
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/test/CodeGen/SystemZ/args-15.ll
    M llvm/test/CodeGen/SystemZ/args-16.ll
    M llvm/test/CodeGen/SystemZ/args-17.ll
    M llvm/test/CodeGen/SystemZ/args-18.ll
    M llvm/test/CodeGen/SystemZ/args-19.ll
    M llvm/test/CodeGen/SystemZ/args-20.ll
    M llvm/test/CodeGen/SystemZ/args-21.ll

  Log Message:
  -----------
  [SystemZ] Dump function signature on missing arg extension. (#109699)

Make it easier to handle detected problems by providing the function
signature(s) involved in cases of missing argument extensions.


  Commit: 4ae0c5059ec9a3254bc501c24b24f7182eba12a6
      https://github.com/llvm/llvm-project/commit/4ae0c5059ec9a3254bc501c24b24f7182eba12a6
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [clang] Fix static analyzer concerns (#110243)

It seems in checkOpenMPIterationSpace `OrderedLoopCountExpr` can also be
null, so check before dereferencing.


  Commit: 20f4adea957b91291a640613e41e0bab27ae3c3c
      https://github.com/llvm/llvm-project/commit/20f4adea957b91291a640613e41e0bab27ae3c3c
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Move loop wrapper verification to the interface (NFC) (#110505)

This patch moves verification code for the `LoopWrapperInterface` to the
interface itself, checking it automatically for each operation that has
that interface.


  Commit: 01135de4011aeea6bb01560247187db4b41c353e
      https://github.com/llvm/llvm-project/commit/01135de4011aeea6bb01560247187db4b41c353e
  Author: Corentin Kerisit <corentin.kerisit at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [llvm-profdata] Fix typo in usage (#110434)

>From `profata` to `profdata`


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Headers/bmi2intrin.h
    M clang/test/CodeGen/X86/bmi2-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for BZHI intrinsics (#110508)


  Commit: 9d4ddf3a1969dcc89295049b3278c6a9eac131e2
      https://github.com/llvm/llvm-project/commit/9d4ddf3a1969dcc89295049b3278c6a9eac131e2
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/docs/RealtimeSanitizer.rst

  Log Message:
  -----------
  [rtsan] Update docs to include run-time flags (#110296)


  Commit: f3ebf22428211160001b53285e78436aa704c24b
      https://github.com/llvm/llvm-project/commit/f3ebf22428211160001b53285e78436aa704c24b
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp

  Log Message:
  -----------
  [MLIR] Fix:  `cast` were meant to be `dyn_cast`. (#110518)

This fixes `cast`'s that were introduced in
https://github.com/llvm/llvm-project/pull/108450.

Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>


  Commit: fb6feb86a7dc324dcb2516397ba3fc5fe05ea584
      https://github.com/llvm/llvm-project/commit/fb6feb86a7dc324dcb2516397ba3fc5fe05ea584
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallSet.h

  Log Message:
  -----------
  [ADT] Restore handwritten vector find in SmallSet (#110254)

This patch restores handwritten linear searches instead of the use of
std::find.

After PR #109412, a performance regression was observed that's caused by
the use of std::find for linear searches.

The exact cause wasn't pinpointed, but, at the time of writing, the most
likely culprit is the forced loop unrolling in the definition of
libstdc++'s std::find. Presumably this is done to optimise for larger
containers.

However for the case of small containers such as SmallVector, this
actually hurts performance.


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

  Changed paths:
    M libcxx/test/configs/llvm-libc++-shared-mingw.cfg.in
    M libcxx/test/configs/llvm-libc++-static-mingw.cfg.in
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/test/CMakeLists.txt
    M libcxxabi/test/configs/cmake-bridge.cfg.in
    M libcxxabi/test/configs/llvm-libc++abi-mingw.cfg.in
    M libunwind/CMakeLists.txt
    M libunwind/test/CMakeLists.txt
    M libunwind/test/configs/cmake-bridge.cfg.in
    R libunwind/test/configs/llvm-libunwind-mingw.cfg.in
    A libunwind/test/configs/llvm-libunwind-shared-mingw.cfg.in
    A libunwind/test/configs/llvm-libunwind-static-mingw.cfg.in

  Log Message:
  -----------
  [libc++abi][libunwind] Run c++abi and unwind tests against a fake install root (#110171)

This is what we started doing in libc++ and it straightens up a lot of
things that only happened to work before, notably the presence of
relative rpaths in dylibs when running from the build tree.

This unlocks the ability to link against a just-built dylib but run
against another version of the dylib (for example the system-provided
one), which is necessary for proper backdeployment testing.

This patch adds a lot of code duplication between the libc++ and
libc++abi testing setups. However, there is already a large amount of
duplication and the only real way to get rid of it is to merge libc++abi
into libc++. In a way, this patch is a step in that direction because it
closes the gap between the two libraries' testing setup.


  Commit: b086f7591ce8d4f810a472554d38b4437dff6919
      https://github.com/llvm/llvm-project/commit/b086f7591ce8d4f810a472554d38b4437dff6919
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp

  Log Message:
  -----------
  Fix an integer trunctation issues for the DW_AT_frame_base DWARF location expression (#110388)

This patch allows offsets to the DW_AT_frame_base to exceed 4GB. Prior
to this, for any .debug_info.dwo offset that exceeded 4GB, we would
truncate the offset to the DW_AT_frame_base expression bytes to be 32
bit only. Changing the offset to 64 bits restores correct functionality.

No test for this as we don't want to create a .dwp file that has a
.debug_info.dwo size that is over 4GB.


  Commit: df691ca74bac52e0ec983817da8a6b4ae13f4f42
      https://github.com/llvm/llvm-project/commit/df691ca74bac52e0ec983817da8a6b4ae13f4f42
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [SystemZ] Fix a warning

This patch fixes:

  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:9858:18: error:
  using the result of an assignment as a condition without parentheses
  [-Werror,-Wparentheses]


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/tbmintrin.h
    M clang/test/CodeGen/X86/tbm-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for all remaining TBM intrinsics (#110515)

BEXTRI is already handled, so we just need to tag the rest of the intrinsics, which are all expanded to generic patterns.

As these are expanded I felt it better to test against the equivalent pattern instead of the final result (I intend to take the same approach for BMI/BMI2 cases).


  Commit: 7a0a7947ee932c1056b56247792ce720ce9ff479
      https://github.com/llvm/llvm-project/commit/7a0a7947ee932c1056b56247792ce720ce9ff479
  Author: David Truby <david.truby at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/expression.cpp
    M flang/runtime/extensions.cpp
    R flang/test/Semantics/windows.f90
    M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
    R flang/unittests/Optimizer/Builder/Runtime/IntrinsicsTest.cpp
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  Revert "[flang] Implement GETUID and GETGID intrinsics" (#110531)

Reverts llvm/llvm-project#108017


  Commit: 5d19d55ce1da5b2b6b089316a28974062c013cf2
      https://github.com/llvm/llvm-project/commit/5d19d55ce1da5b2b6b089316a28974062c013cf2
  Author: Simone Campanoni <simo.xan at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [SimplifyCFG] Better aligned a comment. (#109307)


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

  Changed paths:
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    A flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir

  Log Message:
  -----------
  [flang][cuda] Convert cuf.alloc and cuf.free for scalar and arrays (#110055)

This patch adds more conversion of cuf.alloc and cuf.free for scalars,
constant size arrays and dynamic size arrays


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

  Changed paths:
    M clang/lib/Headers/bmi2intrin.h
    M clang/lib/Headers/bmiintrin.h

  Log Message:
  -----------
  [clang][x86] Make sure we undef __DEFAULT_FN_ATTRS_CONSTEXPR attributes tags at the end of the bmi headers


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

  Changed paths:
    M libcxxabi/include/__cxxabi_config.h
    M libcxxabi/include/cxxabi.h

  Log Message:
  -----------
  [libc++abi] Avoid using deprecated throw specifications in >= C++11 (#109296)

Closes #108426


  Commit: 6e6dee944b6c980b35bfa6ccf0a999cbbb5e2779
      https://github.com/llvm/llvm-project/commit/6e6dee944b6c980b35bfa6ccf0a999cbbb5e2779
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [llvm][Coroutines] Avoid Type::getPointerTo() (NFC) (#110520)

`llvm::Type::getPointerTo()` is to be deprecated & removed soon.

In `Lowerer::lowerCoroDone`, also remove the no-op bitcast (1st
parameter of `llvm::coro::done` intrinsic is `ptr`).


  Commit: 4b95806d49d812de708762dd411d4823eef5cbb6
      https://github.com/llvm/llvm-project/commit/4b95806d49d812de708762dd411d4823eef5cbb6
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [llvm][unittests] Avoid Type::getPointerTo() (NFC)

`llvm::Type::getPointerTo()` is to be deprecated & removed soon.


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

  Changed paths:
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M mlir/tools/mlir-tblgen/OmpOpGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp

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

Change SeachableTableEmitter to use const RecordKeeper.
Also change RecordRecTy to use const Record pointers for its classes.

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


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


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

  Changed paths:
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/utils/TableGen/DirectiveEmitter.cpp
    M mlir/test/mlir-tblgen/directive-common.td
    M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp

  Log Message:
  -----------
  [MLIR][TableGen] Minor code cleanup in DirectiveCommonGen (#110290)

Directly Use Clause/ClauseVal as loop iterator.
Use llvm::transform instead of std::transform.
Use interleaveComma() to generate comma separated list.


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

  Changed paths:
    M llvm/benchmarks/SandboxIRBench.cpp
    M llvm/include/llvm/SandboxIR/Constant.h
    A llvm/include/llvm/SandboxIR/Function.h
    M llvm/lib/SandboxIR/BasicBlock.cpp
    M llvm/lib/SandboxIR/CMakeLists.txt
    M llvm/lib/SandboxIR/Constant.cpp
    M llvm/lib/SandboxIR/Context.cpp
    A llvm/lib/SandboxIR/Function.cpp
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/Module.cpp
    M llvm/lib/SandboxIR/Region.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp
    M llvm/unittests/SandboxIR/UtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Function class to a separate file (#110526)


  Commit: 78f9a8b82d772ff04a12ef95f2c9d31ee8f3e409
      https://github.com/llvm/llvm-project/commit/78f9a8b82d772ff04a12ef95f2c9d31ee8f3e409
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    R libcxx/include/__memory/voidify.h
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [libc++] LWG3870: Remove `voidify` (#110355)

Instead of changing the cast sequence to implicit conversion in
_`voidify`_, I think it is better to totally remove `__voidify` and use
`static_cast` to `void*`, which has equivalent effects.

Test coverage for const iterators are removed.

Now most affected algorithms are underconstrained, for which I submitted
[LWG3888](https://cplusplus.github.io/LWG/issue3888). I'm not sure
whether we should speculatively implement it at this moment, and thus
haven't added any `*.verify.cpp`.

In some control block types and `optional`, the stored objects are
changed to have cv-unqualified type.

Fixes #105119.


  Commit: 432ba353d8fcd68721203e1d0eb1fb983485f568
      https://github.com/llvm/llvm-project/commit/432ba353d8fcd68721203e1d0eb1fb983485f568
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp

  Log Message:
  -----------
  [libc++][test] Cover move construction of allocators again (#110375)

Previous PR #107344 fixed move constructor of `test_allocator` but
dropped test coverage for move construction in some cases. This PR
attempts to restore the test coverage.

Thanks @Quuxplusone for reminding.


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

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

  Log Message:
  -----------
  [flang][cuda] Convert data transfer between scalar and arrays (#110180)

Add conversion of data transfer between scalars or between arrays. 

Scalar to array are not handled yet.


  Commit: 357c1970cabf02017a219d106e8918a39f48a3b0
      https://github.com/llvm/llvm-project/commit/357c1970cabf02017a219d106e8918a39f48a3b0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

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


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

  Changed paths:
    M libc/utils/LibcTableGenUtil/APIIndexer.cpp

  Log Message:
  -----------
  [LIBC] Fix build failure caused by #110032 (#110539)

Fix LibC TableGen build failure caused by
https://github.com/llvm/llvm-project/pull/110032


  Commit: ce6369ed44abd687b154e5ea7ab6ad73d22f35cc
      https://github.com/llvm/llvm-project/commit/ce6369ed44abd687b154e5ea7ab6ad73d22f35cc
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:

  Log Message:
  -----------
  Fix build break when building RISCVInstrInfo.cpp with MSVC (#110342)

After #109774 MSVC is failing to build LLVM with the error:

```
llvm\lib\Target\RISCV\RISCVInstrInfo.cpp(782): warning C4018: '<': signed/unsigned mismatch
```

Fix is ensure that the RHS is an unsigned integer.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp

  Log Message:
  -----------
  [flang][cuda] Fix buildbot failure (#110540)

https://lab.llvm.org/buildbot/#/builders/89/builds/7488


  Commit: 5d45815473496db4b041a008e60be17bd78c06ae
      https://github.com/llvm/llvm-project/commit/5d45815473496db4b041a008e60be17bd78c06ae
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [docs][amdgpu] Update kernarg documentation for gfx90a (#109690)

Update the docs to mention that kernel argument preloading is not
supported on MI210.


  Commit: 85181788576151cc4b52d38d9b52d04f26179530
      https://github.com/llvm/llvm-project/commit/85181788576151cc4b52d38d9b52d04f26179530
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement ia32_bextr builitns (#110513)


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

  Changed paths:
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [KnownBitsTest] Add optimality tests to some optimal impls; NFC

Adding optimality test to `add`, `sub`, `avgCeilU` and `avgFloorU`


  Commit: 607c525110ed174fa2963fc2b621109f1a95111b
      https://github.com/llvm/llvm-project/commit/607c525110ed174fa2963fc2b621109f1a95111b
  Author: Maurice Heumann <MauriceHeumann at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/pr58516.ll
    A llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch.ll

  Log Message:
  -----------
  [ARM64] [Windows] Mark block address as taken when expanding catchrets (#109252)

This fixes issue #109250

The issue happens during the `MachineBlockPlacement` pass. The block,
whose address was previously not taken, is deemed redundant by the pass
and subsequently replaced using
`MachineBasicBlock::ReplaceUsesOfBlockWith` in `BranchFolding`.

ReplaceUsesOfBlockWith only replaces uses in the terminator. However,
`expandPostRAPseudo` introduces new block uses when expanding catchrets.
These uses do not get replaced, which results in undefined label errors
later on.

Marking the block addresss as taken prevents the replacement of the
block, without also replacing non-terminator uses.


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/formatter_integral.h
    R libcxx/include/__std_clang_module
    M libcxx/include/module.modulemap
    M libcxx/test/libcxx/clang_modules_include.gen.py
    R libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
    M libcxx/utils/CMakeLists.txt
    R libcxx/utils/generate_std_clang_module_header.py

  Log Message:
  -----------
  [libc++][modules] Rewrite the modulemap to have fewer top-level modules (#110501)

This is a re-application of bc6bd3bc1e9 which was reverted in
f11abac6524 because it broke the Clang pre-commit CI.

Original commit message:

This patch rewrites the modulemap to have fewer top-level modules.
Previously, our modulemap had one top level module for each header in
the library, including private headers. This had the well-known problem
of making compilation times terrible, in addition to being somewhat
against the design principles of Clang modules.

This patch provides almost an order of magnitude compilation time
improvement when building modularized code (certainly subject to
variations). For example, including <ccomplex> without a module cache
went from 22.4 seconds to 1.6 seconds, a 14x improvement.

To achieve this, one might be tempted to simply put all the headers in a
single top-level module. Unfortunately, this doesn't work because libc++
provides C compatibility headers (e.g. stdlib.h) which create cycles
when the C Standard Library headers are modularized too. This is
especially tricky since base systems are usually not modularized: as far
as I know, only Xcode 16 beta contains a modularized SDK that makes this
issue visible. To understand it, imagine we have the following setup:

   // in libc++'s include/c++/v1/module.modulemap
   module std {
      header stddef.h
      header stdlib.h
   }

   // in the C library's include/module.modulemap
   module clib {
      header stddef.h
      header stdlib.h
   }

Now, imagine that the C library's <stdlib.h> includes <stddef.h>,
perhaps as an implementation detail. When building the `std` module,
libc++'s <stdlib.h> header does `#include_next <stdlib.h>` to get the C
library's <stdlib.h>, so libc++ depends on the `clib` module.

However, remember that the C library's <stdlib.h> header includes
<stddef.h> as an implementation detail. Since the header search paths
for libc++ are (and must be) before the search paths for the C library,
the C library ends up including libc++'s <stddef.h>, which means it
depends on the `std` module. That's a cycle.

To solve this issue, this patch creates one top-level module for each C
compatibility header. The rest of the libc++ headers are located in a
single top-level `std` module, with two main exceptions. First, the
module containing configuration headers (e.g. <__config>) has its own
top-level module too, because those headers are included by the C
compatibility headers.

Second, we create a top-level std_core module that contains several
dependency-free utilities used (directly or indirectly) from the __math
subdirectory. This is needed because __math pulls in a bunch of stuff,
and __math is used from the C compatibility header <math.h>.

As a direct benefit of this change, we don't need to generate an
artificial __std_clang_module header anymore to provide a monolithic
`std` module, since our modulemap does it naturally by construction.

A next step after this change would be to look into whether math.h
really needs to include the contents of __math, and if so, whether
libc++'s math.h truly needs to include the C library's math.h header.
Removing either dependency would break this annoying cycle.

Thanks to Eric Fiselier for pointing out this approach during a recent
meeting. This wasn't viable before some recent refactoring, but wrapping
everything (except the C headers) in a large module is by far the
simplest and the most effective way of doing this.

Fixes #86193


  Commit: 8ab50da589fd2692052dcb85edf06d1d2d8da42c
      https://github.com/llvm/llvm-project/commit/8ab50da589fd2692052dcb85edf06d1d2d8da42c
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/examples/toy/Ch1/include/toy/Lexer.h
    M mlir/examples/toy/Ch2/include/toy/Lexer.h
    M mlir/examples/toy/Ch3/include/toy/Lexer.h
    M mlir/examples/toy/Ch4/include/toy/Lexer.h
    M mlir/examples/toy/Ch5/include/toy/Lexer.h
    M mlir/examples/toy/Ch6/include/toy/Lexer.h
    M mlir/examples/toy/Ch7/include/toy/Lexer.h

  Log Message:
  -----------
  Include <cstdlib> in Toy Lexer examples. (#110449)

These files all use `strtod` - make sure to include a proper header for
this function. Otherwise, building MLIR fails on some systems after the
recent commit 1b5f6916199ce09244cdb52c6911f2028e6ca95a which removed
inclusion of `<cmath>` and thus broke transitive inclusion of
`<stdlib.h>` in these headers.


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

  Changed paths:
    M llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    R llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/SandboxIR/User.h
    M llvm/include/llvm/SandboxIR/Value.h
    A llvm/include/llvm/SandboxIR/Values.def
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/User.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Rename SandboxIRValues.def to Values.def (#110538)


  Commit: 18fa9fa0439d483060cee42412926565838822d4
      https://github.com/llvm/llvm-project/commit/18fa9fa0439d483060cee42412926565838822d4
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [LLD][COFF] Add support for ARM64EC delay-load imports (#110042)

Fill the regular delay-load IAT with x86_64 delay-load thunks. Similarly
to regular imports, create an auxiliary IAT and its copy for ARM64EC
calls. These are filled with the same `__impchk_` thunks used for
regular imports, which perform an indirect call with
`__icall_helper_arm64ec` on the regular delay-load IAT. These auxiliary
IATs are exposed via CHPE metadata starting from version 2.

The MSVC linker creates one more copy of the auxiliary IAT. `__imp_func`
symbols refer to that hidden IAT, while the `#func` thunk performs a
call with the public auxiliary IAT. If the public auxiliary IAT is fine
for `#func`, it should be fine for calls using the `__imp_func` symbol
as well. Therefore, I made `__imp_func` refer to that IAT too.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv-cfi-info.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
    M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
    M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.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-vfwmaccbf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.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/frm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/scalar-stack-align.ll
    M llvm/test/CodeGen/RISCV/rvv/stack-folding.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/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir

  Log Message:
  -----------
  [RISCV] Take known minimum vlen into account when calculating alignment padding in assignRVVStackObjectOffsets. (#110312)

If we know vlen is a multiple of 16, we don't need any alignment
padding.

I wrote the code so that it would generate the minimum amount of padding
if the stack align was 32 or larger or if RVVBitsPerBlock was smaller
than half the stack alignment.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
    M llvm/test/CodeGen/PowerPC/vec_abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/Thumb2/mve-fmath.ll
    M llvm/test/CodeGen/WebAssembly/simd-unsupported.ll

  Log Message:
  -----------
  [LegalizeVectorOps] Enable ExpandFABS/COPYSIGN to use integer ops for fixed vectors in some cases. (#109232)

Copy the same FSUB check from ExpandFNEG to avoid breaking AArch64 and
ARM.


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

  Changed paths:
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp

  Log Message:
  -----------
  [TBAA] Add tests with pointers to structs to tbaa-pointers.c.

Precommit tests for follow-up improvements to Clang's TBAA emission.

Also add variants with -pointer-tbaa to tbaa-reference.cpp.


  Commit: 023f7c9382599111244e682ea6b26011dbf7fc56
      https://github.com/llvm/llvm-project/commit/023f7c9382599111244e682ea6b26011dbf7fc56
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect Conversion: Update docs for `remapValues` (#110414)

Simplify the nesting structure of "if" checks in `remapValues` and
update the code comments.

This is what the comments stated in case there is no type converter:
```
      // TODO: What we should do here is just set `desiredType` to `origType`
      // and then handle the necessary type conversions after the conversion
      // process has finished. Unfortunately a lot of patterns currently rely on
      // receiving the new operands even if the types change, so we keep the
      // original behavior here for now until all of the patterns relying on
      // this get updated.
```

However, without a type converter it is not possible to perform any
materializations. Furthermore, the absence of a type converter indicates
that the pattern does not care about type legality. Therefore, the
current implementation is correct and this TODO can be removed.

Note: Patterns that actually require a remapped type to match the
original operand type can be equipped with a type converter that maps
each type to itself.

This TODO is outdated:
```
      // TODO: There currently isn't any mechanism to do 1->N type conversion
      // via the PatternRewriter replacement API, so for now we just ignore it.
```
1->N type conversions are already possible as part of block signature
conversions. It is incorrect to just ignore such cases. However, there
is currently no better way to handle 1->N conversions in this function
because of infrastructure limitations. This is now clarified in the
comments.


  Commit: 49df12c01e99af6e091fedc123f775580064740a
      https://github.com/llvm/llvm-project/commit/49df12c01e99af6e091fedc123f775580064740a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp

  Log Message:
  -----------
  [mlir][NFC] Minor cleanup around `ModuleOp` usage (#110498)

Use `moduleOp.getBody()` instead of `moduleOp.getBodyRegion().front()`.


  Commit: 1094ee71da533929cebb7ce98fd2665c924387a7
      https://github.com/llvm/llvm-project/commit/1094ee71da533929cebb7ce98fd2665c924387a7
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Integration/debug-allocatable-1.f90
    M flang/test/Integration/debug-assumed-shape-array.f90
    M flang/test/Integration/debug-ptr-type.f90
    M flang/test/Transforms/debug-assumed-shape-array.fir

  Log Message:
  -----------
  [flang][debug] Better handle array lower bound of assumed shape arrays. (#110302)

As mentioned in #108633, we don't respect the lower bound of the assumed
shape arrays if those were specified. It happens in both cases:
1. When caller has non-default lower bound and callee has default
2. When callee has non-default lower bound and caller has default

This PR tries to fix this issue by improving our generation of lower
bound attribute on DICompositeTypeAttr. If we see a lower bound in the
declaration, we respect that. Note that same function is also used for
allocatable/pointer variables. We make sure that we get the lower bound
from descriptor in those cases. Please note that DWARF assumes a lower
bound of 1 so in many cases we don't need to generate the lower bound.

Fixes #108633.


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

  Changed paths:
    M flang/lib/Parser/program-parsers.cpp
    M flang/lib/Parser/stmt-parser.h
    A flang/test/Parser/recovery06.f90

  Log Message:
  -----------
  [flang] Improve error recovery for bad statement after CONTAINS (#109698)

After a CONTAINS statement in a program unit, a statement that cannot
begin a subprogram will trigger catastrophic error recovery. But the
compiler is presently emitting multiple errors for the same location
about expected variations of END statements. Emit fewer messages.

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


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

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h
    M flang/test/Evaluate/errors01.f90

  Log Message:
  -----------
  [flang] Improve error messages about overflowed integer conversions (#110031)

When an INTEGER conversion to a smaller kind overflows in constant
folding, report the truncated value so that it makes more sense later if
it shows up in other messages.


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

  Changed paths:
    M flang/include/flang/Common/format.h
    M flang/test/Semantics/io07.f90

  Log Message:
  -----------
  [flang] Downgrade specific format error to warning (#110314)

When a format is missing a comma between two edit descriptors, the
previous token was an integer, and the following item is a repeatable
edit descriptor or a parenthesized group, we emit an error, since it
can't be known where the digits of the integer should be split. But in
the case of a single digit, the situation is not ambiguous, and the
message should be a warning.

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


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

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/include/flang/Frontend/PreprocessorOptions.h
    M flang/include/flang/Parser/parsing.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/test/Parser/include.f

  Log Message:
  -----------
  [flang][preprocessor] Don't expand INCLUDE under -E by default (#110333)

Fortran INCLUDE lines have (until now) been treated like #include
directives. This isn't how things work with other Fortran compilers when
running under the -E option for preprocessing only, so stop doing it by
default, and add -fpreprocess-include-lines to turn it back on when
desired.


  Commit: f8ba021e64a0e76c8750a3666da68a59508afd97
      https://github.com/llvm/llvm-project/commit/f8ba021e64a0e76c8750a3666da68a59508afd97
  Author: Dimple Prajapati <dimpalben.r.prajapati at intel.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    A mlir/test/Conversion/GPUToSPIRV/printf.mlir
    M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add gpu printf op lowering to spirv.CL.printf op (#78510)

This change contains following:
	- adds lowering of printf op to spirv.CL.printf op in GPUToSPIRV pass.
	- Fixes Constant decoration parsing for spirv GlobalVariable.
	- minor modification to spirv.CL.printf op assembly format.

---------

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


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

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-subvector.ll

  Log Message:
  -----------
  [GlobalISel] Import extract/insert subvector (#110287)

Test: AArch64/GlobalISel/irtranslator-subvector.ll

Reference:

https://llvm.org/docs/LangRef.html#llvm-vector-extract-intrinsic 
https://llvm.org/docs/LangRef.html#llvm-vector-insert-intrinsic


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

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/test/CodeGen/X86/avx512-gfni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
    M llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
    M llvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/stack-folding-int-avx512.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll

  Log Message:
  -----------
  [X86] Decode VPTERNLOG truth tables when disassembling

Alongside something like:
  vpternlogq      zmm0, zmm2, zmm1, 64

We will now have a comment on the right like:
  # zmm0 = zmm0 & zmm2 & ~zmm1

This makes it easy to tell at a glance what sort of truth table the
instruction will provide.


  Commit: b8e79b3f5a23923dcf4a846571438d3857b3ad46
      https://github.com/llvm/llvm-project/commit/b8e79b3f5a23923dcf4a846571438d3857b3ad46
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Pre-commit tests for buffer contents legalization (#110559)

Currently, many attempts to lower loads and stores on buffer fat
pointers lower directly to intrinsic calls that will be unsupported by
or crash codegen (ex, storing a [2 x i32], a <6 x half>, or an i160).

Record the current behavior to make the effects of the fix more visible
in an upcoming PR.


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

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    R libcxx/test/configs/apple-libc++-backdeployment.cfg.in
    A libcxx/test/configs/apple-libc++-system.cfg.in
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/libcxx/test/features.py
    R libcxxabi/test/configs/apple-libc++abi-backdeployment.cfg.in
    A libcxxabi/test/configs/apple-libc++abi-system.cfg.in
    M libcxxabi/test/test_demangle.pass.cpp
    R libunwind/test/configs/apple-libunwind-backdeployment.cfg.in
    A libunwind/test/configs/apple-libunwind-system.cfg.in

  Log Message:
  -----------
  [runtimes] Run backdeployment CI on Github hosted runners (#109984)

This removes the need for macOS nodes in Buildkite. It also moves to the
proper way of testing backdeployment, which is to actually run on the
target OS itself, instead of using packaged dylibs from previous OS
versions and trying to emulate backdeployment with DYLD_LIBRARY_PATH.

As a drive-by change, also fix a few back-deployment annotations that
were incorrect and add support for minor versions in the Lit feature
determining availability from the target triple.


  Commit: 725eb6bb12e7471149fb7362093deb6a710fe258
      https://github.com/llvm/llvm-project/commit/725eb6bb12e7471149fb7362093deb6a710fe258
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [VPlan] Move createVPIRBasicBlock helper to VPIRBasicBlock (NFC).

Move the helper to VPIRBasicBlock to allow easier re-use outside
VPlan.cpp


  Commit: 78ccffc05336201c90e2c0bb2ae929ea3a6eec2b
      https://github.com/llvm/llvm-project/commit/78ccffc05336201c90e2c0bb2ae929ea3a6eec2b
  Author: David Truby <david.truby at arm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/extensions.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/runtime/extensions.cpp
    A flang/test/Lower/Intrinsics/free.f90
    A flang/test/Lower/Intrinsics/malloc.f90
    A flang/test/Semantics/free.f90

  Log Message:
  -----------
  [flang] Add MALLOC and FREE intrinsics for Cray pointers (#110018)

MALLOC and FREE are extensions provided by gfortran, Intel Fortran and
classic flang to allocate memory for Cray pointers. These are used in
some legacy codes such as libexodus.

All the above compilers accept using MALLOC and FREE with integers as
well, despite that this will often signify a bug in user code. We should
accept the same as the other compilers for compatibility.


  Commit: 4980f2177e5c1b68afc8249c52523cc0a38ecf1c
      https://github.com/llvm/llvm-project/commit/4980f2177e5c1b68afc8249c52523cc0a38ecf1c
  Author: BARRET <41060790+Adnios at users.noreply.github.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/lib/MC/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/SPIRV/CMakeLists.txt
    M mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
    M mlir/lib/Transforms/CMakeLists.txt
    M mlir/unittests/Target/LLVM/CMakeLists.txt

  Log Message:
  -----------
  CMake: Remove unnecessary dependencies on LLVM/MLIR (#110362)

There are some spurious libraries which can be removed.

I'm trying to bundle MLIR/LLVM library dependencies for our own
libraries. We're utilizing cmake function to recursively collect
MLIR/LLVM related dependencies. However, we identified certain library
dependencies as redundant and safe for removal.


  Commit: 96f37ae45310885e09195be09d9c05e1c1dff86b
      https://github.com/llvm/llvm-project/commit/96f37ae45310885e09195be09d9c05e1c1dff86b
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [NFC] Use initial-stack-allocations for more data structures (#110544)

This replaces some of the most frequent offenders of using a DenseMap that
cause a malloc, where the typical element-count is small enough to fit in
an initial stack allocation.

Most of these are fairly obvious, one to highlight is the collectOffset
method of GEP instructions: if there's a GEP, of course it's going to have
at least one offset, but every time we've called collectOffset we end up
calling malloc as well for the DenseMap in the MapVector.


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  [SandboxVec][Interval] Implement intersection and difference operations (#110549)

This patch implements a few set operations for the intervals. These
include:
- operator==() and operator!=() for comparing two intervals.
- disjoint()
- intersection()
- difference, which uses operator-()


  Commit: 27a8f00b2257c4dca40ca71a972970ae2fac308c
      https://github.com/llvm/llvm-project/commit/27a8f00b2257c4dca40ca71a972970ae2fac308c
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [Bazel] Fixup for #110538, Rename SandboxIRValues.def to Values.def


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
    M llvm/test/MC/WebAssembly/type-checker-errors.s

  Log Message:
  -----------
  [WebAssembly] Use 'any' type in more cases in AsmTypeCheck (#110403)

Now that we support 'any' type in the value stack in the checker, this
uses it in more places.

When an instruction pops multiple values, rather than popping in one by
one and generating multiple error messages, it adds them to a vector and
pops them at once. When the type to be popped is not clear, it pops
'any', at least makes sure there are correct number of values on the
stack. So for example, in case of `table.fill`, which expects `[i32 t
i32]` (where t is the type of the elements in the table), it pops them
at once, generating an error message like
```console
error: type mismatch, expected [i32, externref, i32] but got [...]
```
In case the table is invalid so we don't know the type, it tries to pop
an 'any' instead, popping whatever value there is:
```console
error: type mismatch, expected [i32, any, i32] but got [...]
```

Checks done on other instructions based on the register info are already
popping and pushing types in vectors, after #110094:
https://github.com/llvm/llvm-project/blob/a52251675f001115b225f57362d37e92b7355ef9/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp#L515-L536

This also pushes 'any' in case the type to push is unclear. For example,
`local/global.set` pushes a value of the type specified in the local or
global, but in case that local or global is invalid, we push 'any'
instead, which will match with whatever type.

The objective of all these is not to make one instruction's error
propragate continuously into subsequent instructions. This also matches
Wabt's behavior.

This also renames `checkAndPopTypes` to just `popTypes`, to be
consistent with a single-element version `popType`. `popType(s)` also
does type checks.


  Commit: 8b47711e844bce7d2b02022a0e190b9dcd3e50c4
      https://github.com/llvm/llvm-project/commit/8b47711e844bce7d2b02022a0e190b9dcd3e50c4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/MC/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/SPIRV/CMakeLists.txt
    M mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
    M mlir/lib/Transforms/CMakeLists.txt
    M mlir/unittests/Target/LLVM/CMakeLists.txt

  Log Message:
  -----------
  Revert "CMake: Remove unnecessary dependencies on LLVM/MLIR" (#110594)

Reverts llvm/llvm-project#110362

Multiple bots are broken.


  Commit: f3a4def436618c24e2eb9faa812994beb2cd7744
      https://github.com/llvm/llvm-project/commit/f3a4def436618c24e2eb9faa812994beb2cd7744
  Author: David Tenty <daltenty at ibm.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M libcxx/include/ios

  Log Message:
  -----------
  [libcxx][ios] initialize __fill_val_ in _FillHelper (#110279)

This is a small fix to https://github.com/llvm/llvm-project/pull/89305.
In the `__init` function of `_FillHelper`, `__fill_val_` was left
uninitialized. This worked for the implementation in the PR because we
always checked `__set_` before trying to read it, and would initialize
if it was unset.

However it turns out in earlier versions of the header (at least on AIX
which followed this path), we do a read of `__fill_val_` even if
`__set_` was false before initializing, to check if it matched the
sentinel value, so this causes undesired behaviour and UB.


  Commit: 915df1ae41652e2f595ce741dcd8f01878ef4e30
      https://github.com/llvm/llvm-project/commit/915df1ae41652e2f595ce741dcd8f01878ef4e30
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CXX/dcl/dcl.decl/p3.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG 2707 "Deduction guides cannot have a trailing requires-clause" (#110473)

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


  Commit: a5cd5d351ddb164d7bb5e6c5e20b2b6519d793f1
      https://github.com/llvm/llvm-project/commit/a5cd5d351ddb164d7bb5e6c5e20b2b6519d793f1
  Author: YAMAMOTO Takashi <yamamoto at midokura.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M lld/test/wasm/data-segments.ll
    M lld/test/wasm/shared-weak-symbols.s
    M lld/test/wasm/tls-export.s
    M lld/test/wasm/tls-non-shared-memory.s
    M lld/test/wasm/tls-relocations.s
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Avoid emitting empty __wasm_apply_data_relocs function (#109249)

Instead of always generating __wasm_apply_data_relocs when relevant
options like -pie and -shared are specified, generate it only when the
relevant relocations are actually necessary.

Note: omitting empty __wasm_apply_data_relocs is not a problem because
the export is optional in the spec (DynamicLinking.md) and all runtime
linker implementations I'm aware of implement it that way. (emscripten,
toywasm, wasm-tools)

Motivations:

* This possibly reduces the module size

* This is also a preparation to fix
https://github.com/llvm/llvm-project/issues/107387, for which it isn't
obvious if we need these relocations at the time of
createSyntheticSymbols. (unless we introduce a new explicit option like
--non-pie-dynamic-link.)


  Commit: 50e5411e4247421fd606f0a206682fcdf0303ae3
      https://github.com/llvm/llvm-project/commit/50e5411e4247421fd606f0a206682fcdf0303ae3
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/fold_lambda_with_variadics.cpp

  Log Message:
  -----------
  [Clang][Sema] Retain the expanding index for unevaluated type constraints (#109518)

(This continues the effort of #86265, fixing another piece of issue in
constraint evaluation on variadic lambdas.)

We need the depth of the primary template parameters for constraint
substitution. To that end, we avoided substituting type constraints by
copying the constraint expression when instantiating a template. This,
however, has left an issue in that for lambda's parameters, they can
reference outer template packs that would be expanded in the process of
an instantiation, where these parameters would make their way into the
constraint evaluation, wherein we have no other way to expand them later
in evaluation. For example,

    template <class... Ts> void foo() {
      bar([](C<Ts> auto value) {}...);
    }

The lambda references a pack `Ts` that should be expanded when
instantiating `foo()`. The `Ts` along with the constraint expression
would not be transformed until constraint evaluation, and at that point,
we would have no chance to expand `Ts` anyhow.

This patch takes an approach that transforms `Ts` from an unexpanded
TemplateTypeParmType into a SubstTemplateTypeParmType with the current
pack substitution index, such that we could use that to expand the type
during evaluation.

Fixes #101754


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

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

  Log Message:
  -----------
  [LLDB][Minidump] Fix bug where we were using the wrong collection for thread stacks (#110579)

In my prior two save core API's, I experimented on how to save stacks
with the new API. I incorrectly left these in, as the existing
`m_thread_by_range_end` was the correct choice.

I have removed the no-op collection, and moved to use the proper one.
It's worth noting this was not caught by testing because we do not
verify where the items are contained in the minidump. This would require
a test being aware of how minidumps are structured, or adding a textual
tool that we can then scan the output of.


  Commit: 45e1a38a10371b3ccf2a2199a0c16c6112751a3d
      https://github.com/llvm/llvm-project/commit/45e1a38a10371b3ccf2a2199a0c16c6112751a3d
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c

  Log Message:
  -----------
  [PGO] use -fprofile-update=atomic instead of mllvm option in ContinuousSyncMode/set-file-object.c

because on some platforms (e.g. AIX) the compiler adds -latomic to the link step in 32-bit.


  Commit: 4852374135773b03c14ba2003be99ed1169dedf4
      https://github.com/llvm/llvm-project/commit/4852374135773b03c14ba2003be99ed1169dedf4
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    A llvm/test/Transforms/DeadStoreElimination/malloc-to-calloc-with-nonzero-default-as.ll

  Log Message:
  -----------
  [llvm][opt][Transforms] Replacement `calloc` should match replaced `malloc` (#110524)

Currently DSE unconditionally emits `calloc` as returning a pointer to
AS0. However, this is incorrect for targets that have a non-zero default
AS, as it'd not match the `malloc` signature. This patch addresses that
by piping through the AS for the pointer returned by `malloc` into the
`calloc` insertion call.


  Commit: 75fad470318958656c50f3842024bd383445d419
      https://github.com/llvm/llvm-project/commit/75fad470318958656c50f3842024bd383445d419
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [llvm][AMDGPU] Avoid Type::getPointerTo() (NFC)

`llvm::Type::getPointerTo()` is to be deprecated & removed soon.


  Commit: 00128a20eec27246719d73ba427bf821883b00b4
      https://github.com/llvm/llvm-project/commit/00128a20eec27246719d73ba427bf821883b00b4
  Author: realqhc <caiqihan021 at hotmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    A clang/include/clang/Basic/BuiltinsRISCVXCV.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/riscv_corev_alu.h
    A clang/test/CodeGen/RISCV/riscv-xcvalu-c-api.c
    A clang/test/CodeGen/RISCV/riscv-xcvalu.c
    M llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/test/CodeGen/RISCV/xcvalu.ll

  Log Message:
  -----------
  [RISCV] Implement Clang Builtins for XCValu Extension in CV32E40P (#100684)

This commit adds the Clang Builtins, C API header and relevant tests for
XCValu extension.

Spec:
https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md

Contributor: @melonedo, @PaoloS02


  Commit: f86526cc4e12c794c510d5f049103a5b28b3f73f
      https://github.com/llvm/llvm-project/commit/f86526cc4e12c794c510d5f049103a5b28b3f73f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [gn build] Port 00128a20eec2


  Commit: f2f9cdd22171f0c54cad7c6b183857f3d856c344
      https://github.com/llvm/llvm-project/commit/f2f9cdd22171f0c54cad7c6b183857f3d856c344
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [MLIR] Add test fort #110518 `cast`-to-`dyn_cast` fix (#110563)

https://github.com/llvm/llvm-project/pull/110518 fixed assertion
failures in `cast` introduced in
https://github.com/llvm/llvm-project/pull/108450.

Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>


  Commit: 47d42cfa59b3f418b6f50504d258857abb04ac44
      https://github.com/llvm/llvm-project/commit/47d42cfa59b3f418b6f50504d258857abb04ac44
  Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

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

  Log Message:
  -----------
  [mlir][OpenMP] - MLIR to LLVMIR translation support for delayed privatization in `omp.target` ops. (#109668)

This patch adds support to translate the `private` clause on
`omp.target` ops from MLIR to LLVMIR. This first cut only handles
non-allocatables. Also, this is for delayed privatization.


  Commit: 463a4f15044c04279583d6d0da73ae49f4c242ec
      https://github.com/llvm/llvm-project/commit/463a4f15044c04279583d6d0da73ae49f4c242ec
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [Clang][Concepts] Normalize SizeOfPackExpr's pack declaration (#110238)

SizeOfPackExpr has a pointer to the referenced pack declaration, which
is left as-is during the transformation process.

The situation could be subtle when a friend class template declaration
comes into play. The declaration per se would be instantiated into its
parent declaration context, and consequently, the template parameter
list would have a depth adjustment; however, as we don't evaluate
constraints during instantiation, those constraints would still
reference the original template parameters, which is fine for constraint
evaluation because we have handled friend cases in the template argument
collection.

However, things are different when we want to profile the constraint
expression with dependent template arguments. The hash algorithm of
SizeOfPackExpr takes its pack declaration as a factor, which is the
original template parameter that might still have untransformed template
depths after the constraint normalization.

This patch transforms the pack declaration when normalizing constraint
expressions and pluses a fix in HandleFunctionTemplateDecl() where the
associated declaration is incorrect for nested specifiers.

Note that the fix in HandleFunctionTemplateDecl(), as well as the
handling logic for NestedNameSpecifier, would be removed once Krystian's
refactoring patch lands. But I still want to incorporate it in the patch
for the correction purpose, though it hasn't caused any problems so far
- I just tripped over that in getFullyPackExpandedSize() when I tried to
extract the transformed declarations from the TemplateArgument.

Fixes #93099

---------

Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>


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

  Changed paths:
    A libcxx/test/std/strings/basic.string/string.capacity/deallocate_size.pass.cpp

  Log Message:
  -----------
  [libc++][string] Add regression test for sized new/delete bug (#110210)

This is regression test for #90292.

Allocator used in test is very similar to test_allocator.
However, reproducer requires size_type of the string
to be 64bit, but test_allocator uses 32bit.

32bit size_type makes `sizeof(string::__long)` to be 16,
but the alignment issue fixed with #90292 is only triggered
with default `sizeof(string::__long)` which is 24.

Fixes #92128.

---------

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


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/test/CodeGen/X86/fold-add.ll

  Log Message:
  -----------
  [X86] Don't convert local function foo in the same section to foo(%rip) when the offset is near INT32_MIN

```
define internal void @foo() {
  ret void
}
define i64 @main() {
  ret i64 add (i64 ptrtoint (ptr @foo to i64), i64 -2147483626)
}
```

When `foo` is a local symbol, `foo` and `main` are in the same section,
and `offset` is near INT32_MIN, referencing `foo+offset` in `main` with
RIP-relative addressing needs `leaq .text+offset1(%rip), %rax` where
`offset1 < offset`, and `offset1` might underflow.
(https://discourse.llvm.org/t/arithmetic-referencing-dso-local-function-causes-compilation-error-on-linux-x64/80033):

Don't use RIP-relative addressing if the negative offset is near
INT32_MIN. Arbitrarily reuse the magic number in isOffsetSuitableForCodeModel to
guard against the edge case when `address(current_instruction)-foo < 4GiB-16MiB`.
If the difference is larger than 4GiB-16MiB, `ret i64 add (i64 ptrtoint
(ptr @foo to i64), i64 -2**32+256MiB)` would still cause the assembly
issue, such cases are unrealistic.

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


  Commit: 9ad557382564395a3098d9638132a20ecab3dff5
      https://github.com/llvm/llvm-project/commit/9ad557382564395a3098d9638132a20ecab3dff5
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [bazel] Fix build past 00128a20eec27246719d73ba427bf821883b00b4 (#110629)


  Commit: a81902ffc9b2074729c34160a5e111f139e21ccf
      https://github.com/llvm/llvm-project/commit/a81902ffc9b2074729c34160a5e111f139e21ccf
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/stack-folding.ll

  Log Message:
  -----------
  [RISCV] Fold vfmv.f.s of f16 into load from stack (#110214)

After #110144, we can finish off #110129 and fold f16 vfmv.f.s into a
flh.
vfmv.f.s is only available for f16 with zvfh, which in turn requires
zfhmin so we can use flh.

bf16 has no vfmv.f.s so the extract_vector_elt is lowered as an integer
in #110144, and gets the existing integer vmv.x.s fold.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVGISel.td

  Log Message:
  -----------
  [RISCV][GISel] Remove unused isel patterns for s32 shifts with s64 shift amount.

The legalizer doesn't appear to create these.


  Commit: b6091632e77c1dc89d27d5d59386e2c8fdc9ee69
      https://github.com/llvm/llvm-project/commit/b6091632e77c1dc89d27d5d59386e2c8fdc9ee69
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/stack-folding.ll

  Log Message:
  -----------
  [RISCV] Update stack-folding.ll test

It needs updated after #110312. Hopefully this fixes the buildbot failures


  Commit: 23c0850d2e860c5773da6e4ee4ecf9802ba62202
      https://github.com/llvm/llvm-project/commit/23c0850d2e860c5773da6e4ee4ecf9802ba62202
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    A llvm/test/CodeGen/RISCV/inline-asm-xsfvcp.ll

  Log Message:
  -----------
  [RISCV][VCIX] Add vcix_state to GNU inline assembly register set (#106914)

https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/56
Resolved https://github.com/llvm/llvm-project/issues/106700.
This enables inline asm to have vcix_state to be a clobbered register
thus disable reordering between VCIX intrinsics and inline asm.


  Commit: c26a5227c11d827ca52ec668fce749f8cba9aeb6
      https://github.com/llvm/llvm-project/commit/c26a5227c11d827ca52ec668fce749f8cba9aeb6
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake

  Log Message:
  -----------
  [compiler-rt] Fix C and C++ compilers being switched when compiling tests (#110552)

The logic was simply switched. Fixes building tests for me.  
Not sure how I haven't stumbled upon this before considering this code hasn't changed lately and my setup's been the same.

Fixes: 07317bbc66d1f2d7663af3c9f04d0f6c0487ac03


  Commit: 8897dd6fc520bc2184ee906974f2fd8c78140a79
      https://github.com/llvm/llvm-project/commit/8897dd6fc520bc2184ee906974f2fd8c78140a79
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect Conversion: Simplify `finalize` signature (#110419)

This commit simplifies the signature of `OperationConverter::finalize`.
This function always returns "success", so the return value can be
removed.

Note: Previously, this function used to return "failure" if a
materialization failed to legalize. This is now optional and happening
at a later point of time (see `config.buildMaterializations`).


  Commit: 2da417e7f6149f0f1079a8162fb25161b8a80332
      https://github.com/llvm/llvm-project/commit/2da417e7f6149f0f1079a8162fb25161b8a80332
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [mlir][GPU] gpu.printf: Do not emit duplicate format strings (#110504)

Even if the same format string is used multiple times, emit just one
`LLVM:GlobalOp`.


  Commit: ec61311e77b39fc7f9b45ffdb8a29b2d96f67265
      https://github.com/llvm/llvm-project/commit/ec61311e77b39fc7f9b45ffdb8a29b2d96f67265
  Author: Stephen Chou <stephenchouca at users.noreply.github.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/invalid-type-cast-patfrags.td
    A llvm/test/TableGen/multiple-type-casts-patfrags.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Support type casts of nodes with multiple results (#109728)

Currently, type casts can only be used to pattern match for intrinsics
with a single overloaded return value. For instance:
```
def int_foo : Intrinsic<[llvm_anyint_ty], []>;
def : Pat<(i32 (int_foo)), ...>;
```

This patch extends type casts to support matching intrinsics with
multiple overloaded return values. As an example, the following defines
a pattern that matches only if the overloaded intrinsic call returns an
`i16` for the first result and an `i32` for the second result:
```
def int_bar : Intrinsic<[llvm_anyint_ty, llvm_anyint_ty], []>;
def : Pat<([i16, i32] (int_bar)), ...>;
```


  Commit: 0089f39e0fb39b3f1824c10dfe511b6c07711a50
      https://github.com/llvm/llvm-project/commit/0089f39e0fb39b3f1824c10dfe511b6c07711a50
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  [ProfileData] Avoid repeated hash lookups (NFC) (#110619)


  Commit: d50d9613e33274146d9bccfd09e4e8d7654f7e4a
      https://github.com/llvm/llvm-project/commit/d50d9613e33274146d9bccfd09e4e8d7654f7e4a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/MCA/InstrBuilder.cpp

  Log Message:
  -----------
  [MCA] Avoid repeated hash lookups (NFC) (#110622)


  Commit: 36235cee9b48b2bf951c501f943d790469bb5804
      https://github.com/llvm/llvm-project/commit/36235cee9b48b2bf951c501f943d790469bb5804
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  Add a testcase for the -Wdangling-assignment-gsl warning, NFC.


  Commit: 257707b45332a8d4f30df317753cece76eca7795
      https://github.com/llvm/llvm-project/commit/257707b45332a8d4f30df317753cece76eca7795
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang][NFC] Add a test for CWG 2913 (#110614)

I marked DR2913 as implemented in 915df1ae, but I forgot to add a
corresponding test, so running the script would fail thereafter.


  Commit: cc3cc5edbec74255254a447dd0efb7ce398e2244
      https://github.com/llvm/llvm-project/commit/cc3cc5edbec74255254a447dd0efb7ce398e2244
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp

  Log Message:
  -----------
  [flang][NFC] simplify dispatching of reduction runtime calls (#110479)

As part of t[he RFC to replace fir.complex usages by mlir
complex](https://discourse.llvm.org/t/rfc-flang-replace-usages-of-fir-complex-by-mlir-complex-type/82292),
this patch updates the type dispatch in Reduction.cpp to use macros to
avoid naming the types everywhere and to avoid typos when copy-pasting
the if/else chains.


  Commit: 0cf4cb4bde440586c310554d93dc09e47cb9bb79
      https://github.com/llvm/llvm-project/commit/0cf4cb4bde440586c310554d93dc09e47cb9bb79
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  Revert "[clang] Fix FIXME in dynamic initializer emission, NFCI"

This reverts commit 601645c3b70e2a17d18779a3a51b8bc9ecdc9aa6.

This change wasn't NFC in practice, see
https://github.com/llvm/llvm-project/issues/110232 for details.


  Commit: 3ba4092c066b589d6c16fcca2f2826cd6f51140f
      https://github.com/llvm/llvm-project/commit/3ba4092c066b589d6c16fcca2f2826cd6f51140f
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
    A llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
    A llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size.ll

  Log Message:
  -----------
  [AMDGPU] Check vector sizes for physical register constraints in inline asm (#109955)

For register constraints that require specific register ranges, the
width of the range should match the type of the associated
parameter/return value. With this PR, we error out when that is not the
case. Previously, these cases would hit assertions or llvm_unreachables.

The handling of register constraints that require only a single register
remains more lenient to allow narrower non-vector types for the
associated IR values. For example, constraining an i16 or i8 value to a
32-bit register is still allowed.

Fixes #101190.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 8bc8b84225765cbeb31c74ac63dff05db1be79e0
      https://github.com/llvm/llvm-project/commit/8bc8b84225765cbeb31c74ac63dff05db1be79e0
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types-rev.ll
    A llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types.ll

  Log Message:
  -----------
  [SPIR-V] Fix inconsistency between previously deduced element type of a pointer and function's return type (#109660)

This PR improves type inference and fixes inconsistency between
previously deduced element type of a pointer and function's return type.
It fixes https://github.com/llvm/llvm-project/issues/109401 by ensuring
that OpPhi is consistent with respect to operand types.


  Commit: 3e79c7fec0665eb0e991f41922e0bc657a0ea9ea
      https://github.com/llvm/llvm-project/commit/3e79c7fec0665eb0e991f41922e0bc657a0ea9ea
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
    A llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
    A llvm/test/CodeGen/SPIRV/pointers/PtrCast-null-in-OpSpecConstantOp.ll

  Log Message:
  -----------
  [SPIR-V] Implement OpSpecConstantOp with ptr-cast operation (#109979)

This PR reworks implementation of OpSpecConstantOp with ptr-cast
operation (PtrCastToGeneric, GenericCastToPtr). Previous implementation
didn't take into account a lot of use cases, including multiple
inclusion of pointers, reference to a pointer from OpName, etc. A
reproducer is attached as a new test case.

This PR also fixes wrong type inference for IR patterns which generate
new virtual registers without SPIRV type. Previous implementation
assumed always that result has the same address space as a source that
is not the fact, and, for example, led to impossibility to emit a
ptr-cast operation in the reproducer, because wrong type inference
rendered source and destination with the same address space, eliminating
translation of G_ADDRSPACE_CAST.


  Commit: c538d5c8b2f1236f3bbba40c1abd15cf270550a5
      https://github.com/llvm/llvm-project/commit/c538d5c8b2f1236f3bbba40c1abd15cf270550a5
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/ignore-llvm-intrinsic.ll

  Log Message:
  -----------
  [SPIR-V] Discard some llvm intrinsics which we do not expect to actually represent code after lowering (#110233)

There are llvm intrinsics which we do not expect to actually represent
code after lowering or which are not implemented yet but can be found in
a customer's LLVM IR input. We do not want translation to crash when
these llvm intrinsics are found, and this PR fixes the issue with
translation crash for some known cases, aligned with Khronos Translator.


  Commit: 0e3476605f06abf88b04bc9b4df0ea6bfef86840
      https://github.com/llvm/llvm-project/commit/0e3476605f06abf88b04bc9b4df0ea6bfef86840
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/arithmetic-fence.ll

  Log Message:
  -----------
  [SPIR-V] Implement support of the SPV_EXT_arithmetic_fence SPIRV extension (#110500)

This PR implements support of the SPV_EXT_arithmetic_fence SPIRV
extension:
https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_arithmetic_fence.html.


  Commit: 670a98a1b3b357724fc458ff86e3cc780054cd58
      https://github.com/llvm/llvm-project/commit/670a98a1b3b357724fc458ff86e3cc780054cd58
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [AArch64] Consistently use EmitToStreamer across the AArch64AsmPrinter (#110107)

In preparation for refactoring the instruction size checks being made by
PAuth-related code, switch all instruction emission in AArch64AsmPrinter
to using EmitToStreamer function.

Introduce a single-operand overload of `EmitToStreamer(MCInst)`, as the
only MCStreamer passed as the first argument is actually `*OutStreamer`.
To decrease the number of code lines changed due to clang-format, do not
touch the existing calls to two-argument EmitToStreamer function so far.


  Commit: 1f5e8263b920f591c517a5dc562cccad39dd6ec7
      https://github.com/llvm/llvm-project/commit/1f5e8263b920f591c517a5dc562cccad39dd6ec7
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    A mlir/test/Dialect/Vector/shape-cast-folder.mlir
    M mlir/test/Dialect/Vector/vector-transforms.mlir

  Log Message:
  -----------
  [mlir][vector] Add a new TD Op for patterns leveraging ShapeCastOp (#110525)

Adds a new Transform Dialect Op that collects patters for dropping unit
dims from various Ops:
  * `transform.apply_patterns.vector.drop_unit_dims_with_shape_cast`.

It excludes patterns for vector.transfer Ops - these are collected
under:
  * `apply_patterns.vector.rank_reducing_subview_patterns`,

and use ShapeCastOp _and_ SubviewOp to reduce the rank (and to eliminate
unit dims).

This new TD Ops allows us to test the "ShapeCast folder" pattern in
isolation. I've extracted the only test that I could find for that
folder from "vector-transforms.mlir" and moved it to a dedicated file:
"shape-cast-folder.mlir". I also added a test case with scalable
vectors.

Changes in VectorTransforms.cpp are not needed (added a comment with
a TODO + ordered the patterns alphabetically). I am Including them here
to avoid a separate PR.


  Commit: 308c9a9451aaf8673b2c2dca6f4de384a3a06f37
      https://github.com/llvm/llvm-project/commit/308c9a9451aaf8673b2c2dca6f4de384a3a06f37
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-write-zt.ll

  Log Message:
  -----------
  [Clang][LLVM][AArch64] Add intrinsic for MOVT SME2 instruction (#97602)

This patch adds these intrinsics:

  // Variants are also available for:
  // [_s8], [_u16], [_s16], [_u32], [_s32], [_u64], [_s64]
  // [_bf16], [_f16], [_f32], [_f64]
void svwrite_lane_zt[_u8](uint64_t zt0, svuint8_t zt, uint64_t idx)
__arm_streaming __arm_inout("zt0");
void svwrite_zt[_u8](uint64_t zt0, svuint8_t zt) __arm_streaming
__arm_inout("zt0");

according to PR#324[1]
[1]https://github.com/ARM-software/acle/pull/324


  Commit: 09b8dbfa80d62e64efb09bd166324270c96badf9
      https://github.com/llvm/llvm-project/commit/09b8dbfa80d62e64efb09bd166324270c96badf9
  Author: Daniel Krupp <daniel.krupp at ericsson.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
    A clang/test/Analysis/divzero-tainted-div-difference.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c

  Log Message:
  -----------
  [analyzer] Add optin.taint.TaintedDiv checker (#106389)

Tainted division operation is separated out from the core.DivideZero
checker into the optional optin.taint.TaintedDiv checker. The checker
warns when the denominator in a division operation is an attacker
controlled value.


  Commit: 271dc4a3aa07554f0dd4db0b1cddf03007761bd1
      https://github.com/llvm/llvm-project/commit/271dc4a3aa07554f0dd4db0b1cddf03007761bd1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Headers/bmi2intrin.h
    M clang/test/CodeGen/X86/bmi2-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for PDEP/PEXT intrinsics (#110535)


  Commit: 091dc23a2f417ba556358784d084b13fd80c0a85
      https://github.com/llvm/llvm-project/commit/091dc23a2f417ba556358784d084b13fd80c0a85
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  BasicAA: update comments in a routine (NFC) (#110492)

The comments in isObjectSmallerThan are outdated, as it is only ever
called with the underlying object as the first argument. Update the
comments to reflect this.


  Commit: e2a855def523cf3731b971ad383d2942cd425944
      https://github.com/llvm/llvm-project/commit/e2a855def523cf3731b971ad383d2942cd425944
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    A llvm/test/Transforms/InstCombine/instcombine-verify-known-bits.ll

  Log Message:
  -----------
  [InstCombine] Fix SimplifyDemandedBits recursion cutoff for Arguments

There was a discrepancy between how SimplifyDemandedBits and
computeKnownBits handled the Argument case. computeKnownBits()
would use information from range attributes even once the
recursion limit has been reached.

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


  Commit: 39b2e35f3da7bfe3acc67f637edfdfd383f9bb03
      https://github.com/llvm/llvm-project/commit/39b2e35f3da7bfe3acc67f637edfdfd383f9bb03
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll

  Log Message:
  -----------
  [RISCV][test] Precommit tests showing codegen for unaligned load/store with zbkb

We have missed opportunities for selecting pack* instructions, that will
be addressed in future patches.


  Commit: 520562c597a0a1d3056cf75b648c4192f77582ec
      https://github.com/llvm/llvm-project/commit/520562c597a0a1d3056cf75b648c4192f77582ec
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/pmulh.ll

  Log Message:
  -----------
  Revert 412d59f0a510a05c08ed45545943dfd2f901bc5d "[DAG] combineShiftToMULH - handle zext nneg as sext"

Reverting until I can investigate a miscompilation reported by @mstorsjo


  Commit: 47861fa3f557b8017529de530914065034dbcde7
      https://github.com/llvm/llvm-project/commit/47861fa3f557b8017529de530914065034dbcde7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    A llvm/test/Assembler/amdgcn-intrinsic-attributes.ll

  Log Message:
  -----------
  AMDGPU: Mark ds append/consume intrinsics with align 4 (#110533)

Manual says the low 2 bits of the pointer are ignored.


  Commit: a5f3a2a8414a16077ca9a5544d30dd44b30b901e
      https://github.com/llvm/llvm-project/commit/a5f3a2a8414a16077ca9a5544d30dd44b30b901e
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp

  Log Message:
  -----------
  [lldb][TypeSystemClang] Add warning and defensive checks when ASTContext is not fully initialized (#110481)

As this comment around target initialization implies:
```
  // This can be NULL if we don't know anything about the architecture or if
  // the target for an architecture isn't enabled in the llvm/clang that we
  // built
```

There are cases where we might fail to call `InitBuiltinTypes` when
creating the backing `ASTContext` for a `TypeSystemClang`. If that
happens, the builtins `QualType`s, e.g., `VoidPtrTy`/`IntTy`/etc., are
not initialized and dereferencing them as we do in
`GetBuiltinTypeForEncodingAndBitSize` (and other places) will lead to
nullptr-dereferences. Example backtrace:
```
(lldb) run
Assertion failed: (!isNull() && "Cannot retrieve a NULL type pointer"), function getCommonPtr, file Type.h, line 958.
Process 2680 stopped
* thread #15, name = '<lldb.process.internal-state(pid=2712)>', stop reason = hit program assert
    frame #4: 0x000000010cdf3cdc liblldb.20.0.0git.dylib`DWARFASTParserClang::ExtractIntFromFormValue(lldb_private::CompilerType const&, lldb_private::plugin::dwarf::DWARFFormValue const&) const (.cold.1) + 
liblldb.20.0.0git.dylib`DWARFASTParserClang::ParseObjCMethod(lldb_private::ObjCLanguage::MethodName const&, lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType, ParsedDWARFTypeAttributes
, bool) (.cold.1):
->  0x10cdf3cdc <+0>:  stp    x29, x30, [sp, #-0x10]!
    0x10cdf3ce0 <+4>:  mov    x29, sp
    0x10cdf3ce4 <+8>:  adrp   x0, 545
    0x10cdf3ce8 <+12>: add    x0, x0, #0xa25 ; "ParseObjCMethod"
Target 0: (lldb) stopped.
(lldb) bt
* thread #15, name = '<lldb.process.internal-state(pid=2712)>', stop reason = hit program assert
    frame #0: 0x0000000180d08600 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x0000000180d40f50 libsystem_pthread.dylib`pthread_kill + 288
    frame #2: 0x0000000180c4d908 libsystem_c.dylib`abort + 128
    frame #3: 0x0000000180c4cc1c libsystem_c.dylib`__assert_rtn + 284
  * frame #4: 0x000000010cdf3cdc liblldb.20.0.0git.dylib`DWARFASTParserClang::ExtractIntFromFormValue(lldb_private::CompilerType const&, lldb_private::plugin::dwarf::DWARFFormValue const&) const (.cold.1) + 
    frame #5: 0x0000000109d30acc liblldb.20.0.0git.dylib`lldb_private::TypeSystemClang::GetBuiltinTypeForEncodingAndBitSize(lldb::Encoding, unsigned long) + 1188
    frame #6: 0x0000000109aaaed4 liblldb.20.0.0git.dylib`DynamicLoaderMacOS::NotifyBreakpointHit(void*, lldb_private::StoppointCallbackContext*, unsigned long long, unsigned long long) + 384
```

This patch adds a one-time user-visible warning for when we fail to
initialize the AST to indicate that initialization went wrong for the
given target. Additionally, we add checks for whether one of the
`ASTContext` `QualType`s is invalid before dereferencing any builtin
types.

The warning would look as follows:
```
(lldb) target create "a.out"
Current executable set to 'a.out' (arm64).
(lldb) b main
warning: Failed to initialize builtin ASTContext types for target 'some-unknown-triple'. Printing variables may behave unexpectedly.
Breakpoint 1: where = a.out`main + 8 at stepping.cpp:5:14, address = 0x0000000100003f90
```

rdar://134869779


  Commit: 7147e88f5502c4430e386247e92937a94b3e7c5b
      https://github.com/llvm/llvm-project/commit/7147e88f5502c4430e386247e92937a94b3e7c5b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement lzcnt/tzcnt/bzhi builtins (#110639)


  Commit: 8a8e7f3e43861e9a36c8f39fc21a2f50a6ccc9b3
      https://github.com/llvm/llvm-project/commit/8a8e7f3e43861e9a36c8f39fc21a2f50a6ccc9b3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/bmiintrin.h
    M clang/test/CodeGen/X86/bmi-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for all remaining BMI1 intrinsics (#110581)

BEXTR/TZCNT are already handled, so we just need to tag the rest of the intrinsics, which are all expanded to generic patterns.


  Commit: be9461cda66c7057f938bb4787b3bd69abff4921
      https://github.com/llvm/llvm-project/commit/be9461cda66c7057f938bb4787b3bd69abff4921
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll

  Log Message:
  -----------
  [LLVM][InstCombine][SVE] fcvtnt(a,all_active,b) != fcvtnt(undef,all_active,b) (#110278)

The "narrowing top" convert instructions leave the bottom half of active
elements untouched and thus the first paramater of their associated
intrinsic remains live even when there are no inactive lanes.


  Commit: e96f7788f5176dcf39c4eb53e4146f1e791adf83
      https://github.com/llvm/llvm-project/commit/e96f7788f5176dcf39c4eb53e4146f1e791adf83
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [clang][x86] Fix bad merge in #110581


  Commit: 79ecb814d0c929a66ad92c7b3e91191f01247ac1
      https://github.com/llvm/llvm-project/commit/79ecb814d0c929a66ad92c7b3e91191f01247ac1
  Author: lntue <lntue at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/test/src/math/smoke/pow_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp

  Log Message:
  -----------
  [libc][math] Fix exceptional cases pow(-0, 1/2) and pow(-inf, 1/2). (#110566)


  Commit: cc01112660499a4db74bc3ee24b6f60b03d88dbd
      https://github.com/llvm/llvm-project/commit/cc01112660499a4db74bc3ee24b6f60b03d88dbd
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-109835.ll

  Log Message:
  -----------
  [SLP][REVEC] getTypeSizeInBits should apply to scalar type instead of FixedVectorType. (#110610)

reference: https://github.com/llvm/llvm-project/issues/109835


  Commit: 7b8f7beadcf1814b1f1aa985d344ca17747531a7
      https://github.com/llvm/llvm-project/commit/7b8f7beadcf1814b1f1aa985d344ca17747531a7
  Author: tigbr <160260245+tigbr at users.noreply.github.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-bad-config.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-is-disabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-is-enabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-prefixes-and-suffixes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-prefixes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-suffixes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-strictmode-is-disabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-strictmode-is-enabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm

  Log Message:
  -----------
  [clang-tidy] Add new check bugprone-tagged-union-member-count (#89925)

This patch introduces a new check to find mismatches between the number
of data members in a union and the number enum values present in
variant-like structures.

Variant-like types can look something like this:

```c++
struct variant {
    enum {
        tag1,
        tag2,
    } kind;
    union {
        int i;
        char c;
    } data;
};
```

The kind data member of the variant is supposed to tell which data
member of the union is valid, however if there are fewer enum values
than union members, then it is likely a mistake.

The opposite is not that obvious, because it might be fine to have more
enum values than union data members, but for the time being I am curious
how many real bugs can be caught if we give a warning regardless.

This patch also contains a heuristic where we try to guess whether the
last enum constant is actually supposed to be a tag value for the
variant or whether it is just holding how many enum constants have been
created.

Patch by Gábor Tóthvári!


  Commit: 574e2dc5f14bd1ac8a557d5e31f4fe7d2d6cb5ae
      https://github.com/llvm/llvm-project/commit/574e2dc5f14bd1ac8a557d5e31f4fe7d2d6cb5ae
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 7b8f7beadcf1


  Commit: a88901838aad686002bb4bcc4da4625b45fb7606
      https://github.com/llvm/llvm-project/commit/a88901838aad686002bb4bcc4da4625b45fb7606
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat] Correct semantics of minimum/maximum for signaling NaN arguments (#109976)

The minimum and maximum operations were introduced in
https://reviews.llvm.org/D52764 alongside the intrinsics. The question
of NaN propagation was discussed at the time, but the resulting
semantics don't seem to match what was ultimately agreed in IEEE754-2019
or the description we now have in the LangRef at
<https://llvm.org/docs/LangRef.html#llvm-min-intrinsics-comparation>.

Essentially, the APFloat implementation doesn't quiet a signaling NaN
input when it should in order to match the LangRef and IEEE spec.


  Commit: 91ef1f7caa4c8029952fd6d36e0858811d286bab
      https://github.com/llvm/llvm-project/commit/91ef1f7caa4c8029952fd6d36e0858811d286bab
  Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
    M mlir/python/mlir/_mlir_libs/_mlir/dialects/pdl.pyi
    M mlir/python/mlir/_mlir_libs/_mlir/dialects/quant.pyi
    M mlir/python/mlir/_mlir_libs/_mlir/dialects/transform/__init__.pyi
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
    M mlir/python/mlir/_mlir_libs/_mlirExecutionEngine.pyi

  Log Message:
  -----------
  A few tweaks to the MLIR .pyi files (#110488)


  Commit: c4d9cd8b747cb399a61dd987eb95ad518eb15448
      https://github.com/llvm/llvm-project/commit/c4d9cd8b747cb399a61dd987eb95ad518eb15448
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Thunks.h
    A lld/test/ELF/aarch64-thunk-bti.s

  Log Message:
  -----------
  [LLD][ELF][AArch64] Add BTI Aware long branch thunks (#108989)

When Branch Target Identification BTI is enabled all indirect branches
must target a BTI instruction. A long branch thunk is a source of
indirect branches. To date LLD has been assuming that the object
producer is responsible for putting a BTI instruction at all places the
linker might generate an indirect branch to. This is true for clang, but
not for GCC. GCC will elide the BTI instruction when it can prove that
there are no indirect branches from outside the translation unit(s). GNU
ld was fixed to generate a landing pad stub (gnu ld speak for thunk) for
the destination when a long range stub was needed [1].

This means that using GCC compiled objects with LLD may lead to LLD
generating an indirect branch to a location without a BTI. The ABI [2]
has also been clarified to say that it is a static linker's
responsibility to generate a landing pad when the target does not have a
BTI.

This patch implements the same mechansim as GNU ld. When the output ELF
file is setting the
GNU_PROPERTY_AARCH64_FEATURE_1_BTI property, then we check the
destination to see if it has a BTI instruction. If it does not we
generate a landing pad consisting of:
BTI c
B <destination>

The B <destination> can be elided if the thunk can be placed so that
control flow drops through. For example:
BTI c
<destination>:
This will be common when -ffunction-sections is used.

The landing pad thunks are effectively alternative entry points for the
function. Direct branches are unaffected but any linker generated
indirect branch needs to use the alternative. We place these as close as
possible to the destination section.

There is some further optimization possible. Consider the case:
.text
fn1
...
fn2
...

If we need landing pad thunks for both fn1 and fn2 we could order them
so that the thunk for fn1 immediately precedes fn1. This could save a
single branch. However I didn't think that would be worth the additional
complexity.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
[2] https://github.com/ARM-software/abi-aa/issues/196


  Commit: 0344123ffb47c88c896f5d2207cd53491a9823ed
      https://github.com/llvm/llvm-project/commit/0344123ffb47c88c896f5d2207cd53491a9823ed
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll

  Log Message:
  -----------
  [VPlan] Manage FMFs for VPWidenCall via VPRecipeWithIRFlags. (NFC)

Update VPWidenCallRecipe to manage fast-math flags directly via
VPRecipeWithIRFlags. This addresses a TODO and allows adjusting the FMFs
directly on the recipe. Also fixes printing for flags for
VPWidenCallRecipe.


  Commit: 4b3ba64ba71c06b6bc9db347a66a7316f5edbcc4
      https://github.com/llvm/llvm-project/commit/4b3ba64ba71c06b6bc9db347a66a7316f5edbcc4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/CodeGen/WebAssembly/simd-shift-in-loop.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
    M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp

  Log Message:
  -----------
  [SCEVExpander] Clear flags when reusing GEP (#109293)

As pointed out in the review of #102133, SCEVExpander currently
incorrectly reuses GEP instructions that have poison-generating flags
set. Fix this by clearing the flags on the reused instruction.


  Commit: b2a6814126641baf8ec78d61a4c9d813479a4272
      https://github.com/llvm/llvm-project/commit/b2a6814126641baf8ec78d61a4c9d813479a4272
  Author: James Chesterman <James.Chesterman at arm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll

  Log Message:
  -----------
  [AArch64][NEON][SVE] Lower i8 to i64 partial reduction to a dot product (#110220)

An i8 to i64 partial reduction can instead be done with an i8 to i32 dot
product followed by a sign extension.


  Commit: ba340b2f475a2165430636d5b2510db3d6dd1f86
      https://github.com/llvm/llvm-project/commit/ba340b2f475a2165430636d5b2510db3d6dd1f86
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    A lld/test/COFF/arm64ec-loadcfg.s

  Log Message:
  -----------
  [LLD][COFF] Define remaining ARM64EC builtin symbols (#110640)

__arm64x_native_entrypoint and __guard_check_icall_a64n_fptr are
relevant only for hybrid ARM64X images, we need support for separate
namespaces before we can support them.

__hybrid_image_info_bitfield is 0 in MSVC linker in all tests I tried.


  Commit: b8b036a7fe5b6e7ec306e3b80367e22d157a492b
      https://github.com/llvm/llvm-project/commit/b8b036a7fe5b6e7ec306e3b80367e22d157a492b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
    M clang/test/Options/enable_16bit_types_validation_spirv.hlsl

  Log Message:
  -----------
  [HLSL] Treat `main` as any other function (#110546)

HLSL doesn't distinguish `main` from any other function. It does treat
entry points special, but they're not required to be called `main` so we
have a different attribute annotation to mark them.

At the moment this change really just changes the mangling of functions
named `main` in the Itanium mangling.

Fixes #110517

---------

Co-authored-by: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>


  Commit: a57a83fc15219184ea45fc026b917888088d43f2
      https://github.com/llvm/llvm-project/commit/a57a83fc15219184ea45fc026b917888088d43f2
  Author: B I Mohammed Abbas <the10minoverview at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/extendhfxf2.c
    M compiler-rt/lib/builtins/macho_embedded/common.txt
    A compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  Add missing extendhfxf2 in compiler rt (#109090)

Issue: #105181
extendhfxf2 calls extendhfXfy to convert _Float16 to double, then type
casts this converted value to long double.
__uint128_t may not be available on all architectures. Thus I din't use
extendhfXfy to widen precision to 128 bits.


  Commit: cab8c876920fb1bcd9363e5b7a0cda1da46d7e7b
      https://github.com/llvm/llvm-project/commit/cab8c876920fb1bcd9363e5b7a0cda1da46d7e7b
  Author: lntue <lntue at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  [libc] Fix race conditions in sprintf_test. (#110624)


  Commit: 14c4f28ec109ec84158d60a74d3d1b7bfa411c77
      https://github.com/llvm/llvm-project/commit/14c4f28ec109ec84158d60a74d3d1b7bfa411c77
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
    M llvm/test/CodeGen/RISCV/abds-neg.ll
    M llvm/test/CodeGen/RISCV/abds.ll
    M llvm/test/CodeGen/RISCV/abdu-neg.ll
    M llvm/test/CodeGen/RISCV/abdu.ll
    M llvm/test/CodeGen/RISCV/add-before-shl.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
    M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/legalize-fneg.ll
    M llvm/test/CodeGen/RISCV/llvm.exp10.ll
    M llvm/test/CodeGen/RISCV/llvm.frexp.ll
    M llvm/test/CodeGen/RISCV/memcpy.ll
    M llvm/test/CodeGen/RISCV/misched-load-clustering.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/nontemporal.ll
    M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64i-shift-sext.ll
    M llvm/test/CodeGen/RISCV/rvv/expand-no-v.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.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-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/scmp.ll
    M llvm/test/CodeGen/RISCV/shifts.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/stack-store-check.ll
    M llvm/test/CodeGen/RISCV/ucmp.ll
    M llvm/test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
    M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/RISCV/xtheadmempair.ll

  Log Message:
  -----------
  [RISCV] Enable load clustering by default (#73789)

We believe this is neutral or slightly better in the majority of cases.


  Commit: 9f81acf4ef39e05bb2833cb3d79914940f31ac6c
      https://github.com/llvm/llvm-project/commit/9f81acf4ef39e05bb2833cb3d79914940f31ac6c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/Mips/fp16-promote.ll

  Log Message:
  -----------
  [Mips] Regenerate test checks (NFC)

Some of these check lines are insufficient to determine correctness.
Generate full check lines instead.

To reduce noise, add nounwind and use static relocation model.


  Commit: a59e5d8115bce7d75330c5206b321ea88f183e09
      https://github.com/llvm/llvm-project/commit/a59e5d8115bce7d75330c5206b321ea88f183e09
  Author: eric-xtang1008 <eric.tang at starfivetech.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Constants.cpp

  Log Message:
  -----------
  [ConstantFold][RFC] Add AllowLHSConstant parameter in getBinOpAbsorber (#109736)

Add a AllowLHSConstant parameter in getBinOpAbsorber function for
supporting more binary operators.


  Commit: 2e559c3dceef94bcab7a112cc5e6600837851dab
      https://github.com/llvm/llvm-project/commit/2e559c3dceef94bcab7a112cc5e6600837851dab
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/tools/scan-build-py/tests/unit/test_report.py

  Log Message:
  -----------
  [NFC] Correct the misuse of the API in the Clang test-report script (#108725)

ref:
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertEqual


  Commit: f3d58f4161b86a479f68acb453e9622911c688a0
      https://github.com/llvm/llvm-project/commit/f3d58f4161b86a479f68acb453e9622911c688a0
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    A libcxx/include/__memory/voidify.h
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  Revert "[libc++] LWG3870: Remove `voidify` (#110355)" (#110587)

This reverts commit 78f9a8b82d772ff04a12ef95f2c9d31ee8f3e409.

This caused the LLDB test `TestDataFormatterGenericOptional.py` to fail, and we need
a bit more time to look into it.


  Commit: 007780f31e8585a7bed45bad72dc11aeca9600e4
      https://github.com/llvm/llvm-project/commit/007780f31e8585a7bed45bad72dc11aeca9600e4
  Author: lntue <lntue at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    R compiler-rt/lib/builtins/extendhfxf2.c
    M compiler-rt/lib/builtins/macho_embedded/common.txt
    R compiler-rt/test/builtins/Unit/extendhfxf2_test.c
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  Revert "Add missing extendhfxf2 in compiler rt" (#110662)

Reverts llvm/llvm-project#109090


  Commit: 8f2aa9dbad7c1400f66e1ee1c43b071a1905f3e6
      https://github.com/llvm/llvm-project/commit/8f2aa9dbad7c1400f66e1ee1c43b071a1905f3e6
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflow/release-binaries: Checkout sources before downloading artifacts (#109349)

The actions/checkout step will clear the current directory, so we need
to checkout the sources first so that the downloaded artifacts won't be
deleted.


  Commit: 9cd289fa4a7355e1bfd3129ba9c755f979fd0a72
      https://github.com/llvm/llvm-project/commit/9cd289fa4a7355e1bfd3129ba9c755f979fd0a72
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M .github/workflows/release-documentation.yml

  Log Message:
  -----------
  workflows/release-documentation: Submit a pull request with changes (#108247)

This is instead of pushing directly. Creating a pull request is slightly
more work for the release manager, but it is more secure as we no longer
need a secret with write access to the www-releases repo.


  Commit: fe61dbf1d3350d11ab975e45f805f3bfe885b8b7
      https://github.com/llvm/llvm-project/commit/fe61dbf1d3350d11ab975e45f805f3bfe885b8b7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/AMDGPUTypes.def
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Index/USRGeneration.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/tools/libclang/CIndex.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [AMDGPU] Specify width and align for all AMDGPU builtin types. NFC. (#109656)

This will be used in ASTContext::getTypeInfo which needs this
information for all builtin types, not just pointers.


  Commit: 936142e0e77902802005e2129cd8389059d849fd
      https://github.com/llvm/llvm-project/commit/936142e0e77902802005e2129cd8389059d849fd
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    M flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/nearbyint.cpp
    A flang/test/Lower/Intrinsics/ieee_rint_int.f90

  Log Message:
  -----------
  [flang] IEEE_RINT, IEEE_INT (#110509)

IEEE_RINT rounds a real value to an integer-valued real.

IEEE_INT rounds a real value to an integer value.
The primary IEEE_INT result is generated with a call to IEEE_RINT.


  Commit: 2672037e3666ba2153ca4e9de75675f72ea08b22
      https://github.com/llvm/llvm-project/commit/2672037e3666ba2153ca4e9de75675f72ea08b22
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] Support VOP3 only instructions with true16 and fake16 (#109891)

Update VOP3 only instructions with true16 and fake16 formats. 

This patch includes instructions:
V_MUL_LO_U16
V_MAX_U16
V_MAX_I16
V_MIN_U16
V_MIN_I16
V_LSHLREV_B16
V_LSHRREV_B16
V_ASHRREV_I16


  Commit: be6b4f69799861dc1f175a53c9a15d3c8afd3ed2
      https://github.com/llvm/llvm-project/commit/be6b4f69799861dc1f175a53c9a15d3c8afd3ed2
  Author: Steven Perron <stevenperron at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl

  Log Message:
  -----------
  [HLSL][SPIRV] Fix calling convention for call in entry function. (#110542)

Fix the calling convention used for the call in the entry point
wrapper. No calling convention is currently set. It can easily use the
calling convention of the function that is being called.

Without this, there is a mismatch in the calling convention between the
call site and the callee. This is undefined behaviour.


  Commit: bb78a0b33496fb0140cec1a92a689505f53253b7
      https://github.com/llvm/llvm-project/commit/bb78a0b33496fb0140cec1a92a689505f53253b7
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/requires-expr.cpp

  Log Message:
  -----------
  [clang] Fix the local parameter of void type inside the `Requires` expression. (#109831)

Fixes #109538.

In this patch, we introduce diagnostic for required expression
parameters in the same way as function parameters, fix the issue of
handling void type parameters, and align the behavior with GCC and other
compilers.


  Commit: 677e8cd6ff51e178bcb4669104763f71a2de106c
      https://github.com/llvm/llvm-project/commit/677e8cd6ff51e178bcb4669104763f71a2de106c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxxabi/lib/cxxabiv1.exp
    M libcxxabi/lib/itanium-base.exp
    A libcxxabi/lib/symbols-not-reexported.exp
    M libcxxabi/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Avoid re-exporting a few specific symbols from libc++abi (#109054)

In 6a884a9aef39, I synchronized the export list of libc++abi to the
export list of libc++. From the linker's perspective, this caused these
symbols to be taken from libc++.dylib instead of libc++abi.dylib.

However, that can be problematic when back-deploying. Indeed, this means
that the linker will encode an undefined reference to be fullfilled by
libc++.dylib, but when backdeploying against an older system, that
symbol might only be available in libc++abi.dylib.

Most of the symbols that started being re-exported after 6a884a9aef39
turn out to be implementation details of libc++abi, so nobody really
depends on them and this back-deployment issue is inconsequential.

However, we ran into issues with a few of these symbols while testing
LLVM 19, which led to this patch. This slipped between the cracks and
that is why the patch is coming so long after the original patch landed.

In the future, a follow-up cleanup would be to stop exporting most of
the _cxxabiv1_foo_type_infoE symbols from both libc++abi and libc++
since they are implementation details that nobody should be relying on.

rdar://131984512


  Commit: 97da34e0157d928e3cd0e9722b40ccf0d5769b5b
      https://github.com/llvm/llvm-project/commit/97da34e0157d928e3cd0e9722b40ccf0d5769b5b
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 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/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-loop-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/loop-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Add 'collapse' clause AST/basic Sema implementation (#109461)

The 'collapse' clause on a 'loop' construct is used to specify how many
nested loops are associated with the 'loop' construct. It takes an
optional 'force' tag, and an integer constant expression as arguments.

There are many other restrictions based on the contents of the loop/etc,
but those are implemented in followup patches, for now, this patch just
adds the AST node and does basic argument checking on the loop-count.


  Commit: d6d3d2f5d98c45f76480a6827d72720e2b1c72c0
      https://github.com/llvm/llvm-project/commit/d6d3d2f5d98c45f76480a6827d72720e2b1c72c0
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] Run additional LLDB data formatters tests as part of libc++'s CI (#110570)


  Commit: bea1c9026a0dbab3626b65049c339d0459d92b6f
      https://github.com/llvm/llvm-project/commit/bea1c9026a0dbab3626b65049c339d0459d92b6f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [NFC] Fix line width to fit in 80 columns (#110605)


  Commit: a86e966a2017ae1934cb9681260207f557329bba
      https://github.com/llvm/llvm-project/commit/a86e966a2017ae1934cb9681260207f557329bba
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/TableGen.cpp
    M libc/utils/HdrGen/Main.cpp
    M llvm/include/llvm/TableGen/Main.h
    M llvm/lib/TableGen/TableGenBackendSkeleton.cpp
    M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp

  Log Message:
  -----------
  [TableGen] Change TableGenMain to use const RecordKeeper (#110578)

Change TableGenMain's `MainFn` argument to be a function that accepts a
const reference to RecordKeeper.

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


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


  Commit: 017c2aba61a2a0c97c7e71aa7610de7f3c0150e6
      https://github.com/llvm/llvm-project/commit/017c2aba61a2a0c97c7e71aa7610de7f3c0150e6
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/ASTTableGen.h
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [Clang][TableGen] Change ClangAttrEmitter to use const Record * (#110584)

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


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


  Commit: 52e7c699a5a0cbc157773cd1790a669d14d681cf
      https://github.com/llvm/llvm-project/commit/52e7c699a5a0cbc157773cd1790a669d14d681cf
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

  Log Message:
  -----------
  [Clang][TableGen] Change ClangDiagnosticEmitter to use const Record * (#110585)

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


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


  Commit: 5831eed8d038951eee0f9379de001a55ce352eb0
      https://github.com/llvm/llvm-project/commit/5831eed8d038951eee0f9379de001a55ce352eb0
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [Clang][TableGen] Change Opcodes Emitter to use const Record * (#110588)

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


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


  Commit: fdfd326a012f76bcab37e09e2d452fb379827676
      https://github.com/llvm/llvm-project/commit/fdfd326a012f76bcab37e09e2d452fb379827676
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp

  Log Message:
  -----------
  [Clang][LLVM] Change OpenCL Emitter to use const Record * (#110590)

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


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


  Commit: 9d95e2614e425f154cb5720d9eb276c25a26524e
      https://github.com/llvm/llvm-project/commit/9d95e2614e425f154cb5720d9eb276c25a26524e
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/TableGen/TGParser.h
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/SearchableTableEmitter.cpp

  Log Message:
  -----------
  [TableGen] Change all type pointers to const (#110602)

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


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


  Commit: 2469d7e361a2b7c8c814665a69dba09a4b17813a
      https://github.com/llvm/llvm-project/commit/2469d7e361a2b7c8c814665a69dba09a4b17813a
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    A llvm/lib/IR/Intrinsics.cpp

  Log Message:
  -----------
  [NFC] Add a new Intrinsics.cpp file for intrinsic code (#110078)

Add new file Intrinsics.cpp and move all functions in the `Intrinsic`
namespace to it.


  Commit: 60b604a1982c309f37af89a75a40c145d3e4cfa4
      https://github.com/llvm/llvm-project/commit/60b604a1982c309f37af89a75a40c145d3e4cfa4
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp

  Log Message:
  -----------
  [libc++][z/OS] Fix shared_ptr control block test when aligned allocation is not available (#109693)

This PR fixes the shared_ptr control block layout test that was recently updated in #76756.
When aligned allocation/deallocation is not available, part of the test doesn't work.


  Commit: 2026501cf107fcb3cbd51026ba25fda3af823941
      https://github.com/llvm/llvm-project/commit/2026501cf107fcb3cbd51026ba25fda3af823941
  Author: Tzung-Han Juang <tzunghan.juang at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
    M mlir/test/Dialect/LLVM/transform-e2e.mlir
    M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
    M mlir/test/Dialect/Linalg/pad-to-specific-memory-space.mlir
    M mlir/test/Dialect/Vector/transform-vector.mlir
    M mlir/test/Examples/transform/ChH/full.mlir

  Log Message:
  -----------
  [MLIR] Make `OneShotModuleBufferize` use `OpInterface` (#110322)

**Description:** 
This PR replaces a part of `FuncOp` and `CallOp` with
`FunctionOpInterface` and `CallOpInterface` in `OneShotModuleBufferize`.
Also fix the error from an integration test in the a previous PR
attempt. (https://github.com/llvm/llvm-project/pull/107295)

The below fixes skip `CallOpInterface` so that the assertions are not
triggered.


https://github.com/llvm/llvm-project/blob/8d780007625108a7f34e40efb8604b858e04c60c/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp#L254-L259


https://github.com/llvm/llvm-project/blob/8d780007625108a7f34e40efb8604b858e04c60c/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp#L311-L315

**Related Discord Discussion:**
[Link](https://discord.com/channels/636084430946959380/642426447167881246/1280556809911799900)

---------

Co-authored-by: erick-xanadu <110487834+erick-xanadu at users.noreply.github.com>


  Commit: 28be39f174f109923c321b4111d21028db432e3e
      https://github.com/llvm/llvm-project/commit/28be39f174f109923c321b4111d21028db432e3e
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A flang/test/Driver/B-opt.f90
    A flang/test/Driver/Inputs/B_opt_tree/dir1/i386-unknown-linux-ld
    A flang/test/Driver/Inputs/B_opt_tree/dir1/ld
    A flang/test/Driver/Inputs/B_opt_tree/dir2/ld
    A flang/test/Driver/Inputs/B_opt_tree/dir3/prefix-ld

  Log Message:
  -----------
  [Flang][Driver] Enable the -B option (#109965)

The option provides the search prefix for executables, libraries and
data files.

The option is implemented in the common portion of the Driver and only
needs to be enabled in Flang. Test added is a copy of the relevant test
in Clang.


  Commit: d0f67773b213383b6e1c9331fb00f2d4c14bfcb2
      https://github.com/llvm/llvm-project/commit/d0f67773b213383b6e1c9331fb00f2d4c14bfcb2
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    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
    M mlir/test/Target/LLVMIR/openmp-private.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Normalize handling of entry block arguments (#109808)

This patch introduces a new MLIR interface for the OpenMP dialect aimed
at providing a uniform way of verifying and handling entry block
arguments defined by OpenMP clauses.

The approach consists in defining a set of overrideable methods that
return the number of block arguments the operation holds regarding each
of the clauses that may define them. These by default return 0, but they
are overriden by the corresponding clause through the
`extraClassDeclaration` mechanism.

Another set of interface methods to get the actual lists of block
arguments is defined, which is implemented based on the previously
described methods. These implicitly define a standardized ordering
between the list of block arguments associated to each clause, based on
the alphabetical ordering of their names. They should be the preferred
way of matching operation arguments and entry block arguments to that
operation's first region.

Some updates are made to the printing/parsing of `omp.parallel` to
follow the expected order between `private` and `reduction` clauses, as
well as the MLIR to LLVM IR translation pass to access block arguments
using the new interface. Unit tests of operations impacted by additional
verification checks and sorting of entry block arguments.


  Commit: cb52e8e13d97b0e3972b42298b19d02e4d066db4
      https://github.com/llvm/llvm-project/commit/cb52e8e13d97b0e3972b42298b19d02e4d066db4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/bmi2intrin.h
    M clang/test/CodeGen/X86/bmi2-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for MULX intrinsics (#110654)

With this patch all BMI2 intrinsics can now be used in constant expressions


  Commit: 2a2c35a9a652ba8562884ec76008979c761df207
      https://github.com/llvm/llvm-project/commit/2a2c35a9a652ba8562884ec76008979c761df207
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-mul.ll

  Log Message:
  -----------
  [InstCombine] Fold `icmp spred (mul nsw X, Z), (mul nsw Y, Z)` into `icmp spred X, Y` (#110630)

```
icmp spred (mul nsw X, Z), (mul nsw Y, Z) -> icmp spred X, Y iff Z > 0
icmp spred (mul nsw X, Z), (mul nsw Y, Z) -> icmp spred Y, X iff Z < 0
```
Alive2: https://alive2.llvm.org/ce/z/9fXFfn


  Commit: 616d1d2e998aa7a26059dc36fa04875c469f69cd
      https://github.com/llvm/llvm-project/commit/616d1d2e998aa7a26059dc36fa04875c469f69cd
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [gn build] Port 2469d7e361a2


  Commit: f01d45cf97714a8751f1712b158c34bb28ce0ce3
      https://github.com/llvm/llvm-project/commit/f01d45cf97714a8751f1712b158c34bb28ce0ce3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVCompare.cpp

  Log Message:
  -----------
  [DebugInfo] Avoid repeated hash lookups (NFC) (#110620)


  Commit: ede866d708c1af64d333da77b024ce2b50b2a5da
      https://github.com/llvm/llvm-project/commit/ede866d708c1af64d333da77b024ce2b50b2a5da
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated hash lookups (NFC) (#110621)


  Commit: 8395b3f60f1f4afef45475c7b96f698e28615c4d
      https://github.com/llvm/llvm-project/commit/8395b3f60f1f4afef45475c7b96f698e28615c4d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir

  Log Message:
  -----------
  AMDGPU: Mark scc dead when materialized frame base registers


  Commit: dc98482d9817a18242e35fb9947f81cc6021b63c
      https://github.com/llvm/llvm-project/commit/dc98482d9817a18242e35fb9947f81cc6021b63c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  AMDGPU: Fix executable permissions on file


  Commit: 7ca4128d349ece40245c7cef280f808cf1283eab
      https://github.com/llvm/llvm-project/commit/7ca4128d349ece40245c7cef280f808cf1283eab
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [AArch64] Generalize the instruction size checking in AsmPrinter (#110108)

Most of PAuth-related code counts the instructions being inserted and
asserts that no more bytes are emitted than the size returned by the
getInstSizeInBytes(MI) method. This check seems useful not only for
PAuth-related instructions. Also, reimplementing it globally in
AArch64AsmPrinter makes it more robust and simplifies further
refactoring of PAuth-related code.


  Commit: e565a4fa0b09456265e28b017054b20ff4315c58
      https://github.com/llvm/llvm-project/commit/e565a4fa0b09456265e28b017054b20ff4315c58
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/GEPNoWrapFlags.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [IR] Extract helper for GEPNoWrapFlags intersection (NFC)

When combining two geps into one by adding the offsets, we have
to take some care when intersecting the flags, because nusw flags
cannot be straightforwardly preserved.

Add a helper for this on GEPNoWrapFlags so we won't have to repeat
this logic in various places.


  Commit: 16ba126a1465f6194c1f39a15740d72d30379c73
      https://github.com/llvm/llvm-project/commit/16ba126a1465f6194c1f39a15740d72d30379c73
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir

  Log Message:
  -----------
  [AMDGPU][GlobalISel][NFC] Use amdhsa target for flat/private tests (#110672)

As a proxy criterion, mesa targets have unaligned-access-mode (which
determines whether the hardware allows unaligned memory accesses) not
set whereas amdhsa targets do. This PR changes tests to use amdhsa
instead of mesa and inserts additional checks with unaligned-access-mode
unset explicitly.

This is in preparation for PR #110219, which will generate different
code depending on the unaligned-access-mode.


  Commit: 55c70f6d893452d3b7b2005bc6b5d208f2e840ba
      https://github.com/llvm/llvm-project/commit/55c70f6d893452d3b7b2005bc6b5d208f2e840ba
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Check GetPtrBase ops for null pointers (#110673)


  Commit: cd40070bfc77ab2641e69d3e749206ee5c5bbb42
      https://github.com/llvm/llvm-project/commit/cd40070bfc77ab2641e69d3e749206ee5c5bbb42
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [RegisterPressure] NFC: Clean up RP handling for instructions with overlapping Def/Use (#109875)

The current RP handling for uses of an MI that overlap with defs is
confusing and unnecessary. Moreover, the lane masks do not accurately
model the liveness behavior of the subregs. This cleans things up a bit
and more accurately models subreg lane liveness by sinking the use
handling into subsent Uses loop.

The effect of this PR is to replace

A. `increaseRegPressure(Reg, LiveAfter, ~LiveAfter & LiveBefore)`

with 

B. `increaseRegPressure(Reg, LiveAfter, LiveBefore)`

Note that A (Defs loop) and B (Uses loop) have different definitions of
LiveBefore

A. `LiveBefore = (LiveAfter & ~DefLanes) | UseLanes`

and 

B. `LiveBefore =  LiveAfter | UseLanes`

Also note, `increaseRegPressure` will exit if `PrevMask` (`LiveAfter`
for both A/B) has any active lanes, thus these calls will only have an
effect if `LiveAfter` is 0.


A. NewMask = ~LiveAfter & ((LiveAfter & ~DefLanes) | UseLanes) => (1 &
UseLanes) => UseLanes = (0 | UseLanes) => (LiveAfter | UseLanes) =
NewMask B.


  Commit: f3baa73c8b212cc039abf1bc3bb2024df8acae02
      https://github.com/llvm/llvm-project/commit/f3baa73c8b212cc039abf1bc3bb2024df8acae02
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement ia32_{pdep,pext} builtins (#110675)


  Commit: cdb3ebf1e62df060767863e1e683409d6077ca6e
      https://github.com/llvm/llvm-project/commit/cdb3ebf1e62df060767863e1e683409d6077ca6e
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/common-block-map.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
    M flang/test/Lower/OpenMP/distribute-parallel-do.f90
    M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/implicit-dsa.f90
    M flang/test/Lower/OpenMP/map-component-ref.f90
    M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    M flang/test/Lower/OpenMP/sections-array-reduction.f90
    M flang/test/Lower/OpenMP/sections-reduction.f90
    M flang/test/Lower/OpenMP/statement-function.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.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-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Transforms/omp-map-info-finalization.fir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug2.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-depend-host-only.mlir
    M mlir/test/Target/LLVMIR/omptarget-depend.mlir
    M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-fortran-common-block-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-record-type-mapping-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-host-only.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
    M mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-target-private.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Normalize representation of entry block arg-defining clauses (#109809)

This patch updates printing and parsing of operations including clauses
that define entry block arguments to the operation's region. This
impacts `in_reduction`, `map`, `private`, `reduction` and
`task_reduction`.

The proposed representation to be used by all such clauses is the
following:
```
<clause_name>([byref] [@<sym>] %value -> %block_arg [, ...] : <type>[, ...]) {
  ...
}
```

The `byref` tag is only allowed for reduction-like clauses and the
`@<sym>` is required and only allowed for the `private` and
reduction-like clauses. The `map` clause does not accept any of these
two.

This change fixes some currently broken op representations, like
`omp.teams` or `omp.sections` reduction:
```
omp.teams reduction([byref] @<sym> -> %value : <type>) {
^bb0(%block_arg : <type>):
  ...
}
```

Additionally, it addresses some redundancy in the representation of the
previously mentioned cases, as well as e.g. `map` in `omp.target`. The
problem is that the block argument name after the arrow is not checked
in any way, which makes some misleading representations legal:
```mlir
omp.target map_entries(%x -> %arg1, %y -> %arg0, %z -> %doesnt_exist : !llvm.ptr, !llvm.ptr, !llvm.ptr) {
^bb0(%arg0 : !llvm.ptr, %arg1 : !llvm.ptr, %arg2 : !llvm.ptr):
  ...
}
```

In that case, `%x` maps to `%arg0`, contrary to what the representation
states, and `%z` maps to `%arg2`. `%doesnt_exist` is not resolved, so it
would likely cause issues if used anywhere inside of the operation's
region.

The solution implemented in this patch makes it so that values
introduced after the arrow on the representation of these clauses
implicitly define the corresponding entry block arguments, removing the
potential for these problematic representations. This is what is already
implemented for the `private` and `reduction` clauses of `omp.parallel`.

There are a couple of consequences of this change:
- Entry block argument-defining clauses must come at the end of the
operation's representation and in alphabetical order. This is because
they are printed/parsed as part of the region and a standardized
ordering is needed to reliably match op arguments with their
corresponding entry block arguments via the `BlockArgOpenMPOpInterface`.
- We can no longer define per-clause assembly formats to be reused by
all operations that take these clauses, since they must be passed to a
custom printer including the region and arguments of all other entry
block argument-defining clauses. Code duplication and potential for
introducing issues is minimized by providing the generic
`{print,parse}BlockArgRegion` helpers and associated structures.

MLIR and Flang lowering unit tests are updated due to changes in the
order and formatting of impacted operations.


  Commit: 9f6f6afa31b52792dc1ec8ffa960dff394c22c72
      https://github.com/llvm/llvm-project/commit/9f6f6afa31b52792dc1ec8ffa960dff394c22c72
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  LoopSimplify: strip dependency on DA (NFC) (#107379)

Since no passes compute DependenceAnalysis via the PassManager, there is
no value in preserving it here. Hence, strip the unnecessary dependency
on DependenceAnalysis.


  Commit: c66dee4c6bd650ef20105532a311a95abb25ece5
      https://github.com/llvm/llvm-project/commit/c66dee4c6bd650ef20105532a311a95abb25ece5
  Author: Gang Chen <gangc at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refactor several functions for merging with downstream work. (#110562)

For setScore, the root function is setScoreByInterval with RegInterval
input
For determineWait, the root function is determineWait with RegInterval
input


  Commit: 5894d4e8e4fc506443c2fdeb8474484f3a1ecbe4
      https://github.com/llvm/llvm-project/commit/5894d4e8e4fc506443c2fdeb8474484f3a1ecbe4
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Use map format to represent use_device_{addr,ptr} (#109810)

This patch updates the `omp.target_data` operation to use the same
formatting as `map` clauses on `omp.target` for `use_device_addr` and
`use_device_ptr`. This is done so the mapping that is being enforced
between op arguments and associated entry block arguments is explicit.

The way it is achieved is by marking these clauses as entry block
argument-defining and adjusting printer/parsers accordingly.

As a result of this change, block arguments for `use_device_addr` come
before those for `use_device_ptr`, which is the opposite of the previous
undocumented situation. Some unit tests are updated based on this
change, in addition to those updated because of the format change.


  Commit: d071fdab44ad2abfdc21a14d0aa9518195ba78e4
      https://github.com/llvm/llvm-project/commit/d071fdab44ad2abfdc21a14d0aa9518195ba78e4
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [llvm][OMPIRBuilder] Avoid Type::getPointerTo() (NFC) (#110678)

`Type::getPointerTo()` is to be deprecated & removed soon.


  Commit: c63112a9118277a20ae440f3f69189c0937e8f4d
      https://github.com/llvm/llvm-project/commit/c63112a9118277a20ae440f3f69189c0937e8f4d
  Author: lntue <lntue at google.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    M libc/hdr/stdio_macros.h
    A libc/hdr/stdio_overlay.h
    M libc/hdr/types/CMakeLists.txt
    M libc/hdr/types/FILE.h
    M libc/hdr/types/cookie_io_functions_t.h
    M libc/hdr/types/off_t.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/stdio/asprintf.h
    M libc/src/stdio/gpu/CMakeLists.txt
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fprintf.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/printf.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    M libc/src/stdio/gpu/vfprintf.cpp
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/stdio/gpu/vprintf.cpp
    M libc/src/stdio/linux/CMakeLists.txt
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/vsscanf.cpp
    M libc/test/src/__support/File/file_test.cpp
    M libc/test/src/__support/File/platform_file_test.cpp
    M libc/test/src/fcntl/fcntl_test.cpp
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/stdio/fgetc_test.cpp
    M libc/test/src/stdio/fgetc_unlocked_test.cpp
    M libc/test/src/stdio/fgets_test.cpp
    M libc/test/src/stdio/fileop_test.cpp
    M libc/test/src/stdio/fopencookie_test.cpp
    M libc/test/src/stdio/fprintf_test.cpp
    M libc/test/src/stdio/fscanf_test.cpp
    M libc/test/src/stdio/ftell_test.cpp
    M libc/test/src/stdio/putc_test.cpp
    M libc/test/src/stdio/setbuf_test.cpp
    M libc/test/src/stdio/setvbuf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/stdio/ungetc_test.cpp
    M libc/test/src/stdio/unlocked_fileop_test.cpp
    M libc/test/src/stdio/vfprintf_test.cpp
    M libc/test/src/stdio/vfscanf_test.cpp
    M libc/test/src/unistd/getopt_test.cpp
    M libc/test/src/wchar/wctob_test.cpp

  Log Message:
  -----------
  [libc][stdio] Use proxy headers of stdio.h in src and test folders. (#110067)

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


  Commit: 4e52e6a0135ab7eab628dee2e1b10774852cdb77
      https://github.com/llvm/llvm-project/commit/4e52e6a0135ab7eab628dee2e1b10774852cdb77
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  [MLIR][OpenMP] Document entry block argument-defining clauses (NFC) (#109811)

This patch adds general information on the proposed approach to unify
the handling and representation of clauses that define entry block
arguments attached to operations that accept them.


  Commit: f61abee01a15d0339dea2d9f8e8da85b39b3b014
      https://github.com/llvm/llvm-project/commit/f61abee01a15d0339dea2d9f8e8da85b39b3b014
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir

  Log Message:
  -----------
  AMDGPU: Add missing tests for local stack alloc s_add_i32 handling

None of these tested the case where the non-frame index operand
was a register.


  Commit: 54a49658990e827173f3a3198331df7cbe50b0c0
      https://github.com/llvm/llvm-project/commit/54a49658990e827173f3a3198331df7cbe50b0c0
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Improve omp.section block arguments handling (#110266)

The `omp.section` operation is an outlier in that the block arguments it
has are defined by clauses on the required parent `omp.sections`
operation.

This patch updates the definition of this operation introducing the
`BlockArgOpenMPOpInterface` to simplify the handling and verification of
these block arguments, implemented based on the parent `omp.sections`.


  Commit: 0eb26021d2a95cbe69b3b7c9f271f4a59b0f52a4
      https://github.com/llvm/llvm-project/commit/0eb26021d2a95cbe69b3b7c9f271f4a59b0f52a4
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__memory/compressed_pair.h

  Log Message:
  -----------
  [libc++] Remove potential 0-sized array in __compressed_pair_padding (#109028)


  Commit: 0de0354aa8dcd6afab625c6833cb0f40309c2961
      https://github.com/llvm/llvm-project/commit/0de0354aa8dcd6afab625c6833cb0f40309c2961
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/test/TableGen/intrinsic-attrs.td
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Decrease code size of `Intrinsic::getAttributes` (#110573)

Decrease code size of `Intrinsic::getAttributes` function by uniquing
the function and argument attributes separately and using the
`IntrinsicsToAttributesMap` to store argument attribute ID in low 8 bits
and function attribute ID in upper 8 bits.

This reduces the number of cases to handle in the generated switch from
368 to 131, which is ~2.8x reduction in the number of switch cases.

Also eliminate the fixed size array `AS` and `NumAttrs` variable, and
instead call `AttributeList::get` directly from each case, with an
inline array of the <index, AttribueSet> pairs.


  Commit: 0dab02258addb0c93a7c9b4143cbbf130f36f73f
      https://github.com/llvm/llvm-project/commit/0dab02258addb0c93a7c9b4143cbbf130f36f73f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with external cast and extracted operand, NFC


  Commit: afc0557a04e333b67b96f8fce83b949ddb40fe2a
      https://github.com/llvm/llvm-project/commit/afc0557a04e333b67b96f8fce83b949ddb40fe2a
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/unittests/IR/AttributesTest.cpp
    M llvm/utils/TableGen/Attributes.cpp

  Log Message:
  -----------
  [IR][Attribute] Add support for intersecting AttributeLists; NFC (#109719)

Add support for taking the intersection of two AttributeLists s.t the
result list contains attributes that are valid in the context of both
inputs.

i.e if we have `nonnull align(32) noundef` intersected with `nonnull
align(16) dereferenceable(10)`, the result is `nonnull align(16)`.

Further it handles attributes that are not-droppable. For example
dropping `byval` can change the nature of a callsite/function so its
impossible to correct a correct intersection if its dropped from the
result. i.e `nonnull byval(i64)` intersected with `nonnull` is
invalid.

The motivation for the infrastructure is to enable sinking/hoisting
callsites with differing attributes.


  Commit: 87bb4914f89cf68461774808ac632241b28b369f
      https://github.com/llvm/llvm-project/commit/87bb4914f89cf68461774808ac632241b28b369f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M .github/new-prs-labeler.yml
    M .github/workflows/commit-access-review.py
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Profile/YAMLProfileWriter.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/Utils.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
    M bolt/lib/Utils/Utils.cpp
    R bolt/test/AArch64/Inputs/iplt.ld
    M bolt/test/AArch64/constant_island_pie_update.s
    R bolt/test/AArch64/ifunc.c
    A bolt/test/AArch64/ifunc.test
    M bolt/test/AArch64/update-weak-reference-symbol.s
    A bolt/test/Inputs/ifunc.c
    A bolt/test/Inputs/iplt.ld
    A bolt/test/X86/ifunc.test
    M bolt/test/X86/log.test
    A bolt/test/X86/print-only-section.s
    M bolt/test/X86/pseudoprobe-decoding-inline.test
    M bolt/test/X86/pseudoprobe-decoding-noinline.test
    M bolt/test/lit.local.cfg
    A bolt/test/merge-fdata-uninitialized-header.test
    M bolt/test/perf2bolt/lit.local.cfg
    M bolt/test/perf2bolt/perf_test.test
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/CODE_OWNERS.TXT
    M clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
    A clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
    M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Quality.cpp
    M clang-tools-extra/clangd/SemanticSelection.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
    M clang-tools-extra/clangd/index/StdLib.cpp
    M clang-tools-extra/clangd/index/Symbol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    A clang-tools-extra/clangd/support/Bracket.cpp
    A clang-tools-extra/clangd/support/Bracket.h
    M clang-tools-extra/clangd/support/CMakeLists.txt
    A clang-tools-extra/clangd/support/DirectiveTree.cpp
    A clang-tools-extra/clangd/support/DirectiveTree.h
    A clang-tools-extra/clangd/support/Lex.cpp
    A clang-tools-extra/clangd/support/Token.cpp
    A clang-tools-extra/clangd/support/Token.h
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    R clang-tools-extra/docs/clang-rename.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    A clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/dangling-handle.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/docs/index.rst
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/modularize/Modularize.cpp
    R clang-tools-extra/pseudo/CMakeLists.txt
    R clang-tools-extra/pseudo/DesignNotes.md
    R clang-tools-extra/pseudo/Disambiguation.md
    R clang-tools-extra/pseudo/README.md
    R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
    R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
    R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
    R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
    R clang-tools-extra/pseudo/fuzzer/Main.cpp
    R clang-tools-extra/pseudo/gen/CMakeLists.txt
    R clang-tools-extra/pseudo/gen/Main.cpp
    R clang-tools-extra/pseudo/include/CMakeLists.txt
    R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
    R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
    R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
    R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
    R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
    R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
    R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
    R clang-tools-extra/pseudo/lib/Bracket.cpp
    R clang-tools-extra/pseudo/lib/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
    R clang-tools-extra/pseudo/lib/Disambiguate.cpp
    R clang-tools-extra/pseudo/lib/Forest.cpp
    R clang-tools-extra/pseudo/lib/GLR.cpp
    R clang-tools-extra/pseudo/lib/Lex.cpp
    R clang-tools-extra/pseudo/lib/Token.cpp
    R clang-tools-extra/pseudo/lib/cli/CLI.cpp
    R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
    R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
    R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
    R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
    R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
    R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
    R clang-tools-extra/pseudo/test/.clang-format
    R clang-tools-extra/pseudo/test/CMakeLists.txt
    R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
    R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
    R clang-tools-extra/pseudo/test/check-cxx-bnf.test
    R clang-tools-extra/pseudo/test/crash/backslashes.c
    R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
    R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
    R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
    R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
    R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
    R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
    R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
    R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
    R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
    R clang-tools-extra/pseudo/test/cxx/keyword.cpp
    R clang-tools-extra/pseudo/test/cxx/literals.cpp
    R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
    R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
    R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
    R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
    R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
    R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
    R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
    R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
    R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
    R clang-tools-extra/pseudo/test/fuzzer.cpp
    R clang-tools-extra/pseudo/test/glr-variant-start.cpp
    R clang-tools-extra/pseudo/test/glr.cpp
    R clang-tools-extra/pseudo/test/html-forest.c
    R clang-tools-extra/pseudo/test/lex.c
    R clang-tools-extra/pseudo/test/lit.cfg.py
    R clang-tools-extra/pseudo/test/lit.local.cfg
    R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
    R clang-tools-extra/pseudo/test/lr-build-basic.test
    R clang-tools-extra/pseudo/test/lr-build-conflicts.test
    R clang-tools-extra/pseudo/test/strip-directives.c
    R clang-tools-extra/pseudo/tool/CMakeLists.txt
    R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
    R clang-tools-extra/pseudo/tool/HTMLForest.cpp
    R clang-tools-extra/pseudo/tool/HTMLForest.css
    R clang-tools-extra/pseudo/tool/HTMLForest.html
    R clang-tools-extra/pseudo/tool/HTMLForest.js
    R clang-tools-extra/pseudo/unittests/BracketTest.cpp
    R clang-tools-extra/pseudo/unittests/CMakeLists.txt
    R clang-tools-extra/pseudo/unittests/CXXTest.cpp
    R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
    R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
    R clang-tools-extra/pseudo/unittests/ForestTest.cpp
    R clang-tools-extra/pseudo/unittests/GLRTest.cpp
    R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
    R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
    R clang-tools-extra/pseudo/unittests/TokenTest.cpp
    M clang-tools-extra/test/CMakeLists.txt
    R clang-tools-extra/test/clang-apply-replacements/ClangRenameClassReplacements.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bdlb_nullablevalue.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bsl_optional.h
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
    R clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics-c11.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-bad-config.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-is-disabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-heuristic-is-enabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-prefixes-and-suffixes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-prefixes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-counting-enum-suffixes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-strictmode-is-disabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count-strictmode-is-enabled.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions.c
    M clang-tools-extra/test/clang-tidy/checkers/cert/flp30-c.c
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/avoid-endl.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
    M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp
    M clang-tools-extra/unittests/clang-tidy/NamespaceAliaserTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ReadabilityModuleTest.cpp
    M clang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
    M clang-tools-extra/unittests/clang-tidy/UsingInserterTest.cpp
    M clang-tools-extra/unittests/include/common/VirtualFileHelper.h
    M clang/CMakeLists.txt
    M clang/CodeOwners.rst
    A clang/README.md
    R clang/README.txt
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_diagnostics.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ClangFormattedStatus.rst
    M clang/docs/DebuggingCoroutines.rst
    M clang/docs/ExternalClangExamples.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/examples/Attribute/CMakeLists.txt
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtDataCollectors.td
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    M clang/include/clang/Basic/AMDGPUTypes.def
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/BuiltinsRISCV.td
    A clang/include/clang/Basic/BuiltinsRISCVXCV.td
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86_64.def
    A clang/include/clang/Basic/CFProtectionOptions.def
    A clang/include/clang/Basic/CFProtectionOptions.h
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    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/LangOptions.h
    M clang/include/clang/Basic/LangStandards.def
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/PartialDiagnostic.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaRISCV.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.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/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicExtent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/Testing/CommandLineArgs.h
    M clang/include/clang/Testing/TestClangConfig.h
    A clang/include/clang/Testing/TestLanguage.def
    M clang/include/clang/Tooling/CompilationDatabase.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    A clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/MemberPointer.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/DataCollection.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/StmtViz.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OperatorPrecedence.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCUDARuntime.cpp
    M clang/lib/CodeGen/CGCUDARuntime.h
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGObjCGNU.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/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MacroPPCallbacks.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    A clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
    M clang/lib/Driver/ToolChains/Arch/SystemZ.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    A clang/lib/Driver/ToolChains/UEFI.cpp
    A clang/lib/Driver/ToolChains/UEFI.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/ASTConsumers.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/ChainedIncludesSource.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/altivec.h
    M clang/lib/Headers/arm_acle.h
    A clang/lib/Headers/avx10_2_512satcvtdsintrin.h
    A clang/lib/Headers/avx10_2copyintrin.h
    A clang/lib/Headers/avx10_2satcvtdsintrin.h
    M clang/lib/Headers/avx512bitalgintrin.h
    M clang/lib/Headers/avx512vlbitalgintrin.h
    M clang/lib/Headers/avx512vpopcntdqintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/lib/Headers/bmi2intrin.h
    M clang/lib/Headers/bmiintrin.h
    M clang/lib/Headers/hexagon_types.h
    M clang/lib/Headers/hlsl.h
    A clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/llvm_libc_wrappers/ctype.h
    M clang/lib/Headers/lzcntintrin.h
    M clang/lib/Headers/module.modulemap
    A clang/lib/Headers/riscv_corev_alu.h
    M clang/lib/Headers/tbmintrin.h
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Headers/wasm_simd128.h
    M clang/lib/Index/USRGeneration.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/DeviceOffload.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    A clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaBase.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaStmt.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
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    R clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/DynamicExtent.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
    M clang/lib/Testing/CommandLineArgs.cpp
    M clang/lib/Tooling/CMakeLists.txt
    M clang/lib/Tooling/CommonOptionsParser.cpp
    M clang/lib/Tooling/Core/Replacement.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    A clang/lib/Tooling/LocateToolCompilationDatabase.cpp
    M clang/lib/Tooling/Refactoring/AtomicChange.cpp
    M clang/lib/Tooling/Transformer/Stencil.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/codegen.c
    A clang/test/AST/ByteCode/codegen.m
    A clang/test/AST/ByteCode/const-base-cast.cpp
    M clang/test/AST/ByteCode/constexpr-vectors.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    A clang/test/AST/ByteCode/extern.cpp
    A clang/test/AST/ByteCode/fixed-point.cpp
    M clang/test/AST/ByteCode/hlsl.hlsl
    M clang/test/AST/ByteCode/initializer_list.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/placement-new.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/shifts.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    M clang/test/AST/ByteCode/weak.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    A clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    M clang/test/AST/HLSL/vector-constructors.hlsl
    M clang/test/AST/ast-dump-concepts.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-print-openacc-loop-construct.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
    A clang/test/Analysis/Checkers/WebKit/unchecked-members.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-const-v-muable.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/NewDelete-atomics.cpp
    M clang/test/Analysis/NewDelete-checker-test.cpp
    M clang/test/Analysis/NewDelete-intersections.mm
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/asm.cpp
    M clang/test/Analysis/assume-controlled-environment.c
    M clang/test/Analysis/bool-assignment.c
    M clang/test/Analysis/casts.c
    A clang/test/Analysis/cstring-uninitread-notes.c
    M clang/test/Analysis/ctu-on-demand-parsing.c
    M clang/test/Analysis/ctu-on-demand-parsing.cpp
    M clang/test/Analysis/cxx-method-names.cpp
    M clang/test/Analysis/debug-exprinspection-istainted.c
    M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
    M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
    M clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c
    M clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
    A clang/test/Analysis/divzero-tainted-div-difference.c
    A clang/test/Analysis/embed.c
    M clang/test/Analysis/fread.c
    M clang/test/Analysis/global-region-invalidation-errno.c
    M clang/test/Analysis/global-region-invalidation.c
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/Analysis/malloc-annotations.c
    M clang/test/Analysis/malloc-interprocedural.c
    A clang/test/Analysis/malloc-refcounted.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.cpp
    A clang/test/Analysis/nullability-nocrash.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-notes.c
    M clang/test/Analysis/pointer-sub-notes.c
    M clang/test/Analysis/pointer-sub.c
    M clang/test/Analysis/ptr-arith.c
    M clang/test/Analysis/redefined_system.c
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/string.c
    M clang/test/Analysis/taint-checker-callback-order-has-definition.c
    M clang/test/Analysis/taint-checker-callback-order-without-definition.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-dumps.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/test/Analysis/taint-tester.c
    M clang/test/Analysis/taint-tester.cpp
    M clang/test/Analysis/taint-tester.m
    A clang/test/Analysis/z3-unarysymexpr.c
    A clang/test/C/C23/n3029.c
    A clang/test/C/C23/n3030.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/class/class.friend/p7-cxx20.cpp
    M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
    M clang/test/CXX/dcl/dcl.decl/p3.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/requires-expr.cpp
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    A clang/test/ClangScanDeps/implicit-target.c
    M clang/test/ClangScanDeps/modules-extern-submodule.c
    M clang/test/ClangScanDeps/modules-full-output-tu-order.c
    M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
    M clang/test/ClangScanDeps/modules-header-sharing.m
    M clang/test/ClangScanDeps/modules-implementation-module-map.c
    M clang/test/ClangScanDeps/modules-implementation-private.m
    M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
    A clang/test/ClangScanDeps/resolve-executable-path.c
    A clang/test/ClangScanDeps/verbose.test
    M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c
    R clang/test/CodeGen/PowerPC/transparent_union.c
    A clang/test/CodeGen/RISCV/riscv-cf-protection.c
    A clang/test/CodeGen/RISCV/riscv-xcvalu-c-api.c
    A clang/test/CodeGen/RISCV/riscv-xcvalu.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlmul_ext_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlmul_trunc_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vset.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vundefined.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlmul_ext_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlmul_trunc_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vset.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-abi.cpp
    A clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-errors.c
    A clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64-error.c
    A clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
    A clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
    A clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
    A clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
    A clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
    M clang/test/CodeGen/X86/avx512bitalg-builtins.c
    A clang/test/CodeGen/X86/avx512copy-builtins.c
    M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
    A clang/test/CodeGen/X86/bfloat16-convert-half.c
    M clang/test/CodeGen/X86/bmi-builtins.c
    M clang/test/CodeGen/X86/bmi2-builtins.c
    M clang/test/CodeGen/X86/lzcnt-builtins.c
    M clang/test/CodeGen/X86/tbm-builtins.c
    A clang/test/CodeGen/X86/uefi-data-layout.c
    M clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/CodeGen/aarch64-fmv-dependencies.c
    A clang/test/CodeGen/aarch64-fp8-intrinsics/acle_sme2_fp8_scale.c
    A clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
    A clang/test/CodeGen/aarch64-neon-fp8-intrinsics/acle_neon_fscale.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
    M clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
    M clang/test/CodeGen/arm_acle.c
    M clang/test/CodeGen/attr-counted-by.c
    A clang/test/CodeGen/attr-target-clones-riscv-invalid.c
    A clang/test/CodeGen/attr-target-clones-riscv.c
    M clang/test/CodeGen/attr-target-version.c
    A clang/test/CodeGen/bpf-attr-type-tag-atomic.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/debug-info-codeview-buildinfo.c
    A clang/test/CodeGen/inline-asm-output-variant.c
    A clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/ptrauth-init-fini.c
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
    M clang/test/CodeGen/svboolx2_t.cpp
    M clang/test/CodeGen/svboolx4_t.cpp
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/target-data.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp
    A clang/test/CodeGen/transparent-union-type.c
    M clang/test/CodeGen/ubsan-builtin-checks.c
    M clang/test/CodeGen/union-init2.c
    M clang/test/CodeGenCUDA/address-spaces.cu
    M clang/test/CodeGenCUDA/amdgpu-visibility.cu
    M clang/test/CodeGenCUDA/anon-ns.cu
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/device-var-init.cu
    M clang/test/CodeGenCUDA/device-var-linkage.cu
    M clang/test/CodeGenCUDA/filter-decl.cu
    M clang/test/CodeGenCUDA/static-device-var-no-rdc.cu
    M clang/test/CodeGenCUDA/static-device-var-rdc.cu
    M clang/test/CodeGenCUDA/template-class-static-member.cu
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    A clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
    M clang/test/CodeGenCXX/const-base-cast.cpp
    M clang/test/CodeGenCXX/cxx2a-consteval.cpp
    A clang/test/CodeGenCXX/debug-info-line-if-2.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/mangle-concept.cpp
    M clang/test/CodeGenCXX/mangle-subst.cpp
    M clang/test/CodeGenCXX/pr59765-modules-global-ctor-dtor.cppm
    M clang/test/CodeGenCXX/spirv-amdgcn-float16.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/weak-init.cpp
    A clang/test/CodeGenCoroutines/Inputs/utility.h
    A clang/test/CodeGenCoroutines/coro-await-elidable.cpp
    M clang/test/CodeGenHIP/hipspv-addr-spaces.cpp
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
    A clang/test/CodeGenHLSL/builtins/asfloat.hlsl
    A clang/test/CodeGenHLSL/builtins/asint.hlsl
    A clang/test/CodeGenHLSL/builtins/asuint.hlsl
    A clang/test/CodeGenHLSL/builtins/countbits.hlsl
    R clang/test/CodeGenHLSL/builtins/create_handle.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    A clang/test/CodeGenHLSL/builtins/fmod.hlsl
    A clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    A clang/test/CodeGenHLSL/builtins/select.hlsl
    A clang/test/CodeGenHLSL/builtins/sign.hlsl
    A clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
    A clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
    M clang/test/CodeGenHLSL/entry.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    A clang/test/CodeGenHLSL/inline-constructors.hlsl
    A clang/test/CodeGenHLSL/inline-functions.hlsl
    M clang/test/CodeGenHLSL/loops/unroll.hlsl
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
    M clang/test/CodeGenHLSL/this-assignment.hlsl
    A clang/test/CodeGenHLSL/wavesize.hlsl
    M clang/test/CodeGenObjC/boxing.m
    M clang/test/CodeGenObjC/dllstorage.m
    A clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/Driver/B-opt.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/arm-execute-only.c
    M clang/test/Driver/as-options.s
    M clang/test/Driver/cl-link.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/cl-zc.cpp
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Driver/codegen-data.c
    M clang/test/Driver/config-file-errs.c
    M clang/test/Driver/dxc_E.hlsl
    M clang/test/Driver/fbasic-block-sections.c
    A clang/test/Driver/fmodules-embed-all-files.cpp
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hipstdpar.c
    M clang/test/Driver/lld-repro.c
    M clang/test/Driver/mcmodel.c
    M clang/test/Driver/notypecheck.s
    M clang/test/Driver/nvlink-wrapper.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/ps4-linker.c
    M clang/test/Driver/ps4-ps5-header-search.c
    M clang/test/Driver/ps4-sdk-root.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/ps5-sdk-root.c
    M clang/test/Driver/relax.s
    M clang/test/Driver/response-file-errs.c
    M clang/test/Driver/riscv-cpus.c
    A clang/test/Driver/riscv-mcmodel.c
    M clang/test/Driver/riscv32-toolchain.c
    M clang/test/Driver/riscv64-toolchain.c
    M clang/test/Driver/target-as.s
    A clang/test/Driver/uefi-constructed-args.c
    M clang/test/Driver/windows-cross.c
    M clang/test/Driver/x86-march.c
    M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
    M clang/test/Frontend/fixed_point_comparisons.c
    M clang/test/Frontend/fixed_point_conversions_const.c
    M clang/test/Frontend/fixed_point_crash.c
    M clang/test/Frontend/fixed_point_div_const.c
    M clang/test/Frontend/fixed_point_errors.c
    M clang/test/Frontend/x86-target-cpu.c
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules2.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules3.cpp
    M clang/test/Headers/wasm.c
    M clang/test/Interpreter/multiline.cpp
    A clang/test/Misc/cc1as-output-asm-variant.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Misc/print-stats-vfs.test
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Misc/target-invalid-cpu-note/x86.c
    M clang/test/Misc/warning-flags.c
    A clang/test/Modules/GH109879-1.cpp
    A clang/test/Modules/GH109879-2.cpp
    M clang/test/Modules/cxx20-10-3-ex1.cpp
    A clang/test/Modules/lambda-definitions.cppm
    A clang/test/Modules/pr107673.cppm
    A clang/test/Modules/pr108732.cppm
    A clang/test/Modules/string-literal-uniqueness.cpp
    M clang/test/OpenMP/bug57757.cpp
    R clang/test/OpenMP/error_unsupport_feature.c
    M clang/test/OpenMP/lit.local.cfg
    A clang/test/OpenMP/scope_codegen.cpp
    M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
    A clang/test/PCH/race-condition.cpp
    A clang/test/Parser/cxx-bad-cast-diagnose-broken-template.cpp
    M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
    A clang/test/Parser/static_assert.cpp
    M clang/test/ParserHLSL/group_shared.hlsl
    M clang/test/ParserHLSL/group_shared_202x.hlsl
    A clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
    A clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
    M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/ParserHLSL/invalid_inside_cb.hlsl
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/Preprocessor/riscv-cmodel.c
    M clang/test/Preprocessor/riscv-target-features.c
    A clang/test/Sema/aarch64-neon-faminmax-no-faminmax.c
    A clang/test/Sema/aarch64-neon-faminmax-no-neon.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/test/Sema/annotate-type.c
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/Sema/attr-target-riscv.c
    M clang/test/Sema/attr-target-version.c
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/Sema/complex-arithmetic.c
    A clang/test/Sema/countbits-errors.hlsl
    M clang/test/Sema/enum.c
    M clang/test/Sema/ext_vector_casts.c
    M clang/test/Sema/fixed-enum.c
    M clang/test/Sema/fp16vec-sema.c
    M clang/test/Sema/riscv-asm.c
    M clang/test/Sema/scoped-atomic-ops.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    A clang/test/SemaCXX/PR97308.cpp
    M clang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp
    M clang/test/SemaCXX/attr-musttail.cpp
    A clang/test/SemaCXX/attr-target-clones-riscv.cpp
    M clang/test/SemaCXX/builtins-elementwise-math.cpp
    M clang/test/SemaCXX/builtins.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/constexpr-vectors.cpp
    M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
    A clang/test/SemaCXX/lambda-attributes.cpp
    M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
    M clang/test/SemaCXX/lambda-pack-expansion.cpp
    R clang/test/SemaCXX/pr61460.cpp
    A clang/test/SemaCXX/ptrauth-sign-constant.cpp
    A clang/test/SemaCXX/type-trait-common-type.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-no-libc-functions-in-c.c
    M clang/test/SemaCXX/weak-init.cpp
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    A clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    A clang/test/SemaHLSL/BuiltIns/asfloat-constexpr.hlsl
    A clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asint-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asuint-constexpr.hlsl
    A clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/sign-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/step-errors.hlsl
    A clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl
    M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
    M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/TruncationConstantExpr.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsIntangibleType.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
    M clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
    M clang/test/SemaHLSL/group_shared.hlsl
    M clang/test/SemaHLSL/group_shared_202x.hlsl
    M clang/test/SemaHLSL/prohibit_reference.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
    M clang/test/SemaObjC/ivar-access-tests.m
    M clang/test/SemaOpenACC/compute-construct-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/loop-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenCL/unsupported.cl
    M clang/test/SemaTemplate/GH18291.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/pack-deduction.cpp
    R clang/test/clang-rename/ClassAsTemplateArgument.cpp
    R clang/test/clang-rename/ClassFindByName.cpp
    R clang/test/clang-rename/ClassSimpleRenaming.cpp
    R clang/test/clang-rename/ClassTestMulti.cpp
    R clang/test/clang-rename/ClassTestMultiByName.cpp
    R clang/test/clang-rename/ComplexFunctionOverride.cpp
    R clang/test/clang-rename/ComplicatedClassType.cpp
    R clang/test/clang-rename/Ctor.cpp
    R clang/test/clang-rename/CtorInitializer.cpp
    R clang/test/clang-rename/DeclRefExpr.cpp
    R clang/test/clang-rename/ForceMulti.cpp
    R clang/test/clang-rename/ForwardClassDecl.cpp
    R clang/test/clang-rename/FunctionMacro.cpp
    R clang/test/clang-rename/FunctionOverride.cpp
    R clang/test/clang-rename/FunctionTemplate.cpp
    R clang/test/clang-rename/FunctionWithClassFindByName.cpp
    R clang/test/clang-rename/IncludeHeaderWithSymbol.cpp
    R clang/test/clang-rename/Inputs/HeaderWithSymbol.h
    R clang/test/clang-rename/Inputs/OffsetToNewName.yaml
    R clang/test/clang-rename/Inputs/QualifiedNameToNewName.yaml
    R clang/test/clang-rename/InvalidNewName.cpp
    R clang/test/clang-rename/InvalidOffset.cpp
    R clang/test/clang-rename/InvalidQualifiedName.cpp
    R clang/test/clang-rename/MemberExprMacro.cpp
    R clang/test/clang-rename/Namespace.cpp
    R clang/test/clang-rename/NoNewName.cpp
    R clang/test/clang-rename/NonExistFile.cpp
    R clang/test/clang-rename/TemplateClassInstantiation.cpp
    R clang/test/clang-rename/TemplateCtor.cpp
    R clang/test/clang-rename/TemplateTypename.cpp
    R clang/test/clang-rename/TemplatedClassFunction.cpp
    R clang/test/clang-rename/Typedef.cpp
    R clang/test/clang-rename/UserDefinedConversion.cpp
    R clang/test/clang-rename/Variable.cpp
    R clang/test/clang-rename/VariableMacro.cpp
    R clang/test/clang-rename/VariableTemplate.cpp
    R clang/test/clang-rename/YAMLInput.cpp
    M clang/tools/CMakeLists.txt
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
    R clang/tools/clang-format-vs/.gitignore
    R clang/tools/clang-format-vs/CMakeLists.txt
    R clang/tools/clang-format-vs/ClangFormat.sln
    R clang/tools/clang-format-vs/ClangFormat/ClangFormat.csproj
    R clang/tools/clang-format-vs/ClangFormat/ClangFormat.vsct
    R clang/tools/clang-format-vs/ClangFormat/ClangFormatPackage.cs
    R clang/tools/clang-format-vs/ClangFormat/GlobalSuppressions.cs
    R clang/tools/clang-format-vs/ClangFormat/Guids.cs
    R clang/tools/clang-format-vs/ClangFormat/PkgCmdID.cs
    R clang/tools/clang-format-vs/ClangFormat/Properties/AssemblyInfo.cs
    R clang/tools/clang-format-vs/ClangFormat/Resources.Designer.cs
    R clang/tools/clang-format-vs/ClangFormat/Resources.resx
    R clang/tools/clang-format-vs/ClangFormat/Resources/Images_32bit.bmp
    R clang/tools/clang-format-vs/ClangFormat/Resources/Package.ico
    R clang/tools/clang-format-vs/ClangFormat/RunningDocTableEventsDispatcher.cs
    R clang/tools/clang-format-vs/ClangFormat/VSPackage.resx
    R clang/tools/clang-format-vs/ClangFormat/Vsix.cs
    R clang/tools/clang-format-vs/ClangFormat/license.txt
    R clang/tools/clang-format-vs/ClangFormat/packages.config
    R clang/tools/clang-format-vs/README.txt
    R clang/tools/clang-format-vs/source.extension.vsixmanifest.in
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M clang/tools/clang-refactor/ClangRefactor.cpp
    M clang/tools/clang-refactor/TestSupport.cpp
    R clang/tools/clang-rename/CMakeLists.txt
    R clang/tools/clang-rename/ClangRename.cpp
    R clang/tools/clang-rename/clang-rename.el
    R clang/tools/clang-rename/clang-rename.py
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/tools/clang-scan-deps/CMakeLists.txt
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/include-mapping/gen_std.py
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXStoredDiagnostic.cpp
    M clang/tools/scan-build-py/tests/unit/test_report.py
    M clang/unittests/AST/CMakeLists.txt
    M clang/unittests/AST/MatchVerifier.h
    A clang/unittests/AST/RawCommentForDeclTest.cpp
    M clang/unittests/AST/SourceLocationTest.cpp
    M clang/unittests/AST/TemplateNameTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/Basic/SarifTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Driver/CMakeLists.txt
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestTextProto.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/OutputStreamTest.cpp
    M clang/unittests/Frontend/TextDiagnosticTest.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
    M clang/unittests/Interpreter/InterpreterTest.cpp
    R clang/unittests/Rename/CMakeLists.txt
    R clang/unittests/Rename/ClangRenameTest.h
    R clang/unittests/Rename/RenameAliasTest.cpp
    R clang/unittests/Rename/RenameClassTest.cpp
    R clang/unittests/Rename/RenameEnumTest.cpp
    R clang/unittests/Rename/RenameFunctionTest.cpp
    R clang/unittests/Rename/RenameMemberTest.cpp
    M clang/unittests/StaticAnalyzer/RangeSetTest.cpp
    M clang/unittests/Tooling/ASTSelectionTest.cpp
    M clang/unittests/Tooling/DiagnosticsYamlTest.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/TemplateArgumentLocTraverser.cpp
    M clang/unittests/Tooling/RefactoringTest.cpp
    M clang/unittests/Tooling/RewriterTestContext.h
    M clang/unittests/Tooling/StencilTest.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
    M clang/unittests/Tooling/Syntax/MutationsTest.cpp
    M clang/unittests/Tooling/Syntax/SynthesisTest.cpp
    M clang/unittests/Tooling/Syntax/TreeTest.cpp
    M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
    M clang/utils/TableGen/ASTTableGen.cpp
    M clang/utils/TableGen/ASTTableGen.h
    M clang/utils/TableGen/ClangASTNodesEmitter.cpp
    M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
    M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
    M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
    M clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M clang/utils/TableGen/ClangSACheckersEmitter.cpp
    M clang/utils/TableGen/ClangSyntaxEmitter.cpp
    M clang/utils/TableGen/ClangTypeNodesEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M clang/utils/analyzer/SATestBuild.py
    M clang/utils/check_cfc/obj_diff.py
    M clang/utils/module-deps-to-rsp.py
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status
    M cmake/Modules/CMakePolicy.cmake
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_flags.cpp
    M compiler-rt/lib/asan/asan_globals_win.cpp
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_win.cpp
    A compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/asan/asan_thread.cpp
    A compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
    A compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
    R compiler-rt/lib/asan/asan_win_dll_thunk.cpp
    M compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cpp
    A compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
    R compiler-rt/lib/asan/asan_win_weak_interception.cpp
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/asan/tests/asan_str_test.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    M compiler-rt/lib/builtins/cpu_model/aarch64.h
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/fp_trunc.h
    A compiler-rt/lib/builtins/truncxfbf2.c
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan_interceptors.cpp
    M compiler-rt/lib/dfsan/dfsan_thread.cpp
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
    M compiler-rt/lib/hwasan/hwasan.cpp
    M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
    M compiler-rt/lib/hwasan/hwasan_linux.cpp
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/lsan/lsan.cpp
    M compiler-rt/lib/lsan/lsan_interceptors.cpp
    M compiler-rt/lib/lsan/lsan_posix.cpp
    M compiler-rt/lib/memprof/memprof_malloc_linux.cpp
    M compiler-rt/lib/memprof/memprof_rtl.cpp
    M compiler-rt/lib/memprof/memprof_thread.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/msan/msan_thread.cpp
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    M compiler-rt/lib/nsan/nsan_thread.cpp
    M compiler-rt/lib/orc/adt.h
    M compiler-rt/lib/orc/bitmask_enum.h
    M compiler-rt/lib/orc/coff_platform.cpp
    M compiler-rt/lib/orc/coff_platform.h
    M compiler-rt/lib/orc/debug.cpp
    M compiler-rt/lib/orc/debug.h
    M compiler-rt/lib/orc/dlfcn_wrapper.cpp
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M compiler-rt/lib/orc/elfnix_platform.h
    M compiler-rt/lib/orc/endianness.h
    M compiler-rt/lib/orc/error.h
    M compiler-rt/lib/orc/executor_address.h
    M compiler-rt/lib/orc/executor_symbol_def.h
    M compiler-rt/lib/orc/extensible_rtti.cpp
    M compiler-rt/lib/orc/extensible_rtti.h
    M compiler-rt/lib/orc/interval_map.h
    M compiler-rt/lib/orc/interval_set.h
    A compiler-rt/lib/orc/jit_dispatch.h
    M compiler-rt/lib/orc/macho_platform.cpp
    M compiler-rt/lib/orc/macho_platform.h
    A compiler-rt/lib/orc/record_section_tracker.h
    M compiler-rt/lib/orc/run_program_wrapper.cpp
    M compiler-rt/lib/orc/simple_packed_serialization.h
    M compiler-rt/lib/orc/stl_extras.h
    M compiler-rt/lib/orc/string_pool.h
    M compiler-rt/lib/orc/tests/unit/adt_test.cpp
    M compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
    M compiler-rt/lib/orc/tests/unit/endian_test.cpp
    M compiler-rt/lib/orc/tests/unit/error_test.cpp
    M compiler-rt/lib/orc/tests/unit/executor_address_test.cpp
    M compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
    M compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
    M compiler-rt/lib/orc/tests/unit/interval_map_test.cpp
    M compiler-rt/lib/orc/tests/unit/interval_set_test.cpp
    M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
    M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
    M compiler-rt/lib/orc/tests/unit/string_pool_test.cpp
    M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
    M compiler-rt/lib/orc/wrapper_function_utils.h
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/rtsan/CMakeLists.txt
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan.h
    A compiler-rt/lib/rtsan/rtsan_assertions.h
    M compiler-rt/lib/rtsan/rtsan_context.cpp
    M compiler-rt/lib/rtsan/rtsan_context.h
    A compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    A compiler-rt/lib/rtsan/rtsan_diagnostics.h
    M compiler-rt/lib/rtsan/rtsan_flags.cpp
    M compiler-rt/lib/rtsan/rtsan_flags.inc
    M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
    M compiler-rt/lib/rtsan/rtsan_preinit.cpp
    R compiler-rt/lib/rtsan/rtsan_stack.cpp
    R compiler-rt/lib/rtsan/rtsan_stack.h
    A compiler-rt/lib/rtsan/rtsan_stats.cpp
    A compiler-rt/lib/rtsan/rtsan_stats.h
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt
    A compiler-rt/lib/rtsan/tests/rtsan_test_assertions.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_runtime_thunk.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_libignore.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.h
    R compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_win_immortalize.h
    A compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
    A compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.h
    R compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.h
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
    M compiler-rt/lib/sanitizer_common/weak_symbols.txt
    M compiler-rt/lib/scudo/standalone/allocator_common.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/release.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/lib/ubsan/ubsan_handlers.h
    M compiler-rt/lib/ubsan/ubsan_init.cpp
    R compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cpp
    R compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cpp
    A compiler-rt/lib/ubsan/ubsan_win_runtime_thunk.cpp
    R compiler-rt/lib/ubsan/ubsan_win_weak_interception.cpp
    M compiler-rt/test/asan/TestCases/Darwin/interface_symbols_darwin.cpp
    M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
    M compiler-rt/test/asan/TestCases/Linux/preinstalled_signal.cpp
    M compiler-rt/test/asan/TestCases/Linux/ptrace.cpp
    M compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp
    M compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage-fork.cpp
    M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
    M compiler-rt/test/asan/TestCases/Posix/strndup_oob_test2.cpp
    M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
    M compiler-rt/test/asan/TestCases/Windows/free_hook_realloc.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/msvc/dll_and_lib.cpp
    M compiler-rt/test/asan/TestCases/Windows/msvc/dll_large_function.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
    M compiler-rt/test/asan/TestCases/Windows/unsymbolized.cpp
    M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
    M compiler-rt/test/asan/TestCases/debug_double_free.cpp
    M compiler-rt/test/asan/TestCases/debug_report.cpp
    M compiler-rt/test/asan/TestCases/default_options.cpp
    M compiler-rt/test/asan/TestCases/global-overflow.cpp
    M compiler-rt/test/asan/TestCases/large_func_test.cpp
    M compiler-rt/test/asan/TestCases/on_error_callback.cpp
    M compiler-rt/test/asan/TestCases/report_error_summary.cpp
    M compiler-rt/test/asan/TestCases/strtol_strict.c
    M compiler-rt/test/asan/lit.cfg.py
    M compiler-rt/test/builtins/Unit/multf3_test.c
    M compiler-rt/test/fuzzer/compressed.test
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lit.common.configured.in
    M compiler-rt/test/lsan/TestCases/use_registers.cpp
    A compiler-rt/test/nsan/fcmp.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
    M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c
    M compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test
    M compiler-rt/test/rtsan/basic.cpp
    A compiler-rt/test/rtsan/blocking_call.cpp
    A compiler-rt/test/rtsan/deduplicate_errors.cpp
    M compiler-rt/test/rtsan/disabler.cpp
    A compiler-rt/test/rtsan/exit_stats.cpp
    A compiler-rt/test/rtsan/halt_on_error.cpp
    M compiler-rt/test/rtsan/lit.cfg.py
    A compiler-rt/test/rtsan/sanity_check_pure_c.c
    A compiler-rt/test/sanitizer_common/TestCases/Darwin/freadlink.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
    A compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
    A compiler-rt/test/sanitizer_common/TestCases/Posix/variadic-open.cpp
    A compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    R compiler-rt/test/tsan/Darwin/variadic-open.cpp
    M compiler-rt/test/tsan/ignore_lib3.cpp
    A compiler-rt/test/ubsan/TestCases/Integer/suppressions-builtin.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/builtins.cpp
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
    M flang/docs/Extensions.md
    M flang/docs/FlangDriver.md
    M flang/docs/Intrinsics.md
    M flang/include/flang/Common/Fortran-features.h
    A flang/include/flang/Common/LangOptions.def
    A flang/include/flang/Common/LangOptions.h
    M flang/include/flang/Common/float128.h
    A flang/include/flang/Common/float80.h
    M flang/include/flang/Common/format.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    R flang/include/flang/Frontend/LangOptions.def
    R flang/include/flang/Frontend/LangOptions.h
    M flang/include/flang/Frontend/PreprocessorOptions.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/SymbolMap.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    A flang/include/flang/Optimizer/Passes/CommandLineOpts.h
    A flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/include/flang/Optimizer/Support/DataLayout.h
    M flang/include/flang/Optimizer/Support/Utils.h
    A flang/include/flang/Optimizer/Transforms/CufOpConversion.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parsing.h
    A flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    A flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/CUDA/descriptor.h
    A flang/include/flang/Runtime/CUDA/memory.h
    A flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/transformational.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Semantics/type.h
    R flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Common/CMakeLists.txt
    A flang/lib/Common/LangOptions.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    R flang/lib/Frontend/LangOptions.cpp
    M flang/lib/Frontend/TextDiagnosticPrinter.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/lib/Optimizer/Passes/CMakeLists.txt
    A flang/lib/Optimizer/Passes/CommandLineOpts.cpp
    A flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    A flang/lib/Optimizer/Transforms/CufImplicitDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Optimizer/Transforms/StackReclaim.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/program-parsers.cpp
    M flang/lib/Parser/stmt-parser.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-do-forall.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/scope.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Semantics/type.cpp
    M flang/module/__fortran_builtins.f90
    M flang/module/__fortran_ieee_exceptions.f90
    M flang/module/ieee_arithmetic.f90
    M flang/module/iso_fortran_env.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/CUDA/CMakeLists.txt
    A flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    A flang/runtime/CUDA/memory.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    M flang/runtime/Float128Math/acos.cpp
    M flang/runtime/Float128Math/acosh.cpp
    M flang/runtime/Float128Math/asin.cpp
    M flang/runtime/Float128Math/asinh.cpp
    M flang/runtime/Float128Math/atan.cpp
    M flang/runtime/Float128Math/atan2.cpp
    M flang/runtime/Float128Math/atanh.cpp
    M flang/runtime/Float128Math/ceil.cpp
    M flang/runtime/Float128Math/complex-math.c
    M flang/runtime/Float128Math/complex-math.h
    M flang/runtime/Float128Math/cos.cpp
    M flang/runtime/Float128Math/cosh.cpp
    M flang/runtime/Float128Math/erf.cpp
    M flang/runtime/Float128Math/erfc.cpp
    M flang/runtime/Float128Math/exp.cpp
    M flang/runtime/Float128Math/exponent.cpp
    M flang/runtime/Float128Math/floor.cpp
    M flang/runtime/Float128Math/fma.cpp
    M flang/runtime/Float128Math/fraction.cpp
    M flang/runtime/Float128Math/hypot.cpp
    M flang/runtime/Float128Math/j0.cpp
    M flang/runtime/Float128Math/j1.cpp
    M flang/runtime/Float128Math/jn.cpp
    M flang/runtime/Float128Math/lgamma.cpp
    M flang/runtime/Float128Math/llround.cpp
    M flang/runtime/Float128Math/log.cpp
    M flang/runtime/Float128Math/log10.cpp
    M flang/runtime/Float128Math/lround.cpp
    M flang/runtime/Float128Math/math-entries.h
    M flang/runtime/Float128Math/mod-real.cpp
    M flang/runtime/Float128Math/modulo-real.cpp
    A flang/runtime/Float128Math/nearbyint.cpp
    M flang/runtime/Float128Math/nearest.cpp
    M flang/runtime/Float128Math/norm2.cpp
    M flang/runtime/Float128Math/pow.cpp
    M flang/runtime/Float128Math/random.cpp
    M flang/runtime/Float128Math/round.cpp
    M flang/runtime/Float128Math/rrspacing.cpp
    M flang/runtime/Float128Math/scale.cpp
    M flang/runtime/Float128Math/set-exponent.cpp
    M flang/runtime/Float128Math/sin.cpp
    M flang/runtime/Float128Math/sinh.cpp
    M flang/runtime/Float128Math/spacing.cpp
    M flang/runtime/Float128Math/sqrt.cpp
    M flang/runtime/Float128Math/tan.cpp
    M flang/runtime/Float128Math/tanh.cpp
    M flang/runtime/Float128Math/tgamma.cpp
    M flang/runtime/Float128Math/trunc.cpp
    M flang/runtime/Float128Math/y0.cpp
    M flang/runtime/Float128Math/y1.cpp
    M flang/runtime/Float128Math/yn.cpp
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/dot-product.cpp
    M flang/runtime/edit-input.cpp
    M flang/runtime/extensions.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/format-implementation.h
    M flang/runtime/io-api.cpp
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/numeric-templates.h
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/random.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/transformational.cpp
    A flang/test/Driver/B-opt.f90
    A flang/test/Driver/Inputs/B_opt_tree/dir1/i386-unknown-linux-ld
    A flang/test/Driver/Inputs/B_opt_tree/dir1/ld
    A flang/test/Driver/Inputs/B_opt_tree/dir2/ld
    A flang/test/Driver/Inputs/B_opt_tree/dir3/prefix-ld
    M flang/test/Driver/color-diagnostics-forwarding.f90
    M flang/test/Driver/color-diagnostics-parse.f90
    M flang/test/Driver/color-diagnostics-scan.f
    M flang/test/Driver/color-diagnostics-sema.f90
    M flang/test/Driver/color-diagnostics.f90
    M flang/test/Driver/include-header.f90
    A flang/test/Driver/nostdlib.f90
    A flang/test/Driver/save-temps-use-module.f90
    M flang/test/Driver/target-cpu-features.f90
    M flang/test/Driver/use-module-error.f90
    M flang/test/Driver/w-option.f90
    A flang/test/Driver/xlinker.f90
    A flang/test/Driver/xoffload-linker.f90
    M flang/test/Evaluate/errors01.f90
    A flang/test/Evaluate/fold-assumed-rank-kind.f90
    M flang/test/Evaluate/fold-spacing.f90
    A flang/test/Evaluate/int8.f90
    M flang/test/Examples/omp-in-reduction-clause.f90
    M flang/test/Examples/omp-order-clause.f90
    A flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    A flang/test/Fir/CUDA/cuda-constructor.f90
    A flang/test/Fir/CUDA/cuda-data-transfer.fir
    A flang/test/Fir/CUDA/cuda-implicit-device-global.f90
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir
    M flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
    M flang/test/Fir/target-rewrite-complex16.fir
    M flang/test/HLFIR/order_assignments/where-scheduling.f90
    M flang/test/Integration/debug-allocatable-1.f90
    M flang/test/Integration/debug-assumed-shape-array.f90
    A flang/test/Integration/debug-cyclic-derived-type-2.f90
    M flang/test/Integration/debug-cyclic-derived-type.f90
    M flang/test/Integration/debug-module-2.f90
    M flang/test/Integration/debug-ptr-type.f90
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/bindc-value-derived.f90
    M flang/test/Lower/HLFIR/block_bindc_pocs.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
    A flang/test/Lower/HLFIR/elemental-user-procedure-stacksave.f90
    M flang/test/Lower/HLFIR/forall.f90
    A flang/test/Lower/HLFIR/ignore-type-f77-character.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
    A flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
    M flang/test/Lower/HLFIR/where-nonelemental.f90
    A flang/test/Lower/Intrinsics/free.f90
    A flang/test/Lower/Intrinsics/ieee_rint_int.f90
    A flang/test/Lower/Intrinsics/malloc.f90
    M flang/test/Lower/Intrinsics/signal.f90
    A flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/common-block-map.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/declare-target-data.f90
    M flang/test/Lower/OpenMP/declare-target-deferred-marking.f90
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
    M flang/test/Lower/OpenMP/distribute-parallel-do.f90
    M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/implicit-dsa.f90
    M flang/test/Lower/OpenMP/map-component-ref.f90
    A flang/test/Lower/OpenMP/math-amdgpu.f90
    M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    M flang/test/Lower/OpenMP/sections-array-reduction.f90
    M flang/test/Lower/OpenMP/sections-reduction.f90
    A flang/test/Lower/OpenMP/shared-loop.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/statement-function.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.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.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-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/array-elemental-calls-char.f90
    M flang/test/Lower/array-user-def-assignments.f90
    M flang/test/Lower/bindc_procs.f90
    M flang/test/Lower/block.f90
    M flang/test/Lower/c-interoperability-c-pointer.f90
    M flang/test/Lower/call-suspect.f90
    M flang/test/Lower/call.f90
    M flang/test/Lower/computed-goto.f90
    M flang/test/Lower/dummy-procedure-character.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/func-attrs.f90
    M flang/test/Lower/host-associated-functions.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/implicit-call-mismatch.f90
    M flang/test/Lower/io-write.f90
    M flang/test/Lower/program-units-fir-mangling.f90
    M flang/test/Parser/OpenMP/declare_target-device_type.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/order-clause01.f90
    M flang/test/Parser/OpenMP/tile-size.f90
    M flang/test/Parser/OpenMP/unroll-full.f90
    M flang/test/Parser/OpenMP/unroll.f90
    M flang/test/Parser/include.f
    A flang/test/Parser/recovery06.f90
    A flang/test/Preprocessing/include-file.h
    A flang/test/Preprocessing/include-line.F90
    A flang/test/Semantics/Inputs/modfile66.cuf
    A flang/test/Semantics/Inputs/modfile67.mod
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    A flang/test/Semantics/OpenMP/bad_module_subroutine.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    A flang/test/Semantics/OpenMP/clause-validity02.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do20.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/nontemporal.f90
    A flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt-read.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    A flang/test/Semantics/OpenMP/private-assoc.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.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/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.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_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/bad-forward-type.f90
    M flang/test/Semantics/call11.f90
    A flang/test/Semantics/elemental02.f90
    M flang/test/Semantics/expr-errors06.f90
    A flang/test/Semantics/free.f90
    A flang/test/Semantics/generic10.f90
    M flang/test/Semantics/get_team.f90
    A flang/test/Semantics/ieee_int.f90
    A flang/test/Semantics/implicit16.f90
    M flang/test/Semantics/io07.f90
    A flang/test/Semantics/kinds06.f90
    M flang/test/Semantics/local-vs-global.f90
    A flang/test/Semantics/modfile66.f90
    A flang/test/Semantics/modfile67.f90
    A flang/test/Semantics/modfile68.f90
    A flang/test/Semantics/modfile69.f90
    M flang/test/Semantics/modproc01.f90
    M flang/test/Semantics/resolve24.f90
    M flang/test/Semantics/resolve69.f90
    M flang/test/Semantics/resolve77.f90
    M flang/test/Semantics/spec-expr.f90
    A flang/test/Transforms/debug-107988.fir
    M flang/test/Transforms/debug-90683.fir
    M flang/test/Transforms/debug-assumed-shape-array.fir
    M flang/test/Transforms/debug-assumed-size-array.fir
    M flang/test/Transforms/debug-derived-type-1.fir
    M flang/test/Transforms/debug-fn-info.fir
    A flang/test/Transforms/debug-imported-entity.fir
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-local-global-storage-1.fir
    A flang/test/Transforms/debug-variable-char-len.fir
    M flang/test/Transforms/omp-map-info-finalization.fir
    M flang/test/Transforms/stack-arrays.fir
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/tools/tco/tco.cpp
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Frontend/CompilerInstanceTest.cpp
    A flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/CMakeLists.txt
    A flang/unittests/Runtime/CUDA/Memory.cpp
    M flang/unittests/Runtime/Namelist.cpp
    M flang/unittests/Runtime/Numeric.cpp
    M flang/unittests/Runtime/Reduction.cpp
    M flang/unittests/Runtime/Transformational.cpp
    M libc/benchmarks/MemorySizeDistributions.cpp
    M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    A libc/cmake/modules/compiler_features/check_float16_conversion.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/config.json
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/config.json
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/gpu/config.json
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/date_and_time.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/gpu/support.rst
    M libc/hdr/CMakeLists.txt
    M libc/hdr/errno_macros.h
    A libc/hdr/link_macros.h
    M libc/hdr/stdio_macros.h
    A libc/hdr/stdio_overlay.h
    A libc/hdr/sys_auxv_macros.h
    M libc/hdr/types/CMakeLists.txt
    M libc/hdr/types/FILE.h
    M libc/hdr/types/cookie_io_functions_t.h
    A libc/hdr/types/jmp_buf.h
    M libc/hdr/types/off_t.h
    A libc/hdr/types/socklen_t.h
    A libc/hdr/types/ssize_t.h
    M libc/hdr/types/stack_t.h
    A libc/hdr/types/struct_msghdr.h
    A libc/hdr/types/struct_sockaddr.h
    A libc/hdr/types/wchar_t.h
    A libc/hdr/types/wint_t.h
    A libc/hdr/wchar_macros.h
    A libc/hdr/wchar_overlay.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/float16-macros.h
    M libc/include/llvm-libc-macros/math-function-macros.h
    M libc/include/llvm-libc-macros/stdckdint-macros.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    A libc/include/llvm-libc-types/struct_iovec.h
    A libc/include/llvm-libc-types/struct_msghdr.h
    M libc/include/llvm-libc-types/struct_sockaddr.h
    M libc/include/llvm-libc-types/wchar_t.h
    M libc/include/llvm-libc-types/wint_t.h
    M libc/newhdrgen/yaml/stdlib.yaml
    M libc/newhdrgen/yaml/sys/socket.yaml
    M libc/newhdrgen/yaml/time.yaml
    M libc/newhdrgen/yaml_functions_sorted.py
    M libc/spec/posix.td
    M libc/spec/stdc.td
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/new.cpp
    M libc/src/__support/CPP/new.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    A libc/src/__support/FPUtil/cast.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/add_sub.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/io.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/aarch64/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/aarch64/vdso.h
    M libc/src/__support/OSUtil/linux/arm/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/arm/vdso.h
    M libc/src/__support/OSUtil/linux/riscv/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/riscv/vdso.h
    A libc/src/__support/OSUtil/linux/vdso.cpp
    A libc/src/__support/OSUtil/linux/vdso.h
    A libc/src/__support/OSUtil/linux/vdso_sym.h
    M libc/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/x86_64/vdso.h
    A libc/src/__support/OSUtil/windows/CMakeLists.txt
    A libc/src/__support/OSUtil/windows/exit.cpp
    A libc/src/__support/OSUtil/windows/io.cpp
    A libc/src/__support/OSUtil/windows/io.h
    M libc/src/__support/StringUtil/error_to_string.cpp
    M libc/src/__support/StringUtil/error_to_string.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/__support/macros/CMakeLists.txt
    A libc/src/__support/macros/null_check.h
    M libc/src/__support/macros/properties/types.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/time/linux/CMakeLists.txt
    M libc/src/__support/time/linux/clock_gettime.h
    M libc/src/__support/wctype_utils.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ceilf16.cpp
    M libc/src/math/generic/exp10f16.cpp
    M libc/src/math/generic/exp2f16.cpp
    M libc/src/math/generic/expf16.cpp
    M libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/floorf16.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/rintf16.cpp
    M libc/src/math/generic/roundevenf16.cpp
    M libc/src/math/generic/roundf16.cpp
    M libc/src/math/generic/truncf16.cpp
    M libc/src/setjmp/aarch64/CMakeLists.txt
    M libc/src/setjmp/aarch64/longjmp.cpp
    M libc/src/setjmp/aarch64/setjmp.cpp
    M libc/src/setjmp/arm/CMakeLists.txt
    M libc/src/setjmp/arm/longjmp.cpp
    M libc/src/setjmp/arm/setjmp.cpp
    M libc/src/setjmp/longjmp.h
    M libc/src/setjmp/riscv/CMakeLists.txt
    M libc/src/setjmp/riscv/longjmp.cpp
    M libc/src/setjmp/riscv/setjmp.cpp
    M libc/src/setjmp/setjmp_impl.h
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/setjmp/x86_64/longjmp.cpp
    M libc/src/setjmp/x86_64/setjmp.cpp
    M libc/src/stdio/asprintf.h
    M libc/src/stdio/gpu/CMakeLists.txt
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/fprintf.cpp
    M libc/src/stdio/gpu/getchar.cpp
    M libc/src/stdio/gpu/printf.cpp
    M libc/src/stdio/gpu/putchar.cpp
    M libc/src/stdio/gpu/puts.cpp
    A libc/src/stdio/gpu/rename.cpp
    M libc/src/stdio/gpu/vfprintf.cpp
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/stdio/gpu/vprintf.cpp
    M libc/src/stdio/linux/CMakeLists.txt
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter_atlas.h
    M libc/src/stdio/printf_core/parser.h
    A libc/src/stdio/printf_core/strerror_converter.h
    M libc/src/stdio/vsscanf.cpp
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/gpu/CMakeLists.txt
    A libc/src/stdlib/gpu/system.cpp
    M libc/src/stdlib/quick_exit.cpp
    A libc/src/stdlib/system.h
    M libc/src/sys/auxv/getauxval.h
    M libc/src/sys/socket/CMakeLists.txt
    M libc/src/sys/socket/bind.h
    M libc/src/sys/socket/linux/CMakeLists.txt
    M libc/src/sys/socket/linux/bind.cpp
    A libc/src/sys/socket/linux/recv.cpp
    A libc/src/sys/socket/linux/recvfrom.cpp
    A libc/src/sys/socket/linux/recvmsg.cpp
    A libc/src/sys/socket/linux/send.cpp
    A libc/src/sys/socket/linux/sendmsg.cpp
    A libc/src/sys/socket/linux/sendto.cpp
    A libc/src/sys/socket/linux/socketpair.cpp
    A libc/src/sys/socket/recv.h
    A libc/src/sys/socket/recvfrom.h
    A libc/src/sys/socket/recvmsg.h
    A libc/src/sys/socket/send.h
    A libc/src/sys/socket/sendmsg.h
    A libc/src/sys/socket/sendto.h
    A libc/src/sys/socket/socketpair.h
    M libc/src/time/CMakeLists.txt
    A libc/src/time/ctime.cpp
    A libc/src/time/ctime.h
    A libc/src/time/ctime_r.cpp
    A libc/src/time/ctime_r.h
    M libc/src/time/time_utils.h
    M libc/src/wchar/CMakeLists.txt
    M libc/src/wchar/btowc.cpp
    M libc/src/wchar/btowc.h
    M libc/src/wchar/wctob.cpp
    M libc/src/wchar/wctob.h
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/start.cpp
    M libc/startup/linux/do_start.cpp
    M libc/test/include/CMakeLists.txt
    A libc/test/include/FpClassifyTest.h
    A libc/test/include/IsNormalTest.h
    A libc/test/include/IsSignalingTest.h
    A libc/test/include/IsSubnormalTest.h
    A libc/test/include/IsZeroTest.h
    A libc/test/include/fpclassify_test.c
    A libc/test/include/fpclassify_test.cpp
    A libc/test/include/fpclassifyf_test.cpp
    A libc/test/include/fpclassifyl_test.cpp
    A libc/test/include/isnormal_test.c
    A libc/test/include/isnormal_test.cpp
    A libc/test/include/isnormalf_test.cpp
    A libc/test/include/isnormall_test.cpp
    A libc/test/include/issignaling_test.c
    A libc/test/include/issignaling_test.cpp
    A libc/test/include/issignalingf_test.cpp
    A libc/test/include/issignalingl_test.cpp
    A libc/test/include/issubnormal_test.c
    A libc/test/include/issubnormal_test.cpp
    A libc/test/include/issubnormalf_test.cpp
    A libc/test/include/issubnormall_test.cpp
    A libc/test/include/iszero_test.c
    A libc/test/include/iszero_test.cpp
    A libc/test/include/iszerof_test.cpp
    A libc/test/include/iszerol_test.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/File/file_test.cpp
    M libc/test/src/__support/File/platform_file_test.cpp
    M libc/test/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/test/src/__support/OSUtil/linux/vdso_test.cpp
    M libc/test/src/__support/arg_list_test.cpp
    M libc/test/src/compiler/CMakeLists.txt
    M libc/test/src/compiler/stack_chk_guard_test.cpp
    M libc/test/src/fcntl/fcntl_test.cpp
    M libc/test/src/fenv/CMakeLists.txt
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/math/exp2f_test.cpp
    M libc/test/src/math/fmul_test.cpp
    M libc/test/src/math/performance_testing/CMakeLists.txt
    M libc/test/src/math/performance_testing/fmul_perf.cpp
    M libc/test/src/math/smoke/AddTest.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/DivTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/MulTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/SubTest.h
    M libc/test/src/math/smoke/exp10f16_test.cpp
    M libc/test/src/math/smoke/exp2f16_test.cpp
    M libc/test/src/math/smoke/exp2f_test.cpp
    M libc/test/src/math/smoke/expf16_test.cpp
    M libc/test/src/math/smoke/expm1f16_test.cpp
    M libc/test/src/math/smoke/fmul_test.cpp
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf16_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp
    M libc/test/src/math/smoke/pow_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/setjmp/CMakeLists.txt
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fgetc_test.cpp
    M libc/test/src/stdio/fgetc_unlocked_test.cpp
    M libc/test/src/stdio/fgets_test.cpp
    M libc/test/src/stdio/fileop_test.cpp
    M libc/test/src/stdio/fopencookie_test.cpp
    M libc/test/src/stdio/fprintf_test.cpp
    M libc/test/src/stdio/fscanf_test.cpp
    M libc/test/src/stdio/ftell_test.cpp
    M libc/test/src/stdio/putc_test.cpp
    M libc/test/src/stdio/setbuf_test.cpp
    M libc/test/src/stdio/setvbuf_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/stdio/ungetc_test.cpp
    M libc/test/src/stdio/unlocked_fileop_test.cpp
    M libc/test/src/stdio/vfprintf_test.cpp
    M libc/test/src/stdio/vfscanf_test.cpp
    M libc/test/src/string/memory_utils/CMakeLists.txt
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    A libc/test/src/sys/socket/linux/send_recv_test.cpp
    A libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
    A libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
    A libc/test/src/sys/socket/linux/socketpair_test.cpp
    M libc/test/src/time/CMakeLists.txt
    A libc/test/src/time/ctime_r_test.cpp
    A libc/test/src/time/ctime_test.cpp
    M libc/test/src/unistd/getopt_test.cpp
    M libc/test/src/wchar/btowc_test.cpp
    M libc/test/src/wchar/wctob_test.cpp
    M libc/utils/HdrGen/Command.h
    M libc/utils/HdrGen/Generator.cpp
    M libc/utils/HdrGen/Generator.h
    M libc/utils/HdrGen/IncludeFileCommand.cpp
    M libc/utils/HdrGen/IncludeFileCommand.h
    M libc/utils/HdrGen/Main.cpp
    M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
    M libc/utils/HdrGen/PublicAPICommand.cpp
    M libc/utils/HdrGen/PublicAPICommand.h
    M libc/utils/LibcTableGenUtil/APIIndexer.cpp
    M libc/utils/LibcTableGenUtil/APIIndexer.h
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/server/CMakeLists.txt
    M libc/utils/gpu/server/rpc_server.cpp
    M libclc/CMakeLists.txt
    M libclc/cmake/modules/AddLibclc.cmake
    M libcxx/.clang-format
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    M libcxx/cmake/caches/NVPTX.cmake
    M libcxx/docs/Contributing.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/docs/UserDocumentation.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/all_of.h
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/comp.h
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    R libcxx/include/__algorithm/fold.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_partitioned.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/minmax_element.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/partition.h
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_find_last.h
    A libcxx/include/__algorithm/ranges_fold.h
    M libcxx/include/__algorithm/ranges_generate.h
    M libcxx/include/__algorithm/ranges_generate_n.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/ranges_partition.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/set_difference.h
    M libcxx/include/__algorithm/set_intersection.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
    M libcxx/include/__algorithm/unique.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__assert
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__chrono/day.h
    M libcxx/include/__chrono/exception.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/month.h
    M libcxx/include/__chrono/monthday.h
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__chrono/year.h
    M libcxx/include/__chrono/year_month.h
    M libcxx/include/__chrono/year_month_day.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__compare/ordering.h
    M libcxx/include/__concepts/predicate.h
    M libcxx/include/__config
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__exception/terminate.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_error.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__functional/invoke.h
    M libcxx/include/__functional/mem_fn.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/perfect_forward.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/weak_result_type.h
    A libcxx/include/__fwd/get.h
    A libcxx/include/__fwd/variant.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/prev.h
    M libcxx/include/__locale_dir/locale_base_api/ibm.h
    M libcxx/include/__math/abs.h
    M libcxx/include/__math/copysign.h
    M libcxx/include/__math/min_max.h
    M libcxx/include/__math/roots.h
    M libcxx/include/__math/rounding_functions.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__memory/allocate_at_least.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_traits.h
    A libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/assume_aligned.h
    M libcxx/include/__memory/compressed_pair.h
    M libcxx/include/__memory/inout_ptr.h
    M libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory/unique_ptr.h
    A libcxx/include/__memory/unique_temporary_buffer.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__ostream/print.h
    M libcxx/include/__pstl/backend.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/backends/serial.h
    M libcxx/include/__pstl/backends/std_thread.h
    M libcxx/include/__pstl/cpu_algos/any_of.h
    M libcxx/include/__pstl/cpu_algos/cpu_traits.h
    M libcxx/include/__pstl/cpu_algos/fill.h
    M libcxx/include/__pstl/cpu_algos/find_if.h
    M libcxx/include/__pstl/cpu_algos/for_each.h
    M libcxx/include/__pstl/cpu_algos/merge.h
    M libcxx/include/__pstl/cpu_algos/stable_sort.h
    M libcxx/include/__pstl/cpu_algos/transform.h
    M libcxx/include/__pstl/cpu_algos/transform_reduce.h
    M libcxx/include/__pstl/dispatch.h
    M libcxx/include/__pstl/handle_exception.h
    M libcxx/include/__random/uniform_random_bit_generator.h
    M libcxx/include/__ranges/elements_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__split_buffer
    R libcxx/include/__std_clang_module
    M libcxx/include/__stop_token/atomic_unique_lock.h
    M libcxx/include/__stop_token/stop_callback.h
    M libcxx/include/__stop_token/stop_source.h
    M libcxx/include/__stop_token/stop_token.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/__thread/jthread.h
    M libcxx/include/__thread/this_thread.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__tree
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/desugars_to.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__utility/forward.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/unreachable.h
    M libcxx/include/__verbose_abort
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bitset
    M libcxx/include/chrono
    M libcxx/include/complex
    M libcxx/include/condition_variable
    M libcxx/include/deque
    R libcxx/include/experimental/__config
    M libcxx/include/experimental/__simd/aligned_tag.h
    M libcxx/include/experimental/__simd/declaration.h
    M libcxx/include/experimental/__simd/reference.h
    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/traits.h
    M libcxx/include/experimental/__simd/utility.h
    M libcxx/include/experimental/__simd/vec_ext.h
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/istream
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/queue
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdatomic.h
    M libcxx/include/stdexcept
    M libcxx/include/stdlib.h
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeinfo
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/include/wchar.h
    M libcxx/include/wctype.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/modules/std.compat.cppm.in
    M libcxx/modules/std.cppm.in
    M libcxx/modules/std/stop_token.inc
    M libcxx/modules/std/thread.inc
    M libcxx/src/algorithm.cpp
    M libcxx/src/any.cpp
    M libcxx/src/atomic.cpp
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/include/config_elast.h
    M libcxx/src/include/overridable_function.h
    M libcxx/src/locale.cpp
    M libcxx/src/optional.cpp
    M libcxx/src/stdexcept.cpp
    M libcxx/src/string.cpp
    M libcxx/src/support/ibm/mbsnrtowcs.cpp
    M libcxx/src/support/ibm/wcsnrtombs.cpp
    M libcxx/src/support/ibm/xlocale_zos.cpp
    M libcxx/src/support/runtime/exception_fallback.ipp
    M libcxx/src/support/runtime/exception_msvc.ipp
    M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
    M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
    M libcxx/src/support/runtime/exception_pointer_msvc.ipp
    M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
    M libcxx/src/support/win32/support.cpp
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/src/vector.cpp
    R libcxx/test/configs/apple-libc++-backdeployment.cfg.in
    A libcxx/test/configs/apple-libc++-system.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-mingw.cfg.in
    M libcxx/test/configs/llvm-libc++-static-mingw.cfg.in
    M libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    R libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
    R libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
    M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
    M libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    M libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    M libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
    M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/test_data.json
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/test/libcxx/iterators/assert.next.pass.cpp
    M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
    M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
    R libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
    M libcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/alignof.compile.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/sizeof.compile.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/transitive_includes_to_csv.py
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.arguments/format.arg/arg_t.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp
    M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.verify.cpp
    M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
    M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
    M libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v1.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
    M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/member_types.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp
    M libcxx/test/std/atomics/stdatomic.h.syn/types.compile.pass.cpp
    M libcxx/test/std/atomics/types.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_node_type.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/wchar_h.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.hash/error_code.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.hash/error_condition.pass.cpp
    M libcxx/test/std/experimental/memory/memory.observer.ptr/hash.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_arith_operators.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_bitwise_operators.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible_propagate_const.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.move_ctor.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/move_ctor.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/equal_to.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater_equal.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less_equal.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/not_equal_to.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/equal.pass.cpp
    M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/not_equal.pass.cpp
    R libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
    A libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_volatile_pointer.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/volatile_pointer.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sentinel_for.compile.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/sfinae.compile.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp
    M libcxx/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/assign.pass.cpp
    M libcxx/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/construct.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
    M libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/result_type.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval_param.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/result_type.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/result_type.pass.cpp
    M libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
    M libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/types.pass.cpp
    M libcxx/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
    A libcxx/test/std/strings/basic.string/string.capacity/deallocate_size.pass.cpp
    M libcxx/test/std/strings/c.strings/cwchar.pass.cpp
    M libcxx/test/std/strings/c.strings/cwchar_include_order1.compile.verify.cpp
    M libcxx/test/std/strings/c.strings/cwchar_include_order2.compile.verify.cpp
    M libcxx/test/std/strings/c.strings/cwctype.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
    M libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.compile.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.func.token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/day.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mdlast/month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mdlast/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/weekday_indexed.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/weekday_last.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/index.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/weekday.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/weekday.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.local_days.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.sys_days.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/operator[].pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.local_days.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.sys_days.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.year_month_day_last.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/day.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ok.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.local_days.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.sys_days.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/day.pass.cpp

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/main' into users/mizvekov/clang-p0522-complete-implementation


  Commit: 4eb87defd5d4b3ac43a9421beee05c7e63d3b5e1
      https://github.com/llvm/llvm-project/commit/4eb87defd5d4b3ac43a9421beee05c7e63d3b5e1
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

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

  Log Message:
  -----------
  fixup


Compare: https://github.com/llvm/llvm-project/compare/b29e3d3285a4...4eb87defd5d4

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