[all-commits] [llvm/llvm-project] aa2c14: [OpenMP] Close up permissions on /tmp files (#85469)

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Apr 1 13:51:58 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpadd-support-for-commutative-intrinsics
  Home:   https://github.com/llvm/llvm-project
  Commit: aa2c14de1adcd265bf0c0fb44f97b5d6c1c38710
      https://github.com/llvm/llvm-project/commit/aa2c14de1adcd265bf0c0fb44f97b5d6c1c38710
  Author: Terry Wilmarth <terry.l.wilmarth at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_runtime.cpp

  Log Message:
  -----------
  [OpenMP] Close up permissions on /tmp files (#85469)

The SHM or /tmp files that might be created during library registration
don't need to have such open permissions, so this change fixes that.


  Commit: 009f88fc0e3a036be97ef7b222b90af342bae0b7
      https://github.com/llvm/llvm-project/commit/009f88fc0e3a036be97ef7b222b90af342bae0b7
  Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] TXT records in the GOFF reader (#74526)

This PR adds handling for TXT records in the GOFF reader.

---------

Authored-by: Yusra Syeda <yusra.syeda at ibm.com>


  Commit: c388690a8b96cbdfa8c38a1e050088201da648e5
      https://github.com/llvm/llvm-project/commit/c388690a8b96cbdfa8c38a1e050088201da648e5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h

  Log Message:
  -----------
  [libc++][NFC] Simplify copy and move lowering to memmove a bit (#83574)

We've introduced `__constexpr_memmove` a while ago, which simplified the
implementation of the copy and move lowering a bit. This allows us to
remove some of the boilerplate.


  Commit: 313bf28f98f714a0bd8f74a3beb4631d94428f89
      https://github.com/llvm/llvm-project/commit/313bf28f98f714a0bd8f74a3beb4631d94428f89
  Author: David Green <david.green at arm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/test/CodeGen/Thumb2/mve-vpt-optimisations.mir

  Log Message:
  -----------
  [ARM][MVE] Remove kill flags when reusing VPR register. (#86300)

The vpr register may no longer be killed where it was, so we should be
removing the kill flags.


  Commit: 78f0871beed002187e65cc1334087596e9c11043
      https://github.com/llvm/llvm-project/commit/78f0871beed002187e65cc1334087596e9c11043
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/test/CodeGen/PowerPC/huge-frame-size.ll
    R llvm/test/CodeGen/X86/huge-stack.ll

  Log Message:
  -----------
  Revert rG58de1e2c5eee548a9b365e3b1554d87317072ad9 "Fix stack layout for frames larger than 2gb (#84114)"

This is failing on some EXPENSIVE_CHECKS buildbots


  Commit: 77118536b52bf5256eed85f61451d0beb6cf5dc3
      https://github.com/llvm/llvm-project/commit/77118536b52bf5256eed85f61451d0beb6cf5dc3
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/docs/dev/code_style.rst
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/gpu/FMA.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/utils/gpu/server/rpc_server.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove obsolete LIBC_HAS_BUILTIN macro (#86554)

Fixes #86546 and removes the macro `LIBC_HAS_BUILTIN`. This was
necessary to support older compilers that did not support
`__has_builtin`. All of the compilers we support already have this
builtin.
See: https://libc.llvm.org/compiler_support.html
All uses now use `__has_builtin` directly

cc @nickdesaulniers


  Commit: 6a0ec8e25cba9d398cf525889c53835cf40247a3
      https://github.com/llvm/llvm-project/commit/6a0ec8e25cba9d398cf525889c53835cf40247a3
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Symbol/UnwindTable.cpp
    A lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test

  Log Message:
  -----------
  [lldb] Revive shell test after updating UnwindTable (#86770)

In
     commit 2f63718f8567413a1c596bda803663eb58d6da5a
     Author: Jason Molenda <jmolenda at apple.com>
     Date:   Tue Mar 26 09:07:15 2024 -0700

[lldb] Don't clear a Module's UnwindTable when adding a SymbolFile
(#86603)

I stopped clearing a Module's UnwindTable when we add a SymbolFile to
avoid the memory management problems with adding a symbol file
asynchronously while the UnwindTable is being accessed on another
thread. This broke the target-symbols-add-unwind.test shell test on
Linux which removes the DWARF debub_frame section from a binary, loads
it, then loads the unstripped binary with the DWARF debug_frame section
and checks that the UnwindPlans for a function include debug_frame.

I originally decided that I was willing to sacrifice the possiblity of
additional unwind sources from a symbol file because we rely on assembly
emulation so heavily, they're rarely critical. But there are targets
where we we don't have emluation and rely on things like DWARF
debug_frame a lot more, so this probably wasn't a good choice.

This patch adds a new UnwindTable::Update method which looks for any new
sources of unwind information and adds it to the UnwindTable, and calls
that after a new SymbolFile has been added to a Module.


  Commit: 468c6bea2280491283e45239ad1c0ac6a59b3da8
      https://github.com/llvm/llvm-project/commit/468c6bea2280491283e45239ad1c0ac6a59b3da8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Fix "result of 32-bit shift implicitly converted to 64 bits" MSVC warning. NFCI.


  Commit: f92fa7e2cf38341211af262b21c568bef4d76b10
      https://github.com/llvm/llvm-project/commit/f92fa7e2cf38341211af262b21c568bef4d76b10
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/huge-stack-offset.ll
    M llvm/test/CodeGen/X86/huge-stack-offset2.ll

  Log Message:
  -----------
  [X86] Add -verify-machineinstrs to huge stack tests

Help identify EXPENSIVE_CHECKS regressions identified in #84114


  Commit: 9669aba13295de5ccdefc44e22e30c0295e6afd2
      https://github.com/llvm/llvm-project/commit/9669aba13295de5ccdefc44e22e30c0295e6afd2
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [Thumb1] LivePhysRegs to LiveRegUnits (#84474)

This removes the r7 exception because otherwise, LiveRegUnits will try
to use that register.


  Commit: 6ad1cf3b37f0eefa5f43f90990ec3dcf5c87dead
      https://github.com/llvm/llvm-project/commit/6ad1cf3b37f0eefa5f43f90990ec3dcf5c87dead
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/HeaderFile.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
    A clang/test/InstallAPI/umbrella-headers-unix.test
    A clang/test/InstallAPI/umbrella-headers.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] Add *umbrella-header options (#86587)

Umbrella headers are a concept for Darwin-based libraries. They allow
framework authors to control the order in which their headers should be
parsed and allow clients to access available headers by including a
single header.

InstallAPI will attempt to find the umbrella based on the name of the
framework. Users can also specify this explicitly by using command line
options specifying the umbrella header by file path. There can be an
umbrella header per access level.


  Commit: 0099c584bad3bdeb62fede61fb89fdcc022bd2a0
      https://github.com/llvm/llvm-project/commit/0099c584bad3bdeb62fede61fb89fdcc022bd2a0
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Remove -lm on macOS (#86706)

Bazel links this library by default which leads to this linker warning
on macOS:

```
ld: warning: ignoring duplicate libraries: '-lm'
```


  Commit: fca48312a833464369ce1615c60e09f1d71e4aad
      https://github.com/llvm/llvm-project/commit/fca48312a833464369ce1615c60e09f1d71e4aad
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp

  Log Message:
  -----------
  Fix signed/unsigned comparison warning. NFC.


  Commit: 4d177435bae03551245ffdc4dfcee5345323121d
      https://github.com/llvm/llvm-project/commit/4d177435bae03551245ffdc4dfcee5345323121d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Rename makeList overloads to make{Objects,Clauses}, NFC (#86725)

Reserve `makeList` to create a list given an explicit converter
function.


  Commit: 1c965801c42c92ff0b768e31348285514ecf5511
      https://github.com/llvm/llvm-project/commit/1c965801c42c92ff0b768e31348285514ecf5511
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [LegalizeDAG] Merge PerformInsertVectorEltInMemory into ExpandInsertToVectorThroughStack. NFC (#86755)

These functions are very similar. We can share them like we do for
EXTRACT_VECTOR_ELT and EXTRACT_SUBVECTOR.


  Commit: c335accb07c0cfa4bd7f47edc94c9005692edfcc
      https://github.com/llvm/llvm-project/commit/c335accb07c0cfa4bd7f47edc94c9005692edfcc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    A lld/test/ELF/pack-dyn-relocs-ifunc.s

  Log Message:
  -----------
  [ELF] --pack-dyn-relocs=android+relr: place IRELATIVE in .rela.plt (#86751)

Current Bionic processes relocations in this order:

* DT_ANDROID_REL[A]
* DT_RELR
* DT_REL[A]
* DT_JMPREL

If an IRELATIVE relocation is in DT_ANDROID_REL[A], it would read
unrelocated (incorrect) global variables associated with RELR when
--pack-dyn-relocs=android+relr is enabled. Work around this by placing
IRELATIVE in .rel[a].plt (DT_JMPREL).

Link: https://r.android.com/3014185


  Commit: dcd0f2b6103072b74b446c2d1e9ecec60001a28c
      https://github.com/llvm/llvm-project/commit/dcd0f2b6103072b74b446c2d1e9ecec60001a28c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/extractelement-load.ll
    M llvm/test/CodeGen/X86/pr45378.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll

  Log Message:
  -----------
  [X86] combineExtractFromVectorLoad support extraction from vector of different types to the extraction type/index

combineExtractFromVectorLoad no longer uses the vector we're extracting from to determine the pointer offset calculation, allowing us to extract from types that have been bitcast to work with specific target shuffles.

Fixes #85419


  Commit: 5d3ef06509c2f1fc5384fa64e5848d12f7b8811e
      https://github.com/llvm/llvm-project/commit/5d3ef06509c2f1fc5384fa64e5848d12f7b8811e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-pavg.ll

  Log Message:
  -----------
  [X86] combine-pavg.ll - add demandedelts test coverage for #86284


  Commit: 35d55f2894a2a2cdca5db494f519aa5ec7273678
      https://github.com/llvm/llvm-project/commit/35d55f2894a2a2cdca5db494f519aa5ec7273678
  Author: Justin Fargnoli <justinfargnoli at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M mlir/include/mlir/IR/Dialect.h
    M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
    M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/UB/IR/UBOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp

  Log Message:
  -----------
  [NFC][mlir] Reorder `declarePromisedInterface()` operands (#86628)

Reorder the template operands of `declarePromisedInterface()` to match
`declarePromisedInterfaces()`.


  Commit: 96b3969a4d9e8faa3dd9b7e8b2696e2684cdebef
      https://github.com/llvm/llvm-project/commit/96b3969a4d9e8faa3dd9b7e8b2696e2684cdebef
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [NFC][HWASAN] Precommit globals-access test

HWASAN does not behave as expected yet.

Reviewers: fmayer, thurstond

Reviewed By: fmayer, thurstond

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


  Commit: e96f652bd02b6b8e11c390564267ec7634ab6205
      https://github.com/llvm/llvm-project/commit/e96f652bd02b6b8e11c390564267ec7634ab6205
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/Globals.cpp

  Log Message:
  -----------
  [NFC][IR] Add SetNoSanitize helpers (#86772)

This will be used by #86775


  Commit: 5a7341a7ae29be80be944b73419eba4017826cd1
      https://github.com/llvm/llvm-project/commit/5a7341a7ae29be80be944b73419eba4017826cd1
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp

  Log Message:
  -----------
  [NFC][libc++][TZDB] Improves some internals. (#84800)

Removes some unneeded overloads in the pimpl class; they implementation
could be in the caller.
The pimpl member functions are __uglified.


  Commit: 52431fdb1ab8d29be078edd55250e06381e4b6b0
      https://github.com/llvm/llvm-project/commit/52431fdb1ab8d29be078edd55250e06381e4b6b0
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll

  Log Message:
  -----------
  [WebAssembly] Remove threwValue comparison after __wasm_setjmp_test (#86633)

Currently the code thinks a `longjmp` occurred if both `__THREW__` and
`__threwValue` are nonzero. But `__threwValue` can be 0, and the
`longjmp` library function should change it to 1 in case it is 0:
https://en.cppreference.com/w/c/program/longjmp

Emscripten libraries were not consistent about that, but after
https://github.com/emscripten-core/emscripten/pull/21493 and
https://github.com/emscripten-core/emscripten/pull/21502, we correctly
pass 1 in case the input is 0. So there will be no case `__threwValue`
is 0. And regardless of what `longjmp` library function does, treating
`longjmp`'s 0 input to its second argument as "not longjmping" doesn't
seem right.

I'm not sure where that `__threwValue` checking came from, but probably
I was porting then fastcomp's implementation and moved this part just
verbatim:
https://github.com/emscripten-core/emscripten-fastcomp/blob/9bdc7bb4fc595fe05a021b06fe350e8494a741a1/lib/Target/JSBackend/CallHandlers.h#L274-L278

Just for the context, how this was discovered:
https://github.com/emscripten-core/emscripten/pull/21502#pullrequestreview-1942160300


  Commit: 2598aa67c8fa733455af1b9738f257653ee6322b
      https://github.com/llvm/llvm-project/commit/2598aa67c8fa733455af1b9738f257653ee6322b
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll

  Log Message:
  -----------
  [CSSPGO] Reject high checksum mismatched profile (#84097)

Error out the build if the checksum mismatch is extremely high, it's
better to drop the profile rather than apply the bad profile.
Note that the check is on a module level, the user could make big
changes to functions in one single module but those changes might not be
performance significant to the whole binary, so we want to be
conservative, only expect to catch big perf regression. To do this, we
select a set of the "hot" functions for the check. We use two
parameter(`hot-func-cutoff-for-staleness-error` and
`min-functions-for-staleness-error`) to control the function selection
to make sure the selected are hot enough and the num of function is not
small.
Tuned the parameters on our internal services, it works to catch big
perf regression due to the high mismatch .


  Commit: f1ac559534788f8dd42191b60dfdf9cc56b39fd4
      https://github.com/llvm/llvm-project/commit/f1ac559534788f8dd42191b60dfdf9cc56b39fd4
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tsd.h

  Log Message:
  -----------
  Revert "[scudo] Use getMonotonicTimeFast for tryLock." (#86590)

This reverts commit 36ca9a29025a2f678096e9545fa2ec44e8432592.

We were using the `time` as the seed while choosing a new TSD. To make
the access of TSDs evenly distributed, we require a higher precision in
`time`. Otherwise, many threads may result in having the same random
access pattern on TSDs because they share the same `time` in certain
period. On Linux, CLOCK_MONOTONIC_COARSE usually adopts 4 ms precision.
This is way higher than the average accessing time of TSD (which is
usually less than 1 us). As a result, when multiple threads try to
select a new TSD in a 4 ms interval, they share the same `time` seed and
end up choosing and congesting on the same TSD.


  Commit: 36e74cfdbde208e384c72bcb52ea638303fb7d67
      https://github.com/llvm/llvm-project/commit/36e74cfdbde208e384c72bcb52ea638303fb7d67
  Author: David Green <david.green at arm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    A llvm/test/CodeGen/AArch64/peephole-movd.mir

  Log Message:
  -----------
  [AArch64] Clear kill flags when removing FMOVDr. (#86308)

The uses of OldDef/NewDef may not be killed in the same place they
previously were after they are replaced, and so need to be cleared.


  Commit: 2329fb29d141bc356e4b5b859ab290b02f0b3cf6
      https://github.com/llvm/llvm-project/commit/2329fb29d141bc356e4b5b859ab290b02f0b3cf6
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl

  Log Message:
  -----------
  [HLSL] enforce unsigned types for reversebits (#86720)

fixes #86719
- `SemaChecking.cpp` - Adds unsigned semaChecks to
`__builtin_elementwise_bitreverse`
- `hlsl_intrinsics.h` - remove signed `reversebits` apis


  Commit: 2d641858fa44db315a42fa1b5ba43540f1ca1ea4
      https://github.com/llvm/llvm-project/commit/2d641858fa44db315a42fa1b5ba43540f1ca1ea4
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll

  Log Message:
  -----------
  [nfc][PGO]Factor out profile scaling into a standalone helper function (#83780)

- Put the helper function in `ProfDataUtil.h/cpp`, which is already a
dependency of `Instructions.cpp`
- The helper function could be re-used to update profiles of
`InvokeInst` (in a follow-up pull request)


  Commit: e36ec2f40c7ea998dd11a485b01c32f50b7bf738
      https://github.com/llvm/llvm-project/commit/e36ec2f40c7ea998dd11a485b01c32f50b7bf738
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A clang/test/C/C99/digraphs.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to digraphs/iso646


  Commit: dd06b8e679fd28f51cd065401062041a40b87f9c
      https://github.com/llvm/llvm-project/commit/dd06b8e679fd28f51cd065401062041a40b87f9c
  Author: rayroudc <rayroudc at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [clang-format] Fix anonymous reference parameter with default value (#86254)

When enabling alignment of consecutive declarations and reference right
alignment, the needed space between `& ` and ` = ` is removed in the
following use case.

Problem (does not compile)
```
int    a(const Test    &= Test());
double b();
```

Expected:
```
int    a(const Test & = Test());
double b();
```

Test command:

```
echo "int    a(const Test& = Test()); double b();" | clang-format -style="{AlignConsecutiveDeclarations: true, ReferenceAlignment: Right}"
```


  Commit: 421085fd740d937559db068c0a1b354b033aca63
      https://github.com/llvm/llvm-project/commit/421085fd740d937559db068c0a1b354b033aca63
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper-image.c
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp

  Log Message:
  -----------
  [Offload] Change unregister library to use `atexit` instead of destructor (#86830)

Summary:
The 'new driver' sets up the lifetime of a registered liftime using
global constructors and destructors. Currently, this is put at priority
1 which isn't strictly conformant as it will conflict with system
utilities. We now use 101 as this is the loweest suggested for
non-system constructors and will still run before user constructors.

Secondly, there were issues with the CUDA runtime when destructed with a
global destructor. Because the global ones are in any order and
potentially run before other things we were hitting an edge case where
the OpenMP runtime was uninitialized *after* `_dl_fini` was called. This
would result in us erroring when we call into a destroyed `libcuda.so`
instance. using `atexit` is what CUDA / HIP use and it prevents this
from happening. Most everything uses `atexit` except system utilities
and because of the constructor priority it will be unregistered *after*
everything else but not after `_fl_fini`.


  Commit: ed68aac9f225ce560a89315c30f1e97e7e035a03
      https://github.com/llvm/llvm-project/commit/ed68aac9f225ce560a89315c30f1e97e7e035a03
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Libomptarget] Move API implementations into GenericPluginTy (#86683)

Summary:
The plan is to remove the entire plugin interface and simply use the
`GenericPluginTy` inside of `libomptarget` by statically linking against
it. This means that inside of `libomptarget` we will simply do
`Plugin.data_alloc` without the dynamically loaded interface. To reduce
the amount of code required, this patch simply moves all of the RTL
implementation functions inside of the Generic device. Now the
`__tgt_rtl_` interface is simply a shallow wrapper that will soon go
away. There is some redundancy here, this will be improved later. For
now what is important is minimizing the changes to the API.


  Commit: 6ef829941b38f7e8a28c4cba1ff25cd0ae9f7d3d
      https://github.com/llvm/llvm-project/commit/6ef829941b38f7e8a28c4cba1ff25cd0ae9f7d3d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll

  Log Message:
  -----------
  Recommit "[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)"

Recommit with a fix for the use-after-free causing the revert.
This reverts the revert commit f872043e055f4163c3c4b1b86ca0354490174987.

Original commit message:

Dropping disjoint from an OR may yield incorrect results, as some
analysis may have converted it to an Add implicitly (e.g. SCEV used for
dependence analysis). Instead, replace it with an equivalent Add.

This is possible as all users of the disjoint OR only access lanes where
the operands are disjoint or poison otherwise.

Note that replacing all disjoint ORs with ADDs instead of dropping the
flags is not strictly necessary. It is only needed for disjoint ORs that
SCEV treated as ADDs, but those are not tracked.

There are other places that may drop poison-generating flags; those
likely need similar treatment.

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

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


  Commit: c2bdbedf1c2326cb3b38cedf0ee46413d86e2e2c
      https://github.com/llvm/llvm-project/commit/c2bdbedf1c2326cb3b38cedf0ee46413d86e2e2c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][NFC] Remove whitespace that doesn't belong


  Commit: aeb8628c218f8224e08dddcdd3199a445d8607a8
      https://github.com/llvm/llvm-project/commit/aeb8628c218f8224e08dddcdd3199a445d8607a8
  Author: Neumann Hon <neumann.hon at ibm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  Revert "[SystemZ][z/OS] TXT records in the GOFF reader (#74526)"

This reverts commit 009f88fc0e3a036be97ef7b222b90af342bae0b7.

Reverting PR due to test failure.


  Commit: baf66ec061aa4da85d6bdfd1f9cd1030b9607fbb
      https://github.com/llvm/llvm-project/commit/baf66ec061aa4da85d6bdfd1f9cd1030b9607fbb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/TableGen/ConcatenatedSubregs.td
    A llvm/test/TableGen/HwModeSubRegs.td
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [Target][RISCV] Add HwMode support to subregister index size/offset. (#86368)

This is needed to provide proper size and offset for the GPRPair subreg
indices on RISC-V. The size of a GPR already uses HwMode. Previously we
said the subreg indices have unknown size and offset, but this stops
DwarfExpression::addMachineReg from being able to find the registers
that make up the pair.

I believe this fixes https://github.com/llvm/llvm-project/issues/85864
but need to verify.


  Commit: 10bd55566a01c63d9e4f46da5a4e671684aa7fc5
      https://github.com/llvm/llvm-project/commit/10bd55566a01c63d9e4f46da5a4e671684aa7fc5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

  Log Message:
  -----------
  [RISCV] Model vd as a src for some Zvk* instructions in MC layer. (#86710)

Some Zvk instructions use vd as a source regardless of tail policy.
Model this in the MC layer. We already do this for FMA for example.


  Commit: d9a685a9dd589486e882b722e513ee7b8c84870c
      https://github.com/llvm/llvm-project/commit/d9a685a9dd589486e882b722e513ee7b8c84870c
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers  (#86721)

To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.

This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.

In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.

This reapplies 8bd1f9116aab879183f34707e6d21c7051d083b6. The commit
broke msan bots because LValue::IsKnownNonNull was uninitialized.


  Commit: cd17082b24079a31eff0057abe407da5cfb7b0fc
      https://github.com/llvm/llvm-project/commit/cd17082b24079a31eff0057abe407da5cfb7b0fc
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/docs/math/index.rst

  Log Message:
  -----------
  [libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)


  Commit: 4a5056be2e38bdf27125a41f3f1b7ae4233f9713
      https://github.com/llvm/llvm-project/commit/4a5056be2e38bdf27125a41f3f1b7ae4233f9713
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [Libomptarget][NFC] Remove trivially true checks on function pointers (#86804)

Summary:
Previously we had an interface that checked these functions pointers to
see if they are implemented by the plugin. This was removed as currently
every single function is implemented as a part of the common interface.
These checks are now always true and do nothing.


  Commit: 685d7855acb28f89aa948e0056d2807bf30d3971
      https://github.com/llvm/llvm-project/commit/685d7855acb28f89aa948e0056d2807bf30d3971
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp

  Log Message:
  -----------
  Fix the -Wmissing-designated-field-initializers on the clang-ppc64le-rhel bot


  Commit: abc270ae00cd991bf1b2125e880b9eb73d8d6727
      https://github.com/llvm/llvm-project/commit/abc270ae00cd991bf1b2125e880b9eb73d8d6727
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Finish revert "[SystemZ][z/OS] TXT records in the GOFF reader (#74526)"

This finishes the revert started in
aeb8628c218f8224e08dddcdd3199a445d8607a8 which didn't completely back
out the original patch.


  Commit: 0d7ea50d20414e2da3019c45a0a3de804167fa47
      https://github.com/llvm/llvm-project/commit/0d7ea50d20414e2da3019c45a0a3de804167fa47
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [AArch64] Pre-commit test for #86717. NFC


  Commit: acab142751d3498c6d0aa63253dc1c9f3f83f268
      https://github.com/llvm/llvm-project/commit/acab142751d3498c6d0aa63253dc1c9f3f83f268
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll

  Log Message:
  -----------
  [LegalizeDAG] Freeze index when converting insert_elt/insert_subvector to load/store on stack.

We try clamp the index to be within the bounds of the stack object
we create, but if we don't freeze it, poison can propagate into the
clamp code. This can cause the access to leave the bounds of the
stack object.

We have other instances of this issue in type legalization and extract_elt/subvector,
but posting this patch first for direction check.

Fixes #86717


  Commit: 4d4626d9d59bce9f4d19bd4a1b384f1122904419
      https://github.com/llvm/llvm-project/commit/4d4626d9d59bce9f4d19bd4a1b384f1122904419
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [TEST][HWASAN] Fix test after #86771


  Commit: 3522de9e412fbaa6d7344cc31bd43d1be6c95d59
      https://github.com/llvm/llvm-project/commit/3522de9e412fbaa6d7344cc31bd43d1be6c95d59
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll

  Log Message:
  -----------
  [TEST][HWASAN] Fix test after #86771


  Commit: fa90a0aa0e12aaf657d0f6f7626e05f90ba6f999
      https://github.com/llvm/llvm-project/commit/fa90a0aa0e12aaf657d0f6f7626e05f90ba6f999
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Improve error handling for shm_open calls

This patch adds error handling for shm_open failures in one case where
they were not handled before and also makes an error handler in another
case report the value of errno for diagnosis.


  Commit: 8a071678a9091d536eae29912ca7be6238105956
      https://github.com/llvm/llvm-project/commit/8a071678a9091d536eae29912ca7be6238105956
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/docs/math/index.rst

  Log Message:
  -----------
  Revert "[libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)"

This reverts commit cd17082b24079a31eff0057abe407da5cfb7b0fc because the newly
added tests fail on 32b ARM.

Link: #86692
Link: https://lab.llvm.org/buildbot/#/builders/229/builds/24458


  Commit: 453a63caebc35378bcdb31da9d0f358a3998e51b
      https://github.com/llvm/llvm-project/commit/453a63caebc35378bcdb31da9d0f358a3998e51b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [NFC][HWASAN] Promote InstrumentGlobals to member (#86773)


  Commit: 70e8cf0c31493071c50c8112c6e0c7903abf6ca6
      https://github.com/llvm/llvm-project/commit/70e8cf0c31493071c50c8112c6e0c7903abf6ca6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll

  Log Message:
  -----------
  [HWASAN] Don't instrument loads from global if globals are not tagged (#86774)


  Commit: f18600c87404eab8d0a279b0286f8add8b4a1bb8
      https://github.com/llvm/llvm-project/commit/f18600c87404eab8d0a279b0286f8add8b4a1bb8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [Driver] Avoid repeated ToolChain.getTriple() calls. NFC


  Commit: c7d947f5e6c966bdba4db26097c3b433fcbe7841
      https://github.com/llvm/llvm-project/commit/c7d947f5e6c966bdba4db26097c3b433fcbe7841
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

  Log Message:
  -----------
  [lldb] [ObjC runtime] Don't cast to signed when left shifting (#86605)

This is fixing a report from ubsan which I don't think is super high
value, but our testsuite hits it on
TestDataFormatterObjCNSContainer.py so I'd like to work around it. We
are getting

```
runtime error: left shift of negative value -8827055269646171913

   3159	  int64_t data_payload_signed =
   3160	      ((int64_t)((int64_t)unobfuscated
-> 3161	                 << m_objc_debug_taggedpointer_ext_payload_lshift) >>
   3162	       m_objc_debug_taggedpointer_ext_payload_rshift);
```

At this point `unobfuscated` is 0x85800000000000f7 and
`m_objc_debug_taggedpointer_ext_payload_lshift` is 9, so
`(int64_t)0x85800000000000f7<<9` shifts off the "sign" bit and then some
zeroes etc, and that's how we get this error.

We're only trying to extract some bits in the middle of the doubleword,
so the fact that we're "losing" the sign is not a bug. Change the inner
cast to (uint64_t).


  Commit: acdba090f2724335cf6cf6ecbfb68f67f0cd2def
      https://github.com/llvm/llvm-project/commit/acdba090f2724335cf6cf6ecbfb68f67f0cd2def
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/ELF/Symbols.cpp
    M lld/test/ELF/allow-multiple-definition.s

  Log Message:
  -----------
  [ELF] Change duplicate symbol errors to use errorOrWarn

so that --noinhibit-exec downgrades the error to a warning, which
matches GNU ld. Most recoverable errors should use errorOrWarn.


  Commit: b9cd48f96acdd07c627ccafbf4386a1f3dcd6c51
      https://github.com/llvm/llvm-project/commit/b9cd48f96acdd07c627ccafbf4386a1f3dcd6c51
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Verifier.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Verifier/tbaa-struct.ll

  Log Message:
  -----------
  Revert "[TBAA] Add verifier for tbaa.struct metadata (#86709)"

This reverts commit df75183d70e029352a49c93f275db703c81a65c1.

Revert for now as this appears to cause failures on some buildbots,
e.g.:
https://lab.llvm.org/buildbot/#/builders/93/builds/19428/steps/10/logs/stdio


  Commit: 552c8eb731a1fabef4d81e2a69911506adf39e22
      https://github.com/llvm/llvm-project/commit/552c8eb731a1fabef4d81e2a69911506adf39e22
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the wrong result extension after reduction,
NFC.


  Commit: 742a82a729925dc79641beb649f492003be40725
      https://github.com/llvm/llvm-project/commit/742a82a729925dc79641beb649f492003be40725
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    A lld/test/MachO/objc-relative-method-lists-simple.s

  Log Message:
  -----------
  [lld-macho] Implement support for ObjC relative method lists (#86231)

The MachO format supports relative offsets for ObjC method lists. This
support is present already in ld64. With this change we implement this
support in lld also.

Relative method lists can be identified by a specific flag (0x80000000)
in the method list header. When this flag is present, the method list
will contain 32-bit relative offsets to the current Program Counter
(PC), instead of absolute pointers.
Additionally, when relative method lists are used, the offset to the
selector name will now be relative and point to the selector reference
(selref) instead of the name itself.


  Commit: d94dc5f0d63be3d786224f57c061ef16687fca9a
      https://github.com/llvm/llvm-project/commit/d94dc5f0d63be3d786224f57c061ef16687fca9a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll

  Log Message:
  -----------
  [SLP]Fix PR86763: do not truncate reductions to the demanded bits size.

Need to adjust ReductionBitWIdth after minbitwidth analysis, if the
demanded bits analysis sjows tht its size is less than the size of the
vectorized value. It prevents incorrect sign-zero extension
transformation after.


  Commit: 0a43ca731b1faedd885f86153ecc570dde602ca3
      https://github.com/llvm/llvm-project/commit/0a43ca731b1faedd885f86153ecc570dde602ca3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll

  Log Message:
  -----------
  [AMDGPU] Fix missing `IsExact` flag when expanding vector binary operator (#86712)


  Commit: a8b90c047d5bb47702eebd4ceeb763e8537981a1
      https://github.com/llvm/llvm-project/commit/a8b90c047d5bb47702eebd4ceeb763e8537981a1
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp

  Log Message:
  -----------
  [GlobalISel] Update `MachineIRBuilder::buildAtomicRMW` interface (#86851)


  Commit: 5da39372e39f3aebf63e07faf774b6ed37cad3fb
      https://github.com/llvm/llvm-project/commit/5da39372e39f3aebf63e07faf774b6ed37cad3fb
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/InstallAPI/Visitor.cpp

  Log Message:
  -----------
  [clang-installapi] Remove unnecessary copy (#86808)

Reported by Static Analyzer Tool:

In clang::installapi::InstallAPIVisitor::VisitFunctionDecl(clang::FunctionDecl
const *): Using the auto keyword without an & causes the copy of an
object of type DynTypedNode.


  Commit: b7a4ace72edf79f8250df2b08f0c14177d346770
      https://github.com/llvm/llvm-project/commit/b7a4ace72edf79f8250df2b08f0c14177d346770
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Improve compile time by size analysis limit and reduction size
limit.

Used RecursionMaxDepth to limit number of lookups in BoUpSLP::getVectorElementSize and limited reduction width for bool reduced values.


  Commit: 88812819022ecff392dfc8d3f964899f63bdffdb
      https://github.com/llvm/llvm-project/commit/88812819022ecff392dfc8d3f964899f63bdffdb
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for (add (shl Z, c1), Y, (shl Z, c2)) variants

Basically, testing for interaction of shNadd matching with one step
of reassociation in the add.


  Commit: d5f06342a3007f414c783ba42cb49453a9cee835
      https://github.com/llvm/llvm-project/commit/d5f06342a3007f414c783ba42cb49453a9cee835
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-macros.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] add flag for FP_*LOGB0/NAN values (#86723)

These values vary by system, this flag allows you to toggle their value.


  Commit: 8a75faf4717b8258b59cf9fbb4cbd2f189114d3f
      https://github.com/llvm/llvm-project/commit/8a75faf4717b8258b59cf9fbb4cbd2f189114d3f
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [NFC][CLANG] Fix null pointer dereferences (#86760)

This patch replaces getAs<> with castAs<> to resolve potential static
analyzer bugs for

1. Dereferencing Proto1->param_type_begin(), which is known to be
nullptr
2. Dereferencing Proto2->param_type_begin(), which is known to be
nullptr
3. Dereferencing a pointer issue with nullptr Proto1 when calling
param_type_end()
4. Dereferencing a pointer issue with nullptr Proto2 when calling
param_type_end()

in clang::Sema::getMoreSpecializedTemplate().


  Commit: 4c2f68840e984b0f111779c46845ac00e3a7547d
      https://github.com/llvm/llvm-project/commit/4c2f68840e984b0f111779c46845ac00e3a7547d
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [CLANG] Fix potential integer overflow value in getRVVTypeSize() (#86810)

In getRVVTypeSize(clang::ASTContext &, clang::BuiltinType const *)
potential integer overflow occurs on expression VScale->first * MinElts
with type unsigned int (32 bits, unsigned) is evaluated using 32-bit
arithmetic, and then used in a context that expects an expression of
type uint64_t (64 bits, unsigned).

To avoid integer overflow, this patch changes the types of variables
MinElts and EltSize to uint64_t instead of the cast.

The change matches what was originally done in https://github.com/llvm/llvm-project/commit/7372c0d46d2185017c509eb30910b102b4f9cdaa. Looks like the revert happened in https://github.com/llvm/llvm-project/commit/c92ad411f2f94d8521cd18abcb37285f9a390ecb


  Commit: d8fe2e4bb05c27520a98dc14b2354901a1d57e53
      https://github.com/llvm/llvm-project/commit/d8fe2e4bb05c27520a98dc14b2354901a1d57e53
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/X86/yaml-secondary-entry-discriminator.s

  Log Message:
  -----------
  [BOLT] Fix enumeration of secondary entry points

Make them start with 1 instead of 0 (reserved for primary entry point).

Test Plan:
```
bin/llvm-lit -a tools/bolt/test/X86/yaml-secondary-entry-discriminator.s
```

Reviewers: rafaelauler, ayermolo, maksfb, dcci

Reviewed By: maksfb

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


  Commit: 0a17eedf7b0c1168999e7ac0492015c64c1fbef4
      https://github.com/llvm/llvm-project/commit/0a17eedf7b0c1168999e7ac0492015c64c1fbef4
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI][NFC] Fix shellcheck warnings in CI scripts (#86877)

This fixes all shellcheck warnings we have in `monolithic-linux.sh` and
`monolithic-windows.sh`.
All of them have to do with
[SC2086](https://www.shellcheck.net/wiki/SC2086) - Double quote to
prevent globbing and word splitting.


  Commit: 14ba782a87e16e9e15460a51f50e67e2744c26d9
      https://github.com/llvm/llvm-project/commit/14ba782a87e16e9e15460a51f50e67e2744c26d9
  Author: Kees Cook <keescook at chromium.org>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/C/drs/dr5xx.c
    M clang/test/CodeGen/flexible-array-init.c
    A clang/test/CodeGen/flexible-array-init.cpp
    M clang/test/Sema/flexible-array-in-union.c
    M clang/test/Sema/transparent-union.c

  Log Message:
  -----------
  [Clang][Sema] Allow flexible arrays in unions and alone in structs (#84428)

GNU and MSVC have extensions where flexible array members (or their
equivalent) can be in unions or alone in structs. This is already fully
supported in Clang through the 0-sized array ("fake flexible array")
extension or when C99 flexible array members have been syntactically
obfuscated.

Clang needs to explicitly allow these extensions directly for C99
flexible arrays, since they are common code patterns in active use by
the
Linux kernel (and other projects). Such projects have been using either
0-sized arrays (which is considered deprecated in favor of C99 flexible
array members) or via obfuscated syntax, both of which complicate their
code bases.

For example, these do not error by default:
```
union one {
	int a;
	int b[0];
};

union two {
	int a;
	struct {
		struct { } __empty;
		int b[];
	};
};
```
But this does:
```
union three {
	int a;
	int b[];
};
```
Remove the default error diagnostics for this but continue to provide
warnings under Microsoft or GNU extensions checks. This will allow for
a seamless transition for code bases away from 0-sized arrays without
losing existing code patterns. Add explicit checking for the warnings
under various constructions.

Additionally fixes a CodeGen bug with flexible array members in unions
in C++, which was found when adding a testcase for:
```
union { char x[]; } z = {0};
```
which only had Sema tests originally.

Fixes #84565


  Commit: b76fd1eddbafaa02a533245d574048c5ad9e38fa
      https://github.com/llvm/llvm-project/commit/b76fd1eddbafaa02a533245d574048c5ad9e38fa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/source/Host/common/Alarm.cpp

  Log Message:
  -----------
  [lldb] Avoid deadlock by unlocking before invoking callbacks (#86888)

Avoid deadlocks in the Alarm class by releasing the lock before invoking
callbacks. This deadlock manifested itself in the ProgressManager:

1. On the main thread, the ProgressManager acquires its lock in
ProgressManager::Decrement and calls Alarm::Create.
  2. On the main thread, the Alarm acquires its lock in Alarm::Create.
3. On the alarm thread, the Alarm acquires its lock after waiting on the
condition variable and calls ProgressManager::Expire.
4. On the alarm thread, the ProgressManager acquires its lock in
ProgressManager::Expire.

Note how the two threads are acquiring the locks in different orders.
Deadlocks can be avoided by always acquiring locks in the same order,
but since the two mutexes here are private implementation details,
belong to different classes, that's not straightforward. Luckily, we
don't need to have the Alarm mutex locked when invoking the callbacks.
That exactly how this patch solves the issue.


  Commit: 385e3e26c11fac9373bf7ba431b90b6f42682c84
      https://github.com/llvm/llvm-project/commit/385e3e26c11fac9373bf7ba431b90b6f42682c84
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/test/X86/yaml-secondary-entry-discriminator.s

  Log Message:
  -----------
  [BOLT] Set EntryDiscriminator in YAML profile for indirect calls

Indirect call handling missed setting an `EntryDiscriminator` while it's
set for direct calls and tail calls.

Improve YAML profile accuracy by unifying the destination setting
between direct and indirect calls into `setCSIDestination` method.

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

Test Plan: Updated bolt/test/X86/yaml-secondary-entry-discriminator.s

Reviewers: ayermolo, maksfb, rafaelauler

Reviewed By: maksfb

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


  Commit: 19185d5a72565fce34521cb59d6c87232a86e0d4
      https://github.com/llvm/llvm-project/commit/19185d5a72565fce34521cb59d6c87232a86e0d4
  Author: Ye Luo <yeluo at anl.gov>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp

  Log Message:
  -----------
  [Libomptarget] Make dynamic loading libffi more verbose. (#86891)


  Commit: e318613418e08e20d3b9e139a1a3ef0208db4844
      https://github.com/llvm/llvm-project/commit/e318613418e08e20d3b9e139a1a3ef0208db4844
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [NFC][TLI] Move VecFuncs to statics to reduce stack usage (#86829)

`TargetLibraryInfoImpl::addVectorizableFunctionsFromVecLib` has a lot of
data in local stack arrays, which MSVC keeps on the stack even in
release builds. To reduce stack usage, the data arrays (which are
const), are moved outside the function as statics. This drops the method
stack usage to be negligible.


  Commit: 036e7ee9d1f1bdc194b56302f8dd27d5eb6cfdab
      https://github.com/llvm/llvm-project/commit/036e7ee9d1f1bdc194b56302f8dd27d5eb6cfdab
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll

  Log Message:
  -----------
  [NFC][AArch64] Regenerate regression tests.


  Commit: 0fda758f26c1ec06809fdc067cd65dc146f867d0
      https://github.com/llvm/llvm-project/commit/0fda758f26c1ec06809fdc067cd65dc146f867d0
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GISEL][NFC] Refactor OperandPredicateMatcher::isHigherPriorityThan (#86837)

Fixes #86827

This will simplify code, de-duplicate some logic and fix the faulty bool
compare.

cc @dcb314


  Commit: bbfa50696e43f337f55f8bacf739683b181debd5
      https://github.com/llvm/llvm-project/commit/bbfa50696e43f337f55f8bacf739683b181debd5
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/Writer.cpp
    M lld/test/MachO/objc-relative-method-lists-simple.s

  Log Message:
  -----------
  [lld-macho] Fix bug in makeSyntheticInputSection when -dead_strip flag is specified (#86878)

Previously, `makeSyntheticInputSection` would create a new
`ConcatInputSection` without setting `live` explicitly for it. Without
`-dead_strip` this would be OK since `live` would default to `true`.
However, with `-dead_strip`, `live` would default to false, and it would
remain set to `false`.
This hasn't resulted in any issues so far since no code paths that
exposed this issue were present.
However a recent change - ObjC relative method lists
(https://github.com/llvm/llvm-project/pull/86231) exposes this issue by
creating relocations to the `SyntheticInputSection`.
When these relocations are attempted to be written, this ends up with a
crash(assert), since the `SyntheticInputSection` they refer to is marked
as dead (`live` = `false`).

With this change, we set the correct behavior - `live` will always be
`true`. We add a test case that before this change would trigger an
assert in the linker.


  Commit: cb898e26f3321e0b861609f5fec7f7410e5b6778
      https://github.com/llvm/llvm-project/commit/cb898e26f3321e0b861609f5fec7f7410e5b6778
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CRunnerUtils.cpp
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir] Make the print function in CRunnerUtil platform agnostic (#86767)

The platform running on Apple Silicon does not seem to support the
negative nan. It causes the test failure where we explicitly specify the
negative nan bit pattern and check the output printed by the CRunnerUtil
function.

We can make the print function in the utility platform agnostic by using
the standard library functions (i.e. `std::isnan` and `std::signbit`) so
that we can run the test across platforms that do not support the
negative bit pattern.

I have added two test cases that would fail in the Apple Silicon
platform without print function changes.

```
$ uname -a
Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:44 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6000 arm64
```

See:
https://discourse.llvm.org/t/test-failure-of-sparse-sign-test-in-apple-silicon/77876/3


  Commit: 17ab9e64464f989b3fe4a304a450581a618097a0
      https://github.com/llvm/llvm-project/commit/17ab9e64464f989b3fe4a304a450581a618097a0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
    R compiler-rt/test/tsan/signal_in_futex_wait.cpp

  Log Message:
  -----------
  [TSAN] Move test into Linux/

Linux specific test was introduced by #86537


  Commit: 64f0410193490167aee186abf4de06b681476a86
      https://github.com/llvm/llvm-project/commit/64f0410193490167aee186abf4de06b681476a86
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI] Hotfix: CI runs failing due to target escaping (#86897)

My patch #86877 contains a mistake.
Should have read the comment.
Recent buildkite runs fail because of this, so it is a bit urgent.


  Commit: cc98ffb6dc6ca3e68fd939558eb8c4ddb1cc03de
      https://github.com/llvm/llvm-project/commit/cc98ffb6dc6ca3e68fd939558eb8c4ddb1cc03de
  Author: Nazım Can Altınova <canaltinova at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp

  Log Message:
  -----------
  [tsan][test] Remove some unneded debug comments in a tsan test (#86896)

I introduced this test in #86537, let's remove some unneeded debugging
comments.
This PR was initially also moving the test to linux directory but looks
like it's already done by 17ab9e64464f989b3fe4a304a450581a618097a0 .


  Commit: f75eebab887903567906d22e790a3be20a2a6438
      https://github.com/llvm/llvm-project/commit/f75eebab887903567906d22e790a3be20a2a6438
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  Revert "[CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers  (#86721)" (#86898)

This reverts commit d9a685a9dd589486e882b722e513ee7b8c84870c.

The commit broke ubsan bots.


  Commit: 1095f71bdfe25778c169954f249819bc5b553c91
      https://github.com/llvm/llvm-project/commit/1095f71bdfe25778c169954f249819bc5b553c91
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [NFC][Clang] Fix potential dereferencing of nullptr (#86759)

This patch replaces dyn_cast<> with cast<> to resolve potential static
analyzer bugs for

1. Dereferencing a pointer issue with nullptr GVar when calling
addAttribute() in AIXTargetCodeGenInfo::setTargetAttributes(clang::Decl
const *, llvm::GlobalValue *, clang::CodeGen::CodeGenModule &).

2. Dereferencing a pointer issue with nullptr GG when calling
getCorrespondingConstructor() in
DeclareImplicitDeductionGuidesForTypeAlias(clang::Sema &,
clang::TypeAliasTemplateDecl *, clang::SourceLocation).

3. Dereferencing a pointer issue with nullptr CurrentBT when calling
getKind() in
ComplexExprEmitter::GetHigherPrecisionFPType(clang::QualType).


  Commit: 0c1c0d53931636331b59a03ed08f70936835399c
      https://github.com/llvm/llvm-project/commit/0c1c0d53931636331b59a03ed08f70936835399c
  Author: Jerry Wu <cheyuw at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir

  Log Message:
  -----------
  [MLIR] Add patterns to bubble-up pack and push-down unpack through collapse/expand shape ops (#85297)

Add DataLayoutPropagation patterns to bubble-up pack and push-down
unpack through collapse/expand shape ops.

---------

Co-authored-by: Quinn Dawkins <quinn.dawkins at gmail.com>


  Commit: 443baed56c770aca050d27581d5d6f0c5c168285
      https://github.com/llvm/llvm-project/commit/443baed56c770aca050d27581d5d6f0c5c168285
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/test/ELF/common-gc2.s
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/relro-non-contiguous-script-data.s
    M lld/test/ELF/riscv-undefined-weak.s
    M lld/test/ELF/x86-64-dyn-rel-error.s

  Log Message:
  -----------
  [ELF,test] Update tests that depend on --export-dynamic creating dynamic sections

The CloudABI change from https://reviews.llvm.org/D30175 does not make sense.
Update tests not to rely on the --export-dynamic behavior.


  Commit: 070d7af0c56b993806fa47f77b607b1849a2172f
      https://github.com/llvm/llvm-project/commit/070d7af0c56b993806fa47f77b607b1849a2172f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    R lld/test/ELF/static-with-export-dynamic.s
    M lld/test/ELF/weak-undef.s

  Log Message:
  -----------
  [ELF] --export-dynamic: don't create dynamic sections for non-PIC static links

The CloudABI (removed from Clang Driver) change from
https://reviews.llvm.org/D29982 does not make sense. GNU ld and gold
don't create dynamic sections for a non-PIC static link when
--export-dynamic is specified.

Creating dynamic sections is harmful in this scenario because we would
consider undefined weak symbols preemptible and generate GLOB_DAT
relocations, breaking the expectation that non-PIC static links only
contain IRELATIVE relocations.

In addition, there are other options that export symbols
(--export-dynamic-symbol, --dynamic-list, etc). It does not make sense
to special case --export-dynamic.


  Commit: 2c7610cc43cd70192a0ed5eac58471c50045c6de
      https://github.com/llvm/llvm-project/commit/2c7610cc43cd70192a0ed5eac58471c50045c6de
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp

  Log Message:
  -----------
  [nfc]Make InstrProfSymtab non-copyable and non-movable (#86882)

- The direct use case (in [1]) is to add `llvm::IntervalMap` [2]  and the allocator required by IntervalMap ctor [3]
   to class `InstrProfSymtab` as owned members. The allocator class doesn't have a move-assignment operator; 
   and it's going to take much effort to implement move-assignment operator for the allocator class such that the
   enclosing class is movable.
- There is only one use of compiler-generated move-assignment operator in the repo, which is in 
   CoverageMappingReader.cpp. Luckily it's possible to use std::unique_ptr<InstrProfSymtab> instead, so did the change.

[1] https://github.com/llvm/llvm-project/pull/66825
[2] https://github.com/llvm/llvm-project/blob/4c2f68840e984b0f111779c46845ac00e3a7547d/llvm/include/llvm/ADT/IntervalMap.h#L936
[3] https://github.com/llvm/llvm-project/blob/4c2f68840e984b0f111779c46845ac00e3a7547d/llvm/include/llvm/ADT/IntervalMap.h#L1041


  Commit: 056b4043543cbc9e4ecad183db185bd26324b5b1
      https://github.com/llvm/llvm-project/commit/056b4043543cbc9e4ecad183db185bd26324b5b1
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [libc][NFC] refactor fmin and fmax (#86718)

Hello,

So, I worked on the fmaximum and fminimum functions recently and the
reviewers suggested the structure:

```
if (bitsx ...)
  return ...;
if (bitsy ..)
  return 
...
return ...;
```
So I went ahead and did the same for fmin and fmax. I hope this isnt an
issue for you all. thanks.

---------

Co-authored-by: Job Hernandez <h93 at protonmail.com>


  Commit: e766f87b922933d6b1aefcfd24e5111162369e2e
      https://github.com/llvm/llvm-project/commit/e766f87b922933d6b1aefcfd24e5111162369e2e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [clang-format] Handle C++ Core Guidelines suppression tags (#86458)

Fixes #86451.


  Commit: d9e3e11ae57612ec61f6fcab4afc27d8d0ff5841
      https://github.com/llvm/llvm-project/commit/d9e3e11ae57612ec61f6fcab4afc27d8d0ff5841
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py

  Log Message:
  -----------
  [clang-format] Exit clang-format-diff only after all diffs are printed (#86776)

See
https://github.com/llvm/llvm-project/pull/70883#issuecomment-2020811077.


  Commit: 6b7ecc7979134c152ee5f8286f904bba18f41185
      https://github.com/llvm/llvm-project/commit/6b7ecc7979134c152ee5f8286f904bba18f41185
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Remove threwValue comparison after __wasm_setjmp_test (#86633)"

This reverts commit 52431fdb1ab8d29be078edd55250e06381e4b6b0.

The PR assumed `__threwValue` couldn't be 0, but it could be when the
thrown thing is not a longjmp but an exception, so that `if` check was
actually necessary.


  Commit: a41bfea5c049737e9c51e8d9a5769f72fbc55f59
      https://github.com/llvm/llvm-project/commit/a41bfea5c049737e9c51e8d9a5769f72fbc55f59
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [MC] Simplify ELFObjectWriter. NFC

And fix `if (hasRelocationAddend())` to `usesRela` to properly treat
SHT_LLVM_CALL_GRAPH_PROFILE as SHT_REL. The incorrect does not cause a
problem because the synthesized SHT_LLVM_CALL_GRAPH_PROFILE has zero
addends.


  Commit: f8bab38b6dd02f2cd3acc28521d0ccb3186ef616
      https://github.com/llvm/llvm-project/commit/f8bab38b6dd02f2cd3acc28521d0ccb3186ef616
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-callee-profile-mismatch.prof
    A llvm/test/Transforms/SampleProfile/csspgo-profile-checksum-mismatch-attr.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-lto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll

  Log Message:
  -----------
  [CSSPGO] Fix the issue of missing callee profile matches (#85715)

Two fixes related to the callee/inlinee profile:

1. Fix the bug that the matching results are missing to distribute to
the callee profiles (should be pass-by-reference).
2. Narrow imported function matching to checksum mismatched functions. 

More context: before we run matchings for all imported functions even
checksums are matched, however, after we fix 1), we got a regression,
it's likely due to the matching is not no-op for checksum matched
function, so we want to make it consistent to only run matching for
checksum mismatched (imported)functions. Since the
metadata(pseudo_probe_desc) are dropped for imported function, we
leverage the function attribute mechanism and add a new function
attribute(`profile-checksum-mismatch`) to transfer the info from
pre-link to post-link.


  Commit: ed801ab460f387a4e125ccfaa5ccdea1dd499ebf
      https://github.com/llvm/llvm-project/commit/ed801ab460f387a4e125ccfaa5ccdea1dd499ebf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h

  Log Message:
  -----------
  [Transforms] Fix an unused variable warning

  llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h:89:28:
  error: private field 'LTOPhase' is not used
  [-Werror,-Wunused-private-field]


  Commit: 5dfc446d7545d7ac960e20be362bd9935f390827
      https://github.com/llvm/llvm-project/commit/5dfc446d7545d7ac960e20be362bd9935f390827
  Author: hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Remove Unnecessary Semicolon. NFC (#86911)

Removes Unnecessary Semicolon

Co-authored-by: Harsh Chandel <hchandel at hu-hchandel-hyd.qualcomm.com>


  Commit: e5b93994941245d35827b62ec91a537dfb52c243
      https://github.com/llvm/llvm-project/commit/e5b93994941245d35827b62ec91a537dfb52c243
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
    A libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h

  Log Message:
  -----------
  [libc] Move baremetal write_to_stderr implementation to io.cpp (#86890)

This is required to avoid multiple definitions error.


  Commit: b7ac8fddb54816256fab70696ebc176717a391c3
      https://github.com/llvm/llvm-project/commit/b7ac8fddb54816256fab70696ebc176717a391c3
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll

  Log Message:
  -----------
  [SPIR-V] Improve type inference: deduce types of composite data structures (#86782)

This PR improves type inference in general and deduces types of
composite data structures in particular. Also added a way to insert a
bitcast to make a fun call valid in case of arguments types mismatch due
to opaque pointers type inference.

The attached test `pointers/nested-struct-opaque-pointers.ll`
demonstrates new capabilities: the SPIRV code emitted for this test is
now (1) valid in a sense of data field types and (2) accepted by
`spirv-val`.

More strict LIT checks, support of more composite data structures and
improvement of fun calls from the perspective of type correctness are
main todo's at the moment.


  Commit: 38f5596feda3276a8aa64fc14e074334017088ca
      https://github.com/llvm/llvm-project/commit/38f5596feda3276a8aa64fc14e074334017088ca
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/LoopRotate/update-branch-weights.ll

  Log Message:
  -----------
  [LoopRotate] Add test to track update for inaccurate branch weight (#86495)

Branch weight from sample-based PGO may be not inaccurate due to
sampling. This test tracks such case where updateBranchWeights wraps
unsigned.


  Commit: 63ea5a4088ff73a47cd3411fad3b42c92a3c64f0
      https://github.com/llvm/llvm-project/commit/63ea5a4088ff73a47cd3411fad3b42c92a3c64f0
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [clang] Invalidate the alias template decl if it has multiple written template parameter lists. (#85413)

Fixes #85406.

- Set the invalid bit for alias template decl where it has multiple
written template parameter lists (as the AST node is ill-formed)
- don't perform CTAD for invalid alias template decls


  Commit: 2a2fd488b6bc1f3df7a8c103f53fec8bf849da4a
      https://github.com/llvm/llvm-project/commit/2a2fd488b6bc1f3df7a8c103f53fec8bf849da4a
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/bindings/ocaml/llvm/llvm_ocaml.h
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/test/Bindings/OCaml/debuginfo.ml
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  [RemoveDIs] Update DIBuilder C API and OCaml bindings [2/2] (#86529)

Follow on from #84915 which adds the DbgRecord function variants. The C API
changes were reviewed in #85657.

# C API

Update the LLVMDIBuilderInsert... functions to insert DbgRecords instead
of debug intrinsics.

    LLVMDIBuilderInsertDeclareBefore
    LLVMDIBuilderInsertDeclareAtEnd
    LLVMDIBuilderInsertDbgValueBefore
    LLVMDIBuilderInsertDbgValueAtEnd

Calling these functions will now cause an assertion if the module is in the
wrong debug info format. They should only be used when the module is in "new
debug format".

Use LLVMIsNewDbgInfoFormat to query and LLVMSetIsNewDbgInfoFormat to change the
debug info format of a module.

Please see https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-change
(RemoveDIsDebugInfo.md) for more info.

# OCaml bindings

Add set_is_new_dbg_info_format and is_new_dbg_info_format to the OCaml bindings.
These can be used to set and query the current debug info mode. These will
eventually be removed, but are useful while we're transitioning between old and
new debug info formats.

Add string_of_lldbgrecord, like string_of_llvalue but prints DbgRecords.

In test dbginfo.ml, unconditionally set the module debug info to the new mode
and update CHECK lines to check for DbgRecords. Without this change the test
crashes because it attempts to insert DbgRecords (new default behaviour of
llvm_dibuild_insert_declare_...) into a module that is in the old debug info
mode.


  Commit: 88b10f3e3aa93232f1f530cf8dfe1227f5f74ae9
      https://github.com/llvm/llvm-project/commit/88b10f3e3aa93232f1f530cf8dfe1227f5f74ae9
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/MC/ConstantPools.h
    M llvm/lib/MC/ConstantPools.cpp
    A llvm/test/MC/AArch64/constant-pool-sizes.s

  Log Message:
  -----------
  [MC][AArch64] Segregate constant pool caches by size. (#86832)

If you write a 32- and a 64-bit LDR instruction that both refer to the
same constant or symbol using the = syntax:

```
  ldr w0, =something
  ldr x1, =something
```

then the first call to `ConstantPool::addEntry` will insert the constant
into its cache of existing entries, and the second one will find the
cache entry and reuse it. This results in a 64-bit load from a 32-bit
constant, reading nonsense into the other half of the target register.

In this patch I've done the simplest fix: include the size of the
constant pool entry as part of the key used to index the cache. So now
32- and 64-bit constant loads will never share a constant pool entry.

There's scope for doing this better, in principle: you could imagine
merging the two slots with appropriate overlap, so that the 32-bit load
loads the LSW of the 64-bit value. But that's much more complicated: you
have to take endianness into account, and maybe also adjust the size of
an existing entry. This is the simplest fix that restores correctness.


  Commit: eff4593a642692deb2b76d9d144ad5611bb69e08
      https://github.com/llvm/llvm-project/commit/eff4593a642692deb2b76d9d144ad5611bb69e08
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add test case for missed vwaddu.vv due to add->or combine. NFC

We should be able to recover this with combineBinOp_VLToVWBinOp_VL if we
check that the or has the disjoint flag set.


  Commit: 8d77d362af6ade32f087c051fe4774a3891f6ec9
      https://github.com/llvm/llvm-project/commit/8d77d362af6ade32f087c051fe4774a3891f6ec9
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp

  Log Message:
  -----------
  [clang][dataflow] Introduce a helper class for handling record initializer lists. (#86675)

This is currently only used in one place, but I'm working on a patch
that will
use this from a second place. And I think this already improves the
readability
of the one place this is used so far.


  Commit: 912e2c47589d7f4de3e59e99920fe9a60281db2a
      https://github.com/llvm/llvm-project/commit/912e2c47589d7f4de3e59e99920fe9a60281db2a
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/test/Transforms/TailCallElim/debugloc.ll

  Log Message:
  -----------
  [Debuginfo][TailCallElim] Fix #86262: drop the debug location of entry branch (#86269)

This pr fixes #86262.

---------

Co-authored-by: Stephen Tozer <Melamoto at gmail.com>


  Commit: 856e815ca1c416de263438e90e8120947e33a03c
      https://github.com/llvm/llvm-project/commit/856e815ca1c416de263438e90e8120947e33a03c
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected

  Log Message:
  -----------
  [DAGCombiner] Set disjoint flag in add->or and xor->or combines (#86925)

We check DAG.haveNoCommonBitsSet so the operands will be known to be
disjoint.

I couldn't think of a codegen test case since most targets aren't
checking hasDisjoint yet, apart from RISCV in the or_is_add pattern, but
it also falls back to computeKnownBits.


  Commit: e640d9e725ef06b9787ab0ab884598f4f5532e48
      https://github.com/llvm/llvm-project/commit/e640d9e725ef06b9787ab0ab884598f4f5532e48
  Author: bvlgah <octopus.busts_0w at icloud.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-vacopy.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll

  Log Message:
  -----------
  [RISCV][GlobalISel] Fix legalizing ‘llvm.va_copy’ intrinsic (#86863)

Hi, I spotted a problem when running benchmarking programs on a RISCV64
device.

## Issue

Segmentation faults only occurred while running the programs compiled
with `GlobalISel` enabled.

Here is a small but complete example (it is adopted from [Google's
benchmark
framework](https://github.com/llvm/llvm-test-suite/blob/95a9f0d0b45056274f0bb4b0e0dd019023e414dc/MicroBenchmarks/libs/benchmark/src/colorprint.cc#L85-L119)
to reproduce the issue,

```cpp
#include <cstdarg>
#include <cstdio>
#include <iostream>
#include <memory>
#include <string>

std::string FormatString(const char* msg, va_list args) {
  // we might need a second shot at this, so pre-emptivly make a copy
  va_list args_cp;
  va_copy(args_cp, args);

  std::size_t size = 256;
  char local_buff[256];
  auto ret = vsnprintf(local_buff, size, msg, args_cp);

  va_end(args_cp);

  // currently there is no error handling for failure, so this is hack.
  // BM_CHECK(ret >= 0);

  if (ret == 0)  // handle empty expansion
    return {};
  else if (static_cast<size_t>(ret) < size)
    return local_buff;
  else {
    // we did not provide a long enough buffer on our first attempt.
    size = static_cast<size_t>(ret) + 1;  // + 1 for the null byte
    std::unique_ptr<char[]> buff(new char[size]);
    ret = vsnprintf(buff.get(), size, msg, args);
    // BM_CHECK(ret > 0 && (static_cast<size_t>(ret)) < size);
    return buff.get();
  }
}

std::string FormatString(const char* msg, ...) {
  va_list args;
  va_start(args, msg);
  auto tmp = FormatString(msg, args);
  va_end(args);
  return tmp;
}

int main() {
  std::string Str =
      FormatString("%-*s %13s %15s %12s", static_cast<int>(20),
                   "Benchmark", "Time", "CPU", "Iterations");
  std::cout << Str << std::endl;
}
```

Use `clang++ -fglobal-isel -o main main.cpp` to compile it.

## Cause

I have examined MIR, it shows that these segmentation faults resulted
from a small mistake about legalizing the intrinsic function
`llvm.va_copy`.


https://github.com/llvm/llvm-project/blob/36e74cfdbde208e384c72bcb52ea638303fb7d67/llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp#L451-L453

`DstLst` and `Tmp` are placed in the wrong order.

## Changes

I have tweaked the test case `CodeGen/RISCV/GlobalISel/vararg.ll` so
that `s0` is used as the frame pointer (not in all checks) which points
to the starting address of the save area. I believe that it helps reason
about how `llvm.va_copy` is handled.


  Commit: 8963a476ccb7ef2944eedaf8813458561e29b465
      https://github.com/llvm/llvm-project/commit/8963a476ccb7ef2944eedaf8813458561e29b465
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  Fix #86269: remove unused variable (#86927)

Remove the unused variable `BI` introduced in #86269.


  Commit: 8a7f021f9e183c95f3eb17a27cbb219e204f3b25
      https://github.com/llvm/llvm-project/commit/8a7f021f9e183c95f3eb17a27cbb219e204f3b25
  Author: J. Ryan Stinnett <jryans at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Fix typos in automation (#86886)


  Commit: 79ba323bdd0843275019e16b6e9b35133677c514
      https://github.com/llvm/llvm-project/commit/79ba323bdd0843275019e16b6e9b35133677c514
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    A llvm/test/Transforms/GVNHoist/hoist-merge-geps.ll

  Log Message:
  -----------
  [Debuginfo][GVNHoist] Fix #86227: update the debug location of the hoisted GEP (#86236)

This PR fixes #86227.


  Commit: 36b4b9d988ff1e82758fd5a462120086d21989e7
      https://github.com/llvm/llvm-project/commit/36b4b9d988ff1e82758fd5a462120086d21989e7
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/X86/apx/foldimmediate.mir

  Log Message:
  -----------
  [X86] Support immediate folding for CCMP/CTEST (#86616)

E.g.
%0:gr32 = MOV32ri 81
CTEST32rr %0, %1, 2, 10, implicit-def $eflags, implicit $eflags
=>
CTEST32ri %1, 81, 2, 10, implicit-def $eflags, implicit $eflags


  Commit: 28b196e7fc4919a062ed20177d113cd0ae9b1f75
      https://github.com/llvm/llvm-project/commit/28b196e7fc4919a062ed20177d113cd0ae9b1f75
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/test/ELF/lto/libcall-archive.ll

  Log Message:
  -----------
  [llvm] Write temporary test files into %t

... instead of the source tree


  Commit: b999e631c03640f7d1d93b5319da496ed4e0df55
      https://github.com/llvm/llvm-project/commit/b999e631c03640f7d1d93b5319da496ed4e0df55
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_taskdeps.cpp

  Log Message:
  -----------
  [OpenMP] Fix node destruction race in __kmpc_omp_taskwait_deps_51 (#86130)

The __kmpc_omp_taskwait_deps_51 allocates a kmp_depnode_t node on its
stack, and there is currently a race condition where another thread
might still be accessing that node after the function has returned and
its stack frame was released.

While the function does wait until the node's npredecessors count has
reached zero before exiting, there is still a window where the function
that last decremented the npredecessors count assumes the node is still
accessible.

For heap-allocated kmp_depnode_t nodes, this normally works via a
separate ndeps count that only reaches zero at the point where no
accesses to the node are expected at all; in fact, at this point the
heap allocation will be freed.

For this case of a stack-allocated kmp_depnode_t node, it therefore
makes sense to similarly respect the ndeps count; we need to wait until
this reaches 1 (not 0, because it is not heap-allocated so there's
always one extra count to prevent it from being freed), before we can
safely deallocate our stack frame.

As this is expected to be a short race window of only a few
instructions, it should be fine to just use a busy wait loop checking
the ndeps count.

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


  Commit: c13556c0b0aaeb9794d3e2864c8dd9880661f909
      https://github.com/llvm/llvm-project/commit/c13556c0b0aaeb9794d3e2864c8dd9880661f909
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU: Document more backend recognized attributes (#80239)


  Commit: c9db031c48852af491747dab86ef6f19195eb20d
      https://github.com/llvm/llvm-project/commit/c9db031c48852af491747dab86ef6f19195eb20d
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/FormattedStream.h
    M llvm/lib/Support/FormattedStream.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [Support] Fix color handling in formatted_raw_ostream (#86700)

The color methods in formatted_raw_ostream were forwarding directly to
the underlying stream without considering existing buffered output. This
would cause incorrect colored output for buffered uses of
formatted_raw_ostream.

Fix this issue by applying the color to the formatted_raw_ostream itself
and temporarily disabling scanning of any color related output so as not
to affect the position tracking.

This fix means that workarounds that forced formatted_raw_ostream
buffering to be disabled can be removed. In the case of llvm-objdump,
this can improve disassembly performance when redirecting to a file by
more than an order of magnitude on both Windows and Linux. This
improvement restores the disassembly performance when redirecting to a
file to a level similar to before color support was added.


  Commit: a495cfbf7d544ed2624e8a54f14129fa7824eee4
      https://github.com/llvm/llvm-project/commit/a495cfbf7d544ed2624e8a54f14129fa7824eee4
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [IR][NFC] Cleanup CmpInst signatures / code docs (#86441)

Change param names to recommended upper case format for static methods
in CmpInst for consistency
Implement suggestion from @dtcxzyw.

cc @dtcxzyw @tschuett


  Commit: 9d61f7ea660bc4087763e679a7f2b87c50cca108
      https://github.com/llvm/llvm-project/commit/9d61f7ea660bc4087763e679a7f2b87c50cca108
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M flang/runtime/io-error.cpp

  Log Message:
  -----------
  [flang] Remove duplicate call to va_end() (#86865)

Fixes #86825


  Commit: daa755ba7b7fe11e078f1e6f43d446234023f859
      https://github.com/llvm/llvm-project/commit/daa755ba7b7fe11e078f1e6f43d446234023f859
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/cmake/modules/prepare_libc_gpu_build.cmake

  Log Message:
  -----------
  [libc] Disable testing for NVPTX debug builds (#86856)

Summary:
Debug builds don't optimize out certain parts of the code that end up
making the GPU backend crash. This results in regular builds not being
successful just to build the testing objects. Disable them for now in
debug mode.


  Commit: 896037c75ace929327e5b0bf5832157f9d81e6e7
      https://github.com/llvm/llvm-project/commit/896037c75ace929327e5b0bf5832157f9d81e6e7
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/test/Transforms/LoopRotate/update-branch-weights.ll

  Log Message:
  -----------
  [LoopRotate] Set loop back edge weight to not less than exit weight (#86496)

Branch weight from sample-based PGO may be not inaccurate due to
sampling. If the loop body must be executed, then origin loop back
edge weight must be not less than exit weight.


  Commit: fb8cccf88c5d04f36148ff336b6dc7c25746b1de
      https://github.com/llvm/llvm-project/commit/fb8cccf88c5d04f36148ff336b6dc7c25746b1de
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [AST] Print the "aggregate" for aggregate deduction guide decl. (#84018)

I found this is useful for debugging purpose to identify different kind
of deduction guide decl.


  Commit: a042fcbe45d1ae64acc5d818db90e26e16e1aab3
      https://github.com/llvm/llvm-project/commit/a042fcbe45d1ae64acc5d818db90e26e16e1aab3
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaConcept.cpp
    A clang/test/SemaTemplate/concepts-GH86757.cpp

  Log Message:
  -----------
  [clang] Bailout when the substitution of template parameter mapping is invalid. (#86869)

Fixes #86757

We missed to handle the invalid case when substituting into the
parameter mapping of an constraint during normalization.
The constructor of `InstantiatingTemplate` will bail out (no
`CodeSynthesisContext` will be added to the instantiation stack) if
there was a fatal error, consequently we should stop doing any further
template instantiations.


  Commit: 4ddd4ed7fe15a356dace649e18492dd01071f475
      https://github.com/llvm/llvm-project/commit/4ddd4ed7fe15a356dace649e18492dd01071f475
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/toc-conf.c

  Log Message:
  -----------
  [AIX][TOC] -mtocdata/-mno-tocdata fix non deterministic iteration order (#86840)

Failure with testcase toc-conf.c observed when building with
LLVM_REVERSE_ITERATION=ON.
Changing from using llvm::StringSet to std::set<llvm:StringRef> to
ensure iteration order is deterministic. Note: the functionality of the
feature does not require a specific iteration order, however, this will
allow testing to be consistent.
>From llvm docs:
The advantages of std::set are that its iterators are stable (deleting
or inserting an element from the set does not affect iterators or
pointers to other elements) and that iteration over the set is
guaranteed to be in sorted order.


  Commit: 79199753fd6c39aac881b9556614c5db2775dc85
      https://github.com/llvm/llvm-project/commit/79199753fd6c39aac881b9556614c5db2775dc85
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Make several function local to OpenMP.cpp, NFC (#86726)

There were several functions, mostly reduction-related, that were only
called from OpenMP.cpp. Remove them from OpenMP.h, and make them local
in OpenMP.cpp:
- genOpenMPReduction
- findReductionChain
- getConvertFromReductionOp
- updateReduction
- removeStoreOp

Also, move the function bodies out of the "public" section.


  Commit: 56a10a3c7930164a875db7c34da8c2a8b8abfbee
      https://github.com/llvm/llvm-project/commit/56a10a3c7930164a875db7c34da8c2a8b8abfbee
  Author: VitaNuo <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/support/Trace.h

  Log Message:
  -----------
  [clangd][trace] Fix comment to mention that trace spans are measured … (#86938)

…in milliseconds rather than seconds.


  Commit: e8e80d07c867cadcfd82741693a04b2913904956
      https://github.com/llvm/llvm-project/commit/e8e80d07c867cadcfd82741693a04b2913904956
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [OpenMP] Apply post-commit review comments in PR86289, NFC (#86828)

Fix include guard name, fix typo, add comments with OpenMP spec
sections.


  Commit: a2982a29fdfcfe2904754815c85f630a4dc6d88c
      https://github.com/llvm/llvm-project/commit/a2982a29fdfcfe2904754815c85f630a4dc6d88c
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)"

This reverts commit 86692258637549ed9f863c3d2ba47b49f61bbc1f.

Reverting due to buildbot failures.


  Commit: 96c8e2e88cc68416ddce4a9bf1a9221387b6d4b3
      https://github.com/llvm/llvm-project/commit/96c8e2e88cc68416ddce4a9bf1a9221387b6d4b3
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesManager.cpp
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/export-as.c

  Log Message:
  -----------
  [APINotes] For a re-exported module, look for APINotes in the re-exporting module's apinotes file

This upstreams https://github.com/apple/llvm-project/pull/8063.

If module FooCore is re-exported through module Foo (by using
`export_as` in the modulemap), look for attributes of FooCore symbols in
Foo.apinotes file.

Swift bundles `std.apinotes` file that adds Swift-specific attributes to
the C++ stdlib symbols. In recent versions of libc++, module std got
split into multiple top-level modules, each of them is re-exported
through std. This change allows us to keep using a single modulemap file
for all supported C++ stdlibs.

rdar://121680760


  Commit: 91856b34e3eddf157ab4c6ea623483b49d149e62
      https://github.com/llvm/llvm-project/commit/91856b34e3eddf157ab4c6ea623483b49d149e62
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/examples/transform/Ch4/include/MyExtension.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    R mlir/lib/Dialect/Transform/IR/MatchInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td

  Log Message:
  -----------
  [mlir] move MatchOpInterface under Transform/Interfaces (#86899)

This is similar to the TransformOpInterface move.


  Commit: eacda36c7dd842cb15c0c954eda74b67d0c73814
      https://github.com/llvm/llvm-project/commit/eacda36c7dd842cb15c0c954eda74b67d0c73814
  Author: Rolf Morel <rolf.morel at huawei.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/SCF/transform-loop-fuse-sibling.mlir

  Log Message:
  -----------
  [SCF][Transform] Add support for scf.for in LoopFuseSibling op (#81495)

Adds support for fusing two scf.for loops occurring in the same block.
Uses the rudimentary checks already in place for scf.forall (like the
target loop's operands being dominated by the source loop).

- Fixes a bug in the dominance check whereby it was checked that values
in the target loop themselves dominated the source loop rather than the
ops that define these operands.
- Renames the LoopFuseSibling op to LoopFuseSiblingOp.
- Updates LoopFuseSiblingOp's description.
- Adds tests for using LoopFuseSiblingOp on scf.for loops, including one
which fails without the fix for the dominance check.
- Adds tests checking the different failure modes of the dominance
checker.
- Adds test for case whereby scf.yield is automatically generated when
there are no loop-carried variables.


  Commit: a3efc53f168b1451803a40075201c3490d6e3928
      https://github.com/llvm/llvm-project/commit/a3efc53f168b1451803a40075201c3490d6e3928
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll

  Log Message:
  -----------
  [AIX][TLS] Produce a faster local-exec access sequence for the "aix-small-tls" global variable attribute (#83053)

Similar to 3f46e5453d9310b15d974e876f6132e3cf50c4b1, this patch allows
the backend to produce a faster access sequence for the local-exec TLS
model, where loading from the TOC can be avoided, for local-exec TLS
variables that are annotated with the "aix-small-tls" attribute.

The expectation is for local-exec TLS variables to be set with this
attribute through PGO. Furthermore, the optimized access sequence is
only generated for local-exec TLS variables annotated with
"aix-small-tls", only if they are less than ~32KB in size.


  Commit: 84780af4b02cb3b86e4cb724f996bf8e02f2f2e7
      https://github.com/llvm/llvm-project/commit/84780af4b02cb3b86e4cb724f996bf8e02f2f2e7
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#86923)

To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.

This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.

In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.

This reapplies d9a685a9dd589486e882b722e513ee7b8c84870c, which was
reverted because it broke ubsan bots. There seems to be a bug in
coroutine code-gen, which is causing EmitTypeCheck to use the wrong
alignment. For now, pass alignment zero to EmitTypeCheck so that it can
compute the correct alignment based on the passed type (see function
EmitCXXMemberOrOperatorMemberCallExpr).


  Commit: a515ea553f773cbb75e4aabeed7d05cc353345c8
      https://github.com/llvm/llvm-project/commit/a515ea553f773cbb75e4aabeed7d05cc353345c8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Bindings/OCaml/core.ml

  Log Message:
  -----------
  [OCaml] Fix buildbot failure caused by caa2258. NFC.

Closes #86944.


  Commit: ff870aeeb7354fd3f681c17e248131e1065ac407
      https://github.com/llvm/llvm-project/commit/ff870aeeb7354fd3f681c17e248131e1065ac407
  Author: Alfie Richards <alfie.richards at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM] Add reference to `ARMAsmParser` in `ARMOperand` (#86110)


  Commit: d7975c9d93fb4a69c0bd79d7d5b3f6be77a25c73
      https://github.com/llvm/llvm-project/commit/d7975c9d93fb4a69c0bd79d7d5b3f6be77a25c73
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll

  Log Message:
  -----------
  [SLP]Add better minbitwidth analysis for udiv/urem instructions.

Adds improved bitwidth analysis for udiv/urem instructions. The
analysis is based on similar version in InstCombiner.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: d7753989eaa38e8b7a4ff01d8fced726eea3e34b
      https://github.com/llvm/llvm-project/commit/d7753989eaa38e8b7a4ff01d8fced726eea3e34b
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir

  Log Message:
  -----------
  [mlir][linalg] Add e2e test for linalg.mmt4d + pack/unpack (#84964)

This is a follow-up for #81790. This patch basically extends:

  * test/Integration/Dialect/Linalg/CPU/mmt4d.mlir

with pack/unpack ops so that to overall computation is a matrix
multiplication (as opposed to linalg.mmt4d). For comparison (and to make
it easier to verify correctness), linalg.matmul is also included in the
test.


  Commit: ffed554f2d6590acd5cc8d66af916ec1938326b9
      https://github.com/llvm/llvm-project/commit/ffed554f2d6590acd5cc8d66af916ec1938326b9
  Author: Ed Maste <emaste at freebsd.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Switch FreeBSD to C++26 (#86658)


  Commit: d3aa92ed142409266ebcc9cbc20e5f2c2d0209c0
      https://github.com/llvm/llvm-project/commit/d3aa92ed142409266ebcc9cbc20e5f2c2d0209c0
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Add support for scalable vectors to VectorLinearize (#86786)

Adds support for scalable vectors to patterns defined in
VectorLineralize.cpp.

Linearization is disable in 2 notable cases:
  * vectors with more than 1 scalable dimension (we cannot represent
    vscale^2),
  * vectors initialised with arith.constant that's not a vector splat
    (such arith.constant Ops cannot be flattened).


  Commit: ae280281ce9f14f413ced0e44158a6fd41a98243
      https://github.com/llvm/llvm-project/commit/ae280281ce9f14f413ced0e44158a6fd41a98243
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix for value constructor in class derived from optional. (#86942)

The constructor `Derived(int)` in the newly added test
`ClassDerivedFromOptionalValueConstructor` is not a template, and this
used to
cause an assertion failure in `valueOrConversionHasValue()` because
`F.getTemplateSpecializationArgs()` returns null.

(This is modeled after the `MaybeAlign(Align Value)` constructor, which
similarly causes an assertion failure in the analysis when assigning an
`Align`
to a `MaybeAlign`.)

To fix this, we can simply look at the type of the destination type
which we're
constructing or assigning to (instead of the function template
argument), and
this not only fixes this specific case but actually simplifies the
implementation.

I've added some additional tests for the case of assigning to a nested
optional
because we didn't have coverage for these and I wanted to make sure I
didn't
break anything.


  Commit: e251f56a4d808340765112dd78edc6e6619dd05b
      https://github.com/llvm/llvm-project/commit/e251f56a4d808340765112dd78edc6e6619dd05b
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Make CMake messages better fit into LLVM (#86945)

The libclc project is currently only properly supported as an external
project. However, when trying to get it to also build in-tree, the CMake
configuration messages it outputs stand out amongst the rest of the LLVM
projects and sub-projects.

This commit makes all messages clear that they belong to the libclc
project, as well as turning them into 'STATUS' messages where
appropriate.


  Commit: 94b5c118b3da99012e00d3e2d7c74784de9fc7ab
      https://github.com/llvm/llvm-project/commit/94b5c118b3da99012e00d3e2d7c74784de9fc7ab
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [ISel] Move handling of atomic loads from SystemZ to DAGCombiner (NFC). (#86484)

The folding of sign/zero extensions into an atomic load by specifying an
extension type is not target specific, and therefore belongs in the
DAGCombiner rather than in the SystemZ backend.

- Handle atomic loads similarly to regular loads by adding
AtomicLoadExtActions with set/get methods.
- Move SystemZ extendAtomicLoad() to DagCombiner.cpp.


  Commit: f566b079f171f28366a66b8afa4a975bc4005529
      https://github.com/llvm/llvm-project/commit/f566b079f171f28366a66b8afa4a975bc4005529
  Author: Jerry Wu <cheyuw at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/test/Dialect/Tensor/drop-redundant-insert-slice-rank-expansion.mlir

  Log Message:
  -----------
  [MLIR] Add pattern to fold insert_slice of extract_slice (#86328)

Fold the `tensor.insert_slice` of `tensor.extract_slice` into
`tensor_extract_slice` when the `insert_slice` simply expand some unit
dims dropped by the `extract_slice`.


  Commit: f90813543b57a9753c549ac0aac083b879b94230
      https://github.com/llvm/llvm-project/commit/f90813543b57a9753c549ac0aac083b879b94230
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    A llvm/test/CodeGen/X86/pr86880.mir

  Log Message:
  -----------
  [MCP] Use MachineInstr::all_defs instead of MachineInstr::defs in hasOverlappingMultipleDef. (#86889)

defs does not return the defs for inline assembly. We need to use
all_defs to find them.

Fixes #86880.


  Commit: 152fcf6e77c9b83ac5cae1c0d7c0a9cf5680c7bd
      https://github.com/llvm/llvm-project/commit/152fcf6e77c9b83ac5cae1c0d7c0a9cf5680c7bd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td

  Log Message:
  -----------
  [RISCV] Add validation of SPIMM for cm.push/pop. (#84989)

This checks the immediate is a multiple of 16 bytes.


  Commit: 7789ec067dfcb07cc1f2222f48d9bb8e004c0d72
      https://github.com/llvm/llvm-project/commit/7789ec067dfcb07cc1f2222f48d9bb8e004c0d72
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/char_vector.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtold.cpp

  Log Message:
  -----------
  [libc] s/NULL/nullptr (#86867)

Otherwise we need to pull in stddef.h for the declaration of NULL.


  Commit: 276335389133d6acf5f9d7d2f8ce09f9c610cb9c
      https://github.com/llvm/llvm-project/commit/276335389133d6acf5f9d7d2f8ce09f9c610cb9c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/DWARF.h
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/SyntheticSections.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/Object/ELFTypes.h
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/InterfaceStub/ELFObjHandler.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [Object,ELFType] Rename TargetEndianness to Endianness (#86604)

`TargetEndianness` is long and unwieldy. "Target" in the name is confusing. Rename it to "Endianness".

I cannot find noticeable out-of-tree users of `TargetEndianness`, but
keep `TargetEndianness` to make this patch safer. `TargetEndianness`
will be removed by a subsequent change.


  Commit: 0f61051f541a5b8cfce25c84262dfdbadb9ca688
      https://github.com/llvm/llvm-project/commit/0f61051f541a5b8cfce25c84262dfdbadb9ca688
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
    M llvm/include/llvm/IR/IntrinsicInst.h

  Log Message:
  -----------
  [clang][HLSL][SPRI-V] Add convergence intrinsics (#80680)

HLSL has wave operations and other kind of function which required the
control flow to either be converged, or respect certain constraints as
where and how to re-converge.

At the HLSL level, the convergence are mostly obvious: the control flow
is expected to re-converge at the end of a scope.
Once translated to IR, HLSL scopes disapear. This means we need a way to
communicate convergence restrictions down to the backend.

For this, the SPIR-V backend uses convergence intrinsics. So this commit
adds some code to generate convergence intrinsics when required.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 36b86438d7cd652bcac3fce51c1bdfad99536ec8
      https://github.com/llvm/llvm-project/commit/36b86438d7cd652bcac3fce51c1bdfad99536ec8
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/pow-vec.ll
    A llvm/test/CodeGen/DirectX/pow.ll

  Log Message:
  -----------
  [DXIL] Implement pow lowering (#86733)

closes #86179
- `DXILIntrinsicExpansion.cpp` - add the pow expansion to
exp2(y*log2(x))


  Commit: 39fe729502006f1b108828b75af8d63a27364f80
      https://github.com/llvm/llvm-project/commit/39fe729502006f1b108828b75af8d63a27364f80
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/MachO/Options.td
    M lld/test/MachO/silent-ignore.s

  Log Message:
  -----------
  [lld-macho] Ignore -no_warn_duplicate_libraries flag (#86303)

This is a new ld64 flag (along with `-warn_duplicate_libraries`), where
the warning is enabled by default, and it can be useful to ignore since
it can be hard to dedup library flags across large builds. This doesn't
ignore the enabling version since if someone manually passed that and
lld didn't respect it, we probably want the user to know that.


  Commit: 706c1302f99d79af21ddf22e23c53d33329f225a
      https://github.com/llvm/llvm-project/commit/706c1302f99d79af21ddf22e23c53d33329f225a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp

  Log Message:
  -----------
  [Dialect] Fix a warning

This patch fixes:

  mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp:158:17:
  error: 'matchAndRewrite' overrides a member function but is not
  marked 'override' [-Werror,-Wsuggest-override]


  Commit: 423832421b9b259612c3fe4169a6a6e1e2600f95
      https://github.com/llvm/llvm-project/commit/423832421b9b259612c3fe4169a6a6e1e2600f95
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [asan][windows] Weak function interception support in instruction size decoder. (#86570)

This makes it so we'll be able to decode the instructions used in the
weak function stubs from
https://github.com/llvm/llvm-project/pull/81677. This code doesn't
technically require those changes.

Co-authored-by: Amy Wishnousky <amyw at microsoft.com>


  Commit: ad97ee25315778a9a25d5b7365308072fbd846d0
      https://github.com/llvm/llvm-project/commit/ad97ee25315778a9a25d5b7365308072fbd846d0
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/fixedvector.h
    M libc/test/src/__support/fixedvector_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][support][FixedVector] add reverse iterator (#86732)

Critically, we don't want to return an iterator to the end of the underlying
cpp::array "store." Add a test to catch this issue.

This will be used by __cxa_finalize to iterate backwards through a FixedVector.

Link: #85651


  Commit: 23ca8e654df4a416132ac1207dd3ba8a14b82774
      https://github.com/llvm/llvm-project/commit/23ca8e654df4a416132ac1207dd3ba8a14b82774
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:

  Log Message:
  -----------
  [NFC][mlir][tensor][transform] fix compilation warning. (#86977)


  Commit: 8dcff10e9b7405138af768ec89d0718e048ca340
      https://github.com/llvm/llvm-project/commit/8dcff10e9b7405138af768ec89d0718e048ca340
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst

  Log Message:
  -----------
  [clang][analyzer] Improve documentation of StreamChecker (NFC). (#83858)


  Commit: 6aee1f9d1833f7ac000f6451a5d440b3a321a557
      https://github.com/llvm/llvm-project/commit/6aee1f9d1833f7ac000f6451a5d440b3a321a557
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/test/src/math/smoke/FromfpTest.h
    M libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/UfromfpTest.h
    M libc/test/src/math/smoke/UfromfpxTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix bounds checking and add FE_INVALID raising in {,u}fromfp{,x}* (#86892)

See
https://github.com/llvm/llvm-project/pull/86692#issuecomment-2024044889
and
https://github.com/llvm/llvm-project/pull/86892#discussion_r1542276037.

cc @lntue @nickdesaulniers


  Commit: 1607e8212caa7c050d89b5b143531edb815ec7f3
      https://github.com/llvm/llvm-project/commit/1607e8212caa7c050d89b5b143531edb815ec7f3
  Author: Xiangyang (Mark) Guo <helloguo at fb.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/test/Transforms/SampleProfile/remarks-hotness.ll

  Log Message:
  -----------
  [InlineCost] Disable cost-benefit when sample based PGO is used (#86626)

#66457 makes InlineCost to use cost-benefit by default, which causes
0.4-0.5% performance regression on multiple internal workloads. See
discussions https://github.com/llvm/llvm-project/pull/66457. This pull
request reverts it.

Co-authored-by: helloguo <helloguo at meta.com>


  Commit: 16b7cc69ef43110c9776212379ccc37d7d3263c0
      https://github.com/llvm/llvm-project/commit/16b7cc69ef43110c9776212379ccc37d7d3263c0
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/cond-move-04.mir
    M llvm/test/CodeGen/SystemZ/cond-move-08.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
    M llvm/test/CodeGen/SystemZ/frame-28.mir
    M llvm/test/CodeGen/SystemZ/swifterror.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [SystemZ] Eliminate call sequence instructions early. (#77812)

On SystemZ, the outgoing argument area which is big enough for all calls
in the function is created once during the prolog, as opposed to
adjusting the stack around each call. The call-sequence instructions are
therefore not really useful any more than to compute the maximum call
frame size, which has so far been done by PEI, but can just as well be
done at an earlier point.

This patch removes the mapping of the CallFrameSetupOpcode and
CallFrameDestroyOpcode and instead computes the MaxCallFrameSize
directly after instruction selection and then removes the ADJCALLSTACK
pseudos. This removes the confusing pseudos and also avoids the problem
of having to keep the call frame size accurate when creating new MBBs.

This fixes #76618 which exposed the need to maintain the call frame size
when splitting blocks (which was not done).


  Commit: 237572f2ffaa2fcf590eabc7f9ebbb31a45aa392
      https://github.com/llvm/llvm-project/commit/237572f2ffaa2fcf590eabc7f9ebbb31a45aa392
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Fix paths when copying spriv-dis and spirv-val on windows (#86876)

We need `CMAKE_EXECUTABLE_SUFFIX` here so we get the paths right when
they end in `.exe`.


  Commit: 35e7d458c9b452b5c09736ffc832aa31777cef21
      https://github.com/llvm/llvm-project/commit/35e7d458c9b452b5c09736ffc832aa31777cef21
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/test/X86/linux-bug-table.s

  Log Message:
  -----------
  [BOLT] Add rewriting support for Linux kernel __bug_table (#86908)

Update instruction locations in the __bug_table section after new code
is emitted. If an instruction with associated bug ID was deleted,
overwrite its location with zero.


  Commit: 6dceea3cb273c8a6ab4c7784980057b3c2793d70
      https://github.com/llvm/llvm-project/commit/6dceea3cb273c8a6ab4c7784980057b3c2793d70
  Author: Andrii Levitskiy <107996072+aabysswalker at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl

  Log Message:
  -----------
  [HLSL] prevent generation of wrong double intrinsics. (#86932)

As #86555, we should cover all of non-double builtins.

Closes #86818


  Commit: aa7ae1ba0bfc3421cc933c9d0e236e5f642d23ac
      https://github.com/llvm/llvm-project/commit/aa7ae1ba0bfc3421cc933c9d0e236e5f642d23ac
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold producer linalg transpose with consumer unpack an… (#86795)

…d viceversa

-- Adds folding of producer linalg transpose op with consumer unpack op,
also adds folding of producer unpack op and consumer transpose op.
-- Minor bug fixes w.r.t. to the test cases.


  Commit: 2af3b43642017d13de2b6d9802915851517fa0ca
      https://github.com/llvm/llvm-project/commit/2af3b43642017d13de2b6d9802915851517fa0ca
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [mlir] fix bazel error for MatchInterfaces dialect


  Commit: 0b790572b108bf691d11dece07bca65ca457fc88
      https://github.com/llvm/llvm-project/commit/0b790572b108bf691d11dece07bca65ca457fc88
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    A mlir/test/Dialect/Transform/foreach-match.mlir

  Log Message:
  -----------
  [mlir] propagate silenceable failures in transform.foreach_match (#86956)

The original implementation was eagerly reporting silenceable failures
from actions as definite failures. Since silenceable failures are
intended for cases when the IR has not been irreversibly modified, it's
okay to propagate them as silenceable failures of the parent op.

Fixes #86834.


  Commit: 6582509daa9a598fc42c14268035b9a90d82f057
      https://github.com/llvm/llvm-project/commit/6582509daa9a598fc42c14268035b9a90d82f057
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/MC/XCOFFObjectWriter.cpp
    A llvm/test/CodeGen/PowerPC/aix-overflow-toc-data.py

  Log Message:
  -----------
  [AIX] Handle toc-data offset overflowing 16-bits (#80092)

When the toc-data offset overflows the 16-bits, we can truncate the
value to the 16-bit value as the linker will handle overflow through
fixup code.


  Commit: da5d576026bde8c854be31f7148eb27a9e4e8274
      https://github.com/llvm/llvm-project/commit/da5d576026bde8c854be31f7148eb27a9e4e8274
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [mlir] fix empty spaces in bazel file


  Commit: 599027857e1007ff402094a3a550b4832f3f5146
      https://github.com/llvm/llvm-project/commit/599027857e1007ff402094a3a550b4832f3f5146
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [clang] Add invalid check in NormalizedConstraint::fromConstraintExpr. (#86943)

This is an oversight spot in #86869, we should always check the invalid
bit after constructing the `Sema::InstantiatingTemplate` RAII object.


  Commit: d61ec513c42005bb071eb15386deb5de585ff267
      https://github.com/llvm/llvm-project/commit/d61ec513c42005bb071eb15386deb5de585ff267
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.h
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
    M mlir/test/Dialect/SPIRV/Transforms/webgpu-prepare.mlir

  Log Message:
  -----------
  [mlir][spirv] Add IsInf/IsNan expansion for WebGPU (#86903)

These non-finite math ops are supported by SPIR-V but not by WGSL.
Assume finite floating point values and expand these ops into `false`.

Previously, this worked by adding fast math flags during conversion from
arith to spirv, but this got removed in
https://github.com/llvm/llvm-project/pull/86578.

Also do some misc cleanups in the surrounding code.


  Commit: 7be847e60fa50aaf94afe653a5c82ddd2a0e19c9
      https://github.com/llvm/llvm-project/commit/7be847e60fa50aaf94afe653a5c82ddd2a0e19c9
  Author: Alastair Houghton <ahoughton at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libcxxabi/test/forced_unwind4.pass.cpp

  Log Message:
  -----------
  [libc++abi] Disable forced_unwind4 test for musl. (#85096)

This test won't pass on musl, but we should still run it for other Linux
platforms.

rdar://123436716


  Commit: 8ee5a3fd1cf54cbbcb9c66d8a99976cfdc4fc56f
      https://github.com/llvm/llvm-project/commit/8ee5a3fd1cf54cbbcb9c66d8a99976cfdc4fc56f
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A clang/test/C/C99/Inputs/nested-include.h
    A clang/test/C/C99/n590.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to WG14 N590 (#86985)

This adds test coverage for implementation limits that were defined in
WG14 N590. The original content of that paper is not available, so this
actually tests against the limits as of C23.


  Commit: cba6df99e0d5271393eb3861f9a3ebc58779169c
      https://github.com/llvm/llvm-project/commit/cba6df99e0d5271393eb3861f9a3ebc58779169c
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add basic tests tracking `or disjoint` conditions as `add`; NFC


  Commit: 637421cb887fd51e6edde31d8f9e041f53c3f495
      https://github.com/llvm/llvm-project/commit/637421cb887fd51e6edde31d8f9e041f53c3f495
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [ValueTracking] Tracking `or disjoint` conditions as `add` in Assumption/DomCondition Cache

We can definitionally treat `or disjoint` as `add` anywhere.

Closes #86302


  Commit: efa1544c2c3551e014c2d73aebe4fd0d4cc30462
      https://github.com/llvm/llvm-project/commit/efa1544c2c3551e014c2d73aebe4fd0d4cc30462
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

  Log Message:
  -----------
  [LVI] Add tests for tracking `or disjoint` like add; NFC


  Commit: 0e786557317d6dbf7dfba5115531f39096c6904d
      https://github.com/llvm/llvm-project/commit/0e786557317d6dbf7dfba5115531f39096c6904d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

  Log Message:
  -----------
  [LVI] Use m_AddLike instead of m_Add when matching simple condition

We have more complete logic for handling `Add`, so try to use that
logic for `or disjoint` (which can definitionally be treated as
`add`).

Closes #86058


  Commit: c2f3a11dbe1a6bc2fc46b35c3fb4398e1d6a90c4
      https://github.com/llvm/llvm-project/commit/c2f3a11dbe1a6bc2fc46b35c3fb4398e1d6a90c4
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  Remove an accidental duplicate C status page entry


  Commit: 6e58efac16958ccb99060f4329b48737be7d8d36
      https://github.com/llvm/llvm-project/commit/6e58efac16958ccb99060f4329b48737be7d8d36
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] Export headers either from :Transforms or :TransformUtils (#86819)

Split them according to their implementation.

Ideally, header files should be used by only one target, but this is
hard because CMake is less strict with headers (no layering check). But
even with bazel, headers should only be exported once in the `hdrs`
attribute. Other targets may use them in the `srcs` attribute to avoid
circular dependencies.


  Commit: 6f10dccbab4630604f8a6073ac4b9fb61bf8fc9e
      https://github.com/llvm/llvm-project/commit/6f10dccbab4630604f8a6073ac4b9fb61bf8fc9e
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    A clang/test/Options/enable_16bit_types_validation.hlsl
    A clang/test/Options/enable_16bit_types_validation_spirv.hlsl

  Log Message:
  -----------
  [HLSL] Add validation for the -enable-16bit-types option (#85340)

Previously, the clang compiler with the dxc driver would accept the
-enable-16bit-types flag without checking to see if the required
conditions are met for proper processing of the flag.
Specifically, -enable-16bit-types requires a shader model of at least
6.2 and an HLSL version of at least 2021.
This PR adds a validation check for these other options having the
required values, and emits an error if these constraints are not met.
Fixes #57876

---------

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


  Commit: 346f49927f32f72148882100410f78b83f2733a8
      https://github.com/llvm/llvm-project/commit/346f49927f32f72148882100410f78b83f2733a8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

  Log Message:
  -----------
  [RISCV] Add add_like PatFrags to reduce number of required patterns [nfc] (#86983)

This is an NFC prep patch for an upcoming change which is going to
support or_is_add in a bunch more cases. Posting separately because
tblgen is not particularly my strong suit.


  Commit: 5b06de7f99ef86c484f5fea5542c1868e798ac08
      https://github.com/llvm/llvm-project/commit/5b06de7f99ef86c484f5fea5542c1868e798ac08
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [X86] Add isLogicOp helper to match ISD::AND/OR/XOR and X86ISD::ANDNP

We could easily support the X86ISD 'float' variants of the logic ops as well, but we don't have good test coverage at the moment (they're mainly for SSE1 targets).


  Commit: 44af53b22aaa1fe382b22329bbc7e4610ecbacc8
      https://github.com/llvm/llvm-project/commit/44af53b22aaa1fe382b22329bbc7e4610ecbacc8
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Lex/ModuleMap.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ClangScanDeps/modules-extern-unrelated.m

  Log Message:
  -----------
  [clang][modules] Avoid calling expensive `SourceManager::translateFile()` (#86216)

The `ASTWriter` algorithm for computing affecting module maps uses
`SourceManager::translateFile()` to get a `FileID` from a `FileEntry`.
This is slow (O(n)) since the function performs a linear walk over
`SLocEntries` until it finds one with a matching `FileEntry`.

This patch removes this use of `SourceManager::translateFile()` by
tracking `FileID` instead of `FileEntry` in couple of places in
`ModuleMap`, giving `ASTWriter` the desired `FileID` directly. There are
no changes required for clients that still want a `FileEntry` from
`ModuleMap`: the existing APIs internally use `SourceManager` to perform
the reverse `FileID` to `FileEntry` conversion in O(1).


  Commit: 688d71ea8817ace88955671c1af7c80fbfba2c7f
      https://github.com/llvm/llvm-project/commit/688d71ea8817ace88955671c1af7c80fbfba2c7f
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libclc/cmake/CMakeCLCInformation.cmake

  Log Message:
  -----------
  [libclc] Track dependencies through dependency files (#86965)

This commit fixes the problem of missing build dependencies between
libclc source files and their various includes (namely headers and .inc
files).

We would like to do this with compiler-generated dependency files
because then the dependencies are accurate and there are no false
positives, leading to unnecessary rebuilds. This is how regular C/C++
dependencies are usually tracked by CMake.

Note that this variable is an internal API so is not guaranteed to work,
but then again *all* of CMake's support for new languages (which we use
for CLC/LL languages) is an internal API. On balance this change is
probably worth it due to how minimally invasive it is. It should work
with all supported compilers and CMake generators.


  Commit: 70cf2a09ce7a848a61a48bd7e9ef85d623805888
      https://github.com/llvm/llvm-project/commit/70cf2a09ce7a848a61a48bd7e9ef85d623805888
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Simplify function/constructors by removing unnecessary params.


  Commit: 6b95747087032e8f86af64325780d8471e6fce58
      https://github.com/llvm/llvm-project/commit/6b95747087032e8f86af64325780d8471e6fce58
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/test/MachO/objc-relative-method-lists-simple.s

  Log Message:
  -----------
  [lld-macho] Disable objc test on 32-bit ARM targets

lld/test/MachO/objc-relative-method-lists-simple.s fails on AArch64
hosts running 32-bit ARM binaries, such as
armv8l-unknown-linux-gnueabihf.

Disable the test on the failing targets for now, to keep the
buildbots passing.


  Commit: 7c1c07c92099d3e36e8f362706a5824ab04bdf38
      https://github.com/llvm/llvm-project/commit/7c1c07c92099d3e36e8f362706a5824ab04bdf38
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix X86_Binary80 special cases for canonicalize functions. (#86924)

Updates the special case of pseudo infinty as pointed in #85940


  Commit: a8340767de71b8c7d10de74019622592b39e3704
      https://github.com/llvm/llvm-project/commit/a8340767de71b8c7d10de74019622592b39e3704
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lldb/test/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Remove cmake check for pexpect with LLDB_TEST_USE_VENDOR_PACKAGES (#86962)

The commit 8bed754c2f965c8cbbb050be6f650b78f7fd78a6 was intended to
support the use case where users want to run all the LLDB tests in an
environment where pexpect is not installed. Those users can build with
`-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` to skip pexpect tests,
*but* because we still fail in cmake configuration, they must use
`-DLLDB_TEST_USE_VENDOR_PACKAGES=ON` to avoid failing due to pexpect not
being available.

I would like to remove `LLDB_TEST_USE_VENDOR_PACKAGES` now, but first
I'd like to make sure users w/o pexpect can pass CI with
`-DLLDB_TEST_USE_VENDOR_PACKAGES=OFF
-DLLDB_TEST_USER_ARGS=--skip-category=pexpect`. Once that is done, I am
not aware of any other issues caused by the previous commits, so the
third party tree should be safe to remove.


  Commit: 8a614c1d316b3f8ac72580f0ccaf8d2ae8eab752
      https://github.com/llvm/llvm-project/commit/8a614c1d316b3f8ac72580f0ccaf8d2ae8eab752
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Rename getVPValueOrAddLiveIn -> getOrAddLiveIn (NFCI).

The helper now only deals with live-ins, clarify the name.


  Commit: 17c3f102be328b8a2d065cdbc230ccacfa9046a9
      https://github.com/llvm/llvm-project/commit/17c3f102be328b8a2d065cdbc230ccacfa9046a9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [SystemZ] Fix an unused variable warning

This patch fixes:

  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:8181:9: error:
  unused variable 'TFL' [-Werror,-Wunused-variable]


  Commit: 44253a9ce6de749aee06057e578fb3ccbcda3ffd
      https://github.com/llvm/llvm-project/commit/44253a9ce6de749aee06057e578fb3ccbcda3ffd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [memprof] Add MemProf version (#86414)

This patch adds a version field to the MemProf section of the indexed
profile format, calling the new version "version 1".  The existing
version is called "version 0".

The writer supports both versions via a command-line option:

  llvm-profdata merge --memprof-version=1 ...

The reader supports both versions by automatically detecting the
version from the header.


  Commit: d357324f7700188c9ef179a4bc7898079cf49b6f
      https://github.com/llvm/llvm-project/commit/d357324f7700188c9ef179a4bc7898079cf49b6f
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  Revert "[libc][math][c23] Fix X86_Binary80 special cases for canonicalize functions. (#86924)"

This reverts commit 7c1c07c92099d3e36e8f362706a5824ab04bdf38.

Fails in presubmit.

Link: https://lab.llvm.org/buildbot/#/builders/90/builds/67461
Link: https://lab.llvm.org/buildbot/#/builders/225/builds/33519
Link: https://lab.llvm.org/buildbot/#/builders/163/builds/53858
Link: https://lab.llvm.org/buildbot/#/builders/250/builds/20983
Link: #86924


  Commit: 62d6beba976142a58c7c95afd84a5d632ab4cd84
      https://github.com/llvm/llvm-project/commit/62d6beba976142a58c7c95afd84a5d632ab4cd84
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/reversebits.ll
    A llvm/test/CodeGen/DirectX/trunc.ll
    A llvm/test/CodeGen/DirectX/trunc_error.ll

  Log Message:
  -----------
  [DXIL] Add lowering for `reversebits` and `trunc` (#86909)

Add lowering of `llvm.bitreverse` and `llvm.trunc` intrinsics to DXIL
ops.

Fixes #86582
Fixes #86581


  Commit: 23d45e55edb0ca4567f5876e7051ff4a649213df
      https://github.com/llvm/llvm-project/commit/23d45e55edb0ca4567f5876e7051ff4a649213df
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
    M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
    M llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll
    M llvm/test/CodeGen/Thumb2/aligned-nonfallthrough.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
    M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
    M llvm/test/CodeGen/Thumb2/mve-vldst4.ll
    M llvm/test/CodeGen/X86/optimize-max-0.ll
    M llvm/test/CodeGen/X86/tls-loads-control3.ll

  Log Message:
  -----------
  [MCP] Remove dead copies from basic blocks with successors. (#86973)

Previously we wouldn't remove dead copies from basic blocks with
successors. The comment said we didn't want to trust the live-in lists.
The comment is very old so I'm not sure if that's still a concern today.

This patch checks the live-in lists and removes copies from
MaybeDeadCopies if they are referenced by any live-ins in any
successors. We only do this if the tracksLiveness property is set. If
that property is not set, we retain the old behavior.


  Commit: 380f0fb682041aca3d682d9f1be9d3021f4b2daa
      https://github.com/llvm/llvm-project/commit/380f0fb682041aca3d682d9f1be9d3021f4b2daa
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGen/debug-info-cc.c
    M llvm/include/llvm/BinaryFormat/Dwarf.def

  Log Message:
  -----------
  [CodeGen/DWARF] Introduce DWARF tag for SwiftTail and emit it in CodeGen.

swifttailcc is a new calling convention in LLVM introduced in
https://reviews.llvm.org/D95443. We add a new DWARF tag to capture
this in debuginfo.

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

[Note: This patch seems to have been forgotten about, landing it now with considerable delay]


  Commit: a3c2d8c0720424579c2a9b6313664908db7fcb14
      https://github.com/llvm/llvm-project/commit/a3c2d8c0720424579c2a9b6313664908db7fcb14
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/binop-zext.ll

  Log Message:
  -----------
  [RISCV] Combine ({s,u}{div,rem} (zext, zext)) -> (zext ({s,u}{div,rem} (zext, zext))) (#86779)

This narrows unsigned and signed div and rem nodes via
combineBinOpOfZExt.

Unlike other binary ops, there are no widening div or rem instructions.
So we will end up with an extra vzext.vf2.

However I'm assuming that div/rem are expensive enough that by reducing
their EMUL we will gain back the cost.

Alive2 proof: https://alive2.llvm.org/ce/z/Et_L6y


  Commit: c482fad2c1de367f8fef2b40361dec00523707f7
      https://github.com/llvm/llvm-project/commit/c482fad2c1de367f8fef2b40361dec00523707f7
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select.mir
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll

  Log Message:
  -----------
  [AArch64][GISEL] Consider fcmp true and fcmp false in cond code selection (#86972)

Fixes #86917

`FCMP_TRUE` and `FCMP_FALSE` were previously not considered and we ended
up in an llvm_unreachable assertion.


  Commit: 219511aee21cc652e1ede0458de4a4a66f04c81c
      https://github.com/llvm/llvm-project/commit/219511aee21cc652e1ede0458de4a4a66f04c81c
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesWriter.cpp

  Log Message:
  -----------
  [APINotes] Make an assert in a std::sort call tolerate self-comparisons

libc++ debug mode verifies that a comparator passed to std::sort defines
a strict weak order by calling it with the same element.

See also:

- RFC that introduced the feature:
  https://discourse.llvm.org/t/rfc-strict-weak-ordering-checks-in-the-debug-libc/70217

- `strict_weak_ordering_check.h` in libc++ sources.


  Commit: 6373577a2c72b0354b6ad6c4d1732f142aaffa80
      https://github.com/llvm/llvm-project/commit/6373577a2c72b0354b6ad6c4d1732f142aaffa80
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/StrfromTest.h

  Log Message:
  -----------
  [libc] Add inf/nan tests for strfrom*() functions (#86663)

Adds tests for `inf` and `nan` values to the tests for `strfrom*()`
functions.

Also marks some variables as `[[maybe_unused]]` to silence unused
variable warnings.


  Commit: 6b149f70abc2d0214cc29e7a2aeea428d3719491
      https://github.com/llvm/llvm-project/commit/6b149f70abc2d0214cc29e7a2aeea428d3719491
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Dump ReleaseToOsIntervalMs (#86887)

This can be adjusted during runtime and it may impact the memory
footprint if it's set to a big value or is disabled.


  Commit: eee8c6150a1c3af54542d34d1c084a86feda4d96
      https://github.com/llvm/llvm-project/commit/eee8c6150a1c3af54542d34d1c084a86feda4d96
  Author: Scott Linder <72270781+slinder1 at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/AsmParser/LLParser.cpp

  Log Message:
  -----------
  [LangRef] Try to clarify some Metadata semantics (#81948)

General cleanup in LangRef (and two outdated comments in LLParser.cpp)
with the aim of making it easier to understand some of the terminology
and subtle idiosyncrasies related to metadata in the IR.

I'm still not happy with the fact that "node" is used both informally
and with a particular category of metadata in mind, depending on the
context. This also bleeds into the type names in the implementation.

There are also several places where names from the implementation appear
in the document with no other context or definition. In some cases I
added a parenthetical to section titles to tie the two together, but I
don't think this is ideal.

I also think it might be useful to define the "abstract" metadata
classes like "DIScope" in the document, so the hierarchy of metadata
node kinds is direct, and so we can avoid repetitive descriptions of all
of the members of on part of the hierarchy. This inheritance doesn't
have to be in terms of C++ classes, but using the same names as the
implementation seems helpful, and we already do it for many other
things.

Finally I added sections for the specialized nodes which are implemented
in the IR but didn't have documentation in LangRef yet. These could use
some work, and I admit I didn't dig too deep into the specifics beyond
enumerating the fields, but I think we would ideally always have a
LangRef section for every kind of node.


  Commit: bbbcc1d99d08855069f4501c896c43a6d4d7b598
      https://github.com/llvm/llvm-project/commit/bbbcc1d99d08855069f4501c896c43a6d4d7b598
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Sema/nullability.c
    M clang/test/SemaCXX/nullability.cpp
    M clang/test/SemaObjCXX/nullability-consistency.mm

  Log Message:
  -----------
  Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"

This reverts commit ca4c4a6758d184f209cb5d88ef42ecc011b11642.

This was intended not to introduce new consistency diagnostics for
smart pointer types, but failed to ignore sugar around types when
detecting this.
Fixed and test added.


  Commit: 9ea0396f1608681e524e1159bfa8568f3ccfbb99
      https://github.com/llvm/llvm-project/commit/9ea0396f1608681e524e1159bfa8568f3ccfbb99
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Extend pattern matches involving shNadd to support disjoint or (#87001)

I tried to add representative tests while not duplicating complete
coverage.  If there's other tests you'd like to see, let me know.


  Commit: 5906b1ad3f70586c72293d5c62eb3f26977b8b96
      https://github.com/llvm/llvm-project/commit/5906b1ad3f70586c72293d5c62eb3f26977b8b96
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/test/APINotes/module-cache.m

  Log Message:
  -----------
  [APINotes][test] Fix permissions of a file copied from a source tree

Our CI system makes the source tree read-only. The 'cp' command that
copies a directory from the source tree into a temp directory preserves
permissions, and the copied files stay read-only. When the test tries to
append to one of these files, it fails with a "permission denied" error.


  Commit: d0b47806c01b27feefca2d39e8fc18d3ddec5f3c
      https://github.com/llvm/llvm-project/commit/d0b47806c01b27feefca2d39e8fc18d3ddec5f3c
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/InstrProfileFormat.rst
    M llvm/include/llvm/ProfileData/InstrProf.h

  Log Message:
  -----------
  [nfc][docs]Generalize header description and ascii art for indexed profiles (#83507)

- Add pointers to code for source of truth.
- Move necessary details from doc to code.


  Commit: 07a1fbe91a4fb7df986eedd52ca90f78bc19c657
      https://github.com/llvm/llvm-project/commit/07a1fbe91a4fb7df986eedd52ca90f78bc19c657
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/InstrProfileFormat.rst

  Log Message:
  -----------
  [docs][TypeProf]Update instrumentation file format document (#83309)

This is a follow-up to the profile format change in https://github.com/llvm/llvm-project/pull/82711


  Commit: 7a87902684b5e15644f037401e88b1f0c2c5fc6f
      https://github.com/llvm/llvm-project/commit/7a87902684b5e15644f037401e88b1f0c2c5fc6f
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/stack_depot.h

  Log Message:
  -----------
  [scudo] Fix stack depot validation. (#87024)

In the StackDepot::isValid function, there is work to validate the
TabMask variable. Unfortunately, if TabMask is set to the maximum
allowed value, TabSize = TabMask + 1 becomes zero and validation passes.

Disallow that case to prevent invalid reads into the Tab structure.


  Commit: 338be798cae42107dd90b2bd0e88b379741a1d60
      https://github.com/llvm/llvm-project/commit/338be798cae42107dd90b2bd0e88b379741a1d60
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect sign extension of first ext
node.


  Commit: 01e02e0b6a15562e241e9ed18b295c66ae20f410
      https://github.com/llvm/llvm-project/commit/01e02e0b6a15562e241e9ed18b295c66ae20f410
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll

  Log Message:
  -----------
  [SLP]Fix PR87011: Do not assume that initial ext/trunc nodes can be
represented by bitwidth without analysis.

Need to check that initial ext/trunc nodes can be safely represented
using calculated bitwidth before applying it.


  Commit: 39e813746730a83e49b7efc457ff7efc74925c74
      https://github.com/llvm/llvm-project/commit/39e813746730a83e49b7efc457ff7efc74925c74
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [HWASan] add example for ring buffer wrap (#87029)

Also another move comment to correct place.


  Commit: 89bae852dddeb2b66a1843dbe5eea21184e54814
      https://github.com/llvm/llvm-project/commit/89bae852dddeb2b66a1843dbe5eea21184e54814
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Fix lit tests with python 3.11+ (#87022)

In python3.11 there is a new environment variable PYTHONSAFEPATH which
stops python from setting the current directory as the first entry in
sys.path. Bazel started setting this to ensure that python targets
don't accidentally access things that aren't in their dependency tree.
This resulted in lit tests breaking because sys.path didn't include the
directory to the lit source files. This is fixed by adding the lit
binary to the dependency tree and propagating the import path from it.

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


  Commit: 1d99d7a6f841de594b38936a4a73866b23a8b105
      https://github.com/llvm/llvm-project/commit/1d99d7a6f841de594b38936a4a73866b23a8b105
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-lto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll

  Log Message:
  -----------
  [SampleFDO][NFC] Refactoring SampleProfileMatcher (#86988)

Move all the stale profile matching stuffs into new files so that it can
be shared for unit testing.


  Commit: c64a328cb4a32e81f8b694162750ec1b8823994c
      https://github.com/llvm/llvm-project/commit/c64a328cb4a32e81f8b694162750ec1b8823994c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

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

  Log Message:
  -----------
  [ProfileData] Use size_t in PatchItem (NFC) (#87014)

size_t in PatchItem eliminates the need for casts.


  Commit: e005a09df5b5c7d210ac7cd8cbddb3a4a8663173
      https://github.com/llvm/llvm-project/commit/e005a09df5b5c7d210ac7cd8cbddb3a4a8663173
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp
    A llvm/test/CodeGen/RISCV/rv64-typepromotion.ll

  Log Message:
  -----------
  [RISCV][TypePromotion] Dont generate truncs if PromotedType is greater than Source Type (#86941)

We currently check if the source and promoted types are not equal before
generating truncate instructions. This does not work for RV64 where the
promoted type is i64 and this lead to a crash due to the generation of
truncate instructions from i32 to i64.

Fixes #86400


  Commit: ba6b2d22af177a72b132cdb8e9350a708f282d2c
      https://github.com/llvm/llvm-project/commit/ba6b2d22af177a72b132cdb8e9350a708f282d2c
  Author: cmtice <cmtice at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Scalar.h
    M lldb/source/Utility/Scalar.cpp
    M lldb/unittests/Utility/ScalarTest.cpp

  Log Message:
  -----------
  [LLDB] Add APFloat helper functions to Scalar class. (#86862)

This adds the ability to create a Scalar from an APFloat, and to create
an APFloat from an APSInt or another APFloat.


  Commit: 7d3924cee30a87a51f9dc04ec843ae6bc3d1c90e
      https://github.com/llvm/llvm-project/commit/7d3924cee30a87a51f9dc04ec843ae6bc3d1c90e
  Author: elhewaty <mohamedatef1698 at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Assembler/flags.ll
    M llvm/test/Bitcode/flags.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/SimplifyCFG/HoistCode.ll

  Log Message:
  -----------
  [IR] Add nowrap flags for trunc instruction (#85592)

This patch adds the nuw (no unsigned wrap) and nsw (no signed wrap)
poison-generating flags to the trunc instruction.

Discourse thread:
https://discourse.llvm.org/t/rfc-add-nowrap-flags-to-trunc/77453


  Commit: 235d6841601a9dbea293b8e82b0c994f91f42d76
      https://github.com/llvm/llvm-project/commit/235d6841601a9dbea293b8e82b0c994f91f42d76
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/no-local-decl-in-reduced-bmi.cppm

  Log Message:
  -----------
  [C++20] [Modules] [Reduced BMI] Don't record declarations in functions
by default

For reduced BMI, it is meaningless to record the local declarations in
functions if not required explicitly during the process of writing the
function bodies.

It wastes time for reduced BMI and may be problematic if we want to
avoid transiting unnecessary changes.


  Commit: e1873d99729012191c72d532226771139b6e8519
      https://github.com/llvm/llvm-project/commit/e1873d99729012191c72d532226771139b6e8519
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Remove unsed BUILD dependencies. (#87038)

This is the second attempt of 32fcfcdc4cc1d68116438f761897953894d65fb1,
which had to be reverted.

This should be good to go now, after a number of cleanups to not expose
headers from multiple targets:

- 6e58efac16958ccb99060f4329b48737be7d8d36
- f1dff836593d4601e3ad78117df1d980d284bb9c
- 89ef3130cf16f1965475396ad3a50760558cc08a
- eb70b485a91361eee83d3744d1bd3e4c3a23692f
- 83e5a1239242d64110e3dfa96ed3889170ab96b2
- fce046ca5b7edb4c0d37a6eb580154ccb7dda966


  Commit: 610b9e23c5a3040aacc6fe85de8694f80bf5bdf5
      https://github.com/llvm/llvm-project/commit/610b9e23c5a3040aacc6fe85de8694f80bf5bdf5
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop-no-implicit-float.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
    M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll

  Log Message:
  -----------
  [SDAG] Use shifts if ISD::MUL is illegal when lowering ISD::CTPOP (#86505)

We can avoid libcalls.

Fixes #86205


  Commit: 28760b63bbf9e267713957105a8d17091fb0d20e
      https://github.com/llvm/llvm-project/commit/28760b63bbf9e267713957105a8d17091fb0d20e
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Sema/nullability.c
    M clang/test/SemaCXX/nullability.cpp
    M clang/test/SemaObjCXX/nullability-consistency.mm

  Log Message:
  -----------
  Revert "Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"" (#87041)

This reverts commit bbbcc1d99d08855069f4501c896c43a6d4d7b598.

This change is causing the following build bots to fail due to a missing
header file:
- https://lab.llvm.org/buildbot/#/builders/188/builds/43765
- https://lab.llvm.org/buildbot/#/builders/176/builds/9428
- https://lab.llvm.org/buildbot/#/builders/187/builds/14696
- https://lab.llvm.org/buildbot/#/builders/186/builds/15551
- https://lab.llvm.org/buildbot/#/builders/182/builds/9413
- https://lab.llvm.org/buildbot/#/builders/245/builds/22507
- https://lab.llvm.org/buildbot/#/builders/258/builds/16026
- https://lab.llvm.org/buildbot/#/builders/249/builds/17221
- https://lab.llvm.org/buildbot/#/builders/38/builds/18566
- https://lab.llvm.org/buildbot/#/builders/214/builds/11735
- https://lab.llvm.org/buildbot/#/builders/231/builds/21947
- https://lab.llvm.org/buildbot/#/builders/230/builds/26675
- https://lab.llvm.org/buildbot/#/builders/57/builds/33922
- https://lab.llvm.org/buildbot/#/builders/124/builds/10311
- https://lab.llvm.org/buildbot/#/builders/109/builds/86173
- https://lab.llvm.org/buildbot/#/builders/280/builds/1043
- https://lab.llvm.org/buildbot/#/builders/283/builds/440
- https://lab.llvm.org/buildbot/#/builders/247/builds/16034
- https://lab.llvm.org/buildbot/#/builders/139/builds/62423
- https://lab.llvm.org/buildbot/#/builders/216/builds/36718
- https://lab.llvm.org/buildbot/#/builders/259/builds/2039
- https://lab.llvm.org/buildbot/#/builders/36/builds/44091
- https://lab.llvm.org/buildbot/#/builders/272/builds/12629
- https://lab.llvm.org/buildbot/#/builders/271/builds/6020
- https://lab.llvm.org/buildbot/#/builders/236/builds/10319


  Commit: db7d2439780d115545f533929d33470dc8d2704b
      https://github.com/llvm/llvm-project/commit/db7d2439780d115545f533929d33470dc8d2704b
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrUtils.td
    A llvm/test/MC/Disassembler/X86/apx/imulzu.txt
    A llvm/test/MC/X86/apx/imulzu-att.s
    A llvm/test/MC/X86/apx/imulzu-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][MC] Support enc/dec for IMULZU. (#86653)

apx-spec: https://cdrdv2.intel.com/v1/dl/getContent/784266
apx-syntax-recommendation:
https://cdrdv2.intel.com/v1/dl/getContent/817241


  Commit: aeab2bb55e0a4d5f0f13e238e8a2fb9030c48b6f
      https://github.com/llvm/llvm-project/commit/aeab2bb55e0a4d5f0f13e238e8a2fb9030c48b6f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 1d99d7a6f841


  Commit: aa04f12fa9f086f62f81841f159085723c255245
      https://github.com/llvm/llvm-project/commit/aa04f12fa9f086f62f81841f159085723c255245
  Author: Thomas Köppe <tkoeppe at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  Add missing declarations of explicit template instantiations. (#86964)

Found with -Wundefined-func-template.


  Commit: abfc5efb55267689f1852fd7ce3e0a38876aa259
      https://github.com/llvm/llvm-project/commit/abfc5efb55267689f1852fd7ce3e0a38876aa259
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [Decl] Introduce Decl::isFromExplicitGlobalModule

Introduce `Decl::isFromExplicitGlobalModule` to replace the
`D->getOwningModule() && D->getOwningModule()->isExplicitGlobalModule()`
pattern to save some typings.


  Commit: 80aa52d8c5a8a1c26b4114c60c2159c743d236d8
      https://github.com/llvm/llvm-project/commit/80aa52d8c5a8a1c26b4114c60c2159c743d236d8
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  Revert "[ProfileData] Use size_t in PatchItem (NFC) (#87014)"

This reverts commit c64a328cb4a32e81f8b694162750ec1b8823994c.
This broke Arm32 bit build on various LLVM buildbots.
For example:
https://lab.llvm.org/buildbot/#/builders/17/builds/51129


  Commit: 5af767926288f837e4fd9fd81a9d4878e0924ced
      https://github.com/llvm/llvm-project/commit/5af767926288f837e4fd9fd81a9d4878e0924ced
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/unittests/AST/DeclPrinterTest.cpp

  Log Message:
  -----------
  Fix calls to PrintedDeclCXX98Matches. (#86741)

Fix the calls to `PrintedDeclCXX98Matches` to take the lambda function
as the last argument.


  Commit: a85569242da98c29d76fbb303a4014cf6c514a6f
      https://github.com/llvm/llvm-project/commit/a85569242da98c29d76fbb303a4014cf6c514a6f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libcxx/include/__type_traits/apply_cv.h

  Log Message:
  -----------
  [libc++][NFC] Use __copy_cv to implement __apply_cv (#86477)


  Commit: 316634ff5925481201a7b27d5f806cc2361cf4f2
      https://github.com/llvm/llvm-project/commit/316634ff5925481201a7b27d5f806cc2361cf4f2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/container_adaptor.h
    A libcxx/include/__fwd/deque.h
    A libcxx/include/__fwd/memory.h
    A libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/sstream.h
    A libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/string.h
    A libcxx/include/__fwd/vector.h
    M libcxx/include/deque
    M libcxx/include/format
    M libcxx/include/iosfwd
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/include/queue
    M libcxx/include/stack
    M libcxx/include/vector
    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/std/containers/sequences/vector/vector.cons/deduct.verify.cpp
    M libcxx/test/support/deduction_guides_sfinae_checks.h

  Log Message:
  -----------
  [libc++] Remove <queue> and <stack> includes from <format> (#85520)

This reduces the include time of <format> from 691ms to 556ms.


  Commit: 131be5de90dac9f54a8213a1aab66a75c62890ec
      https://github.com/llvm/llvm-project/commit/131be5de90dac9f54a8213a1aab66a75c62890ec
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add more disjoint or tests for vwadd[u].{w,v}v. NFC


  Commit: 1403cf67a628712bddbe0055161ec68c7ebb468d
      https://github.com/llvm/llvm-project/commit/1403cf67a628712bddbe0055161ec68c7ebb468d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 316634ff5925


  Commit: 2a315d800bb352fe459a012006a42ac7cd63834e
      https://github.com/llvm/llvm-project/commit/2a315d800bb352fe459a012006a42ac7cd63834e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Combine (or disjoint ext, ext) -> vwadd (#86929)

DAGCombiner (or InstCombine) will convert an add to an or if the bits
are disjoint, which can prevent what was originally an (add {s,z}ext,
{s,z}ext) from being selected as a vwadd.

This teaches combineBinOp_VLToVWBinOp_VL to recover it by treating it as
an add.


  Commit: 76ba3c8e64ed33daf5ddf7d507cbbdeae7a50235
      https://github.com/llvm/llvm-project/commit/76ba3c8e64ed33daf5ddf7d507cbbdeae7a50235
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Add test case for vmerge fold for tied pseudos with rounding mode. NFC


  Commit: ea707baca2f73d503849d2b7429c7507314bff6b
      https://github.com/llvm/llvm-project/commit/ea707baca2f73d503849d2b7429c7507314bff6b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/PluginManager.cpp

  Log Message:
  -----------
  [Libomptarget][NFCI] Move logic out of PluginAdaptorTy (#86971)

Summary:
This patch removes most of the special handling from the
`PluginAdaptorTy` in preparation for changing this to be the
`GenericPluginTy`. Doing this requires that the OpenMP specific handling
of stuff like device offsets be contained within the OpenMP plugin
manager. Generally this was uninvasive expect for the change to tracking
the offset and size of the used devices. The eaiest way I could think to
do this was to use some maps, which double as indicators for which
plugins have devices active. This should not affect the logic.


  Commit: 84299df301dc07ea83fa8378051103195c3a7c65
      https://github.com/llvm/llvm-project/commit/84299df301dc07ea83fa8378051103195c3a7c65
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineInstr.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-trunc.ll

  Log Message:
  -----------
  [GlobalIsel] add trunc flags (#87045)

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


  Commit: 7344e991ade887775cb25beeffa9c8d2a2311dc7
      https://github.com/llvm/llvm-project/commit/7344e991ade887775cb25beeffa9c8d2a2311dc7
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    A clang/test/APINotes/Inputs/Headers/Templates.apinotes
    A clang/test/APINotes/Inputs/Headers/Templates.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/templates.cpp

  Log Message:
  -----------
  [APINotes] Add test for C++ class templates

This upstreams https://github.com/apple/llvm-project/pull/7930.

This adds a test to verify that we can apply attributes to C++ class
templates using API Notes. Doing the same for function templates is not
currently possible and requires more work.


  Commit: a8ca4abfcfa98d28ec46ee497e1fc5e91f8e1ad6
      https://github.com/llvm/llvm-project/commit/a8ca4abfcfa98d28ec46ee497e1fc5e91f8e1ad6
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    A clang/test/CodeGen/aapcs-bitfield-access-unit.c
    M clang/test/CodeGen/arm-bitfield-alignment.c
    M clang/test/CodeGen/arm64-be-bitfield.c
    A clang/test/CodeGen/bitfield-access-pad.c
    A clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/no-bitfield-type-align.c
    M clang/test/CodeGen/struct-x86-darwin.c
    A clang/test/CodeGenCXX/bitfield-access-empty.cpp
    A clang/test/CodeGenCXX/bitfield-access-tail.cpp
    A clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/bitfield.cpp

  Log Message:
  -----------
  [clang][NFC] Bitfield access unit tests (#65742)

Verify bitfield access units.


  Commit: 7df79ababee8d03b27bbaba1aabc2ec4ea14143e
      https://github.com/llvm/llvm-project/commit/7df79ababee8d03b27bbaba1aabc2ec4ea14143e
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h

  Log Message:
  -----------
  [clang] TargetInfo hook for unaligned bitfields (#65742)

Promote ARM & AArch64's HasUnaligned to TargetInfo and set for all
targets.


  Commit: 49839f97d2951e0b95d33aee00f00022952dab78
      https://github.com/llvm/llvm-project/commit/49839f97d2951e0b95d33aee00f00022952dab78
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/test/CodeGen/aapcs-bitfield-access-unit.c
    M clang/test/CodeGen/aapcs-bitfield.c
    M clang/test/CodeGen/arm-bitfield-alignment.c
    M clang/test/CodeGen/arm64-be-bitfield.c
    M clang/test/CodeGen/bitfield-2.c
    M clang/test/CodeGen/bitfield-access-pad.c
    M clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/debug-info-bitfield-0-struct.c
    M clang/test/CodeGen/no-bitfield-type-align.c
    M clang/test/CodeGen/struct-x86-darwin.c
    M clang/test/CodeGen/tbaa-struct.cpp
    M clang/test/CodeGenCXX/bitfield-access-empty.cpp
    M clang/test/CodeGenCXX/bitfield-access-tail.cpp
    M clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/bitfield.cpp
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/atomic_write_codegen.c

  Log Message:
  -----------
  [clang] Better SysV bitfield access units (#65742)

Reimplement bitfield access unit computation for SysV ABIs. Considers
expense of unaligned and non-power-of-2 accesses.


  Commit: 56b3222b79632a4bbb36271735556a03b2504791
      https://github.com/llvm/llvm-project/commit/56b3222b79632a4bbb36271735556a03b2504791
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    M llvm/test/Transforms/InstCombine/apint-shl-trunc.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/ptr-int-cast.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
    M llvm/test/Transforms/PhaseOrdering/X86/merge-functions.ll

  Log Message:
  -----------
  [InstCombine] Remove the canonicalization of `trunc` to `i1` (#84628)

Remove the canonicalization of `trunc` to `i1` according to the
suggestion of
https://github.com/llvm/llvm-project/pull/83829#issuecomment-1986801166

https://github.com/llvm/llvm-project/blob/a84e66a92d7b97f68aa3ae7d2c5839f3fb0d291d/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#L737-L745

Alive2: https://alive2.llvm.org/ce/z/cacYVA


  Commit: 3f69d90351a9d4c7102b8b2f70a55e5bd92c567d
      https://github.com/llvm/llvm-project/commit/3f69d90351a9d4c7102b8b2f70a55e5bd92c567d
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Add missing RISCVMaskedPseudo for TIED pseudos (#86787)

This was preventing us from folding away the vmerge into its mask.


  Commit: d3bc9cc99b3d45e1fb8d65a57e308e899439fe26
      https://github.com/llvm/llvm-project/commit/d3bc9cc99b3d45e1fb8d65a57e308e899439fe26
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/select.mir

  Log Message:
  -----------
  [AArch64][GISEL] Regenerate select tests with inline register classes (#87013)

Use inline register class syntax for select test file.


  Commit: 0f6ed4c394fd8f843029f6919230bf8df8618529
      https://github.com/llvm/llvm-project/commit/0f6ed4c394fd8f843029f6919230bf8df8618529
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp
    M clang/test/SemaTemplate/ctad.cpp

  Log Message:
  -----------
  [clang][Sema] Fix a CTAD regression after 42239d2e9 (#86914)

The most recent declaration of a template as a friend can introduce a
different template parameter depth compared to what we anticipate from a
CTAD guide.

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


  Commit: a4de589d117a4fd52554da3c61ae6eb26c90a0c8
      https://github.com/llvm/llvm-project/commit/a4de589d117a4fd52554da3c61ae6eb26c90a0c8
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/CMakeLists.txt
    M clang/lib/InstallAPI/DylibVerifier.cpp
    A clang/test/InstallAPI/diagnostics-dsym.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/include/llvm/TextAPI/DylibReader.h
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/lib/TextAPI/BinaryReader/CMakeLists.txt
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp

  Log Message:
  -----------
  [InstallAPI] Add support for parsing dSYMs (#86852)

InstallAPI does not directly look at object files in the dylib for
verification. To help diagnose violations where a declaration is
undiscovered in headers, parse the dSYM and look up the source location
for symbols. Emitting out the source location with a diagnostic is
enough for some IDE's (e.g. Xcode) to have them map back to editable
source files.


  Commit: 85a5f64c70fe34a08481fde2cfedb6adf84c9b47
      https://github.com/llvm/llvm-project/commit/85a5f64c70fe34a08481fde2cfedb6adf84c9b47
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Add missing deps after a4de589d117a4fd52554da3c61ae6eb26c90a0c8


  Commit: c09b6fac12b0299841bf1bf04974712963736db5
      https://github.com/llvm/llvm-project/commit/c09b6fac12b0299841bf1bf04974712963736db5
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    A utils/bazel/llvm-project-overlay/llvm/driver.bzl

  Log Message:
  -----------
  [bazel] Add support for LLVM_TOOL_LLVM_DRIVER_BUILD (#86879)

This adds the bazel equivalent of the `llvm` binary produced by
`LLVM_TOOL_LLVM_DRIVER_BUILD` in cmake. For the initial commit, this
only includes `llvm-ar`, `llvm-nm`, and `llvm-size`. The rest are
trivial to add in a followup commit, following the same pattern as here.

By default it will include everything that supports the llvm-driver
model, but it can be reduced to only build a subset, e.g. this will
build only nm and size:

```
$ bazel build \
    -- at llvm-project//llvm:driver-tools=llvm-nm,llvm-size \
    @llvm-project//llvm:llvm
```


  Commit: 2f05b8905860760f1d4f099dcea0e0dd4b1f49d8
      https://github.com/llvm/llvm-project/commit/2f05b8905860760f1d4f099dcea0e0dd4b1f49d8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

  Log Message:
  -----------
  [RISCV] Move VPseudoBinaryNoMask multiclass to RISCVInstrInfoZvk.td and rename it. NFC

Rename to VPseudoBinaryNoMaskTU_Zvk. This more consistent with the naming
of the class it instantiates and the _Zvk suffix is used elsewhere
in RISCVInstrInfoZvk.td.


  Commit: 661bb9daae8730868d87b7a3cee6b9ad51e988af
      https://github.com/llvm/llvm-project/commit/661bb9daae8730868d87b7a3cee6b9ad51e988af
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll

  Log Message:
  -----------
  [GlobalISel] Handle div-by-pow2 (#83155)

This patch adds similar handling of div-by-pow2 as in `SelectionDAG`.


  Commit: af34ac4508adcb5b54e62947d7caf7dd40227b16
      https://github.com/llvm/llvm-project/commit/af34ac4508adcb5b54e62947d7caf7dd40227b16
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/C/C2x/n2350.c
    M clang/test/C/drs/dr4xx.c

  Log Message:
  -----------
  [Clang] [Sema] No longer diagnose type definitions in `offsetof` in C23 mode (#84169)

This is now allowed in C23; continue to diagnose it in earlier language
modes as before, but now as a C23 extension rather than a GNU extension.

This fixes #83658.


  Commit: 0dbd804a690720688d8234d8bdaee8f8f4fdcddc
      https://github.com/llvm/llvm-project/commit/0dbd804a690720688d8234d8bdaee8f8f4fdcddc
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp

  Log Message:
  -----------
  [scudo] Only init RingBuffer when needed. (#85994)

Only attempt to initialize the ring buffer when tracking is enabled.

Updated unit tests, and added a few new unit tests to verify the
RingBuffer is not initialized by default.

Verified that the two maps associated with the RingBuffer are not
created in processes by default.


  Commit: 60deb8b39afe9be90e30aa18d77ad129dacd4d55
      https://github.com/llvm/llvm-project/commit/60deb8b39afe9be90e30aa18d77ad129dacd4d55
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/test/InstallAPI/diagnostics-dsym.test

  Log Message:
  -----------
  [InstallAPI][test] Tweak test to run on older CI config


  Commit: fdef5c4f453f0e0de02281a0a9b986667bc5010e
      https://github.com/llvm/llvm-project/commit/fdef5c4f453f0e0de02281a0a9b986667bc5010e
  Author: Om Prakaash <omsuseela at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/docs/dev/printf_behavior.rst
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/src/stdio/printf_core/parser_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  Add bit width length modifier to printf (#82461)

Resolves #81685. This adds support for wN and wfN length modifiers in
fprintf.


  Commit: e74332a266e5f81411fb333bde56bf471f0a7ba6
      https://github.com/llvm/llvm-project/commit/e74332a266e5f81411fb333bde56bf471f0a7ba6
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/test/CodeGen/DirectX/round.ll
    M llvm/test/CodeGen/DirectX/round_error.ll

  Log Message:
  -----------
  [HLSL][DXIL] HLSL's `round` should follow `roundeven` behavior (#87078)

fixes #86999


  Commit: 838b118d394138a746ffb4c113fb97b0f8904bd2
      https://github.com/llvm/llvm-project/commit/838b118d394138a746ffb4c113fb97b0f8904bd2
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  [libc] Fix missing UINTMAX_WIDTH (#87092)

In patch #82461 the sprintf tests were made to use UINTMAX_WIDTH which
isn't defined on all systems. This patch changes it to
sizeof(uintmax_t)*CHAR_BIT which is more portable.


  Commit: bdb60e6f0c8e89abf9bdf36411348db304ca65ba
      https://github.com/llvm/llvm-project/commit/bdb60e6f0c8e89abf9bdf36411348db304ca65ba
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/test/InstallAPI/diagnostics-dsym.test

  Log Message:
  -----------
  [InstallAPI][test] Add requires x86_64 for hardcoded target test


  Commit: a1a8bb1d3ae9a535526aba9514e87f76e2d040fa
      https://github.com/llvm/llvm-project/commit/a1a8bb1d3ae9a535526aba9514e87f76e2d040fa
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc] Change RPC interface to not use device ids (#87087)

Summary:
The current implementation of RPC tied everything to device IDs and
forced us to do init / shutdown to manage some global state. This turned
out to be a bad idea in situations where we want to track multiple
hetergeneous devices that may report the same device ID in the same
process.

This patch changes the interface to instead create an opaque handle to
the internal device and simply allocates it via `new`. The user will
then take this device and store it to interface with the attached
device. This interface puts the burden of tracking the device identifier
to mapped d evices onto the user, but in return heavily simplifies the
implementation.


  Commit: 99379522d00d0720bcda5067d4de2bfb0c279f15
      https://github.com/llvm/llvm-project/commit/99379522d00d0720bcda5067d4de2bfb0c279f15
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/docs/gpu/rpc.rst

  Log Message:
  -----------
  [libc][Docs] Update RPC server example using CUDA after changes

Summary:
This has changed, so update it to match the new interface.


  Commit: 407a2f231a81862e20d80059870c48d818b61ec2
      https://github.com/llvm/llvm-project/commit/407a2f231a81862e20d80059870c48d818b61ec2
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp

  Log Message:
  -----------
  [clang] Move state out of `PreprocessorOptions` (1/n) (#86358)

An instance of `PreprocessorOptions` is part of `CompilerInvocation`
which is supposed to be a value type. The `DependencyDirectivesForFile`
member is problematic, since it holds an owning reference of the
scanning VFS. This makes it not a true value type, and it can keep
potentially large chunk of memory (the local cache in the scanning VFS)
alive for longer than clients might expect. Let's move it into the
`Preprocessor` instead.


  Commit: beaff78528747dfbd50f9f4df77ac25f459075be
      https://github.com/llvm/llvm-project/commit/beaff78528747dfbd50f9f4df77ac25f459075be
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libcxx/benchmarks/algorithms/mismatch.bench.cpp
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize the std::mismatch tail (#83440)

This adds vectorization to the last 0-3 vectors and, if the range is
large enough, the remaining elements that don't fill a vector
completely.
```
-----------------------------------------------------------------------
Benchmark                           old    full vectors  partial vector
-----------------------------------------------------------------------
bm_mismatch<char>/1             1.40 ns         1.62 ns         2.09 ns
bm_mismatch<char>/2             1.88 ns         2.10 ns         2.33 ns
bm_mismatch<char>/3             2.67 ns         2.56 ns         2.72 ns
bm_mismatch<char>/4             3.01 ns         3.20 ns         3.70 ns
bm_mismatch<char>/5             3.51 ns         3.73 ns         3.64 ns
bm_mismatch<char>/6             4.71 ns         4.85 ns         4.37 ns
bm_mismatch<char>/7             5.12 ns         5.33 ns         4.37 ns
bm_mismatch<char>/8             5.79 ns         6.02 ns         4.75 ns
bm_mismatch<char>/15            9.20 ns         10.5 ns         7.23 ns
bm_mismatch<char>/16            10.2 ns         10.1 ns         7.46 ns
bm_mismatch<char>/17            10.2 ns         10.8 ns         7.57 ns
bm_mismatch<char>/31            17.6 ns         17.1 ns         10.8 ns
bm_mismatch<char>/32            17.4 ns         1.64 ns         1.64 ns
bm_mismatch<char>/33            23.3 ns         2.10 ns         2.33 ns
bm_mismatch<char>/63            31.8 ns         16.9 ns         2.33 ns
bm_mismatch<char>/64            32.6 ns         2.10 ns         2.10 ns
bm_mismatch<char>/65            33.6 ns         2.57 ns         2.80 ns
bm_mismatch<char>/127           67.3 ns         18.1 ns         3.27 ns
bm_mismatch<char>/128           2.17 ns         2.14 ns         2.57 ns
bm_mismatch<char>/129           2.36 ns         2.80 ns         3.27 ns
bm_mismatch<char>/255           67.5 ns         19.6 ns         4.68 ns
bm_mismatch<char>/256           3.76 ns         3.71 ns         3.97 ns
bm_mismatch<char>/257           3.77 ns         4.04 ns         4.43 ns
bm_mismatch<char>/511           70.8 ns         22.1 ns         7.47 ns
bm_mismatch<char>/512           7.27 ns         7.30 ns         6.95 ns
bm_mismatch<char>/513           7.11 ns         7.05 ns         6.96 ns
bm_mismatch<char>/1023          75.9 ns         27.4 ns         13.3 ns
bm_mismatch<char>/1024          13.9 ns         13.8 ns         12.4 ns
bm_mismatch<char>/1025          13.6 ns         13.6 ns         12.8 ns
bm_mismatch<char>/2047          87.3 ns         37.5 ns         25.4 ns
bm_mismatch<char>/2048          26.8 ns         27.4 ns         24.0 ns
bm_mismatch<char>/2049          26.7 ns         27.3 ns         25.5 ns
bm_mismatch<char>/4095           112 ns         64.7 ns         48.7 ns
bm_mismatch<char>/4096          53.0 ns         54.2 ns         46.8 ns
bm_mismatch<char>/4097          52.7 ns         54.2 ns         48.4 ns
bm_mismatch<char>/8191           160 ns          118 ns         98.4 ns
bm_mismatch<char>/8192           107 ns          108 ns         96.0 ns
bm_mismatch<char>/8193           106 ns          108 ns         97.2 ns
bm_mismatch<char>/16383          283 ns          234 ns          215 ns
bm_mismatch<char>/16384          227 ns          223 ns          217 ns
bm_mismatch<char>/16385          221 ns          221 ns          215 ns
bm_mismatch<char>/32767          547 ns          499 ns          488 ns
bm_mismatch<char>/32768          495 ns          492 ns          492 ns
bm_mismatch<char>/32769          491 ns          489 ns          488 ns
bm_mismatch<char>/65535         1028 ns          979 ns          971 ns
bm_mismatch<char>/65536          976 ns          970 ns          974 ns
bm_mismatch<char>/65537          970 ns          965 ns          971 ns
bm_mismatch<char>/131071        2031 ns         1948 ns         2005 ns
bm_mismatch<char>/131072        1973 ns         1955 ns         1974 ns
bm_mismatch<char>/131073        1989 ns         1932 ns         2001 ns
bm_mismatch<char>/262143        4469 ns         4244 ns         4223 ns
bm_mismatch<char>/262144        4443 ns         4183 ns         4243 ns
bm_mismatch<char>/262145        4400 ns         4232 ns         4246 ns
bm_mismatch<char>/524287       10169 ns         9733 ns         9592 ns
bm_mismatch<char>/524288       10154 ns         9664 ns         9843 ns
bm_mismatch<char>/524289       10113 ns         9641 ns        10003 ns
bm_mismatch<short>/1            1.86 ns         2.53 ns         2.32 ns
bm_mismatch<short>/2            2.57 ns         2.77 ns         2.55 ns
bm_mismatch<short>/3            3.26 ns         3.00 ns         2.79 ns
bm_mismatch<short>/4            3.95 ns         3.39 ns         3.15 ns
bm_mismatch<short>/5            4.83 ns         3.97 ns         3.72 ns
bm_mismatch<short>/6            5.43 ns         4.34 ns         4.03 ns
bm_mismatch<short>/7            6.11 ns         4.73 ns         4.44 ns
bm_mismatch<short>/8            6.84 ns         5.02 ns         4.79 ns
bm_mismatch<short>/15           11.5 ns         7.12 ns         6.50 ns
bm_mismatch<short>/16           13.9 ns         1.87 ns         2.11 ns
bm_mismatch<short>/17           14.0 ns         3.00 ns         2.47 ns
bm_mismatch<short>/31           23.1 ns         7.87 ns         2.47 ns
bm_mismatch<short>/32           23.8 ns         2.57 ns         2.81 ns
bm_mismatch<short>/33           24.5 ns         3.70 ns         2.94 ns
bm_mismatch<short>/63           44.8 ns         9.37 ns         3.46 ns
bm_mismatch<short>/64           2.32 ns         2.57 ns         2.64 ns
bm_mismatch<short>/65           2.52 ns         3.02 ns         3.51 ns
bm_mismatch<short>/127          45.6 ns         9.97 ns         5.18 ns
bm_mismatch<short>/128          3.85 ns         3.93 ns         3.94 ns
bm_mismatch<short>/129          3.82 ns         4.20 ns         4.70 ns
bm_mismatch<short>/255          50.4 ns         12.6 ns         8.07 ns
bm_mismatch<short>/256          7.23 ns         6.91 ns         6.98 ns
bm_mismatch<short>/257          7.24 ns         7.19 ns         7.55 ns
bm_mismatch<short>/511          52.3 ns         17.8 ns         14.0 ns
bm_mismatch<short>/512          13.6 ns         13.7 ns         13.6 ns
bm_mismatch<short>/513          13.9 ns         13.8 ns         18.5 ns
bm_mismatch<short>/1023         60.9 ns         30.9 ns         26.3 ns
bm_mismatch<short>/1024         26.7 ns         27.7 ns         25.7 ns
bm_mismatch<short>/1025         27.7 ns         27.6 ns         25.3 ns
bm_mismatch<short>/2047         88.4 ns         58.0 ns         51.6 ns
bm_mismatch<short>/2048         52.8 ns         55.3 ns         50.6 ns
bm_mismatch<short>/2049         55.2 ns         54.8 ns         48.7 ns
bm_mismatch<short>/4095          153 ns          113 ns          102 ns
bm_mismatch<short>/4096          105 ns          110 ns          101 ns
bm_mismatch<short>/4097          110 ns          110 ns         99.1 ns
bm_mismatch<short>/8191          277 ns          219 ns          206 ns
bm_mismatch<short>/8192          226 ns          214 ns          250 ns
bm_mismatch<short>/8193          226 ns          207 ns          208 ns
bm_mismatch<short>/16383         519 ns          492 ns          488 ns
bm_mismatch<short>/16384         494 ns          492 ns          492 ns
bm_mismatch<short>/16385         492 ns          488 ns          489 ns
bm_mismatch<short>/32767        1007 ns          968 ns          964 ns
bm_mismatch<short>/32768         977 ns          972 ns          970 ns
bm_mismatch<short>/32769         972 ns          962 ns          967 ns
bm_mismatch<short>/65535        1978 ns         1918 ns         1956 ns
bm_mismatch<short>/65536        1940 ns         1927 ns         1970 ns
bm_mismatch<short>/65537        1937 ns         1922 ns         1959 ns
bm_mismatch<short>/131071       4524 ns         4193 ns         4304 ns
bm_mismatch<short>/131072       4445 ns         4196 ns         4306 ns
bm_mismatch<short>/131073       4452 ns         4278 ns         4311 ns
bm_mismatch<short>/262143       9801 ns        10188 ns         9634 ns
bm_mismatch<short>/262144       9738 ns        10151 ns         9651 ns
bm_mismatch<short>/262145       9716 ns        10171 ns         9715 ns
bm_mismatch<short>/524287      19944 ns        20718 ns        20044 ns
bm_mismatch<short>/524288      21139 ns        20647 ns        20008 ns
bm_mismatch<short>/524289      21162 ns        19512 ns        20068 ns
bm_mismatch<int>/1              1.40 ns         1.84 ns         1.87 ns
bm_mismatch<int>/2              1.87 ns         2.08 ns         2.09 ns
bm_mismatch<int>/3              2.36 ns         2.31 ns         2.87 ns
bm_mismatch<int>/4              3.06 ns         2.72 ns         2.95 ns
bm_mismatch<int>/5              3.66 ns         3.37 ns         3.42 ns
bm_mismatch<int>/6              4.55 ns         3.65 ns         3.73 ns
bm_mismatch<int>/7              5.03 ns         3.93 ns         3.94 ns
bm_mismatch<int>/8              5.67 ns         1.86 ns         1.87 ns
bm_mismatch<int>/15             9.89 ns         4.41 ns         2.34 ns
bm_mismatch<int>/16             10.1 ns         2.33 ns         2.34 ns
bm_mismatch<int>/17             10.2 ns         3.34 ns         2.86 ns
bm_mismatch<int>/31             17.2 ns         5.54 ns         3.28 ns
bm_mismatch<int>/32             2.16 ns         2.15 ns         2.58 ns
bm_mismatch<int>/33             2.36 ns         3.01 ns         3.28 ns
bm_mismatch<int>/63             17.7 ns         6.50 ns         4.93 ns
bm_mismatch<int>/64             3.81 ns         3.58 ns         3.90 ns
bm_mismatch<int>/65             3.74 ns         4.36 ns         4.45 ns
bm_mismatch<int>/127            19.5 ns         9.56 ns         7.74 ns
bm_mismatch<int>/128            7.30 ns         6.41 ns         6.85 ns
bm_mismatch<int>/129            7.09 ns         7.04 ns         7.06 ns
bm_mismatch<int>/255            24.7 ns         14.8 ns         13.3 ns
bm_mismatch<int>/256            14.0 ns         12.1 ns         12.3 ns
bm_mismatch<int>/257            13.8 ns         12.7 ns         12.8 ns
bm_mismatch<int>/511            34.3 ns         26.3 ns         24.8 ns
bm_mismatch<int>/512            27.6 ns         23.6 ns         23.9 ns
bm_mismatch<int>/513            27.3 ns         24.4 ns         25.1 ns
bm_mismatch<int>/1023           62.5 ns         50.9 ns         48.3 ns
bm_mismatch<int>/1024           54.4 ns         46.1 ns         46.6 ns
bm_mismatch<int>/1025           54.2 ns         48.4 ns         47.5 ns
bm_mismatch<int>/2047            116 ns         97.8 ns         94.1 ns
bm_mismatch<int>/2048            108 ns         92.6 ns         92.4 ns
bm_mismatch<int>/2049            108 ns          104 ns         94.0 ns
bm_mismatch<int>/4095            233 ns          222 ns          205 ns
bm_mismatch<int>/4096            226 ns          223 ns          225 ns
bm_mismatch<int>/4097            221 ns          219 ns          210 ns
bm_mismatch<int>/8191            499 ns          485 ns          488 ns
bm_mismatch<int>/8192            496 ns          490 ns          495 ns
bm_mismatch<int>/8193            491 ns          485 ns          488 ns
bm_mismatch<int>/16383           982 ns          962 ns          964 ns
bm_mismatch<int>/16384           974 ns          971 ns          971 ns
bm_mismatch<int>/16385           971 ns          961 ns          968 ns
bm_mismatch<int>/32767          2003 ns         1959 ns         1920 ns
bm_mismatch<int>/32768          1996 ns         1947 ns         1928 ns
bm_mismatch<int>/32769          1990 ns         1945 ns         1926 ns
bm_mismatch<int>/65535          4434 ns         4275 ns         4312 ns
bm_mismatch<int>/65536          4437 ns         4267 ns         4321 ns
bm_mismatch<int>/65537          4442 ns         4261 ns         4321 ns
bm_mismatch<int>/131071         9673 ns         9648 ns         9465 ns
bm_mismatch<int>/131072         9667 ns         9671 ns         9465 ns
bm_mismatch<int>/131073         9661 ns         9653 ns         9464 ns
bm_mismatch<int>/262143        20595 ns        19605 ns        19064 ns
bm_mismatch<int>/262144        19894 ns        19572 ns        19009 ns
bm_mismatch<int>/262145        19851 ns        19656 ns        18999 ns
bm_mismatch<int>/524287        39556 ns        39364 ns        38131 ns
bm_mismatch<int>/524288        39678 ns        39573 ns        38183 ns
bm_mismatch<int>/524289        40168 ns        39301 ns        38121 ns
```


  Commit: 2684a0966d5c84071c811c68ec25e41a0beb26f4
      https://github.com/llvm/llvm-project/commit/2684a0966d5c84071c811c68ec25e41a0beb26f4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    A libcxx/docs/DesignDocs/NodiscardPolicy.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Document guidelines for applying [[nodiscard]] (#84000)

We've been applying ``[[nodiscard]]`` more liberally recently, but we
don't have any documented guidance on when it's correct to add it. This
patch adds that guidance. Follow-up patches will gradually apply it to
the code base.


  Commit: fe893c93b7bd3b3c436b97383db21e08c9ec4b25
      https://github.com/llvm/llvm-project/commit/fe893c93b7bd3b3c436b97383db21e08c9ec4b25
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll

  Log Message:
  -----------
  [FPEnv][AtomicExpand] Correct strictfp attribute handling in AtomicExpandPass (#87082)

The AtomicExpand pass was lowering function calls with the strictfp
attribute to sequences that included function calls incorrectly lacking
the attribute. This patch corrects that.

The pass now also emits the correct constrained fp call instead of
normal FP instructions when in a function with the strictfp attribute.

Test changes verified with D146845.


  Commit: 7daa65a088c00891662d5e7e162e5f8f3283f799
      https://github.com/llvm/llvm-project/commit/7daa65a088c00891662d5e7e162e5f8f3283f799
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    A llvm/test/CodeGen/NVPTX/common-linkage.ll
    M llvm/test/CodeGen/NVPTX/weak-global.ll

  Log Message:
  -----------
  Reland "[NVPTX] Use .common linkage for common globals" (#86824)

Switch from `.weak` to `.common` linkage for common global variables
where possible. The `.common` linkage is described in
[PTX ISA 11.6.4. Linking Directives: .common]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#linking-directives-common)
> Declares identifier to be globally visible but “common”.
>
>Common symbols are similar to globally visible symbols. However
multiple object files may declare the same common symbol and they may
have different types and sizes and references to a symbol get resolved
against a common symbol with the largest size.
>
>Only one object file can initialize a common symbol and that must have
the largest size among all other definitions of that common symbol from
different object files.
>
>.common linking directive can be used only on variables with .global
storage. It cannot be used on function symbols or on symbols with opaque
type.

I've updated the logic and tests to only use `.common` for PTX 5.0 or
greater and verified that the new tests now pass with `ptxas`.


  Commit: ee3a302abaa091e550a80f79694e963d1b5d0b7b
      https://github.com/llvm/llvm-project/commit/ee3a302abaa091e550a80f79694e963d1b5d0b7b
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang] Move state out of `PreprocessorOptions` (2/n) (#87099)

An instance of `PreprocessorOptions` is part of `CompilerInvocation`
which is supposed to be a value type. The `FailedModules` member is
problematic, since it's essentially a shared state used by multiple
`CompilerInstance` objects, and not really a preprocessor option. Let's
move it into `CompilerInstance` instead.


  Commit: b42fa8645c4369dfd80397a4e641ec49c96a0d2e
      https://github.com/llvm/llvm-project/commit/b42fa8645c4369dfd80397a4e641ec49c96a0d2e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/ceil.ll
    A llvm/test/CodeGen/DirectX/ceil_error.ll

  Log Message:
  -----------
  [DXIL] Add lowering for `ceil` (#87043)

Add lowering of llvm.ceil intrinsics to DXIL ops.

Fixes #86984


  Commit: 360f7f5674c4ddef006d233ef7259f8fe07ae81b
      https://github.com/llvm/llvm-project/commit/360f7f5674c4ddef006d233ef7259f8fe07ae81b
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Call `setInstrAndDebugLoc` before `tryCombineAll` (#86993)

This can remove all unnecessary redundant calls in each combiner.


  Commit: 3a106e5b2cd9f4073b2961b991ebaeee96786309
      https://github.com/llvm/llvm-project/commit/3a106e5b2cd9f4073b2961b991ebaeee96786309
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-128.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-with-success.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-atomic-cmpxchg-with-success.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/add.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/cttz.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/mul.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv64.mir
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp

  Log Message:
  -----------
  [GlobalISel] Fold G_ICMP if possible (#86357)

This patch tries to fold `G_ICMP` if possible.


  Commit: cc8c6b037cd24a47ff6953508e5734562ef1ecc4
      https://github.com/llvm/llvm-project/commit/cc8c6b037cd24a47ff6953508e5734562ef1ecc4
  Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    A openmp/libomptarget/test/offloading/d2d_memcpy_sync.c

  Log Message:
  -----------
  [OpenMP] [amdgpu] Added a synchronous version of data exchange. (#87032)

Similar to H2D and D2H, use synchronous mode for large data transfers
beyond a certain size for D2D as well. As with H2D and D2H, this size is
controlled by an env-var.


  Commit: ddc9892999a42f9fd069f9786b82cb63312eba63
      https://github.com/llvm/llvm-project/commit/ddc9892999a42f9fd069f9786b82cb63312eba63
  Author: mlevesquedion <mlevesquedion at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M flang/test/Transforms/stack-arrays.fir
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    A mlir/test/IR/greedy-pattern-rewrite-driver-bottom-up.mlir
    A mlir/test/IR/greedy-pattern-rewrite-driver-top-down.mlir
    R mlir/test/IR/greedy-pattern-rewriter-driver.mlir

  Log Message:
  -----------
  Add operands to worklist when only used by deleted op (#86990)

I believe the existing check to determine if an operand should be added
is incorrect: `operand.use_empty() || operand.hasOneUse()`. This is
because these checks do not take into account the fact that the op is
being deleted. It hasn't been deleted yet, so `operand.use_empty()`
cannot be true, and `operand.hasOneUse()` may be true if the op being
deleted is the only user of the operand and it only uses it once, but it
will fail if the operand is used more than once (e.g. something like
`add %0, %0`).

Instead, check if the op being deleted is the only _user_ of the
operand. If so, add the operand to the worklist.

Fixes #86765


  Commit: 12fdf04ff8962c9e902669a1b600b27a960f0c11
      https://github.com/llvm/llvm-project/commit/12fdf04ff8962c9e902669a1b600b27a960f0c11
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/test/Driver/darwin-ld-reexports.c

  Log Message:
  -----------
  [clang][Darwin] Handle reexported library arguments in driver (#86980)

`-reexport*` is the newer spelling for `-sub-library` which is already
supported by the clang driver when invoking ld.
Support the new spellings when passed by the user. This also helps
simplify `clang-installapi` driver logic.


  Commit: cf73f136c5e22e7e4090fc762456ace47752a898
      https://github.com/llvm/llvm-project/commit/cf73f136c5e22e7e4090fc762456ace47752a898
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/Sema/constant-builtins-all-args-evaluated.cpp

  Log Message:
  -----------
  [clang][ExprConst] Fix second arg of __builtin_{clzg,ctzg} not always being evaluated (#86742)

Even if we don't actually use the value of the second argument, we have to evaluate it for side-effects.

---------

Co-authored-by: Richard Smith <richard at metafoo.co.uk>


  Commit: bbb8a6c836b12968c3590a98271b30017b98ca73
      https://github.com/llvm/llvm-project/commit/bbb8a6c836b12968c3590a98271b30017b98ca73
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix impl and tests for X86_80 canonicalize function. (#87103)

In continuation to: #87097


  Commit: 13b3762608e4d3978cbb49e20f0afc3a13303f88
      https://github.com/llvm/llvm-project/commit/13b3762608e4d3978cbb49e20f0afc3a13303f88
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix crash in drop unit dims (#87104)

An `arith.select` may have a scalar condition and true/false vector values.


  Commit: c0a3c5c81ff7ff9e2a90b1664d6e419bf99c1aa9
      https://github.com/llvm/llvm-project/commit/c0a3c5c81ff7ff9e2a90b1664d6e419bf99c1aa9
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp

  Log Message:
  -----------
  [scudo] Change tests that use setrlimit to cause mmap to fail. (#87004)

It appears that qemu does not actually cause mmap to fail when calling
setrlimit to limit the address space size. In the two tests that use
setrlimit, detect if mmap still works and skip the tests in that case.

Since all Android targets should support setrlimit, compile out the mmap
check code for them.


  Commit: 0030fc4ac74a9ce645adb9d59e108da4d4d11818
      https://github.com/llvm/llvm-project/commit/0030fc4ac74a9ce645adb9d59e108da4d4d11818
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir

  Log Message:
  -----------
  [mlir]Fix dialect conversion drop uses (#86991)

Before deleting the block we need to drop uses to the surrounding args.
If this is not performed dialect conversion failures can result in a
failure to remove args (despite the block having no remaining uses).


  Commit: 038e66fe59962de121ce24ee709eca7a0783cbc4
      https://github.com/llvm/llvm-project/commit/038e66fe59962de121ce24ee709eca7a0783cbc4
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/test/tasking/hidden_helper_task/issue-87117.c

  Log Message:
  -----------
  [OpenMP] Have hidden helper team allocate new OS threads only (#87119)

The hidden helper team pre-allocates the gtid space [1,
num_hidden_helpers] (inclusive). If regular host threads are allocated,
then put back in the thread pool, then the hidden helper team is
initialized, the hidden helper team tries to allocate the threads from
the thread pool with gtids higher than [1, num_hidden_helpers]. Instead,
have the hidden helper team fork OS threads so the correct gtid range
used for hidden helper threads.

Fixes: #87117


  Commit: dc4cfdbb8f9f665c1699e6289b6edfbc8d1bb443
      https://github.com/llvm/llvm-project/commit/dc4cfdbb8f9f665c1699e6289b6edfbc8d1bb443
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir

  Log Message:
  -----------
  [mlir][sparse] provide an AoS "view" into sparse runtime support lib (#87116)

Note that even though the sparse runtime support lib always uses SoA
storage for COO storage (and provides correct codegen by means of views
into this storage), in some rare cases we need the true physical SoA
storage as a coordinate buffer. This PR provides that functionality by
means of a (costly) coordinate buffer call.

Since this is currently only used for testing/debugging by means of the
sparse_tensor.print method, this solution is acceptable. If we ever want
a performing version of this, we should truly support AoS storage of COO
in addition to the SoA used right now.


  Commit: b4693e0d7da8f7f1f1365ab97ecc0e33ad459943
      https://github.com/llvm/llvm-project/commit/b4693e0d7da8f7f1f1365ab97ecc0e33ad459943
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  [CMake] Update CMake cache file for the Win-to-Arm cross toolchains. NFC. (#87113)

Review the actual component parameters and update the cache file
accordingly.
Also fixed the C++ test builds for the compiler-rt component.


  Commit: 7467dc188a0c63b32bd3068fc98ae77f86285c0d
      https://github.com/llvm/llvm-project/commit/7467dc188a0c63b32bd3068fc98ae77f86285c0d
  Author: Sitnikov Sergey <109442154+Aqendo at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Debug.cpp

  Log Message:
  -----------
  Fix apostrophes in assert error message (#69881)


  Commit: 7de82ca369b5e9114636420a16e1c5d25283421d
      https://github.com/llvm/llvm-project/commit/7de82ca369b5e9114636420a16e1c5d25283421d
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/linux-bug-table.s

  Log Message:
  -----------
  [BOLT] Don't terminate on trap instruction for Linux kernel (#87021)

Under normal circumstances, we terminate basic blocks on a trap
instruction. However, Linux kernel may resume execution after hitting a
trap (ud2 on x86). Thus, we introduce "--terminal-trap" option that will
specify if the trap instruction should terminate the control flow. The
option is on by default except for the Linux kernel mode when it's off.


  Commit: a8b0ecd2605ff23f495a8af64e06c35f86834e54
      https://github.com/llvm/llvm-project/commit/a8b0ecd2605ff23f495a8af64e06c35f86834e54
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/docs/configure.rst
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [libc] enable stack protectors and frame pointers on default (#86288)


  Commit: 5538853f9abb559ff4bb7ff598535041d91d97d7
      https://github.com/llvm/llvm-project/commit/5538853f9abb559ff4bb7ff598535041d91d97d7
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  [PassManager] Support MachineFunctionProperties (#83668)

This pull request adds `MachineFunctionProperties` support. If a pass
wants to modify machine function properties, it must derive from
`MachinePassInfoMixin` and define some static methods like in legacy
pass manager. A test pass `RequireAllMachineFunctionPropertiesPass` is
also added here, which could be a example.


  Commit: 0be26dbbed91ba84b4d00bd2e19e2f60aeb51a9f
      https://github.com/llvm/llvm-project/commit/0be26dbbed91ba84b4d00bd2e19e2f60aeb51a9f
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    R llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Revert "[PassManager] Support MachineFunctionProperties (#83668)" (#87136)

This reverts commit 5538853f9abb559ff4bb7ff598535041d91d97d7. #83668
Break some test bots.


  Commit: 4f7132952222cd9b2709e98109d6ce0ef333940c
      https://github.com/llvm/llvm-project/commit/4f7132952222cd9b2709e98109d6ce0ef333940c
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Reland "[PassManager] Support MachineFunctionProperties (#83668)" (#87137)

Fix preprocessor directive.


  Commit: e9e4ab8147f0b8a8d1c8f1a70bef3999ffeeb651
      https://github.com/llvm/llvm-project/commit/e9e4ab8147f0b8a8d1c8f1a70bef3999ffeeb651
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    R llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Revert "Reland "[PassManager] Support MachineFunctionProperties (#83668)"" (#87138)

Reverts llvm/llvm-project#87137
It introduces ambiguous template specialization problem. Revert it.


  Commit: 09403a66c01ef189c5e6993410fc9e082acaccf2
      https://github.com/llvm/llvm-project/commit/09403a66c01ef189c5e6993410fc9e082acaccf2
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M lld/test/ELF/allow-shlib-undefined.s

  Log Message:
  -----------
  [ELF,test] Improve "non-exported symbol" tests

Test that the error is not triggered when we see the non-exported
definition first (#86777).


  Commit: df54f627fad789ccb11c72a9fddf116decbeba0e
      https://github.com/llvm/llvm-project/commit/df54f627fad789ccb11c72a9fddf116decbeba0e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

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

  Log Message:
  -----------
  [ELF] Enhance --no-allow-shlib-undefined for non-exported definitions

For a DSO with all DT_NEEDED entries accounted for, if it contains an
undefined non-weak symbol that shares a name with a non-exported
definition (hidden visibility or localized by a version script), and
there is no DSO definition, we should report an error.

#70769 implemented the error when we see `ref.so def-hidden.so`. This patch
implementes the error when we see `def-hidden.so ref.so`, matching GNU
ld.

Close #86777


  Commit: 95258419f6fe2e0922c2c0916fd176b9f7361555
      https://github.com/llvm/llvm-project/commit/95258419f6fe2e0922c2c0916fd176b9f7361555
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  [AMDGPU] Use AMDGPU::isIntrinsicAlwaysUniform in isSDNodeAlwaysUniform (#87085)

This is mostly just a simplification, but tests show a slight codegen
improvement in code using the deprecated amdgcn.icmp/fcmp intrinsics.


  Commit: 631ae59d301496f86a8d46d28f7b12afbd12a3c1
      https://github.com/llvm/llvm-project/commit/631ae59d301496f86a8d46d28f7b12afbd12a3c1
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][ExecutionEngine] Introduce shared library (#87067)

This commit introduces a shared library for the MLIR execution engine.
This library is only built when `LLVM_BUILD_LLVM_DYLIB` is set. Having
such a library allows downstream users to depend on the execution engine
without giving up dynamic linkage. This is especially important for CPU
runner-style tools, as they link against large parts of MLIR and LLVM.

It is alternatively possible to modify the `MLIRExecutionEngine` target
when `LLVM_BUILD_LLVM_DYLIB` is set, to avoid duplicated libraries.


  Commit: 546dc2245ffc4cccd0b05b58b7a5955e355a3b27
      https://github.com/llvm/llvm-project/commit/546dc2245ffc4cccd0b05b58b7a5955e355a3b27
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/lib/Interpreter/Value.cpp

  Log Message:
  -----------
  [clang-repl] Minor cleanups in Value.cpp (NFC) (#87066)


  Commit: b361b5369ed4bb186f2a11459b1bc1d54d73a33e
      https://github.com/llvm/llvm-project/commit/b361b5369ed4bb186f2a11459b1bc1d54d73a33e
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Reland "[PassManager] Support MachineFunctionProperties (#83668)" (#87141)

Unfortunately GCC 9 rejects code in https://godbolt.org/z/zd9r5GM3e GCC
11 accepts this code.


  Commit: 29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4
      https://github.com/llvm/llvm-project/commit/29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] RISCV vector calling convention (2/2) (#79096)

This commit handles vector arguments/return for function definition/call,
the new class RVVArgDispatcher is added for doing all vector register
assignment including mask types, data types as well as tuple types.
It precomputes the register number for each argument as per
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#standard-vector-calling-convention-variant
and it's passed to calling convention function to handle all vector arguments.

Depends on: #78550


  Commit: 37c175af955f0aeab67e8c553a0a47b2ed0fdba2
      https://github.com/llvm/llvm-project/commit/37c175af955f0aeab67e8c553a0a47b2ed0fdba2
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [clang][Driver] Pass -machine argument to the linker explicitly for ARM64EC targets. (#86835)

This is required by the linker. Also add a new -marm64x command line argument to allow specifying -machine:arm64x.


  Commit: 799e1d6a128438268bbf64b8c30ad3722f55524b
      https://github.com/llvm/llvm-project/commit/799e1d6a128438268bbf64b8c30ad3722f55524b
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/IR/Mangler.cpp
    M llvm/test/CodeGen/AArch64/dllexport.ll

  Log Message:
  -----------
  [IR] Use EXPORTAS for ARM64EC mangled symbols with dllexport attribute. (#81940)

We currently just use mangled name. This works fine, because linker
should detect that and demangle it for the export table. However, on
MSVC, the compiler is more specific and passes demangled name as well,
with EXPORTAS. This PR aims to match that. MSVC doesn't use quotes in
this case, so I added '#' to the list of characters that don't need it.


  Commit: 556bf03a572fb8f6a91f1ad5227603b37717c55d
      https://github.com/llvm/llvm-project/commit/556bf03a572fb8f6a91f1ad5227603b37717c55d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [clang][NFC] Fix ARM64EC clang-cl linker driver tests. (#87160)

Add '--' argument to clang-cl to avoid interpreting input files with /U
option. Fix for llvm-clang-aarch64-darwin buildbot failure after #86835.


  Commit: 6aa53888a8e8a6e3f0bd279539703f4d4701b4e7
      https://github.com/llvm/llvm-project/commit/6aa53888a8e8a6e3f0bd279539703f4d4701b4e7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp

  Log Message:
  -----------
  [libc++][test] Improves src include paths. (#86864)

Instead of including a relative path use an absolute path based on the
available lit substitution. This makes it easier to understand what is
included and moving the test to a different directory level no longer
breaks the test.

This is based on a question by @EricWF in
https://github.com/llvm/llvm-project/pull/82113.


  Commit: 3c8ede9f4524fd8defbbf41788003a6d4b0afb04
      https://github.com/llvm/llvm-project/commit/3c8ede9f4524fd8defbbf41788003a6d4b0afb04
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

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

  Log Message:
  -----------
  [HLSL][clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (#87131)

Resolves #87109


  Commit: 8d9cb6b016c9dce8412c329277f1bbaa3f16961c
      https://github.com/llvm/llvm-project/commit/8d9cb6b016c9dce8412c329277f1bbaa3f16961c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

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

  Log Message:
  -----------
  [VPlan] Inline getVPValue in only caller (NFCI).


  Commit: a67b9326cd0448072a1192951f12f3927f31af8c
      https://github.com/llvm/llvm-project/commit/a67b9326cd0448072a1192951f12f3927f31af8c
  Author: Min Hsu <min at myhsu.dev>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrInfo.td

  Log Message:
  -----------
  [M68k][NFC] Refactoring memory operands of different sizes with foreach

I'm planning to add memory operands that produce floating point type. In
order to prevent code bloating induced by memory operands of not just
integer but floating point types, I factored the sizes from these
operands with foreach loops.


  Commit: c0febca3a64530c1cc3f117aec6a28c37114e572
      https://github.com/llvm/llvm-project/commit/c0febca3a64530c1cc3f117aec6a28c37114e572
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Refactor BC::createBinaryContext for #81346 (#87172)


  Commit: ea92b1f9d0fc31f1fd97ad04eb0412003a37cb0d
      https://github.com/llvm/llvm-project/commit/ea92b1f9d0fc31f1fd97ad04eb0412003a37cb0d
  Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/FormatString.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Sema/format-strings-signedness-fixit.c
    A clang/test/Sema/format-strings-signedness.c

  Log Message:
  -----------
  [Sema] Implement support for -Wformat-signedness (#74440)

In gcc there exist a modifier option -Wformat-signedness that turns on
additional signedness warnings in the already existing -Wformat warning.

This patch implements that support in clang. This is done by adding a dummy
warning diag::warn_format_conversion_argument_type_mismatch_signedness that
is never emitted and only used as an option to toggle the signedness warning
in -Wformat. This will ensure gcc compatibility.


  Commit: d12e45ad16a62f7d3ff20b90863f42c9ddb0e624
      https://github.com/llvm/llvm-project/commit/d12e45ad16a62f7d3ff20b90863f42c9ddb0e624
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][NFC] Split out DomTree construction from BF::calculateLoopInfo (#87181)


  Commit: b6f6be4b500ff64c23a5103ac3311cb74519542f
      https://github.com/llvm/llvm-project/commit/b6f6be4b500ff64c23a5103ac3311cb74519542f
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
    A clang-tools-extra/clang-tidy/objc/ObjcMatcher.h
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Remove duplicated code

Remove duplicated matchers by moving some of them to
utils/Matchers.h. Add some anonymous namespaces and
renamed some code to avoid ODR issues.


  Commit: 11a411a49b62c129bba551df4587dd446fcdc660
      https://github.com/llvm/llvm-project/commit/11a411a49b62c129bba551df4587dd446fcdc660
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
    R clang-tools-extra/clang-tidy/objc/ObjcMatcher.h
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp

  Log Message:
  -----------
  Revert "[clang-tidy][NFC] Remove duplicated code"

This reverts commit b6f6be4b500ff64c23a5103ac3311cb74519542f.


  Commit: 02078199d9839a8e0232a543b7bcd74867ca7d8e
      https://github.com/llvm/llvm-project/commit/02078199d9839a8e0232a543b7bcd74867ca7d8e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Mangler.h
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp

  Log Message:
  -----------
  [IR][Object][NFC] Move ARM64EC name mangling helpers to Mangler.h. (#87191)

Move the implementation to llvm:Core to avoids including `COFF.h` in `Mangler.cpp`.


  Commit: 45f5fa2925142edf9a3d1648fac6c1f80b360175
      https://github.com/llvm/llvm-project/commit/45f5fa2925142edf9a3d1648fac6c1f80b360175
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [IR] Add commutable matcher for `add nuw`; NFC

Closes #87179


  Commit: 154cea46732f4014bb409f1bcac9b39ac56df193
      https://github.com/llvm/llvm-project/commit/154cea46732f4014bb409f1bcac9b39ac56df193
  Author: Pablo Busse <Pablo.Busse at microsoft.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/test/API/functionalities/type_find_first/Makefile
    M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
    M lldb/test/API/functionalities/type_find_first/main.cpp
    A lldb/test/API/functionalities/type_find_first/other.cpp

  Log Message:
  -----------
  [lldb] Fix type lookup in DWARF .o files via debug map (#87177)

An inverted condition causes `SymbolFileDWARFDebugMap::FindTypes` to
bail out after inspecting the first .o file in each module.

The same kind of bug is found in
`SymbolFileDWARFDebugMap::ParseDeclsForContext`.

Correct both early exit conditions and add a regression test for lookup
of up a type defined in a secondary compilation unit.

Fixes #87176


  Commit: 8d8fff09d7e1267e75c2b9a1986c9d64533c177e
      https://github.com/llvm/llvm-project/commit/8d8fff09d7e1267e75c2b9a1986c9d64533c177e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp

  Log Message:
  -----------
  [Object][COFF][NFC] Don't use inline function for COFFImportFile::printSymbolName. (#87195)

Fixes BUILD_SHARED_LIBS builds after #87191 made helpers non-inline.


  Commit: 0234d90d818204f3a575de744a8df8448a7adeca
      https://github.com/llvm/llvm-project/commit/0234d90d818204f3a575de744a8df8448a7adeca
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir

  Log Message:
  -----------
  [AMDGPU] Extend MFMA padding option to gfx90a+ (#86768)

It was shown experimentally that this may have some benefit on newer HW.


  Commit: b5b34dbb27359139ef1eb2ca22e8c5a954e34e50
      https://github.com/llvm/llvm-project/commit/b5b34dbb27359139ef1eb2ca22e8c5a954e34e50
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Use directive for kernarg preload header padding (#86004)


  Commit: d2b63ed0ca5c7eb3f8fc029e3a5705cf0ddab438
      https://github.com/llvm/llvm-project/commit/d2b63ed0ca5c7eb3f8fc029e3a5705cf0ddab438
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  Revert "Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)""

This reverts commit a2982a29fdfcfe2904754815c85f630a4dc6d88c.
Buildbot failure that motivated the revert looks unrelated.


  Commit: 2b0ab05c4a6c25049a30c56e6f0487db70abb3d5
      https://github.com/llvm/llvm-project/commit/2b0ab05c4a6c25049a30c56e6f0487db70abb3d5
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [SLP][NFC] Simplify type checks with isa predicates (#87182)

For more context on isa predicates, see:
https://github.com/llvm/llvm-project/pull/83753.


  Commit: 75f7d53f0ba5d77920ea895021b330f261e808cd
      https://github.com/llvm/llvm-project/commit/75f7d53f0ba5d77920ea895021b330f261e808cd
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  Fix DWARF locations when we have large .dwp files. (#87164)

We have the ability to load .dwp files with a .debug_info.dwo section
that exceeds 4GB. There were 4 locations that were using 32 bit offsets
and lengths to extract variable locations, and if a DIE was over the 4GB
barrier, we would truncate the block offset for the variable locations
and the variable expression would be garbage. This fixes the issues. It
isn't possible to add a test for this as we don't want to create a 4GB
.dwp file on test machines.


  Commit: 82c6eeed08b1c8267f6e92d594c910fe57a9775e
      https://github.com/llvm/llvm-project/commit/82c6eeed08b1c8267f6e92d594c910fe57a9775e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/Arith.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [MLIR] Add a second map for registered OperationName in MLIRContext (NFC) (#87170)

This speeds up registered op creation by 10-11% by allowing lookup by
TypeID instead of StringRef.

This can break your build/tests at runtime with an error that you're creating
an unregistered operation that you have registered. If so you are likely using
a class inheriting from the "real" operation. See for example in this patch the
case of:

  class ConstantIndexOp : public arith::ConstantOp {


If one is using `builder.create<ConstantIndexOp>()` they actually create an
`arith.constant` operation, but the builder will fetch the TypeID for 
the `ConstantIndexOp` class which does not correspond to any registered
operation. To fix it the `ConstantIndexOp` class got this addition:

  static ::mlir::TypeID resolveTypeID() { return TypeID::get<ConstantOp>(); }


  Commit: 23941019c0177b598c606581c8ca99eb7842769b
      https://github.com/llvm/llvm-project/commit/23941019c0177b598c606581c8ca99eb7842769b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir

  Log Message:
  -----------
  Revert "[mlir]Fix dialect conversion drop uses" (#87205)

Reverts llvm/llvm-project#86991

Some bots are broken with a leak being detected now.


  Commit: a0c019ae9ebd507bf7df58f6cc13eb7ebcd5e97f
      https://github.com/llvm/llvm-project/commit/a0c019ae9ebd507bf7df58f6cc13eb7ebcd5e97f
  Author: Philip Lassen <plassen at groq.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td

  Log Message:
  -----------
  [mlir][linalg] Delete unused SameVariadicOperandSize trait from ops (#87124)

Both `Transpose` and `Broadcast` specify the `SameVariadicOperandSize`
trait. However neither has a variadic operand let alone more than one.

This is likely a relic from copying the boilerplate of the `Reduce`
definition.


  Commit: ca68a14eb822d88bc32d511258f261e88dd6b7d6
      https://github.com/llvm/llvm-project/commit/ca68a14eb822d88bc32d511258f261e88dd6b7d6
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  Revert "Revert "Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)"""

This reverts commit d2b63ed0ca5c7eb3f8fc029e3a5705cf0ddab438. CI again.
Leading theory is bad interaction between cmake and buildbot, some guesses at PR86737


  Commit: f87bde2962dded71599034880f57f742ea371888
      https://github.com/llvm/llvm-project/commit/f87bde2962dded71599034880f57f742ea371888
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h

  Log Message:
  -----------
  [nfc] Update comment for raw profile version 10. (#87207)

- The raw profile format change is in https://github.com/llvm/llvm-project/pull/82711


  Commit: 216b5e96664f72fdb63b6bbd6c422185c67ef818
      https://github.com/llvm/llvm-project/commit/216b5e96664f72fdb63b6bbd6c422185c67ef818
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll

  Log Message:
  -----------
  [AMDGPU] Expose RTZ version of f16 interpolation for gfx11+ (#86614)


  Commit: dc0cb17241aeff205a0c3a7cc4e790afab7484dd
      https://github.com/llvm/llvm-project/commit/dc0cb17241aeff205a0c3a7cc4e790afab7484dd
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [msan] Nit: use init_origins parameter instead of __msan_get_track_origins() in InitShadowWithReExec (#86994)

This fixes a nit I had accidentally introduced in
https://github.com/llvm/llvm-project/pull/85142

I don't think the value of __msan_get_track_origins() will change
between the start and end of InitShadowWithReExec, but it's cleaner to
use the parameter.


  Commit: fd38366e4525c5507bbb2a2fc1f7d113a964224e
      https://github.com/llvm/llvm-project/commit/fd38366e4525c5507bbb2a2fc1f7d113a964224e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/AddressMap.h
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryDomTree.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinaryLoop.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    M bolt/include/bolt/Passes/ReachingDefOrUse.h
    M bolt/include/bolt/Passes/ReachingInsns.h
    M bolt/include/bolt/Passes/ReorderUtils.h
    M bolt/include/bolt/Profile/ProfileReaderBase.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/include/bolt/Utils/NameShortener.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    R bolt/lib/Profile/ProfileReaderBase.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/JITLinkLinker.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Clean includes, add license headers (#87200)


  Commit: 2bfb19e813fcfdcb4a37b16bd77d267d7c77f0f8
      https://github.com/llvm/llvm-project/commit/2bfb19e813fcfdcb4a37b16bd77d267d7c77f0f8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  Revert "Make two texts static in `ReplayInlineAdvisor`" (#82071)

Reverts llvm/llvm-project#79489

We know that the issues was with asan/annotations. We can revert it.


  Commit: 70deb7bfe90af91c68454b70683fbe98feaea87d
      https://github.com/llvm/llvm-project/commit/70deb7bfe90af91c68454b70683fbe98feaea87d
  Author: Yingchi Long <i at lyc.dev>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    A llvm/test/CodeGen/BPF/cttz-ctlz.ll

  Log Message:
  -----------
  [BPF] expand cttz, ctlz for i32, i64 (#73668)

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

Depends on: #73667


  Commit: 90c738ef15fc6f10255dced0b1557f2cd2c4f43b
      https://github.com/llvm/llvm-project/commit/90c738ef15fc6f10255dced0b1557f2cd2c4f43b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td

  Log Message:
  -----------
  [IR] Introduce `llvm.allow.{runtime,ubsan}.check()` (#84850)

The goal is to have ability to change logic compile time based on PGO
data.

Our primary application is removing UBSAN checks from hot code.
Then we'd like to use this for libc++ hardening and regular debug
asserts.
Previous attempt is #84214.

Benefits from special intrinsic vs #84214:
1. Resulting binary is 3% faster than removing traps (on
"test-suite/MultiSource/Benchmarks" with PGO+ThinLTO)
2. Intrinsic can be used from source code to change behavior from C/C++
program. E.g. enabling asserts in cold code.
3. Easier to match basic blocks.

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641

---------

Co-authored-by: Nikita Popov <npopov at redhat.com>


  Commit: a21e0ba192147af4968742785f375dba0e3ea768
      https://github.com/llvm/llvm-project/commit/a21e0ba192147af4968742785f375dba0e3ea768
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp

  Log Message:
  -----------
  [clang-tidy] Fix buffer overflow in compareHeaders (#87213)

`RHS` can be shorter than `LHS`.

Reported by asan after #83440.


  Commit: 20f56e1f8e51d672425ec0c8f2ec243b131e8296
      https://github.com/llvm/llvm-project/commit/20f56e1f8e51d672425ec0c8f2ec243b131e8296
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/AArch64/allow-check.ll
    A llvm/test/CodeGen/AMDGPU/allow-check.ll
    A llvm/test/CodeGen/Generic/allow-check.ll
    A llvm/test/CodeGen/RISCV/allow-check.ll
    A llvm/test/CodeGen/X86/allow-check.ll

  Log Message:
  -----------
  [CodeGen] Add default lowering for llvm.allow.{runtime,ubsan}.check() (#86049)

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 421557974a3e0f469e6f4c3caecbf8aba69bb5bf
      https://github.com/llvm/llvm-project/commit/421557974a3e0f469e6f4c3caecbf8aba69bb5bf
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll

  Log Message:
  -----------
  [AMDGPU] Use glue for convergence tokens at call-like operations (#86766)

The earlier implementation on AMDGPU used explicit token operands at
SI_CALL and SI_CALL_ISEL. This is now replaced with CONVERGENCECTRL_GLUE
operands, with the following effects:

- The treatment of tokens at call-like operations is now consistent with
the treatment at intrinsics.
- Support for tail calls using implicit tokens at SI_TCRETURN "just
works".
- The extra parameter at call-like instructions is eliminated, thus
restoring those instructions and their handling to the original state.

The new glue node is placed after the existing glue node for the
outgoing call parameters, which seems to not interfere with selection of
the call-like nodes.


  Commit: 1e442ac4c33ac36d33e191c2d18ff594d8a5d11a
      https://github.com/llvm/llvm-project/commit/1e442ac4c33ac36d33e191c2d18ff594d8a5d11a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll

  Log Message:
  -----------
  [CostModel] No cost for llvm.allow.{runtime,ubsan}.check() (#86064)

These intrinsics will not be lowered to code.

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 0bc3781649c2d029e61766c0b74ea1f416996105
      https://github.com/llvm/llvm-project/commit/0bc3781649c2d029e61766c0b74ea1f416996105
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/AliasSetTracker.cpp
    M llvm/test/Analysis/AliasSet/intrinsics.ll

  Log Message:
  -----------
  [Analysis] Exclude llvm.allow.{runtime,ubsan}.check() from AliasSetTracker (#86065)

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 37d6e5b7a555e8c85c3e34803a710725c26857c7
      https://github.com/llvm/llvm-project/commit/37d6e5b7a555e8c85c3e34803a710725c26857c7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/MemorySSA.cpp
    A llvm/test/Analysis/MemorySSA/allow-check.ll

  Log Message:
  -----------
  [memoryssa] Exclude llvm.allow.{runtime,ubsan}.check() (#86066)

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 289d2cc3f398952a6ed2580530a542ca846f86e8
      https://github.com/llvm/llvm-project/commit/289d2cc3f398952a6ed2580530a542ca846f86e8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: b890c17892c75d1d7671b7c2ba1c927d4d3e09e2
      https://github.com/llvm/llvm-project/commit/b890c17892c75d1d7671b7c2ba1c927d4d3e09e2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: c4df57da1d7ede73c11a9ae60f4d4a2ce5132c56
      https://github.com/llvm/llvm-project/commit/c4df57da1d7ede73c11a9ae60f4d4a2ce5132c56
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [CodeGen] llvm.allow.{runtime,ubsan}.check() in FastISel

Follow up to #86049.
clang-armv8-quick build bot can trigger this branch.


  Commit: c7954ca312ca7731a7611c63ff41365c28b06cb5
      https://github.com/llvm/llvm-project/commit/c7954ca312ca7731a7611c63ff41365c28b06cb5
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll

  Log Message:
  -----------
  Recommit "[RISCV] Refine cost on Min/Max reduction (#79402)" (#86480)

This is recommitted as the test and fix for
llvm.vector.reduce.fmaximum/fminimum are covered in #80553 and #80697


  Commit: 1679b27959bbe21b713725017b1cf36ac66dfadc
      https://github.com/llvm/llvm-project/commit/1679b27959bbe21b713725017b1cf36ac66dfadc
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__ranges/subrange.h
    R libcxx/include/__tuple/pair_like.h
    M libcxx/include/__tuple/tuple_like.h
    A libcxx/include/__tuple/tuple_like_no_subrange.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/include/variant
    M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor __tuple_like and __pair_like (#85206)

The exposition-only type trait `pair-like` includes `ranges::subrange`,
but in every single case excludes `ranges::subrange` from the list. This
patch introduces two new traits `__tuple_like_no_subrange` and
`__pair_like_no_subrange`, which exclude `ranges::subrange` from the
possible matches. `__pair_like` is no longer required, and thus removed.
`__tuple_like` is implemented as `__tuple_like_no_subrange` or a
`ranges::subrange` specialization.


  Commit: d76a1233f7d7923d056a53cfa6f89735e9cda86e
      https://github.com/llvm/llvm-project/commit/d76a1233f7d7923d056a53cfa6f89735e9cda86e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: 8b135a7d1f59a5a7adccb162abf92d751209afe7
      https://github.com/llvm/llvm-project/commit/8b135a7d1f59a5a7adccb162abf92d751209afe7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh

  Log Message:
  -----------
  [sanitizer][symbolizer] Add new dependency


  Commit: c0cabfbdaf547b1152065be5419bc48e0b83b761
      https://github.com/llvm/llvm-project/commit/c0cabfbdaf547b1152065be5419bc48e0b83b761
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    A llvm/test/Transforms/InstCombine/allow-checks.ll

  Log Message:
  -----------
  [InstCombiner] Remove trivially dead `llvm.allow.{runtime,ubsan}.check()` (#84851)

Intrinsic declared to have sideeffects, but it's done only to prevent
moving it. Removing unused ones is OK.

Exacted from #84850 for easier review.


  Commit: cbb27bef3e53c75d7272a6392cee56c763368111
      https://github.com/llvm/llvm-project/commit/cbb27bef3e53c75d7272a6392cee56c763368111
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: 10a57f3aff34be6ab43106dc1e45ace3f6da881c
      https://github.com/llvm/llvm-project/commit/10a57f3aff34be6ab43106dc1e45ace3f6da881c
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp

  Log Message:
  -----------
  [mlir][math] Expand powfI operation for constant power operand. (#87081)

-- Convert `math.fpowi` to a series of `arith.mulf` operations.
-- If the power is negative, we divide the result by 1.


  Commit: 3365d62179011aad6da3e4cbcb31044eec3462a2
      https://github.com/llvm/llvm-project/commit/3365d62179011aad6da3e4cbcb31044eec3462a2
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp

  Log Message:
  -----------
  [clang-tidy] add new check readability-enum-initial-value (#86129)

Fixes: #85243.


  Commit: a4dec9d6bc67c4d8fbd4a4f54ffaa0399def9627
      https://github.com/llvm/llvm-project/commit/a4dec9d6bc67c4d8fbd4a4f54ffaa0399def9627
  Author: Ryotaro KASUGA <kasuga.ryotaro at fujitsu.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    A llvm/test/CodeGen/AArch64/sms-regpress.mir
    M llvm/test/CodeGen/PowerPC/sms-regpress.mir

  Log Message:
  -----------
  [CodeGen] Fix register pressure computation in MachinePipeliner (#87030)

`RegisterClassInfo::getRegPressureSetLimit` has been changed to return a
smaller value than before so the limit may become negative in later
calculations. As a workaround, change to use
`TargetRegisterInfo::getRegPressureSetLimit`.
Also improve tests.


  Commit: ef0291e5f4451abbafab0c839bf51a6382f735f3
      https://github.com/llvm/llvm-project/commit/ef0291e5f4451abbafab0c839bf51a6382f735f3
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/Modules/language-linkage.cppm

  Log Message:
  -----------
  [NFC] [Serialization] Reordering lexcical and visible TU block after type decl offsets

This patch reorder the lexical block for the translation unit, visible update block for the TU and
the viisble upaete block for the extern C context after the type decl
offsets block.

This should be a NFC patch.

This is helpful for later optimizations for eliding unreachable
declarations in the global module fragment. See the comments in
https://github.com/llvm/llvm-project/pull/76930.

Simply, if we want to get the reachable sets of declaratins during the
writing process, we need to write the file-level context later than the
process of writing declarations (which is the main process to determine
the reachable set).


  Commit: da1d3d8fb9e7dba1cc89327f5119fa7c0cadef81
      https://github.com/llvm/llvm-project/commit/da1d3d8fb9e7dba1cc89327f5119fa7c0cadef81
  Author: superZWT123 <zhengwentao3 at huawei.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/HwModeEncodeDecode2.td
    M llvm/test/TableGen/HwModeEncodeDecode3.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Introduce a less aggressive suppression for HwMode Decoder… (#86060)

1. Remove 'AllModes' and 'DefaultMode' suffixes for DecoderTables under
default HwMode.
2. Introduce a less aggressive suppression for HwMode DecoderTable, only
reduce necessary tables duplications. This allows encodings under
different HwModes to retain the original DecoderNamespace.
3. Change 'suppress-per-hwmode-duplicates' command option from bool type
to enum type, allowing users to choose what level of suppression to use.


  Commit: 8827ff92b96d78ef455157574061d745df2909af
      https://github.com/llvm/llvm-project/commit/8827ff92b96d78ef455157574061d745df2909af
  Author: Victor Perez <victor.perez at codeplay.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Arith/ops.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add rounding mode attribute to `truncf` (#86152)

Add rounding mode attribute to `arith`. This attribute can be used in
different FP `arith` operations to control rounding mode. Rounding modes
correspond to IEEE 754-specified rounding modes. Use in `arith.truncf` folding.

As this is not supported in dialects other than LLVM, conversion should fail for
now in case this attribute is present.

---------

Signed-off-by: Victor Perez <victor.perez at codeplay.com>


  Commit: b342d87f89a7cc588abd0d28f69b8dfd9e5cfa0a
      https://github.com/llvm/llvm-project/commit/b342d87f89a7cc588abd0d28f69b8dfd9e5cfa0a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

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

  Log Message:
  -----------
  [TableGen][NFC] Add maybe_unused to MRI (#87044)

This suppresses warning `unused variable 'MRI' [-Wunused-variable]`
for those fusions that don't need `MRI`.


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

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

  Log Message:
  -----------
  [VPlan] Inline addVPValue into single caller (NFCI).

Inline the function into its single caller.


  Commit: c9bcb2b7ddd08e09d75b263273ddb6e0a49a82da
      https://github.com/llvm/llvm-project/commit/c9bcb2b7ddd08e09d75b263273ddb6e0a49a82da
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/MacroFusion.td

  Log Message:
  -----------
  [TableGen] Fix MacroFusion.td

We are missing `[[maybe_unused]]`.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Use recipe's debug loc for VPWidenMemoryInstructionRecipe (NFCI)

Now that VPRecipeBase manages debug locations for recipes, use it in
VPWidenMemoryInstructionRecipe.


  Commit: f546b6ef3c15a156959dde16fa5f03a350a0a2be
      https://github.com/llvm/llvm-project/commit/f546b6ef3c15a156959dde16fa5f03a350a0a2be
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/pointer-assignment.cpp

  Log Message:
  -----------
  [Flang] Relaxing an error when contiguous pointer is assigned to a non-contig… (#86781)

…uous function.

Fix from [thtsikas](https://github.com/thtsikas) based on a discussion
in
[slack](https://flang-compiler.slack.com/archives/C5C58TT32/p1711124374836079).

Example:
```
Program test
  Integer, Pointer, Contiguous :: cont(:)
  Interface
     Function f()
       Integer, Pointer :: f(:)
     End Function
  End Interface
  cont => f()
  Print *, cont(3)
End Program

Function f()
  Integer, Pointer :: f(:)
  Allocate (f(4),Source=[1,1,42,1])
  ! f => f(4:1:-1)        !! not contiguous, runtime error
End Function f
```

Understanding is that the standard intended to allow this pattern. The
restriction 10.2.2.3 p6 Data pointer assignment "If the pointer object
has the CONTIGUOUS attribute, the pointer target shall be contiguous."
is not associated with a numbered constraint. If there is a mechanism
for injecting runtime checks, this would be a place to do it. Absent
that, a warning is the best we can do.

No other compiler treats contigPtr => func() as an error when func() is
not CONTIGUOUS, so a warning would probably be better for consistency.
https://godbolt.org/z/5cM6roeEE


  Commit: 4213f4a9ae0ef70e02da9f40653b4e04eea00c74
      https://github.com/llvm/llvm-project/commit/4213f4a9ae0ef70e02da9f40653b4e04eea00c74
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [Libomptarget] Fix resizing the buffer of RPC handles

Summary:
The previous code would potentially make it smaller if a device with a
lower ID touched it later. Also we should minimize changes to the state
for multi threaded reasons. This just sets up an owned slot for each at
initialization time.


  Commit: da9f06c9b1179423302e3e7ccb27431ced44e548
      https://github.com/llvm/llvm-project/commit/da9f06c9b1179423302e3e7ccb27431ced44e548
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_g_splat_vector.mir

  Log Message:
  -----------
  [GISEL] G_SPLAT_VECTOR can take a splat that is larger than the vector element (#86974)

This is what SelectionDAG does. We'd like to reuse SelectionDAG
patterns.


  Commit: 41afef9066eec8daf517ac357a628cdf30c95e39
      https://github.com/llvm/llvm-project/commit/41afef9066eec8daf517ac357a628cdf30c95e39
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sext-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/zext-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/zext.ll

  Log Message:
  -----------
  [SLP]Fix PR87011: Missing sign extension of demoted type before zero extension

Need to drop skipping of the first zext/sext nodes, it leads to
incorrect and less profitable code.


  Commit: a7206a6fa32ada15578e3afddcc1480364c25f4c
      https://github.com/llvm/llvm-project/commit/a7206a6fa32ada15578e3afddcc1480364c25f4c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] ReadStoreData is read later in the pipeline for SiFive7 (#86454)

Store data is read later in the pipeline, so we use
SiFive7AnyToGPRBypass to model that a store instruction can begin some
cycles before that data is ready.


  Commit: 971b852546a7d96bc8887ced913724b884cf40df
      https://github.com/llvm/llvm-project/commit/971b852546a7d96bc8887ced913724b884cf40df
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/SPIRV/IR/CooperativeMatrixOps.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/TableGen/Class.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp

  Log Message:
  -----------
  [mlir][NFC] Simplify type checks with isa predicates (#87183)

For more context on isa predicates, see:
https://github.com/llvm/llvm-project/pull/83753.


  Commit: 1351d17826e1efa3da3b29b6e345d44cb0ce3bc9
      https://github.com/llvm/llvm-project/commit/1351d17826e1efa3da3b29b6e345d44cb0ce3bc9
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
    M llvm/include/llvm/Analysis/IndirectCallVisitor.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
    A llvm/test/Transforms/PGOProfile/vtable_prof_unsupported.ll
    A llvm/test/Transforms/PGOProfile/vtable_profile.ll
    A llvm/test/tools/llvm-profdata/Inputs/vtable-value-prof.proftext
    A llvm/test/tools/llvm-profdata/vtable-value-prof.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [InstrFDO][TypeProf] Implement binary instrumentation and profile read/write (#66825)

(The profile format change is split into a standalone change into https://github.com/llvm/llvm-project/pull/81691)

* For InstrFDO value profiling, implement instrumentation and lowering for virtual table address.
* This is controlled by `-enable-vtable-value-profiling` and off by default.
* When the option is on, raw profiles will carry serialized `VTableProfData` structs and compressed vtables as payloads.
 
* Implement profile reader and writer support 
  * Raw profile reader is used by `llvm-profdata` but not compiler. Raw profile reader will construct InstrProfSymtab with symbol names, and map profiled runtime address to vtable symbols.
  * Indexed profile reader is used by `llvm-profdata` and compiler. When initialized, the reader stores a pointer to the beginning of in-memory compressed vtable names and the length of string. When used in `llvm-profdata`, reader decompress the string to show symbols of a profiled site. When used in compiler, string decompression doesn't
happen since IR is used to construct InstrProfSymtab.
  * Indexed profile writer collects the list of vtable names, and stores that to index profiles.
  * Text profile reader and writer support are added but mostly follow the implementation for indirect-call value type.
* `llvm-profdata show -show-vtables <args> <profile>` is implemented.

rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600#pick-instrumentation-points-and-instrument-runtime-types-7


  Commit: 985c1a44f8d49e0afeba907fe29d881c19b319fc
      https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0afeba907fe29d881c19b319fc
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libcxx/benchmarks/algorithms/mismatch.bench.cpp
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize the two range overload of mismatch (#86853)

```
-----------------------------------------------------------------------------
Benchmark                                                 old             new
-----------------------------------------------------------------------------
bm_mismatch_two_range_overload<char>/1               0.941 ns         1.88 ns
bm_mismatch_two_range_overload<char>/2                1.43 ns         2.15 ns
bm_mismatch_two_range_overload<char>/3                1.95 ns         2.55 ns
bm_mismatch_two_range_overload<char>/4                2.58 ns         2.90 ns
bm_mismatch_two_range_overload<char>/5                3.75 ns         3.31 ns
bm_mismatch_two_range_overload<char>/6                5.00 ns         3.83 ns
bm_mismatch_two_range_overload<char>/7                5.59 ns         4.35 ns
bm_mismatch_two_range_overload<char>/8                6.37 ns         4.84 ns
bm_mismatch_two_range_overload<char>/16               11.8 ns         6.72 ns
bm_mismatch_two_range_overload<char>/64               45.5 ns         2.59 ns
bm_mismatch_two_range_overload<char>/512               366 ns         12.6 ns
bm_mismatch_two_range_overload<char>/4096             2890 ns         91.6 ns
bm_mismatch_two_range_overload<char>/32768           23038 ns          758 ns
bm_mismatch_two_range_overload<char>/262144         142813 ns         6573 ns
bm_mismatch_two_range_overload<char>/1048576        366679 ns        26710 ns
bm_mismatch_two_range_overload<short>/1              0.934 ns         1.88 ns
bm_mismatch_two_range_overload<short>/2               1.30 ns         2.58 ns
bm_mismatch_two_range_overload<short>/3               1.76 ns         3.28 ns
bm_mismatch_two_range_overload<short>/4               2.24 ns         3.98 ns
bm_mismatch_two_range_overload<short>/5               2.80 ns         4.92 ns
bm_mismatch_two_range_overload<short>/6               3.58 ns         6.01 ns
bm_mismatch_two_range_overload<short>/7               4.29 ns         7.03 ns
bm_mismatch_two_range_overload<short>/8               4.67 ns         7.39 ns
bm_mismatch_two_range_overload<short>/16              9.86 ns         13.1 ns
bm_mismatch_two_range_overload<short>/64              38.9 ns         4.55 ns
bm_mismatch_two_range_overload<short>/512              348 ns         27.7 ns
bm_mismatch_two_range_overload<short>/4096            2881 ns          225 ns
bm_mismatch_two_range_overload<short>/32768          23111 ns         1715 ns
bm_mismatch_two_range_overload<short>/262144        184846 ns        14416 ns
bm_mismatch_two_range_overload<short>/1048576       742885 ns        57264 ns
bm_mismatch_two_range_overload<int>/1                0.838 ns         1.19 ns
bm_mismatch_two_range_overload<int>/2                 1.19 ns         1.65 ns
bm_mismatch_two_range_overload<int>/3                 1.83 ns         2.06 ns
bm_mismatch_two_range_overload<int>/4                 2.38 ns         2.42 ns
bm_mismatch_two_range_overload<int>/5                 3.60 ns         2.47 ns
bm_mismatch_two_range_overload<int>/6                 3.68 ns         3.05 ns
bm_mismatch_two_range_overload<int>/7                 4.32 ns         3.36 ns
bm_mismatch_two_range_overload<int>/8                 5.18 ns         3.58 ns
bm_mismatch_two_range_overload<int>/16                10.6 ns         2.84 ns
bm_mismatch_two_range_overload<int>/64                39.0 ns         7.78 ns
bm_mismatch_two_range_overload<int>/512                247 ns         53.9 ns
bm_mismatch_two_range_overload<int>/4096              1927 ns          429 ns
bm_mismatch_two_range_overload<int>/32768            15569 ns         3393 ns
bm_mismatch_two_range_overload<int>/262144          125413 ns        28504 ns
bm_mismatch_two_range_overload<int>/1048576         504549 ns       112729 ns
```


  Commit: a8cfa7cbdf6cc1a94ed25c90897d2e031f77a5a9
      https://github.com/llvm/llvm-project/commit/a8cfa7cbdf6cc1a94ed25c90897d2e031f77a5a9
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Transform/ops.mlir
    A mlir/test/Dialect/Transform/test-interpreter-printing.mlir

  Log Message:
  -----------
  [mlir][TD] Allow op printing flags as `transform.print` attrs (#86846)

Introduce 3 new optional attributes to the `transform.print` ops:
* `assume_verified`
* `use_local_scope`
* `skip_regions`

The primary motivation is to allow printing on large inputs that
otherwise take forever to print and verify. For the full context, see
this IREE issue: https://github.com/openxla/iree/issues/16901.

Also add some tests and fix the op description.


  Commit: d83271b093ec206c2f47a9c636a5727cf63cad5e
      https://github.com/llvm/llvm-project/commit/d83271b093ec206c2f47a9c636a5727cf63cad5e
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/parser.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Include algorithm.h to parser.h (#87125)

This includes algorithm.h directly to provide the definition for
`cpp:max` in parser.h. This will define `max(...)` in the libc namespace
for build systems that pull in parser.h explicitly.


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

  Changed paths:
    M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp

  Log Message:
  -----------
  [nfc] Disable the a cpp compiler-rt test on ppc bigendian systems due to build errors (#87262)

`Linux/instrprof-vtable-value-prof.cpp` needs to be built for the test
to run. However, cpp compile & link failed with undefined-ABI error [1].
See original failure in
https://lab.llvm.org/buildbot/#/builders/18/builds/16429

[1] 
```
FAIL: Profile-powerpc64 :: Linux/instrprof-vtable-value-prof.cpp (2406 of 2414)
******************** TEST 'Profile-powerpc64 :: Linux/instrprof-vtable-value-prof.cpp' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 3: /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/./bin/clang  --driver-mode=g++  -m64  -ldl  -fprofile-generate -fuse-ld=lld -O2 -g -fprofile-generate=. -mllvm -enable-vtable-value-profiling /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp -o /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/runtimes/runtimes-bins/compiler-rt/test/profile/Profile-powerpc64/Linux/Output/instrprof-vtable-value-prof.cpp.tmp-test
+ /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/./bin/clang --driver-mode=g++ -m64 -ldl -fprofile-generate -fuse-ld=lld -O2 -g -fprofile-generate=. -mllvm -enable-vtable-value-profiling /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp -o /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/runtimes/runtimes-bins/compiler-rt/test/profile/Profile-powerpc64/Linux/Output/instrprof-vtable-value-prof.cpp.tmp-test
ld.lld: error: /lib/../lib64/Scrt1.o: ABI version 1 is not supported
clang: error: linker command failed with exit code 1 (use -v to see invocation)

```


  Commit: 55b74030a4c75f25be901522fe595d7233fad76d
      https://github.com/llvm/llvm-project/commit/55b74030a4c75f25be901522fe595d7233fad76d
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/fseeko.h
    A libc/src/stdio/ftello.h
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/generic/fseek.cpp
    A libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    A libc/src/stdio/generic/ftello.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/ftell_test.cpp

  Log Message:
  -----------
  [libc][POSIX] implement fseeko, ftello (#86928)


Fixes: #85287


  Commit: 92d0d6f6cb4099e651d066cd88dc0abfa6e612cf
      https://github.com/llvm/llvm-project/commit/92d0d6f6cb4099e651d066cd88dc0abfa6e612cf
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc

  Log Message:
  -----------
  [scudo] Do a M_PURGE call before changing release interval on Android (#87110)


  Commit: 9434c083475e42f47383f3067fe2a155db5c6a30
      https://github.com/llvm/llvm-project/commit/9434c083475e42f47383f3067fe2a155db5c6a30
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/docs/HLSL/FunctionCalls.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    A clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/ArrayParams.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.ll
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [HLSL] Implement array temporary support (#79382)

HLSL constant sized array function parameters do not decay to pointers.
Instead constant sized array types are preserved as unique types for
overload resolution, template instantiation and name mangling.

This implements the change by adding a new `ArrayParameterType` which
represents a non-decaying `ConstantArrayType`. The new type behaves the
same as `ConstantArrayType` except that it does not decay to a pointer.

Values of `ConstantArrayType` in HLSL decay during overload resolution
via a new `HLSLArrayRValue` cast to `ArrayParameterType`.

`ArrayParamterType` values are passed indirectly by-value to functions
in IR generation resulting in callee generated memcpy instructions.

The behavior of HLSL function calls is documented in the [draft language
specification](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf)
under the Expr.Post.Call heading.

Additionally the design of this implementation approach is documented in
[Clang's
documentation](https://clang.llvm.org/docs/HLSL/FunctionCalls.html)

Resolves #70123


  Commit: 53d256bb2790a0e5300f275345c864930b7e6f82
      https://github.com/llvm/llvm-project/commit/53d256bb2790a0e5300f275345c864930b7e6f82
  Author: Eric <eric at efcs.ca>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libcxx/docs/index.rst

  Log Message:
  -----------
  Update the "Current Status" section of the website to be current. (#84507)

The section discusses the reasons for the libraries inception more than
a decade ago. Now it discusses the progess libc++ has made, and the many
impressive acomplishments our contributors have brought it.

The initial section remains below.

---------

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


  Commit: 2cfd7d433be0831c6e2a248a4b828f7aedcaeaa0
      https://github.com/llvm/llvm-project/commit/2cfd7d433be0831c6e2a248a4b828f7aedcaeaa0
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftello.h

  Log Message:
  -----------
  [libc] fixup missing include for fullbuild (#87266)

Fixes #86928


  Commit: a54930e696a275ac3947484f44d770cd587ce147
      https://github.com/llvm/llvm-project/commit/a54930e696a275ac3947484f44d770cd587ce147
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp

  Log Message:
  -----------
  [mlir][sparse] allow YieldOp to yield multiple values. (#87261)


  Commit: 2be722587f5987891ed8b2904a03f983e987f226
      https://github.com/llvm/llvm-project/commit/2be722587f5987891ed8b2904a03f983e987f226
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/atan2f_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/atan2f_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h

  Log Message:
  -----------
  [libc][math] Implement atan2f correctly rounded to all rounding modes. (#86716)

We compute atan2f(y, x) in 2 stages:
- Fast step: perform computations in double precision , with relative
errors < 2^-50
- Accurate step: if the result from the Fast step fails Ziv's rounding
test, then we perform computations in double-double precision, with
relative errors < 2^-100.

On Ryzen 5900X, worst-case latency is ~ 200 clocks, compared to average
latency ~ 60 clocks, and average reciprocal throughput ~ 20 clocks.


  Commit: 4746877c2716224dc87c69750bdd0df95b6d5b16
      https://github.com/llvm/llvm-project/commit/4746877c2716224dc87c69750bdd0df95b6d5b16
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A clang/test/C/C99/n570.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to WG14 N570


  Commit: 5ff2773d4e606ac57750f1fc2aa4dc49b8dbede1
      https://github.com/llvm/llvm-project/commit/5ff2773d4e606ac57750f1fc2aa4dc49b8dbede1
  Author: Russell Greene <russell at shotover.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-outputs.c

  Log Message:
  -----------
  [clang-cl] Allow a colon after /Fo option (#87209)

Modeled after
https://github.com/llvm/llvm-project/commit/8513a681f7d8d1188706762e712168aebc3119dd#

According to
https://learn.microsoft.com/en-us/cpp/build/reference/fo-object-file-name?view=msvc-170,
`/Fo` accepts a trailing-colon variant. This is also tested in practice.
This allows clang-cl to parse this.

I just copied one of the existing tests, let me know if this is not the
best way to do this. I tested that the test does not pass beofre the
Options.td change, and that it does after.

See also #46065


  Commit: 6634c3e9377abf88c08bb065fb55aa15cda4c248
      https://github.com/llvm/llvm-project/commit/6634c3e9377abf88c08bb065fb55aa15cda4c248
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  [GOFF] Wrap debug output with LLVM_DEBUG (#87252)

The content of a GOFF record is always dumped if NDEBUG is not defined,
which produces rather confusing output. This changes wrap the dumping
code in LLVM_DEBUG, so the dump is only done when debug output of this
module is requested.


  Commit: b8ead2198f27924f91b90b6c104c1234ccc8972e
      https://github.com/llvm/llvm-project/commit/b8ead2198f27924f91b90b6c104c1234ccc8972e
  Author: Gulfem Savrun Yeniceri <gulfem at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    R llvm/test/CodeGen/AArch64/sms-regpress.mir
    M llvm/test/CodeGen/PowerPC/sms-regpress.mir

  Log Message:
  -----------
  Revert "[CodeGen] Fix register pressure computation in MachinePipeliner (#87030)"

This reverts commit a4dec9d6bc67c4d8fbd4a4f54ffaa0399def9627
because the test failed in the following builder:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/prod/clang-linux-x64/b8751864477467126481/overview


  Commit: e45f6e569dafd4033f86d276065d77799b5f6226
      https://github.com/llvm/llvm-project/commit/e45f6e569dafd4033f86d276065d77799b5f6226
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Factor out OpenACC part of `Sema` (#84184)

This patch moves OpenACC parts of `Sema` into a separate class
`SemaOpenACC` that is placed in a separate header `Sema/SemaOpenACC.h`.
This patch is intended to be a model of factoring things out of `Sema`,
so I picked a small OpenACC part.

Goals are the following:
1) Split `Sema` into manageable parts.
2) Make dependencies between parts visible.
3) Improve Clang development cycle by avoiding recompiling unrelated
parts of the compiler.
4) Avoid compile-time regressions.
5) Avoid notational regressions in the code that uses Sema.


  Commit: f3ec73fca492124b15c3eb9a3ae12b7d86470d27
      https://github.com/llvm/llvm-project/commit/f3ec73fca492124b15c3eb9a3ae12b7d86470d27
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll

  Log Message:
  -----------
  [NFC]Precommit test for vtable import  (#79363)

A precommit test case to show function summary and global values when a function has instructions annotated with vtable profiles and indirect call profiles.
- This is a precommit test for https://github.com/llvm/llvm-project/pull/79381


  Commit: cbd48b184eca1ca73e6f20575501d94ad30fbd58
      https://github.com/llvm/llvm-project/commit/cbd48b184eca1ca73e6f20575501d94ad30fbd58
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A clang/test/C/C99/array-lvalue.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to "conversion of array to pointer not limited to lvalues"

We don't have a document number for this, but the change was called out
explicitly in the editor's comments in the C99 foreword.


  Commit: 4cd7bb07c7540bf83a7a60a67aa282e99461ca2f
      https://github.com/llvm/llvm-project/commit/4cd7bb07c7540bf83a7a60a67aa282e99461ca2f
  Author: Kirill Podoprigora <kirill.bast9 at mail.ru>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/python/requirements.txt

  Log Message:
  -----------
  [mlir] Remove ``dataclasses`` package from mlir ``requirements.txt`` (#87223)

The ``dataclasses`` package makes sense for Python 3.6, becauses
``dataclasses`` is only included in the standard library with 3.7
version. Now, 3.6 has reached EOL, so all current supported versions of
Python (3.8, 3.9, 3.10, 3.11, 3.12) have this feature in their standard
libraries.

Therefore there's no need to install the ``dataclasses`` package now.


  Commit: 8f5111411d7a09a614a7ce1a7b6a5924abcb7c84
      https://github.com/llvm/llvm-project/commit/8f5111411d7a09a614a7ce1a7b6a5924abcb7c84
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M bolt/include/bolt/Core/AddressMap.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryDomTree.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinaryLoop.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    M bolt/include/bolt/Passes/ReachingDefOrUse.h
    M bolt/include/bolt/Passes/ReachingInsns.h
    M bolt/include/bolt/Passes/ReorderUtils.h
    M bolt/include/bolt/Profile/ProfileReaderBase.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/include/bolt/Utils/NameShortener.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    R bolt/lib/Profile/ProfileReaderBase.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/JITLinkLinker.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/linux-bug-table.s
    A bolt/test/X86/yaml-secondary-entry-discriminator.s
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clangd/support/Trace.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/docs/HLSL/FunctionCalls.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/FormatString.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/InstallAPI/CMakeLists.txt
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/Value.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    A clang/test/APINotes/Inputs/Headers/Templates.apinotes
    A clang/test/APINotes/Inputs/Headers/Templates.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/export-as.c
    M clang/test/APINotes/module-cache.m
    A clang/test/APINotes/templates.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/C/C2x/n2350.c
    A clang/test/C/C99/Inputs/nested-include.h
    A clang/test/C/C99/array-lvalue.c
    A clang/test/C/C99/digraphs.c
    A clang/test/C/C99/n570.c
    A clang/test/C/C99/n590.c
    M clang/test/C/drs/dr4xx.c
    M clang/test/C/drs/dr5xx.c
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    A clang/test/CodeGen/aapcs-bitfield-access-unit.c
    M clang/test/CodeGen/aapcs-bitfield.c
    M clang/test/CodeGen/arm-bitfield-alignment.c
    M clang/test/CodeGen/arm64-be-bitfield.c
    M clang/test/CodeGen/bitfield-2.c
    A clang/test/CodeGen/bitfield-access-pad.c
    A clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/debug-info-bitfield-0-struct.c
    M clang/test/CodeGen/debug-info-cc.c
    M clang/test/CodeGen/flexible-array-init.c
    A clang/test/CodeGen/flexible-array-init.cpp
    M clang/test/CodeGen/no-bitfield-type-align.c
    M clang/test/CodeGen/struct-x86-darwin.c
    M clang/test/CodeGen/tbaa-struct.cpp
    A clang/test/CodeGenCXX/bitfield-access-empty.cpp
    A clang/test/CodeGenCXX/bitfield-access-tail.cpp
    A clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/bitfield.cpp
    A clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
    M clang/test/Driver/cl-outputs.c
    A clang/test/Driver/darwin-ld-reexports.c
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/msvc-link.c
    M clang/test/Driver/toc-conf.c
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
    A clang/test/InstallAPI/diagnostics-dsym.test
    A clang/test/InstallAPI/umbrella-headers-unix.test
    A clang/test/InstallAPI/umbrella-headers.test
    M clang/test/Modules/language-linkage.cppm
    A clang/test/Modules/no-local-decl-in-reduced-bmi.cppm
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/atomic_write_codegen.c
    A clang/test/Options/enable_16bit_types_validation.hlsl
    A clang/test/Options/enable_16bit_types_validation_spirv.hlsl
    A clang/test/Sema/constant-builtins-all-args-evaluated.cpp
    M clang/test/Sema/flexible-array-in-union.c
    A clang/test/Sema/format-strings-signedness-fixit.c
    A clang/test/Sema/format-strings-signedness.c
    M clang/test/Sema/transparent-union.c
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaHLSL/ArrayParams.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.ll
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    A clang/test/SemaTemplate/concepts-GH86757.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp
    M clang/test/SemaTemplate/ctad.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp
    M clang/unittests/AST/DeclTest.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/www/c_status.html
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/msan/msan_linux.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/stack_depot.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    A compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
    A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
    R compiler-rt/test/tsan/signal_in_futex_wait.cpp
    M flang/include/flang/Lower/OpenMP.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/runtime/io-error.cpp
    M flang/test/Transforms/stack-arrays.fir
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/config.json
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/dev/code_style.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/math/index.rst
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/decay.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/__support/FPUtil/gpu/FMA.h
    M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
    A libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/__support/char_vector.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/fseeko.h
    A libc/src/stdio/ftello.h
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/generic/fseek.cpp
    A libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    A libc/src/stdio/generic/ftello.cpp
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtold.cpp
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/src/__support/fixedvector_test.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/atan2f_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/FromfpTest.h
    M libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/UfromfpTest.h
    M libc/test/src/math/smoke/UfromfpxTest.h
    A libc/test/src/math/smoke/atan2f_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/ftell_test.cpp
    M libc/test/src/stdio/printf_core/parser_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/StrfromTest.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M libclc/CMakeLists.txt
    M libclc/cmake/CMakeCLCInformation.cmake
    M libcxx/benchmarks/algorithms/mismatch.bench.cpp
    A libcxx/docs/DesignDocs/NodiscardPolicy.rst
    M libcxx/docs/index.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__format/container_adaptor.h
    A libcxx/include/__fwd/deque.h
    A libcxx/include/__fwd/memory.h
    A libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/sstream.h
    A libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/string.h
    A libcxx/include/__fwd/vector.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__ranges/subrange.h
    R libcxx/include/__tuple/pair_like.h
    M libcxx/include/__tuple/tuple_like.h
    A libcxx/include/__tuple/tuple_like_no_subrange.h
    M libcxx/include/__type_traits/apply_cv.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/deque
    M libcxx/include/format
    M libcxx/include/iosfwd
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/include/queue
    M libcxx/include/stack
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/tzdb_list.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.verify.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp
    M libcxx/test/support/deduction_guides_sfinae_checks.h
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/libcxx/test/params.py
    M libcxxabi/test/forced_unwind4.pass.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/DWARF.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/test/ELF/allow-multiple-definition.s
    M lld/test/ELF/allow-shlib-undefined.s
    M lld/test/ELF/common-gc2.s
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/lto/libcall-archive.ll
    A lld/test/ELF/pack-dyn-relocs-ifunc.s
    M lld/test/ELF/relro-non-contiguous-script-data.s
    M lld/test/ELF/riscv-undefined-weak.s
    M lld/test/ELF/shlib-undefined-local.s
    R lld/test/ELF/static-with-export-dynamic.s
    M lld/test/ELF/weak-undef.s
    M lld/test/ELF/x86-64-dyn-rel-error.s
    A lld/test/MachO/objc-relative-method-lists-simple.s
    M lld/test/MachO/silent-ignore.s
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/include/lldb/Utility/Scalar.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Host/common/Alarm.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Symbol/UnwindTable.cpp
    M lldb/source/Utility/Scalar.cpp
    M lldb/test/API/functionalities/type_find_first/Makefile
    M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
    M lldb/test/API/functionalities/type_find_first/main.cpp
    A lldb/test/API/functionalities/type_find_first/other.cpp
    M lldb/test/CMakeLists.txt
    A lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
    M lldb/unittests/Utility/ScalarTest.cpp
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/bindings/ocaml/llvm/llvm_ocaml.h
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/InstrProfileFormat.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/Analysis/IndirectCallVisitor.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/Mangler.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/ProfDataUtils.h
    M llvm/include/llvm/IR/Verifier.h
    M llvm/include/llvm/MC/ConstantPools.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/Object/ELFTypes.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/FormattedStream.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/TextAPI/DylibReader.h
    M llvm/include/llvm/TextAPI/Record.h
    A llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Analysis/AliasSetTracker.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/Analysis/ReplayInlineAdvisor.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/InterfaceStub/ELFObjHandler.cpp
    M llvm/lib/MC/ConstantPools.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/XCOFFObjectWriter.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Support/FormattedStream.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrUtils.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/TextAPI/BinaryReader/CMakeLists.txt
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Analysis/AliasSet/intrinsics.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
    A llvm/test/Analysis/MemorySSA/allow-check.ll
    M llvm/test/Assembler/flags.ll
    M llvm/test/Bindings/OCaml/core.ml
    M llvm/test/Bindings/OCaml/debuginfo.ml
    M llvm/test/Bitcode/flags.ll
    A llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-trunc.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-128.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-with-success.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop-no-implicit-float.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select.mir
    M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
    A llvm/test/CodeGen/AArch64/allow-check.ll
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AArch64/dllexport.ll
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
    A llvm/test/CodeGen/AArch64/peephole-movd.mir
    A llvm/test/CodeGen/AArch64/pr86717.ll
    M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-atomic-cmpxchg-with-success.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    A llvm/test/CodeGen/AMDGPU/allow-check.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
    M llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    A llvm/test/CodeGen/BPF/cttz-ctlz.ll
    A llvm/test/CodeGen/DirectX/ceil.ll
    A llvm/test/CodeGen/DirectX/ceil_error.ll
    A llvm/test/CodeGen/DirectX/pow-vec.ll
    A llvm/test/CodeGen/DirectX/pow.ll
    A llvm/test/CodeGen/DirectX/reversebits.ll
    M llvm/test/CodeGen/DirectX/round.ll
    M llvm/test/CodeGen/DirectX/round_error.ll
    A llvm/test/CodeGen/DirectX/trunc.ll
    A llvm/test/CodeGen/DirectX/trunc_error.ll
    A llvm/test/CodeGen/Generic/allow-check.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/add.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/cttz.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/mul.mir
    A llvm/test/CodeGen/NVPTX/common-linkage.ll
    M llvm/test/CodeGen/NVPTX/weak-global.ll
    A llvm/test/CodeGen/PowerPC/aix-overflow-toc-data.py
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
    M llvm/test/CodeGen/PowerPC/huge-frame-size.ll
    M llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-vacopy.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
    A llvm/test/CodeGen/RISCV/allow-check.ll
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
    M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
    A llvm/test/CodeGen/RISCV/rv64-typepromotion.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/rvv/binop-zext.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    A llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/cond-move-04.mir
    M llvm/test/CodeGen/SystemZ/cond-move-08.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
    M llvm/test/CodeGen/SystemZ/frame-28.mir
    M llvm/test/CodeGen/SystemZ/swifterror.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/Thumb2/aligned-nonfallthrough.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
    M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
    M llvm/test/CodeGen/Thumb2/mve-vldst4.ll
    M llvm/test/CodeGen/Thumb2/mve-vpt-optimisations.mir
    M llvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
    A llvm/test/CodeGen/X86/allow-check.ll
    A llvm/test/CodeGen/X86/apx/foldimmediate.mir
    M llvm/test/CodeGen/X86/combine-pavg.ll
    M llvm/test/CodeGen/X86/extractelement-load.ll
    M llvm/test/CodeGen/X86/huge-stack-offset.ll
    M llvm/test/CodeGen/X86/huge-stack-offset2.ll
    R llvm/test/CodeGen/X86/huge-stack.ll
    M llvm/test/CodeGen/X86/insertelement-var-index.ll
    M llvm/test/CodeGen/X86/optimize-max-0.ll
    M llvm/test/CodeGen/X86/pr45378.ll
    A llvm/test/CodeGen/X86/pr86880.mir
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/tls-loads-control3.ll
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/vec_int_to_fp.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/globals-access.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
    A llvm/test/MC/AArch64/constant-pool-sizes.s
    A llvm/test/MC/Disassembler/X86/apx/imulzu.txt
    A llvm/test/MC/X86/apx/imulzu-att.s
    A llvm/test/MC/X86/apx/imulzu-intel.s
    M llvm/test/MachineVerifier/test_g_splat_vector.mir
    M llvm/test/TableGen/ConcatenatedSubregs.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/HwModeEncodeDecode2.td
    M llvm/test/TableGen/HwModeEncodeDecode3.td
    A llvm/test/TableGen/HwModeSubRegs.td
    M llvm/test/TableGen/MacroFusion.td
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
    A llvm/test/Transforms/GVNHoist/hoist-merge-geps.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
    A llvm/test/Transforms/Inline/update_invoke_prof.ll
    A llvm/test/Transforms/Inline/update_value_profile.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    A llvm/test/Transforms/InstCombine/allow-checks.ll
    M llvm/test/Transforms/InstCombine/apint-shl-trunc.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/ptr-int-cast.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/LoopRotate/update-branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    A llvm/test/Transforms/PGOProfile/vtable_prof_unsupported.ll
    A llvm/test/Transforms/PGOProfile/vtable_profile.ll
    M llvm/test/Transforms/PhaseOrdering/X86/merge-functions.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/reduction-extension-after-bitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sext-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/zext-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/zext.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-callee-profile-mismatch.prof
    A llvm/test/Transforms/SampleProfile/csspgo-profile-checksum-mismatch-attr.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-lto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
    M llvm/test/Transforms/SampleProfile/remarks-hotness.ll
    M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
    M llvm/test/Transforms/TailCallElim/debugloc.ll
    M llvm/test/Verifier/tbaa-struct.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir
    A llvm/test/tools/llvm-profdata/Inputs/vtable-value-prof.proftext
    A llvm/test/tools/llvm-profdata/vtable-value-prof.test
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/spirv-tools/CMakeLists.txt
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/git/github-automation.py
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
    M mlir/examples/transform/Ch4/include/MyExtension.td
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/Arith/IR/Arith.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/Dialect.h
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
    M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/SPIRV/IR/CooperativeMatrixOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    R mlir/lib/Dialect/Transform/IR/MatchInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp
    M mlir/lib/Dialect/UB/IR/UBOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/CRunnerUtils.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/TableGen/Class.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/python/requirements.txt
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Arith/ops.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/Dialect/SCF/transform-loop-fuse-sibling.mlir
    M mlir/test/Dialect/SPIRV/Transforms/webgpu-prepare.mlir
    M mlir/test/Dialect/Tensor/drop-redundant-insert-slice-rank-expansion.mlir
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
    A mlir/test/Dialect/Transform/foreach-match.mlir
    M mlir/test/Dialect/Transform/ops.mlir
    A mlir/test/Dialect/Transform/test-interpreter-printing.mlir
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
    A mlir/test/IR/greedy-pattern-rewrite-driver-bottom-up.mlir
    A mlir/test/IR/greedy-pattern-rewrite-driver-top-down.mlir
    R mlir/test/IR/greedy-pattern-rewriter-driver.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M openmp/libomptarget/DeviceRTL/src/Debug.cpp
    M openmp/libomptarget/include/PluginManager.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/include/RPC.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    A openmp/libomptarget/test/offloading/d2d_memcpy_sync.c
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_taskdeps.cpp
    A openmp/runtime/test/tasking/hidden_helper_task/issue-87117.c
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    A utils/bazel/llvm-project-overlay/llvm/driver.bzl
    M utils/bazel/llvm-project-overlay/llvm/lit_test.bzl
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/0910a453ee05...8f5111411d7a

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list