[all-commits] [llvm/llvm-project] a2caa4: [clang][dataflow] Treat comma operator correctly i...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Jan 22 11:52:20 PST 2024


  Branch: refs/heads/users/MaskRay/spr/thumbelf-fix-access-to-dso_preemptable-__stack_chk_guard-with-static-relocation-model
  Home:   https://github.com/llvm/llvm-project
  Commit: a2caa4929e8e8a2ffff4ee5f03ab37a9be7462a0
      https://github.com/llvm/llvm-project/commit/a2caa4929e8e8a2ffff4ee5f03ab37a9be7462a0
  Author: martinboehme <mboehme at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Treat comma operator correctly in `getResultObjectLocation()`. (#78427)


  Commit: 21199f9842dffa4f34b38101195c6f57d1bd4630
      https://github.com/llvm/llvm-project/commit/21199f9842dffa4f34b38101195c6f57d1bd4630
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
    A openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Fix LLVM IR codegen for collapsed device loop (#78708)

When we generate the loop body function, we need to be sure, that all
original loop counters are replaced by the new counter.

We need to save all items which use the original loop counter and then
perform replacement of the original loop counter. If we don't do it,
there is a risk that some values are not updated.


  Commit: 8658d157654832fe24b4f3d2a9a62784a4d6a162
      https://github.com/llvm/llvm-project/commit/8658d157654832fe24b4f3d2a9a62784a4d6a162
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p6.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Diagnose function/variable templates that shadow their own template parameters (#78274)"

This reverts commit fc0253264445be7f88d4cf0f9129dcb10c2fb84b.

This errors is disruptive to downstream projects
and should be reintroduced as a separate on-by-default
warning.

https://github.com/llvm/llvm-project/pull/78274


  Commit: 262735bbcc22f216a688b934ca9ff50b427c9dc1
      https://github.com/llvm/llvm-project/commit/262735bbcc22f216a688b934ca9ff50b427c9dc1
  Author: Zoltán Böszörményi <zboszor at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  libclc: add missing AMD gfx symlinks (#78884)

Fixes #44186

---------

Signed-off-by: Zoltán Böszörményi <zboszor at gmail.com>


  Commit: 376f019609b3eba578723c26e1635d1be31e6057
      https://github.com/llvm/llvm-project/commit/376f019609b3eba578723c26e1635d1be31e6057
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  [AMDGPU][NFC] Update cache policy descriptions (#78768)


  Commit: f36845d0c696023ea97931a4201b43ddfababf9c
      https://github.com/llvm/llvm-project/commit/f36845d0c696023ea97931a4201b43ddfababf9c
  Author: David Chisnall <davidchisnall at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/ObjCRuntime.h
    M clang/lib/CodeGen/CGObjCGNU.cpp
    A clang/test/CodeGenObjC/gnustep2-direct-method.m

  Log Message:
  -----------
  Enable direct methods and fast alloc calls for libobjc2. (#78030)

These will be supported in the upcoming 2.2 release and so are gated on
that version.

Direct methods call `objc_send_initialize` if they are class methods
that may not have called initialize. This is guarded by checking for the
class flag bit that is set on initialisation in the class. This bit now
forms part of the ABI, but it's been stable for 30+ years so that's fine
as a contract going forwards.


  Commit: 5fb39efe680642c6cab072560efa3bfce6646fb0
      https://github.com/llvm/llvm-project/commit/5fb39efe680642c6cab072560efa3bfce6646fb0
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallVector.h
    M llvm/lib/Support/SmallVector.cpp

  Log Message:
  -----------
  [LLVM][ADT] Explicitly convert size_t values to SmallVector's size type (#77939)

Multiple places rely on implicit conversion when assigning 'size_t'
values to the member fields (size or capacity) of SmallVector.

Depending on the platform / compiler configuration, this may result in
narrowing conversion warnings (especially given that the size type of
SmallVector's member fields is determined based on type T - in
SmallVector<T>). To avoid the problem altogether, make the conversions
explicit.

Co-authored-by: Orest Chura <orest.chura at intel.com>


  Commit: 68a5261d260e95148755c6725f56957cb8fd23a3
      https://github.com/llvm/llvm-project/commit/68a5261d260e95148755c6725f56957cb8fd23a3
  Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M mlir/unittests/Analysis/Presburger/UtilsTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Implement function to evaluate the number of terms in a generating function. (#78078)

We implement `computeNumTerms()`, which counts the number of terms in a
generating function by substituting the unit vector in it.
This is the main function in Barvinok's algorithm – the number of points
in a polytope is given by the number of terms in the generating function
corresponding to it.
We also modify the GeneratingFunction class to have `const` getters and
improve the simplification of QuasiPolynomials.


  Commit: 0845514d1a78ca04ef90b775d8819a8a8f19a533
      https://github.com/llvm/llvm-project/commit/0845514d1a78ca04ef90b775d8819a8a8f19a533
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Add function 'fscanf' to StreamChecker. (#78180)


  Commit: 6c47419703acfcd7dcca9e30ab9dba6a7a42f977
      https://github.com/llvm/llvm-project/commit/6c47419703acfcd7dcca9e30ab9dba6a7a42f977
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/cmake/caches/BOLT.cmake
    M clang/utils/perf-training/CMakeLists.txt
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/bolt.lit.site.cfg.in
    M clang/utils/perf-training/perf-helper.py

  Log Message:
  -----------
  Revert "[Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)"

This reverts commit 745883bba69007f1d2c5135f3d5b0f1efcfc82cd.

This is failing to configure on many of our bots:
https://lab.llvm.org/buildbot/#/builders/245/builds/19468

This did not get caught right away because generally bots only
clean the build every so often.


  Commit: 11d1310b57a9f2defb4d65a35b90a69020c52e46
      https://github.com/llvm/llvm-project/commit/11d1310b57a9f2defb4d65a35b90a69020c52e46
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/overloaded-operator.cpp

  Log Message:
  -----------
  [clang] Fix assertion failure with deleted overloaded unary operators (#78316)

When emitting notes related to wrong number of arguments do not consider
object argument.

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


  Commit: 7b925c3edb6297df6bcf87dfcfdfd645f03b5388
      https://github.com/llvm/llvm-project/commit/7b925c3edb6297df6bcf87dfcfdfd645f03b5388
  Author: José Lira Junior <jljuniorpb at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Core/Address.h
    M lldb/include/lldb/Symbol/Symbol.h
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/include/lldb/Utility/Stream.h
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Symbol/Symbol.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Utility/Stream.cpp

  Log Message:
  -----------
  [lldb] refactor highlighting function for image lookup command (#76112)

Follow-up to #69422.

This PR puts all the highlighting settings into a single struct for
easier handling

Co-authored-by: Talha Tahir <talha.tahir at 10xengineers.ai>


  Commit: 11c0dc3d4081b7739500d31332eba0760fed174c
      https://github.com/llvm/llvm-project/commit/11c0dc3d4081b7739500d31332eba0760fed174c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-subscriber.yml

  Log Message:
  -----------
  [GitHub][workflows] Run automation script with python3 (#78695)

This means we don't have to chmod, or change permissions any other way.


  Commit: 9f7fff7f1391ea3bec394d8251b81cea92175cca
      https://github.com/llvm/llvm-project/commit/9f7fff7f1391ea3bec394d8251b81cea92175cca
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    A mlir/include/mlir/Conversion/ArithToArmSME/ArithToArmSME.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
    A mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
    A mlir/lib/Conversion/ArithToArmSME/CMakeLists.txt
    M mlir/lib/Conversion/CMakeLists.txt
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    A mlir/test/Conversion/ArithToArmSME/arith-to-arm-sme.mlir
    R mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Add arith-to-arm-sme conversion pass (#78197)

Existing 'arith::ConstantOp' conversion and tests are moved from
VectorToArmSME. There's currently only a single op that's converted at
the moment, but this will grow in the future as things like in-tile add
are implemented. Also, 'createLoopOverTileSlices' is moved to ArmSME
utils since it's relevant for both conversions.


  Commit: e280c287e42065736d9c343306603ea07430a82b
      https://github.com/llvm/llvm-project/commit/e280c287e42065736d9c343306603ea07430a82b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    A mlir/lib/ExecutionEngine/ArmRunnerUtils.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/test/CMakeLists.txt
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/lit.local.cfg
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/lit.local.cfg
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/test-setArmVLBits.mlir
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] Add `mlir_arm_runner_utils` library for use in integration tests (#78583)

This adds a new `mlir_arm_runner_utils` library that contains utils
specific to Arm/AArch64. This is for use in MLIR integration tests.

This initial patch adds `setArmVLBits()` and `setArmSVLBits()`. This
allows changing vector length or streaming vector length at runtime (or
setting it to a known minimum, i.e. 128-bits).


  Commit: ac296b696ccf3081b2fc920f860da894fb1d8eb0
      https://github.com/llvm/llvm-project/commit/ac296b696ccf3081b2fc920f860da894fb1d8eb0
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-invalid-syncscope.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll

  Log Message:
  -----------
  [AMDGPU] Drop verify from SIMemoryLegalizer tests (#78697)

SIMemoryLegalizer tests were slow, with most of them taking 4.5 to 5.3s
to complete and that's on a fast machine. I also recall seeing them in
the slowest tests list on build bots.

This removes the verify-machineinstrs option from these tests to speed
them up, bringing the slowest test down to +-2s.
Verifier still runs in EXPENSIVE_CHECKS builds.


  Commit: 5cd8d53cac00feafd739dba6215e1f6eed502e46
      https://github.com/llvm/llvm-project/commit/5cd8d53cac00feafd739dba6215e1f6eed502e46
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll

  Log Message:
  -----------
  [RISCV] Teach RISCVMergeBaseOffset to handle inline asm (#78945)

For inline asm with memory operands, we can merge the offset into
the second operand of memory constraint operands.

Differential Revision: https://reviews.llvm.org/D158062


  Commit: a43c192567eb4ea2535d73b83da5c7d5ed2b6122
      https://github.com/llvm/llvm-project/commit/a43c192567eb4ea2535d73b83da5c7d5ed2b6122
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Use SmallVectorImpl when referencing StubInfos (NFC)

The element type is declared as SmallVector<T, 1>, but we assign to
SmallVector<T> &. These types are not the same on 32-bit systems,
resulting in a compilation error.

Fix this by using SmallVectorImpl<T> & instead, which is independent
of the small size.


  Commit: 50df08cd43ec02c58067797df33ec67c128431bb
      https://github.com/llvm/llvm-project/commit/50df08cd43ec02c58067797df33ec67c128431bb
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrGISel.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz.mir
    M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
    M llvm/test/CodeGen/AArch64/arm64-vadd.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/neon-addlv.ll
    M llvm/test/CodeGen/AArch64/popcount.ll

  Log Message:
  -----------
  [GlobalISel][AArch64] Combine Vector Reduction Add Long (#76241)

ADDLV(ADDLP) => ADDLV
Removes unnecessary ADDLP instruction
Already exists for SDAG, adding for GlobalISel


  Commit: 54952e95b1ee1ab361f5523744f5a6eedaad4bd4
      https://github.com/llvm/llvm-project/commit/54952e95b1ee1ab361f5523744f5a6eedaad4bd4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp

  Log Message:
  -----------
  Fix an unused variable, NFC.


  Commit: cc38cff05cfafb92bf91aadc39692ec5e12710a0
      https://github.com/llvm/llvm-project/commit/cc38cff05cfafb92bf91aadc39692ec5e12710a0
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix BUILD after 9f7fff7f1391ea3bec394d8251b81cea92175cca.


  Commit: c9f5b5c935bd12d76d4bafff61d8116cb3229972
      https://github.com/llvm/llvm-project/commit/c9f5b5c935bd12d76d4bafff61d8116cb3229972
  Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/memtag-globals-asm.cpp
    M llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp

  Log Message:
  -----------
  [MTE] Disable all MTE protection of globals in sections (#78443)

Previous work in this area (#70186) disabled MTE in constructor
sections. Looks like I missed one, ".preinit_array".

Also, in the meantime, I found an exciting feature in the linker where
globals placed into an explicit section, where the section name is a
valid C identifer, gets an implicit '__start_<sectionname>' and
'__stop_<sectionname>' symbol as well. This is convenient for iterating
over some globals, but of course iteration over differently-tagged
globals in MTE explodes.

Thus, disable MTE globals for anything that has a section.


  Commit: c4fc563b8d41c28f3e4cbcd4ef943c26d234b5ae
      https://github.com/llvm/llvm-project/commit/c4fc563b8d41c28f3e4cbcd4ef943c26d234b5ae
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s

  Log Message:
  -----------
  [JITLink][AArch32] Add GOT builder and implement R_ARM_GOT_PREL relocations for ELF (#78753)

LLJIT needs this relocation for running deinitializers. Implementation and
test are adapted from test arm-fpic-got.s in LLD.


  Commit: 6aeb7a71d40faed14820523b5be24ff93a4e9bf9
      https://github.com/llvm/llvm-project/commit/6aeb7a71d40faed14820523b5be24ff93a4e9bf9
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Utils/Local.cpp

  Log Message:
  -----------
  [RemoveDIs][DebugInfo] Add interface changes for AT analysis (#78460)

This patch adds the preliminary changes for handling DPValues in
AssignmentTrackingAnalysis - very few functional changes are included,
but internal data structures have been changed to operate with DPValues
as well as Instructions, allowing future patches to process DPValues
correctly.


  Commit: ad01447d30ed48e127254e0c45350c938d72c966
      https://github.com/llvm/llvm-project/commit/ad01447d30ed48e127254e0c45350c938d72c966
  Author: Michael Schellenberger Costa <miscco at nvidia.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp

  Log Message:
  -----------
  [libcxx] Fix typo in parallel `for_each_n` test (#78954)

This fixes a trivial copy and paste error where we forgot to change
`for_each` to `for_each_n`


  Commit: f45249f05ffcda0456dd1d5e9f9a7f0d75a20f84
      https://github.com/llvm/llvm-project/commit/f45249f05ffcda0456dd1d5e9f9a7f0d75a20f84
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn] port 03c19e91e8d8


  Commit: a590f2315f45615920f244dcce12a7e169148da7
      https://github.com/llvm/llvm-project/commit/a590f2315f45615920f244dcce12a7e169148da7
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll

  Log Message:
  -----------
  [hwasan] Update dbg.assign intrinsics in HWAsan pass (#78606)

llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to update
the second expression.

Fixes #76545


  Commit: c1729c8df2e2d0e9ef3c039df78f2711ea8fe65c
      https://github.com/llvm/llvm-project/commit/c1729c8df2e2d0e9ef3c039df78f2711ea8fe65c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [X86] X86FixupVectorConstants.cpp - pull out rebuildConstant helper for future patches. NFC.

Add helper to convert raw APInt bit stream into ConstantDataVector elements.

This was used internally by rebuildSplatableConstant but will be reused in future patches for #73783 and #71078


  Commit: 1a5eeade161beddf9c8b2fabad56af3081cd3629
      https://github.com/llvm/llvm-project/commit/1a5eeade161beddf9c8b2fabad56af3081cd3629
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [X86] Add printZeroUpperMove constant/shuffle comments helper. NFC.

Pull out helper instead of repeating switch cases.


  Commit: 865e4a1f33bd3be42ff256c6839aff0860610a5a
      https://github.com/llvm/llvm-project/commit/865e4a1f33bd3be42ff256c6839aff0860610a5a
  Author: Hana Dusíková <hanicka at hanicka.net>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/branch-constfolded.cpp
    M clang/test/CoverageMapping/if.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [coverage] skipping code coverage for 'if constexpr' and 'if consteval' (#78033)

`if constexpr` and `if consteval` conditional statements code coverage
should behave more like a preprocesor `#if`-s than normal
ConditionalStmt. This PR should fix that.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 365aa1574a1b4a3cdee6648227d095d00536ffde
      https://github.com/llvm/llvm-project/commit/365aa1574a1b4a3cdee6648227d095d00536ffde
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
    M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Convert UADDV(add(zext, zext)) into UADDLV(concat). (#78301)

We can convert a UADDV(add(zext(64-bit source), zext(64-bit source)))
into UADDLV(concat), where the concat represents the 64-bit zext
sources.


  Commit: 3c94154c860ea9c2fdd5775bd6ad31ac1db0c261
      https://github.com/llvm/llvm-project/commit/3c94154c860ea9c2fdd5775bd6ad31ac1db0c261
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/lib/Analysis/Presburger/Barvinok.cpp

  Log Message:
  -----------
  [mlir] Fix -Wunused-variable in Barvinok.cpp (NFC)

llvm-project/mlir/lib/Analysis/Presburger/Barvinok.cpp:262:21:
 error: unused variable 'd' [-Werror,-Wunused-variable]
  for (const Point &d : ds)
                    ^
1 error generated.


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

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

  Log Message:
  -----------
  [X86] Add printLaneBroadcast constant comments helper. NFC.

Pull out helper instead of repeating switch cases.


  Commit: 60963272c5c83890910fd97f8d941180b6006fca
      https://github.com/llvm/llvm-project/commit/60963272c5c83890910fd97f8d941180b6006fca
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [X86] Add printElementBroadcast constant comments helper. NFC.

Pull out helper instead of repeating switch cases.


  Commit: df4ba00c7b50429fa88c3a9991e9194e2422dc76
      https://github.com/llvm/llvm-project/commit/df4ba00c7b50429fa88c3a9991e9194e2422dc76
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Support of TableGen statements in unwrapped line parser (#78846)

Make TableGen's statements to be parsed considering their structure.
- Avoid to parse label
- Avoid class from being parsed as c++'s class
- Support if statement of the form `if <cond> then { ... }` 
- Support defset statement of the form `defset <type> <name> {}`

---------

Co-authored-by: Björn Schäpers <github at hazardy.de>


  Commit: 27ce26b06655cfece3d54b30e442ef93d3e78ac7
      https://github.com/llvm/llvm-project/commit/27ce26b06655cfece3d54b30e442ef93d3e78ac7
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/CodeGenCXX/visibility-global-new-delete.cpp
    A clang/test/Driver/visibility-global-new-delete.cl

  Log Message:
  -----------
  [Sema] Add `-fvisibility-global-new-delete=` option (#75364)

[Sema] Add `-fvisibility-global-new-delete=` option (#75364)

By default the implicitly declared replaceable global new and delete
operators are given a default visibility attribute. Previous work, see:
https://reviews.llvm.org/D53787, added
`-fvisibility-global-new-delete-hidden` to change this to a hidden
visibility attribute.

This change adds `-fvisibility-global-new-delete=` which controls
whether (or not) to add an implicit visibility attribute to the implicit
declarations for these functions, and what visibility that attribute
will specify. The option takes 4 values: `force-hidden`,
`force-protected`, `force-default` and `source`. Option values
`force-hidden`, `force-protected` and `force-default` assign hidden,
protected, and default visibilities respectively; the use of the term
force in the value names is designed to imply to a user that the semantics
of this option differ significantly from `-fvisibility=`. An option
value of `source` implies that no implicit attribute is added; without
the attribute the replaceable global new and delete operators behave
normally (like other functions) with respect to visibility attributes,
pragmas and options.

The motivation for the `source` value is to facilitate users who intend
to replace these functions either for a single linkage unit or a limited
set of linkage units. `-fvisibility-global-new-delete=source` can be
applied globally to the compilations in a build where the existing
`-fvisibility-global-new-delete-hidden` cannot, as it conflicts with a
common pattern where these functions are dynamically imported.

The existing `-fvisibility-global-new-delete-hidden` is now a deprecated
spelling of `-fvisibility-global-new-delete=force-hidden`

A release note has been added for these changes.

`-fvisibility-global-new-delete=source` will be set by default for PS5.
PS5 users that want the normal toolchain behaviour will be able to
supply `-fvisibility-global-new-delete=force-default`.


  Commit: 88d1de5ec64210686d93a90529583505635d257d
      https://github.com/llvm/llvm-project/commit/88d1de5ec64210686d93a90529583505635d257d
  Author: Emilia Kond <emilia at rymiel.space>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Unify token size tests to use ASSERT_EQ


  Commit: 4821c90c24d52d4a42990fd9371caedb157bc58b
      https://github.com/llvm/llvm-project/commit/4821c90c24d52d4a42990fd9371caedb157bc58b
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/tools/clang-repl/CMakeLists.txt

  Log Message:
  -----------
  [clang-repl] Fix PLT offset too large linker error on ARM (#78959)

I cross-compile clang-repl with GCC-10 on Ubuntu 20.04 and get this
error when linking with gold: PLT offset too large, try linking with
--long-plt


  Commit: fa6025e25b5754e8cf39169e3a7085b57ea35de5
      https://github.com/llvm/llvm-project/commit/fa6025e25b5754e8cf39169e3a7085b57ea35de5
  Author: Emilia Kond <emilia at rymiel.space>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [clang-format] Don't confuse initializer equal signs in for loops (#77712)

clang-format has logic to align declarations of multiple variables of
the same type, aligning them at the equals sign. This logic is applied
in for loops as well. However, this alignment logic also erroneously
affected the equals signs of designated initializers.

This patch forbids alignment if the token 2 tokens back from the equals
sign is a designated initializer period.

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


  Commit: ab1b4991cfacfe04a579bf0b0ff4a704a6224d4a
      https://github.com/llvm/llvm-project/commit/ab1b4991cfacfe04a579bf0b0ff4a704a6224d4a
  Author: Tuan Chuong Goh <chuong.goh at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/shift.ll

  Log Message:
  -----------
  [AArch64] Adding tests for shifts


  Commit: b689b4fe55103a04eac847964e126b6048b89ae0
      https://github.com/llvm/llvm-project/commit/b689b4fe55103a04eac847964e126b6048b89ae0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/cmake/modules/FindFFI.cmake
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][CMake] Add ffi_static target for the FFI static library (#78779)

Summary:
This patch is an attempt to make the `find_package(FFI)` support in LLVM
prefer to provide the static library version if present. This is
currently
an optional library for building `libffi`, and its presence implies that
it should likely be used. This patch is an attempt to fix some problems
observed with testing programs linked against `libffi` on many different
systems that could have conflicting paths. Linking it statically
prevents this.

This patch adds the `ffi_static` target for this library.


  Commit: 5266c1285bb9560d8d9d266977167f6c24282e95
      https://github.com/llvm/llvm-project/commit/5266c1285bb9560d8d9d266977167f6c24282e95
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
    R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
    R llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll

  Log Message:
  -----------
  Revert "[hwasan] Update dbg.assign intrinsics in HWAsan pass" (#78971)

Reverts llvm/llvm-project#78606

https://lab.llvm.org/buildbot/#/builders/77/builds/33963


  Commit: 490a09a02e81c0034aa08a800fa7a57ec6ef0767
      https://github.com/llvm/llvm-project/commit/490a09a02e81c0034aa08a800fa7a57ec6ef0767
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/unittests/Analysis/UnrollAnalyzerTest.cpp

  Log Message:
  -----------
  [UnrollAnalyzerTest] Remove dependency to pass managers (#78473)

Remove use of LegacyPassManager in the UnrollAnalyzerTest unit test.

Given that the goal isn't to test pass manager interfaces, and since the
LoopUnrollAnalyzer isn't even implemented as a pass, we do not really
need the complexity of using a pass manager. Instead we just make sure
that we run LoopUnrollAnalyzer and other needed analyses standalone
(without any pass manager). This was inspired by the LoopInfoTest unit
test.


  Commit: 8fab16c86c9860fa78022a97553761fcdccfa03e
      https://github.com/llvm/llvm-project/commit/8fab16c86c9860fa78022a97553761fcdccfa03e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst

  Log Message:
  -----------
  [libc++][NFC] Remove trailing whitespace from release notes


  Commit: 5a667bee9c983f882255732ae27c96d1d94e0893
      https://github.com/llvm/llvm-project/commit/5a667bee9c983f882255732ae27c96d1d94e0893
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll

  Log Message:
  -----------
  [InstCombine] Try to fold trunc(shuffle(zext)) to just a shuffle (#78636)

Tries to remove extra trunc/ext instruction for shufflevector
instructions.

Differential Review: https://github.com/llvm/llvm-project/pull/78636


  Commit: cabe8be6bb2120828a741217365be975c59ac7b6
      https://github.com/llvm/llvm-project/commit/cabe8be6bb2120828a741217365be975c59ac7b6
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp

  Log Message:
  -----------
  [libc] `FPRep` builders return `FPRep` instead of raw `StorageType` (#78588)


  Commit: bf7b8dae0615884816fff54cac08bc691746b1ee
      https://github.com/llvm/llvm-project/commit/bf7b8dae0615884816fff54cac08bc691746b1ee
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp

  Log Message:
  -----------
  Revert "[libc] `FPRep` builders return `FPRep` instead of raw `StorageType`" (#78974)

Reverts llvm/llvm-project#78588


  Commit: 4f4690530e8b40cdf3a17c76a352b26c2fb0446c
      https://github.com/llvm/llvm-project/commit/4f4690530e8b40cdf3a17c76a352b26c2fb0446c
  Author: Jan Kokemüller <jan.kokemueller at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/__expected/expected.h
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/types.h

  Log Message:
  -----------
  [libc++] Ensure that std::expected has no tail padding (#69673)

Currently std::expected can have some padding bytes in its tail due to
[[no_unique_address]]. Those padding bytes can be used by other objects.
For example, in the current implementation:

  sizeof(std::expected<std::optional<int>, bool>) == 
    sizeof(std::expected<std::expected<std::optional<int>, bool>, bool>)

As a result, the data layout of an
  std::expected<std::expected<std::optional<int>, bool>, bool> 
can look like this:

              +-- optional "has value" flag
              |        +--padding
  /---int---\ |        |
  00 00 00 00 01 00 00 00
                |  |
                |  +- "outer" expected "has value" flag
                |
                +- expected "has value" flag

This is problematic because `emplace()`ing the "inner" expected can not
only overwrite the "inner" expected "has value" flag (issue #68552) but
also the tail padding where other objects might live.

This patch fixes the problem by ensuring that std::expected has no tail
padding, which is achieved by conditional usage of [[no_unique_address]]
based on the tail padding that this would create.

This is an ABI breaking change because the following property changes:

  sizeof(std::expected<std::optional<int>, bool>) <
    sizeof(std::expected<std::expected<std::optional<int>, bool>, bool>)

Before the change, this relation didn't hold. After the change, the relation
does hold, which means that the size of std::expected in these cases increases
after this patch. The data layout will change in the following cases where
tail padding can be reused by other objects:

  class foo : std::expected<std::optional<int>, bool> {
    bool b;
  };

or using [[no_unique_address]]:

  struct foo {
    [[no_unique_address]] std::expected<std::optional<int>, bool> e;
    bool b;
  };

The vendor communication is handled in #70820.
Fixes: #70494

Co-authored-by: philnik777 <nikolasklauser at berlin.de>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: bfef161a80b62723bedad996aa7a697f99e6802a
      https://github.com/llvm/llvm-project/commit/bfef161a80b62723bedad996aa7a697f99e6802a
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/shift.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize Shifts for Smaller/Larger Vectors (#78750)

Legalize shl/lshr/ashr for smaller/larger vector widths with legal
element sizes

Smaller than legal vector types does not work at the moment as it relies
on G_ANYEXT to work with smaller than legal vector types


  Commit: 3c246efd04210af56ab6ce960b98283ec5bc7c30
      https://github.com/llvm/llvm-project/commit/3c246efd04210af56ab6ce960b98283ec5bc7c30
  Author: Petr Maj <53400784+zduka at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/test/Transforms/RewriteStatepointsForGC/base-pointers.ll

  Log Message:
  -----------
  True fixpoint algorithm in RS4GC (#75826)

Fixes a problem where the explicit marking of various instructions as
conflicts did not propagate to their users. An example of this:

```
%getelementptr = getelementptr i8, <2 x ptr addrspace(1)> zeroinitializer, <2 x i64> <i64 888, i64 908>
%shufflevector = shufflevector <2 x ptr addrspace(1)> %getelementptr, <2 x ptr addrspace(1)> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%shufflevector1 = shufflevector <2 x ptr addrspace(1)> %getelementptr, <2 x ptr addrspace(1)> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%select = select i1 false, <4 x ptr addrspace(1)> %shufflevector1, <4 x ptr addrspace(1)> %shufflevector
```

Here the vector shuffles will get single base (gep) during the fixpoint
and therefore the select will get a known base (gep). We later mark the
shuffles as conflicts, but this does not change the base of select. This
gets caught by an assert where the select's type will differ from its
(wrong) base later on.

The solution in the MR is to move the explicit conflict marking into the
fixpoint phase.

---------

Co-authored-by: Petr Maj <pmaj at azul.com>


  Commit: 1edb43f62ca408774b4392cbe641598e1c4725be
      https://github.com/llvm/llvm-project/commit/1edb43f62ca408774b4392cbe641598e1c4725be
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp

  Log Message:
  -----------
  [reland][libc] `FPRep` builders return `FPRep` instead of raw `StorageType` (#78978)

Reland #78588


  Commit: 70823fe4871eb6ca3fe8dc8264ac005c8edbfe70
      https://github.com/llvm/llvm-project/commit/70823fe4871eb6ca3fe8dc8264ac005c8edbfe70
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst

  Log Message:
  -----------
  [libc++][NFC] Fix incorrect formatting of release notes


  Commit: 52a8bed426e59d10b41a12208d3ba55cd2c76a1f
      https://github.com/llvm/llvm-project/commit/52a8bed426e59d10b41a12208d3ba55cd2c76a1f
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Adjust AMDGPU passes to work with DPValues (#78736)

This patch tweaks two AMDGPU passes to use iterators rather than
instruction pointers for expressing an insertion point. This is needed
to accurately support DPValues, the non-instruction storage object for
debug-info.

Two tests were sensitive to this change (variable assignments were being
put in the wrong place), and I've added extra run-lines with the "try
new debug-info..." flag. These get tested on our public buildbot to
ensure they continue to work accurately.


  Commit: 75b0c913a5fa3895818a7c7a066c0a8e1a214329
      https://github.com/llvm/llvm-project/commit/75b0c913a5fa3895818a7c7a066c0a8e1a214329
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp

  Log Message:
  -----------
  [mlir][nfc] Update comments

1. Updates and clarifies a few comments related to hooks for
   vector.{insert|extract}_strided_slice.

2. For consistency with vector.insert_strided_slice, removes a TODO from
   vector.extract_strided_slice Op def. It's self-explenatory that
   adding support for non-unit strides is a "TODO".


  Commit: 90af11ea97cf9ab34677720c5b7848eb5e9d4efe
      https://github.com/llvm/llvm-project/commit/90af11ea97cf9ab34677720c5b7848eb5e9d4efe
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    A libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Make sure to publish release notes at ReleaseNotes.html

In LLVM 17, we switched to numbered RST files for release notes, which
makes it easier to deal with cherry-picks around release points. However,
we stopped publishing `libcxx/docs/ReleaseNotes.html`, which was
referenced by external sites.

This patch ensures that we keep publishing `ReleaseNotes.html` by simply
including the versioned RST file in the unversioned RST file.

Fixes #77955


  Commit: 55cb52bbc539777aeb176f22fef0b4bfc70883fc
      https://github.com/llvm/llvm-project/commit/55cb52bbc539777aeb176f22fef0b4bfc70883fc
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M flang/include/flang/Lower/OpenMP.h
    M flang/lib/Lower/OpenMP.cpp
    M flang/test/Lower/OpenMP/FIR/sections.f90
    A flang/test/Lower/OpenMP/infinite-loop-in-construct.f90
    M flang/test/Lower/OpenMP/sections.f90
    A flang/test/Lower/OpenMP/wsloop-unstructured.f90

  Log Message:
  -----------
  [Flang][OpenMP] Restructure recursive lowering in `createBodyOfOp` (#77761)

This brings `createBodyOfOp` to its final intended form. First, input
privatization is performed, then the recursive lowering takes place, and
finally the output privatization (lastprivate) is done.

This enables fixing a known issue with infinite loops inside of an
OpenMP region, and the fix is included in this patch.

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

Recursive lowering [5/5]

---------

Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>


  Commit: ce519b59b77551d1e9698de17367385a3dbf1352
      https://github.com/llvm/llvm-project/commit/ce519b59b77551d1e9698de17367385a3dbf1352
  Author: Natalie Chouinard <sudonatalie at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/dxc_spirv.hlsl

  Log Message:
  -----------
  [HLSL][SPIR-V] Add support -fspv-target-env opt (#78611)

Add the -fspv-target-env option to the clang-dxc compatibility driver to
specify the SPIR-V target environment, which is propagated to the target
Triple.


  Commit: ebb853fbe5f67ab42d78de45bbcb7b32b6323fb1
      https://github.com/llvm/llvm-project/commit/ebb853fbe5f67ab42d78de45bbcb7b32b6323fb1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [ConstraintElim] Remove unused checkCondition() parameters (NFC)


  Commit: ac3ee1b1aec424c60660fd245f5b53aaffa2f5b1
      https://github.com/llvm/llvm-project/commit/ac3ee1b1aec424c60660fd245f5b53aaffa2f5b1
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [Transforms] Fix -Wunused-variable and remove redundant VerifyStates after #75826 (NFC)

llvm-project/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp:1064:18: error: unused variable 'I' [-Werror,-Wunused-variable]
    Instruction *I = cast<Instruction>(Pair.first);
                 ^
llvm-project/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp:1066:11: error: unused variable 'BaseValue' [-Werror,-Wunused-variable]
    auto *BaseValue = State.getBaseValue();
          ^
2 errors generated.


  Commit: 3440466536c97ced20e366301a60f12f4fd01e30
      https://github.com/llvm/llvm-project/commit/3440466536c97ced20e366301a60f12f4fd01e30
  Author: carlobertolli <carlo.bertolli at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M openmp/libomptarget/test/lit.cfg
    M openmp/libomptarget/test/lit.site.cfg.in
    M openmp/libomptarget/test/unified_shared_memory/api.c
    M openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c

  Log Message:
  -----------
  [OpenMP] Fix two usm tests for amdgpus. (#78824)

Some are missing setting of HSA_XNACK=1 environment variable, used to
enable unified memory support on amdgpu's when it's not been set at
kernel boot time. Some others needed to be marked as supporting
unified_shared_memory in the lit test harness.

Extend lit test harness to enable unified_shared_memory requirement for
AMD GPUs.

Reland: #77851


  Commit: ff1cde5ba2da8b227e1ed4a4c47b636ca4fbe59e
      https://github.com/llvm/llvm-project/commit/ff1cde5ba2da8b227e1ed4a4c47b636ca4fbe59e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  [AArch64] Add vec3 load/store tests with GEPs with const offsets.

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


  Commit: 3de5d8e1254977c8812412a159da4185c9853fd0
      https://github.com/llvm/llvm-project/commit/3de5d8e1254977c8812412a159da4185c9853fd0
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/test/tool.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp

  Log Message:
  -----------
  [include-cleaner] Add --only-headers flag, opposite of --ignore-headers (#78714)


  Commit: af1741ed40ec3a2664c50effe0d0c9bd89e60cdc
      https://github.com/llvm/llvm-project/commit/af1741ed40ec3a2664c50effe0d0c9bd89e60cdc
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [Flang][OpenMP] Reword comment for clarification, NFC


  Commit: 0d8e333a7e756fc6ab07305ba1bbce916f510b30
      https://github.com/llvm/llvm-project/commit/0d8e333a7e756fc6ab07305ba1bbce916f510b30
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'vector_length' clause parsing.

The 'vector_length' clause is the first of the 'int-expr' clauses that I've
implemented.  Currently this is just being parsed as an assignment-expr,
  since it needs to be usable in a list. Sema implementation will
  enforce the integral-nature of it.


  Commit: 6ba62f4f251763745d39194ecd33ebaf7a739059
      https://github.com/llvm/llvm-project/commit/6ba62f4f251763745d39194ecd33ebaf7a739059
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll

  Log Message:
  -----------
  [AArch64][SME2] Refine fcvtu/fcvts/scvtf/ucvtf (#77947)

Rename intrinsics for fcvtu to fcvtzu and fcvts to fcvtzs.

Use llvm_anyvector_ty for both multi vector returns and operands,
therefore the return and operands can be specified in the intrinsic
call, e.g.

@llvm.aarch64.sve.scvtf.x4.nxv4f32.nxv4i32


  Commit: 51e91b64d0deb6a743861c2a0fba84865250036e
      https://github.com/llvm/llvm-project/commit/51e91b64d0deb6a743861c2a0fba84865250036e
  Author: itrofimow <i.trofimow at yandex.ru>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/exception_ptr.bench.cpp
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/include/__availability
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/new
    M libcxx/include/typeinfo
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
    M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
    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 libcxxabi/include/cxxabi.h
    M libcxxabi/lib/exceptions.exp
    M libcxxabi/src/cxa_exception.cpp

  Log Message:
  -----------
  [libc++abi] Implement __cxa_init_primary_exception and use it to optimize std::make_exception_ptr (#65534)

This patch implements __cxa_init_primary_exception, an extension to the 
Itanium C++ ABI. This extension is already present in both libsupc++ and 
libcxxrt. This patch also starts making use of this function in 
std::make_exception_ptr: instead of going through a full throw/catch 
cycle, we are now able to initialize an exception directly, thus making 
std::make_exception_ptr around 30x faster.


  Commit: 6a80e56ad0c7ae0adb8c4fb3f88eab7643566f41
      https://github.com/llvm/llvm-project/commit/6a80e56ad0c7ae0adb8c4fb3f88eab7643566f41
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp

  Log Message:
  -----------
  [clang-tidy] Fix macros handling in cppcoreguidelines-prefer-member-initializer (#72037)

Produces now valid fixes for a member variables initialized with macros.
Correctly uses expansion location instead of location inside macro to
get init code.

Close #70189


  Commit: 726d940586d7018ef03e87cb86601f4885f66001
      https://github.com/llvm/llvm-project/commit/726d940586d7018ef03e87cb86601f4885f66001
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU/Docs: Add link to MI300 Instruction Set Architecture (#78777)


  Commit: 69fedaf830f8a2df4751a3c20189b7299daf88ae
      https://github.com/llvm/llvm-project/commit/69fedaf830f8a2df4751a3c20189b7299daf88ae
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    A clang/test/ExtractAPI/union.c

  Log Message:
  -----------
  [clang][ExtractAPI] Add support C unions in non C++ parsing mode (#77451)

Ensure that we generate correct symbol kinds and declaration fragments
for unions in C and Objective-C parsing modes.

rdar://120544091


  Commit: d9cb37c9045bb0b3692d6faaeac43150a26e42e4
      https://github.com/llvm/llvm-project/commit/d9cb37c9045bb0b3692d6faaeac43150a26e42e4
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [Headers][X86] Add macro descriptions to ia32intrin.h (#78613)

These are largely copy-pasted from the corresponding function
descriptions. Updated _rdtsc definition because it was just plain wrong.


  Commit: 8c1b7fba1fbe9729d6258127b633bd05339e766b
      https://github.com/llvm/llvm-project/commit/8c1b7fba1fbe9729d6258127b633bd05339e766b
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll

  Log Message:
  -----------
  [SelectionDAG][DebugInfo][RemoveDIs] Handle entry value variables in DPValues too (#78726)

This patch abstracts visitEntryValueDbgValue to deal with the substance
of variable locations (Value, Var, Expr, DebugLoc) rather than how
they're stored. That allows us to call it from handleDebugValue, which
is similarly abstracted. This allows the entry-value behaviour (see the
test) to be supported with non-instruction debug-info too!.


  Commit: 4e64ed97804ab4146d9cc24db16a624a265aa690
      https://github.com/llvm/llvm-project/commit/4e64ed97804ab4146d9cc24db16a624a265aa690
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86MCInstLower.cpp

  Log Message:
  -----------
  [X86] Update X86::getConstantFromPool to take base OperandNo instead of Displacement MachineOperand

This allows us to check the entire constant address calculation, and ensure we're not performing any runtime address math into the constant pool (noticed in an upcoming patch).


  Commit: 74ab7958bdda4d10b082129151f434176f99320e
      https://github.com/llvm/llvm-project/commit/74ab7958bdda4d10b082129151f434176f99320e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/CodeGen/X86/combine-concatvectors.ll
    M llvm/test/CodeGen/X86/nontemporal-4.ll
    M llvm/test/CodeGen/X86/pr13577.ll
    M llvm/test/CodeGen/X86/ret-mmx.ll

  Log Message:
  -----------
  [X86] printZeroUpperMove - add support for constant vectors.

Allows cases where movss/movsd etc. are loading constant (ConstantDataSequential) sub-vectors, ensuring we pad with the correct number of zero upper elements by making repeated printConstant calls to print zeroes in a matching int/fp format.


  Commit: c5532124dc0ffc892ded0b093e92244977e748f8
      https://github.com/llvm/llvm-project/commit/c5532124dc0ffc892ded0b093e92244977e748f8
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/test/ExtractAPI/typedef.c

  Log Message:
  -----------
  [clang][ExtractAPI] Ensure typedef to pointer types are preserved (#78584)

When generating declaration fragments for types that use typedefs to
pointer types ensure that we keep the user-defined typedef form instead
of desugaring the typedef.

rdar://102137655


  Commit: bfb09326be2281bdbf4c1f3cea532fc17a28ad15
      https://github.com/llvm/llvm-project/commit/bfb09326be2281bdbf4c1f3cea532fc17a28ad15
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
    M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Implement ELF relocation R_ARM_TARGET1

Prepare a configuration switch and default to R_ARM_ABS32


  Commit: 565470ed27131b2550e71cf334bf3f33f9d82c62
      https://github.com/llvm/llvm-project/commit/565470ed27131b2550e71cf334bf3f33f9d82c62
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
    M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Implement ELF relocation R_ARM_NONE


  Commit: 160ddf71147637b4b806dde2a0c686496aae5f14
      https://github.com/llvm/llvm-project/commit/160ddf71147637b4b806dde2a0c686496aae5f14
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir] Remove duplicate test

The removed test is identical to the one directly above.


  Commit: e302950023cd99251371c5dc8a1e3b609dd5a8fe
      https://github.com/llvm/llvm-project/commit/e302950023cd99251371c5dc8a1e3b609dd5a8fe
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M flang/tools/f18/flang-to-external-fc.in

  Log Message:
  -----------
  [flang] Handle -S assemble only flag in flang-to-external-fc (#78979)

Flang was recently updated on Compiler Explorer and by default it's in
assemble only mode, you have to enable linking and executing.

This means that the default output for flang-to-external-fc is nothing,
as it doesn't know what `-S` means. You'd have to know to enable the
link to binary option to see any output.

Handle `-S` so that users of Compiler Explorer don't have to wonder why
the "compiler" is broken.


  Commit: 27eb8d53ae44e2f5a6259744446ea389afaf68a2
      https://github.com/llvm/llvm-project/commit/27eb8d53ae44e2f5a6259744446ea389afaf68a2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/CodeGen/X86/widen_shuffle-1.ll

  Log Message:
  -----------
  [X86] printConstant - add ConstantVector handling


  Commit: 06c3c3b67cb0287856145806cfb0179def3214bd
      https://github.com/llvm/llvm-project/commit/06c3c3b67cb0287856145806cfb0179def3214bd
  Author: Piotr Zegar <piotr.zegar at nokia.com>
  Date:   2024-01-22 (Mon, 22 Jan 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/ChainedComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp

  Log Message:
  -----------
  [clang-tidy] Add bugprone-chained-comparison check (#76365)

Check that flags chained comparison expressions,
such as a < b < c or a == b == c, which may have
unintended behavior due to implicit operator
associativity.

Moved from Phabricator  (D144429).


  Commit: 2bb6d7b8a4d1e31d5c856174c163e77d7d3a0b94
      https://github.com/llvm/llvm-project/commit/2bb6d7b8a4d1e31d5c856174c163e77d7d3a0b94
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/tools/clang-repl/CMakeLists.txt

  Log Message:
  -----------
  [clang-repl] Limit use of PLT offset flag to linkers that support it

Follow-up fix from https://github.com/llvm/llvm-project/pull/78959


  Commit: 4897b9888f11023bde363fb7dcebea440a0a13e9
      https://github.com/llvm/llvm-project/commit/4897b9888f11023bde363fb7dcebea440a0a13e9
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M lld/test/ELF/lto/amdgcn-oses.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll

  Log Message:
  -----------
  [AMDGPU] Make a few more tests default COV agnostic (#78926)


  Commit: ae99966a279601022d2b4d61dfbec349f7d65c12
      https://github.com/llvm/llvm-project/commit/ae99966a279601022d2b4d61dfbec349f7d65c12
  Author: carlobertolli <carlo.bertolli at amd.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M openmp/libomptarget/include/Shared/PluginAPI.h
    M openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/include/Shared/Requirements.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/OpenMP/Mapping.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    A openmp/libomptarget/test/mapping/auto_zero_copy.cpp

  Log Message:
  -----------
  [OpenMP] Enable automatic unified shared memory on MI300A. (#77512)

This patch enables applications that did not request OpenMP
unified_shared_memory to run with the same zero-copy behavior, where
mapped memory does not result in extra memory allocations and memory
copies, but CPU-allocated memory is accessed from the device. The name
for this behavior is "automatic zero-copy" and it relies on detecting:
that the runtime is running on a MI300A, that the user did not select
unified_shared_memory in their program, and that XNACK (unified memory
support) is enabled in the current GPU configuration. If all these
conditions are met, then automatic zero-copy is triggered.

This patch also introduces an environment variable OMPX_APU_MAPS that,
if set, triggers automatic zero-copy also on non APU GPUs (e.g., on
discrete GPUs).
This patch is still missing support for global variables, which will be
provided in a subsequent patch.

Co-authored-by: Thorsten Blass <thorsten.blass at amd.com>


  Commit: d4d81acb52bd44681210001c148ac86df8a344f0
      https://github.com/llvm/llvm-project/commit/d4d81acb52bd44681210001c148ac86df8a344f0
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll

  Log Message:
  -----------
  [AArch64][SME2] Extend SMEABIPass to handle functions with new ZT0 state (#78848)

updateNewZAFunctions is extended to generate the following on entry to a
function with either the "aarch64_pstate_za_new" or "arm_new_zt0"
attribute:
- Private-ZA interface: commit any active lazy-saves & enable PSTATE.ZA.
  - "aarch64_pstate_za_new": zero ZA.
  - "arm_new_zt0": zero ZT0.

Additionally, PSTATE.ZA should disabled before returning if the function
has a private-ZA interface.


  Commit: f188f4589cc8f690779c62996520663718df106d
      https://github.com/llvm/llvm-project/commit/f188f4589cc8f690779c62996520663718df106d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll

  Log Message:
  -----------
  [DebugInfo] Disable a test runline temporarily

This is a follow-up to 8c1b7fba1fb -- GlobalISel currently doesn't handle
RemoveDIs mode debug-info, but will (see #75228). Disable this runline
until then.

(This is a patch-landing ordering problem)


  Commit: b5df6a90f5365e61d2dfa1583d36cbc79ab5775b
      https://github.com/llvm/llvm-project/commit/b5df6a90f5365e61d2dfa1583d36cbc79ab5775b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [mlir][openacc] Fix num_gang parser (#78792)

Nb of operand per segment is not correctly computed.


  Commit: ee6199ca3cf101c764788ebf8df5b0e3e00f5538
      https://github.com/llvm/llvm-project/commit/ee6199ca3cf101c764788ebf8df5b0e3e00f5538
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [mlir][openacc][NFC] Cleanup hasOnly functions for device_type support (#78800)

Just a cleanup for all the `has.*Only()` function to avoid code
duplication


  Commit: ebd4dc42630e201c15894b48c3ea890eaa8c3b18
      https://github.com/llvm/llvm-project/commit/ebd4dc42630e201c15894b48c3ea890eaa8c3b18
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [asan,test] Make alloca_loop_unpoisoning.cpp robust and fix s390x failure (#78774)

In the test from https://reviews.llvm.org/D7098, `char array[len];` is
32-byte aligned on most targets whether it is instrumented or not
(optimized by StackSafetyAnalysis), due to the the used `*FrameLowering`
being `StackRealignable`.

However, when using `SystemZELFFrameLowering`, an un-instrumented
`char array[len];` is only 8-byte aligned.

Ensure `char array[len];` gets instrumented like what we did to
`alloca_vla_interact.cpp`, to make the test pass on s390x.


  Commit: 621bafd5c14cc324612e32c8123ac1ebf1c0530b
      https://github.com/llvm/llvm-project/commit/621bafd5c14cc324612e32c8123ac1ebf1c0530b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M openmp/libomptarget/include/Shared/APITypes.h
    M openmp/libomptarget/include/Shared/PluginAPI.h
    M openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [Libomptarget] Move target table handling out of the plugins (#77150)

Summary:
This patch removes the bulk of the handling of the
`__tgt_offload_entries` out of the plugins itself. The reason for this
is because the plugins themselves should not be handling this
implementation detail of the OpenMP runtime. Instead, we expose two new
plugin API functions to get the points to a device pointer for a global
as well as a kernel type.

This required introducing a new type to represent a binary image that
has been loaded on a device. We can then use this to load the addresses
as needed. The creation of the mapping table is then handled just in
`libomptarget` where we simply look up each address individually. This
should allow us to expose these operations more generically when we
provide a separate API.


  Commit: 76160718df7c1f31ff50a4964d749c2b9d83f9cf
      https://github.com/llvm/llvm-project/commit/76160718df7c1f31ff50a4964d749c2b9d83f9cf
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll

  Log Message:
  -----------
  Reapply [hwasan] Update dbg.assign intrinsics in HWAsan pass #78606

llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to update
the second expression.

Fixes #76545


  Commit: a859df3b0a099648ec4cd305f22c87ea12ebaac9
      https://github.com/llvm/llvm-project/commit/a859df3b0a099648ec4cd305f22c87ea12ebaac9
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/modules/std.compat/ctime.inc
    M libcxx/modules/std/ctime.inc
    M libcxx/test/libcxx/selftest/modules/std-and-std.compat-module.sh.cpp
    M libcxx/test/libcxx/selftest/modules/std.compat-module.sh.cpp
    M libcxx/test/std/modules/std.compat.pass.cpp

  Log Message:
  -----------
  [libc++] Add "using-if-exists" to timespec_get in modules (#78686)

Picolibc does not provide timespec_get function. Adding
"using-if-exists" attribute fixes the modules.

This is a follow up patch for
https://github.com/llvm/llvm-project/pull/78580


  Commit: 43b13341fbbb718223484a79a539a3c13062f39f
      https://github.com/llvm/llvm-project/commit/43b13341fbbb718223484a79a539a3c13062f39f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LTO.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptLexer.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/cref.s
    M lld/test/ELF/linkerscript/symbol-ordering-file2.s
    M lld/test/ELF/x86-64-gotpc-no-relax-err.s

  Log Message:
  -----------
  [ELF] Add internal InputFile (#78944)

Based on https://reviews.llvm.org/D45375 . Introduce a new InputFile
kind `InternalKind`, use it for

* `ctx.internalFile`: for linker-defined symbols and some synthesized
`Undefined`
* `createInternalFile`: for symbol assignments and --defsym

I picked "internal" instead of "synthetic" to avoid confusion with
SyntheticSection.

Currently a symbol's file is one of: nullptr, ObjKind, SharedKind,
BitcodeKind, BinaryKind. Now it's non-null (I plan to add an
`assert(file)` to Symbol::Symbol and change `toString(const InputFile
*)`
separately).

Debugging and error reporting gets improved. The immediate user-facing
difference is more descriptive "File" column in the --cref output. This
patch may unlock further simplification.

Currently each symbol assignment gets its own
`createInternalFile(cmd->location)`. Two symbol assignments in a linker
script do not share the same file. Making the file the same would be
nice, but would require non trivial code.


  Commit: c083b38007c4895cee8b175bd54d24be9fdb5fc0
      https://github.com/llvm/llvm-project/commit/c083b38007c4895cee8b175bd54d24be9fdb5fc0
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc

  Log Message:
  -----------
  [builtins][FMV][Apple] Use builtin atomic load/store, instead of libdispatch (#78807)


  Commit: 9a90aa01edfc5a56d975658a0cbbfa980a0ef7ed
      https://github.com/llvm/llvm-project/commit/9a90aa01edfc5a56d975658a0cbbfa980a0ef7ed
  Author: Gareth Williamson <gwllx.dev at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/modules/std.compat/cstdlib.inc

  Log Message:
  -----------
  [libc++][modules] Add using_if_exists attribute (#77559) (#78909)

libc on macOS does not provide at_quick_exit or quick_exit. This allows
modules to build on macOS and defer any errors to usage site of these
symbols.

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


  Commit: 312acdfae1409bee29a33f71306e3ae3e1ea7d66
      https://github.com/llvm/llvm-project/commit/312acdfae1409bee29a33f71306e3ae3e1ea7d66
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/Headers/CMakeLists.txt
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.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_cvtn.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_ldr_str_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.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.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_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_mop.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.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
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [AArch64][SME] Take arm_sme.h out of draft (#78961)


  Commit: 530c72b498e571f2de4850e7ca4b1558a83742da
      https://github.com/llvm/llvm-project/commit/530c72b498e571f2de4850e7ca4b1558a83742da
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll

  Log Message:
  -----------
  [TLI] Add missing ArmPL mappings (#78474)

Adds TLI mappings for fixed and scalable vector variants of cospi(f),
fmax(f), ilogb(f) and ldexp(f).


  Commit: ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7
      https://github.com/llvm/llvm-project/commit/ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/lib/abi/CHANGELOG.TXT

  Log Message:
  -----------
  [libc++] Mention __cxa_init_primary_exception in the ABI changelog


  Commit: 02f95b77515fe18ed1076b94cbb850ea0cf3c77e
      https://github.com/llvm/llvm-project/commit/02f95b77515fe18ed1076b94cbb850ea0cf3c77e
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__config
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/format
    R libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    R libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    R libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/support/test_basic_format_arg.h
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  Revert "[libc++][format] P2637R3: Member `visit` (`std::basic_format_arg`) (#76449)"

This reverts commit 7d9b5aa65b09126031e1c2903605a7d34aea4bc1 since
std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
is failing on Windows when building with Clang-cl.


  Commit: 0fe20aa45eab5f66ac88776f068b7f41b8204aaf
      https://github.com/llvm/llvm-project/commit/0fe20aa45eab5f66ac88776f068b7f41b8204aaf
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libc/startup/linux/do_start.cpp

  Log Message:
  -----------
  [libc] support PIE relocations (#78993)

For some reasons, we are using `-fpie`
(libc/cmake/modules/LLVMLibCObjectRules.cmake:31) without supporting it.
According to @lntue, some of the hermetic tests are broken without
proper PIE support. This patch implements basic relocations support for
PIE.


  Commit: 89aa3355e2366c6cf6ad9ac1f4693ff950d86c30
      https://github.com/llvm/llvm-project/commit/89aa3355e2366c6cf6ad9ac1f4693ff950d86c30
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll

  Log Message:
  -----------
  [RemoveDIs][DebugInfo] Remove redundant DPVAssigns (#78574)

DPValues are already supported by most of the utilities that remove
redundant debug info after certain passes; the exception to this is
`removeUndefDbgAssignsFromEntryBlock`, which applies only to
llvm.dbg.assigns which were previously unimplemented for DPValues. Now
that DPVAssigns exist, we have to support removing redundant instances
in the same way, which this patch implements.


  Commit: 19261390cc3d0e58e0130ee4078fd1049889f510
      https://github.com/llvm/llvm-project/commit/19261390cc3d0e58e0130ee4078fd1049889f510
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M lld/ELF/InputFiles.h
    A lld/test/wasm/Inputs/start-lib1.s
    A lld/test/wasm/Inputs/start-lib2.s
    A lld/test/wasm/start-lib.s
    M lld/wasm/Driver.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/Options.td
    M lld/wasm/Symbols.h

  Log Message:
  -----------
  [lld][WebAssembly] Implement `--start-lib`/`--end-lib` (#78821)

Fixes: #77960


  Commit: 042a6a1349d512edaaa225380771c64a8d92810a
      https://github.com/llvm/llvm-project/commit/042a6a1349d512edaaa225380771c64a8d92810a
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/chrono
    M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.local/ostream.verify.cpp
    R libcxx/test/std/time/time.clock/time.clock.system/ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Fixes (sys|local)_time formatters. (#76456)

- The sys_time formatter is constrained, which was not implemented.
- There is a sys_days formatter which was not implemented.
- The local_time formatter uses the sys_time formatter in its
implementation so "inherited" the same issues.

Fixes: https://github.com/llvm/llvm-project/issues/73849
Fixes: https://github.com/llvm/llvm-project/issues/67983


  Commit: 806f43e3cb9ca2bff7c2ae6f1324a062ddb83cac
      https://github.com/llvm/llvm-project/commit/806f43e3cb9ca2bff7c2ae6f1324a062ddb83cac
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/include/__memory/assume_aligned.h
    A libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.const_eval.verify.cpp

  Log Message:
  -----------
  [libc++] Diagnoses insufficiently aligned pointers for std::assume_aligned during constant evaluation (#73775)

This is a `libc++` enhancement when violating alignment assumption for
`__builtin_assume_aligned`.

Fixes #64078


  Commit: e390bda9782b461f10433aa6728acf87521e22a5
      https://github.com/llvm/llvm-project/commit/e390bda9782b461f10433aa6728acf87521e22a5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/allow-shlib-undefined.s

  Log Message:
  -----------
  [ELF] Suppress --no-allow-shlib-undefined diagnostic when a SharedSymbol is overridden by a hidden visibility Defined which is later discarded

Commit 1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40 unexpectedly strengthened
--no-allow-shlib-undefined to catch a kind of ODR violation.
More precisely, when all three conditions are met, the new
`--no-allow-shlib-undefined` code reports an error.

* There is a DSO undef that has been satisfied by a definition from
  another DSO.
* The `SharedSymbol` is overridden by a non-exported (usually of hidden
  visibility) definition in a relocatable object file (`Defined`).
* The section containing the `Defined` is garbage-collected (it is not
  part of `.dynsym` and is not marked as live).

Technically, the hidden Defined in the executable can be intentional: it
can be meant to remain non-exported and not interact with any dynamic
symbols of the same name that might exist in other DSOs. To allow for
such use cases, allocate a new bit in
Symbol and relax the --no-allow-shlib-undefined check to before
commit 1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40.


  Commit: 7378fb30645ad5398491acea3960a8115d1b171c
      https://github.com/llvm/llvm-project/commit/7378fb30645ad5398491acea3960a8115d1b171c
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Protect the libc++ implementation from CUDA SDK's __noinline__ macro (#73838)

The CUDA SDK contains an unfortunate definition for the `__noinline__`
macro. This patch works around it by using `__attribute__((noinline))`
instead of `__attribute__((__noinline__))` on CUDA. We are still waiting
for a long-term resolution to this issue in NVIDIA/cccl#1235.


  Commit: d7fb9eb818d22085c7dae0ce9a8be7ade963d7e5
      https://github.com/llvm/llvm-project/commit/d7fb9eb818d22085c7dae0ce9a8be7ade963d7e5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/X86/select-optimize.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Handle DPValues in SelectOptimize (#79005)

When there are debug intrinsics in-between groups of select
instructions, select-optimise sinks them into the "end" block. This
needs to be replicated for DPValues, the non-instruction variable
assignment object. Implement that and add a RUN line to a test that was
sensitive to this to ensure it gets tested.

(The exact range of instructions being transformed here is a little
fiddly, hence I've gone with a helper lambda).


  Commit: c0a74ad90c34de5e17f713cd2a97223a425dfeb7
      https://github.com/llvm/llvm-project/commit/c0a74ad90c34de5e17f713cd2a97223a425dfeb7
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

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

  Log Message:
  -----------
  [libc] Use QUEUE_TYPEOF in STAILQ_LAST (#79011)

This is to ensure this macro is compatible with both C and C++.


  Commit: 3eb4178b9cc321da5b74b9bba1a5ad825531e474
      https://github.com/llvm/llvm-project/commit/3eb4178b9cc321da5b74b9bba1a5ad825531e474
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/test/Dialect/OpenACC/canonicalize.mlir
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [mlir][openacc] Update acc.loop to be a proper loop like operation (#67355)

The initial design of the `acc.loop` was to be an operation that
encapsulates a loop like operation. This was an early design and we now
want to change it so the `acc.loop` operation becomes a real loop-like
operation by implementing the LoopLikeInterface.

Differential Revision: https://reviews.llvm.org/D159229

This patch is just moved from Phabricator to github


  Commit: 5062a178bf9dd46008b8f7a182facb6152c46889
      https://github.com/llvm/llvm-project/commit/5062a178bf9dd46008b8f7a182facb6152c46889
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M flang/include/flang/Lower/OpenACC.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop-exit.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/locations.f90

  Log Message:
  -----------
  [flang][openacc] Lower loop directive to the new acc.loop op design (#65417)

acc.loop was redesigned in https://reviews.llvm.org/D159229. This patch
updates the lowering to match the new op.

DO CONCURRENT construct will be added in a follow up patch.

Note that the pre-commit ci will fail until D159229 is merged. 

Depends on #67355


  Commit: f4c2ee12684a6b4857c9e6777ba53e02555978ba
      https://github.com/llvm/llvm-project/commit/f4c2ee12684a6b4857c9e6777ba53e02555978ba
  Author: Stephen Tozer <Stephen.Tozer at Sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll

  Log Message:
  -----------
  [RemoveDIs] Remove tests for redundant DPVAssigns until DPVAssigns are enabled

This patch fixes commit 89aa3355, which added tests for
the removal of redundant DPVAssigns; unlike other cases where
adding tests for DPVAssigns before they are enabled is harmless,
these tests require them to be enabled, so must be deleted until
we enable them.

Fixes failures on llvm-new-debug-iterators buildbot:
https://lab.llvm.org/buildbot/#/builders/275/builds/3581


  Commit: 5ce286849a0cc605210031411265c2a84fc6c633
      https://github.com/llvm/llvm-project/commit/5ce286849a0cc605210031411265c2a84fc6c633
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
    M llvm/test/Instrumentation/cgprofile.ll

  Log Message:
  -----------
  [CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610)

- With PGO, indirect call edges are constructed using value profiles, and the profile address is mapped to a function's PGO name. The PGO name is computed using a functions linkage before LTO internalization or global promotion.
- With ThinLTO, local functions [could be
promoted](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp#L288) to have external linkage; and with
[full](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/LTO/LTO.cpp#L1328)
or
[thin](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/LTO/LTO.cpp#L448)
LTO, global functions could be internalized. Edge construction should use a function's PGO name before its linkage is updated.


  Commit: 4207ad57707f07208dfb1d7c79889e1372c396ab
      https://github.com/llvm/llvm-project/commit/4207ad57707f07208dfb1d7c79889e1372c396ab
  Author: azhan92 <alisonxzhang at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M libcxx/src/new.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.except.pass.cpp
    M libcxxabi/src/stdlib_new_delete.cpp

  Log Message:
  -----------
  [libc++] Fix noexcept behaviour of operator new helper functions  (#74337)

This patch removes the noexcept specifier introduced in #69407 since the
Standard allows a new handler to throw an exception of type bad_alloc 
(or derived from it). With the noexcept specifier on the helper
functions, we would immediately terminate the program.

The patch also adds tests for the case that had regressed.

Co-authored-by: Alison Zhang <alisonzhang at ibm.com>


  Commit: a301fb11014f9cfdf4ee8cada173c46a7677d9d3
      https://github.com/llvm/llvm-project/commit/a301fb11014f9cfdf4ee8cada173c46a7677d9d3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    A clang/test/Driver/modules-print-library-module-manifest-path.cpp

  Log Message:
  -----------
  [clang][modules] Print library module manifest path. (#76451)

This implements a way for the compiler to find the modules.json
associated with the C++23 Standard library modules.

This is based on a discussion in SG15. At the moment no Standard library
installs this manifest. #75741 adds this feature in libc++.


  Commit: 04952c5bec69c197ea6ffb718ae80fcf78c7828a
      https://github.com/llvm/llvm-project/commit/04952c5bec69c197ea6ffb718ae80fcf78c7828a
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c

  Log Message:
  -----------
  [OpenACC] Implement remaining 'simple' int-expr clauses.

'num_gangs', 'num_workers', 'device_num', and 'default_async' are all
exactly the same (for the purposes of parsing) as 'vector_length', so
implement these the same way.


  Commit: 0cea54a382f3187acbe3e81bd0fd7cf2cb1077b8
      https://github.com/llvm/llvm-project/commit/0cea54a382f3187acbe3e81bd0fd7cf2cb1077b8
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Breakpoint/Watchpoint.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/source/Breakpoint/BreakpointList.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    M lldb/source/Breakpoint/WatchpointList.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/source/Utility/Broadcaster.cpp

  Log Message:
  -----------
  [lldb][NFCI] Remove EventData* param from BroadcastEvent (#78773)

BroadcastEvent currently takes its EventData* param and shoves it into
an Event object, which takes ownership of the pointer and places it into
a shared_ptr to manage the lifetime.

Instead of relying on `new` and passing raw pointers around, I think it
would make more sense to create the shared_ptr up front.


  Commit: 414df7051ac90f186fac9d3d8968aa827eceb697
      https://github.com/llvm/llvm-project/commit/414df7051ac90f186fac9d3d8968aa827eceb697
  Author: Malavika Samak <malavika.samak at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fix the crash introduced by the unsafe invocation of span::data warning (#78815)

The patch fixes the crash introduced by the DataInvocation warning
gadget designed to warn against unsafe invocations of span::data method.

It also now considers the invocation of span::data method inside
parenthesis.

Radar: 121223051

---------

Co-authored-by: MalavikaSamak <malavika2 at apple.com>


  Commit: 16d2583254284611843b2517c8e9f9d6efe8c627
      https://github.com/llvm/llvm-project/commit/16d2583254284611843b2517c8e9f9d6efe8c627
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-loop.f90

  Log Message:
  -----------
  [flang][openacc] Fix test with new loop design


  Commit: 1be0d9d7d88a9bdabe6ef4d81720ddf4cf6f71c1
      https://github.com/llvm/llvm-project/commit/1be0d9d7d88a9bdabe6ef4d81720ddf4cf6f71c1
  Author: Dani <DanielKristofKiss at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp

  Log Message:
  -----------
  [AArch64][Clang] Fix linker error for function multiversioning (#74358)

AArch64 part of https://github.com/llvm/llvm-project/pull/71706.

Default version is now mangled with .default.
Resolver for the TargetVersion need to be emitted from the
CodeGenModule::EmitMultiVersionFunctionDefinition.


  Commit: 7c53e9f6671b44ffd2c36d8c6f0f05456a6222ea
      https://github.com/llvm/llvm-project/commit/7c53e9f6671b44ffd2c36d8c6f0f05456a6222ea
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-cond-dbg.ll
    M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
    M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-1.ll
    M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-5.ll
    M llvm/test/Transforms/LoopStrengthReduce/optimizemax_debugloc.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr12018.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr51656.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr52161.ll

  Log Message:
  -----------
  [RemoveDIs][DebugInfo] Add support for DPValues to LoopStrengthReduce (#78706)

This patch trivially extends support for DbgValueInst recovery to
DPValues in LoopStrengthReduce; they are handled identically, so this is
mostly done by reusing the DbgValueInst code (using templates or
auto-parameter lambdas to reduce actual code duplication).


  Commit: 7bd52da203595b59511b3673f59865e06b417603
      https://github.com/llvm/llvm-project/commit/7bd52da203595b59511b3673f59865e06b417603
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-subscriber.yml
    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/ChainedComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/include-cleaner/test/tool.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
    M clang/CMakeLists.txt
    M clang/cmake/caches/BOLT.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/ObjCRuntime.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/ia32intrin.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c
    M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.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_cvtn.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_ldr_str_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.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.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_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_mop.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.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
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/memtag-globals-asm.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    A clang/test/CodeGenCXX/visibility-global-new-delete.cpp
    A clang/test/CodeGenObjC/gnustep2-direct-method.m
    M clang/test/CoverageMapping/branch-constfolded.cpp
    M clang/test/CoverageMapping/if.cpp
    M clang/test/Driver/dxc_spirv.hlsl
    A clang/test/Driver/modules-print-library-module-manifest-path.cpp
    A clang/test/Driver/visibility-global-new-delete.cl
    M clang/test/ExtractAPI/typedef.c
    A clang/test/ExtractAPI/union.c
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/test/SemaCXX/overloaded-operator.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/perf-training/CMakeLists.txt
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/bolt.lit.site.cfg.in
    M clang/utils/perf-training/perf-helper.py
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Lower/OpenMP.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop-exit.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/locations.f90
    M flang/test/Lower/OpenMP/FIR/sections.f90
    A flang/test/Lower/OpenMP/infinite-loop-in-construct.f90
    M flang/test/Lower/OpenMP/sections.f90
    A flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/tools/f18/flang-to-external-fc.in
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/startup/linux/do_start.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libclc/CMakeLists.txt
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/exception_ptr.bench.cpp
    M libcxx/docs/BuildingLibcxx.rst
    A libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/docs/index.rst
    M libcxx/include/__availability
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__config
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__memory/assume_aligned.h
    M libcxx/include/chrono
    M libcxx/include/format
    M libcxx/include/new
    M libcxx/include/typeinfo
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/modules/std.compat/cstdlib.inc
    M libcxx/modules/std.compat/ctime.inc
    M libcxx/modules/std/ctime.inc
    M libcxx/src/new.cpp
    M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
    M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
    M libcxx/test/libcxx/selftest/modules/std-and-std.compat-module.sh.cpp
    M libcxx/test/libcxx/selftest/modules/std.compat-module.sh.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/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
    A libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.const_eval.verify.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
    A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.except.pass.cpp
    M libcxx/test/std/modules/std.compat.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.local/ostream.verify.cpp
    R libcxx/test/std/time/time.clock/time.clock.system/ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
    M libcxx/test/std/utilities/expected/types.h
    R libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    R libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    R libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
    M libcxx/test/support/test_basic_format_arg.h
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxxabi/include/cxxabi.h
    M libcxxabi/lib/exceptions.exp
    M libcxxabi/src/cxa_exception.cpp
    M libcxxabi/src/stdlib_new_delete.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LTO.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptLexer.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/allow-shlib-undefined.s
    M lld/test/ELF/cref.s
    M lld/test/ELF/linkerscript/symbol-ordering-file2.s
    M lld/test/ELF/lto/amdgcn-oses.ll
    M lld/test/ELF/x86-64-gotpc-no-relax-err.s
    A lld/test/wasm/Inputs/start-lib1.s
    A lld/test/wasm/Inputs/start-lib2.s
    A lld/test/wasm/start-lib.s
    M lld/wasm/Driver.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/Options.td
    M lld/wasm/Symbols.h
    M lldb/include/lldb/Breakpoint/Watchpoint.h
    M lldb/include/lldb/Core/Address.h
    M lldb/include/lldb/Symbol/Symbol.h
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/include/lldb/Utility/Stream.h
    M lldb/source/Breakpoint/BreakpointList.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    M lldb/source/Breakpoint/WatchpointList.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Symbol/Symbol.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/source/Utility/Broadcaster.cpp
    M lldb/source/Utility/Stream.cpp
    M llvm/cmake/modules/FindFFI.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/ADT/SmallVector.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/Support/SmallVector.cpp
    M llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrGISel.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz.mir
    A llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
    M llvm/test/CodeGen/AArch64/arm64-vadd.ll
    M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
    M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/neon-addlv.ll
    M llvm/test/CodeGen/AArch64/popcount.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    A llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-invalid-syncscope.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
    M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
    M llvm/test/CodeGen/X86/combine-concatvectors.ll
    M llvm/test/CodeGen/X86/nontemporal-4.ll
    M llvm/test/CodeGen/X86/pr13577.ll
    M llvm/test/CodeGen/X86/ret-mmx.ll
    M llvm/test/CodeGen/X86/select-optimize.ll
    M llvm/test/CodeGen/X86/widen_shuffle-1.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
    A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
    M llvm/test/Instrumentation/cgprofile.ll
    M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-cond-dbg.ll
    M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
    M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-1.ll
    M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
    M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-5.ll
    M llvm/test/Transforms/LoopStrengthReduce/optimizemax_debugloc.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr12018.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr51656.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr52161.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/RewriteStatepointsForGC/base-pointers.ll
    M llvm/tools/llvm-cov/SourceCoverageView.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
    M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    A mlir/include/mlir/Conversion/ArithToArmSME/ArithToArmSME.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    A mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
    A mlir/lib/Conversion/ArithToArmSME/CMakeLists.txt
    M mlir/lib/Conversion/CMakeLists.txt
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    A mlir/lib/ExecutionEngine/ArmRunnerUtils.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/test/CMakeLists.txt
    A mlir/test/Conversion/ArithToArmSME/arith-to-arm-sme.mlir
    R mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
    M mlir/test/Dialect/OpenACC/canonicalize.mlir
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/lit.local.cfg
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/lit.local.cfg
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/test-setArmVLBits.mlir
    A mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
    M mlir/test/lit.cfg.py
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M mlir/unittests/Analysis/Presburger/UtilsTest.cpp
    M openmp/libomptarget/include/Shared/APITypes.h
    M openmp/libomptarget/include/Shared/PluginAPI.h
    M openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/include/Shared/Requirements.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/OpenMP/Mapping.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/test/lit.cfg
    M openmp/libomptarget/test/lit.site.cfg.in
    A openmp/libomptarget/test/mapping/auto_zero_copy.cpp
    A openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90
    M openmp/libomptarget/test/unified_shared_memory/api.c
    M openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  fix mingw. use 'auto'

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/2ce574886828...7bd52da20359


More information about the All-commits mailing list