[all-commits] [llvm/llvm-project] a73e92: [libc] use LIBC_HAS_BUILTIN instead __has_builtin ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Wed Feb 28 07:15:14 PST 2024


  Branch: refs/heads/users/alexey-bataev/spr/lvnfcpreselect-folding-style-before-choosing-maxing-vf-nfc
  Home:   https://github.com/llvm/llvm-project
  Commit: a73e9244621a6186859644012c295740465ad844
      https://github.com/llvm/llvm-project/commit/a73e9244621a6186859644012c295740465ad844
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/atomic.h

  Log Message:
  -----------
  [libc] use LIBC_HAS_BUILTIN instead __has_builtin (#82377)

fix the issue that `__has_builtin` is undefined on some non-clang
targets.


  Commit: aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
      https://github.com/llvm/llvm-project/commit/aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for constant range of `{s|u}rem C, x`; NFC


  Commit: 9facaaddadd63a1668c212c8a9ef94a5ad4c6629
      https://github.com/llvm/llvm-project/commit/9facaaddadd63a1668c212c8a9ef94a5ad4c6629
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Improve tracking for constant range of `{s|u}rem C, x`

Current we only support `C` as the remainder, but we can also limit
with a constant numerator.

Proofs: https://alive2.llvm.org/ce/z/QB95gU

Closes #82303


  Commit: 9923d29cfa917a0c25f3237e0cae9567c8806071
      https://github.com/llvm/llvm-project/commit/9923d29cfa917a0c25f3237e0cae9567c8806071
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Merge main VPlan verifer with HCFG verifier.

Unify VPlan verifiers in verifyVPlanIsValid. This adds verification for
various properties on blocks to the verifier used for VPlans generated
by the inner loop vectorizer. It also adds def-use checks for the
verifier used in the VPlan native path.

This drops the separate flag to enable HCFG verification. Instead, all
VPlans are verified once they have been created, if assertions are
enabled.

This also removes VPWidenPHIRecipe from VPHeaderPHIRecipe; it is used to
model any phi node in the native path.


  Commit: 3b7ba2482e2c1b9b240664a247db55d253a3e1f5
      https://github.com/llvm/llvm-project/commit/3b7ba2482e2c1b9b240664a247db55d253a3e1f5
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/enum.c

  Log Message:
  -----------
  [C23] No longer assert on huge enumerator values (#81760)

C23 added the wb and uwb suffixes to generate a bit-precise integer
value. These values can be larger than what is representable in intmax_t
or uintmax_t.

We were asserting that an enumerator constant could not have a value
larger than unsigned long long but that's now a possibility. This patch
turns the assertion into a "value too large" diagnostic.

Note, we do not yet implement WG14 N3029 and so the behavior of this
patch will cause the enumerator to be cast to unsigned long long, but
this behavior may change in the future. GCC selects __uint128_t as the
underlying type for such an enumeration and we may want to match that
behavior in the future. This patch has several FIXME comments related to
this and the release notes call out the possibility of a change in
behavior in the future.

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


  Commit: 94100bc2fb1a39dbeb43d18a95176097c53f1324
      https://github.com/llvm/llvm-project/commit/94100bc2fb1a39dbeb43d18a95176097c53f1324
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A openmp/runtime/src/z_AIX_asm.S

  Log Message:
  -----------
  [OpenMP][AIX]Add assembly file containing microtasking routines and unnamed common block definitions (#81770)

This patch adds assembly file `z_AIX_asm.S` that contains the 32- and
64-bit XCOFF version of microtasking routines and unnamed common block
definitions. This code has been run through the libomp LIT tests and a
user package successfully.


  Commit: 066773c4117512a76e127741631630fef57caf14
      https://github.com/llvm/llvm-project/commit/066773c4117512a76e127741631630fef57caf14
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll

  Log Message:
  -----------
  [X86] computeKnownBitsForTargetNode - add generic handling of PSHUFB

When PSHUFB is used as a LUT (for CTPOP, BITREVERSE etc.), its the source operand that is constant and the index operand the variable. As long as the indices don't set the MSB (which zeros the output element), then the common known bits from the source operand can be used directly, even though the shuffle mask isn't constant.

Further helps to improve CTPOP reduction codegen


  Commit: ef28379022121ce32cf93d7c3a7571a73ab5f801
      https://github.com/llvm/llvm-project/commit/ef28379022121ce32cf93d7c3a7571a73ab5f801
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test

  Log Message:
  -----------
  [llvm-objcopy] Fix file offsets when PT_INTERP/PT_LOAD offsets are equal (#80562)

(#79887) When the offset of a PT_INTERP segment equals the offset of a
PT_LOAD segment, we consider that the parent of the PT_LOAD segment is
the PT_INTERP segment. In `layoutSegments`, we place both segments to be
after the current `Offset`, ignoring the PT_LOAD alignment.

This scenario is possible with fixed section addresses, but doesn't
happen with default linker layouts (.interp precedes other sections and
is part of a PT_LOAD segment containing the ELF header and program
headers).

```
% cat a.s
.globl _start; _start: ret
.rodata; .byte 0
.tdata; .balign 4096; .byte 0
% clang -fuse-ld=lld a.s -o a -nostdlib -no-pie -z separate-loadable-segments -Wl,-Ttext=0x201000,--section-start=.interp=0x202000,--section-start=.rodata=0x202020,-z,nognustack
% llvm-objcopy a a2
% llvm-readelf -l a2   # incorrect offset(PT_LOAD)
  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
  PHDR           0x000040 0x0000000000200040 0x0000000000200040 0x0001c0 0x0001c0 R   0x8
  INTERP         0x001001 0x0000000000202000 0x0000000000202000 0x00001c 0x00001c R   0x1
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x000000 0x0000000000200000 0x0000000000200000 0x000200 0x000200 R   0x1000
  LOAD           0x001000 0x0000000000201000 0x0000000000201000 0x000001 0x000001 R E 0x1000
//// incorrect offset
  LOAD           0x001001 0x0000000000202000 0x0000000000202000 0x000021 0x000021 R   0x1000
  LOAD           0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 RW  0x1000
  TLS            0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x000001 R   0x1000
  GNU_RELRO      0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 R   0x1000
```

The same issue occurs for PT_TLS/PT_GNU_RELRO if we PT_TLS's alignment
is smaller and we place the PT_LOAD after PT_TLS/PT_GNU_RELRO segments
(not linker default, but possible with a `PHDRS` linker script command).

Fix #79887: when two segments have the same offset, order the one with a
larger alignment first. In the previous case, the PT_LOAD segment will
go before the PT_INTERP segment. In case of equal alignments, it doesn't
matter which segment is treated as the parent segment.


  Commit: 4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
      https://github.com/llvm/llvm-project/commit/4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/IR/DebugProgramInstruction.cpp

  Log Message:
  -----------
  Fix Wcovered-switch-default Werror after #78252

bot failure: https://lab.llvm.org/buildbot/#/builders/19/builds/24831


  Commit: ae8facc1f8e8a2d04b5a3519fc1901db110fe452
      https://github.com/llvm/llvm-project/commit/ae8facc1f8e8a2d04b5a3519fc1901db110fe452
  Author: John Harrison <harjohn at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Do not write over the existing error if launchCommands fail during debugger launch. (#82051)

This fixes an issue where the error is lost if a command while executing
`launchCommands` when launching the debugger.

This should fix #82048


  Commit: 4c6043de0b837d23699424d875057d00956d80ac
      https://github.com/llvm/llvm-project/commit/4c6043de0b837d23699424d875057d00956d80ac
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A clang/include/clang/InstallAPI/FileList.h
    A clang/include/clang/InstallAPI/HeaderFile.h
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/FileList.cpp
    A clang/lib/InstallAPI/HeaderFile.cpp
    M clang/unittests/CMakeLists.txt
    A clang/unittests/InstallAPI/CMakeLists.txt
    A clang/unittests/InstallAPI/FileListTest.cpp
    A clang/unittests/InstallAPI/HeaderFileTest.cpp

  Log Message:
  -----------
  [clang][InstallAPI] Add input file support to library (#81701)

This patch adds support for expected InstallAPI inputs. InstallAPI
accepts a well defined filelist of headers and how those headers
represent a single library.

InstallAPI captures header files to determine linkable symbols to then
compare against what was compiled in a binary dylib and generate TBD
files.


  Commit: d2942a86d7b8fc4cba4f73294efb53a3e47dc751
      https://github.com/llvm/llvm-project/commit/d2942a86d7b8fc4cba4f73294efb53a3e47dc751
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll

  Log Message:
  -----------
  [MergeFunctions] Fix thunks for non-instruction debug info (#82080)

When MergeFunctions creates new thunk functions, it needs to copy over
the debug info format kind from the original function, otherwise we'll
mix debug info formats and run into assertions. This was exposed by a
downstream change that runs MergeFunctions before inlining, which caused
assertions when inlining attempted to inline thunks created by merging,
and the added test covers both scenarios where merging creates thunks.


  Commit: 7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
      https://github.com/llvm/llvm-project/commit/7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
  Author: James Robinson <jamesr at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp

  Log Message:
  -----------
  [Fuzzer] Use user signal to coordinate handler shutdown (#82067)

This updates the signal handle thread coordinating to use a user signal
bit on the SignalHandlerEvent to coordinate shutdown instead of closing
the event handle. Closing the event handle is racy as the handle may be
closed before the signal handler thread resolves the handle value in
_zx_object_wait_many() and we would like to make this an explicit error.
Using the user signal bit 1 instead and then closing the event object
after the signal handler thread is joined cannot race as the wait will
terminate whether the signal is raised before or after the wait begins.


  Commit: d2173d8f534d73d2a3fab074a721729626859755
      https://github.com/llvm/llvm-project/commit/d2173d8f534d73d2a3fab074a721729626859755
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [InstCombine] foldFCmpIntToFPConst - simplify repeated calls to getBitWidth/getScalarSizeInBits. NFC.

Noticed on #82241 - we don't need to use the IntegerType just for the scalar width, and we were calling it 3 times in different forms - we can just call Type::getScalarSizeInBits once and reuse.


  Commit: 8302cef83f0614f1fb2078f2335b94aa77bde271
      https://github.com/llvm/llvm-project/commit/8302cef83f0614f1fb2078f2335b94aa77bde271
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
    M clang/test/Misc/warning-flags.c

  Log Message:
  -----------
  [Clang][Sema] Convert warning for extraneous template parameter lists to an extension warning (#82277)

We currently accept the following explicit specialization with a warning
for the extraneous template parameter list:
```
template<typename T>
void f();

template<>
template<>
void f<int>(); // warning: extraneous template parameter list in template specialization
```

This should really be an extension warning so we reject with
`-pedantic-errors`. This patch converts the warning to an extension
warning.


  Commit: 7af70643ca4220c254bdb1e9ea51762228642a10
      https://github.com/llvm/llvm-project/commit/7af70643ca4220c254bdb1e9ea51762228642a10
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir

  Log Message:
  -----------
  Revert "[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)"

Patch  3f0404aae7ed2 is breaking some debugs build so we cannot use the reverse here.

This reverts commit 493f10106f7f1799eb67be95058b251e6a3bf0af.


  Commit: 48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
      https://github.com/llvm/llvm-project/commit/48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    M llvm/test/CodeGen/AArch64/sve-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-tailcall.ll
    M llvm/test/CodeGen/AArch64/unwind-preserved.ll

  Log Message:
  -----------
  Revert "[AArch64] Restore Z-registers before P-registers (#79623)"

This reverts commit 3f0404aae7ed2f7138526e1bcd100a60dfe08227.

std::reverse is breaking some builds


  Commit: d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
      https://github.com/llvm/llvm-project/commit/d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [bazel] fix build after 4c6043de0b837d23699424d875057d00956d80ac


  Commit: 5454991c29945d791b82a9e25b1f605f54c75710
      https://github.com/llvm/llvm-project/commit/5454991c29945d791b82a9e25b1f605f54c75710
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/UnitTest/CMakeLists.txt

  Log Message:
  -----------
  [libc] Cleanup of hermetic test flag handling (#82384)

Summary:
This cleans up the handling of hermetic test flags. Primarily done to
simplify the GPU rework patch.


  Commit: c625b996527335c4fd6b6aa246655a993487e846
      https://github.com/llvm/llvm-project/commit/c625b996527335c4fd6b6aa246655a993487e846
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
    A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
    A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Add SectCreateMaterializationUnit, llvm-jitlink -sectcreate option.

The SectCreateMaterializationUnit creates a LinkGraph with a single named
section containing a single named block whose content is given by a
MemoryBuffer. It is intended to support emulation of ld64's -sectcreate option.


  Commit: fb615cf3b9c2d887441a4c0cca326eddc592351a
      https://github.com/llvm/llvm-project/commit/fb615cf3b9c2d887441a4c0cca326eddc592351a
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates (#80842)

According to [expr.prim.id.qual] p3:
> The _nested-name-specifier_ `​::` nominates the global namespace. A
_nested-name-specifier_ with a _computed-type-specifier_ nominates the
type denoted by the _computed-type-specifier_, which shall be a class or
enumeration type. **If a _nested-name-specifier_ `N` is declarative and
has a _simple-template-id_ with a template argument list `A` that
involves a template parameter, let `T` be the template nominated by `N`
without `A`. `T` shall be a class template.**

Meaning, the out-of-line definition of `A::f` in the following example
is ill-formed:
```
template<typename T>
struct A 
{ 
    void f(); 
};

template<typename T>
using B = A<T>;

template<typename T>
void B<T>::f() { } // error: a declarative nested name specifier cannot name an alias template
```

This patch diagnoses such cases as an extension (in group `alias-template-in-declaration-name`).


  Commit: ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
      https://github.com/llvm/llvm-project/commit/ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
  Author: Yuta Saito <kateinoigakukun at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A lld/test/wasm/no-strip-segment.s
    M lld/wasm/InputChunks.h
    M lld/wasm/MarkLive.cpp
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCParser/WasmAsmParser.cpp
    M llvm/lib/MC/MCSectionWasm.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    A llvm/test/CodeGen/WebAssembly/no-strip.ll
    M llvm/test/MC/WebAssembly/no-dead-strip.ll

  Log Message:
  -----------
  [WebAssembly] Add segment RETAIN flag to support private retained data (#81539)

In WebAssembly, we have `WASM_SYMBOL_NO_STRIP` symbol flag to mark the
referenced content as retained. However, the flag is not enough to
express retained data that is not referenced by any symbol. This patch
adds a new segment flag`WASM_SEG_FLAG_RETAIN` to support "private"
linkage data that is retained by llvm.used.

This kind of data that is not referenced but must be retained is usually
used with encapsulation symbols (__start/__stop). Swift runtime uses
this technique and depends on the fact "all metadata sections in live
objects are retained", which was not guaranteed with `--gc-sections`
before this patch.

This is a revised version of https://reviews.llvm.org/D126950 (has been
reverted) based on @MaskRay's comments


  Commit: 807ed697beb438407905f3c728ed8c34ccc2d0d2
      https://github.com/llvm/llvm-project/commit/807ed697beb438407905f3c728ed8c34ccc2d0d2
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir

  Log Message:
  -----------
  [AMDGPU] Use autogenerated test checks for sdwa-preserve.mir test. NFC. (#82380)


  Commit: a9b5753220ef1f24b1b5bb44b5ca485a66c66349
      https://github.com/llvm/llvm-project/commit/a9b5753220ef1f24b1b5bb44b5ca485a66c66349
  Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/test/Transforms/LoopRotate/coroutine.ll

  Log Message:
  -----------
  [LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables outside loops in coroutines (#81937)

Because loops in coroutines may have a co_await statement that
reschedules the coroutine to another thread, we cannot cache addresses
of thread-local variables obtained inside a loop by moving the
computation of thoes addresses outside a loop.

Since LLVM doesn't have a model for coroutine memory accesses, this
patch fixes this bug by disabling this optimization for coroutines in
the same way as https://reviews.llvm.org/D135550 and
https://reviews.llvm.org/D151774.


  Commit: f740366fa68d3cfceda7efe2d573348253fbb1e9
      https://github.com/llvm/llvm-project/commit/f740366fa68d3cfceda7efe2d573348253fbb1e9
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir

  Log Message:
  -----------
  [mlir][sparse] support type conversion from SoA COO to memrefs. (#82398)


  Commit: 0b2b91ee9cf92d08e5eec159545ce4147b8d908e
      https://github.com/llvm/llvm-project/commit/0b2b91ee9cf92d08e5eec159545ce4147b8d908e
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    A llvm/test/DebugInfo/fixed-point.ll

  Log Message:
  -----------
  Reapply "[llvm] Fix assertion error where we didn't check fixed point… (#82412)

… types." (#82285)

This reverts commit d9f9775ac6289271d57671c55166fa0cad61075b.

The test was missing a `REQUIRES: object-emission`.


  Commit: 19e71726eee3f35c3f37f6394fc4b001805f9c9a
      https://github.com/llvm/llvm-project/commit/19e71726eee3f35c3f37f6394fc4b001805f9c9a
  Author: Caroline Tice <cmtice at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [LLVM][unittests] Fix type issue in STLExtrasTest.cpp

Fixes a type error in UniqueNoPred test, that is causing the
ppc64le-lld-multistage-test buildbot to fail.


  Commit: cd4e2466163c46c4e731f8dfc77a9b6673d26c89
      https://github.com/llvm/llvm-project/commit/cd4e2466163c46c4e731f8dfc77a9b6673d26c89
  Author: Lucile Rose Nihlen <luci.the.rose at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  repair and re-enable Windows buildkite presubmit (#82393)


  Commit: a468d02fe9e544f39f6c0428c23b2396df6a35ff
      https://github.com/llvm/llvm-project/commit/a468d02fe9e544f39f6c0428c23b2396df6a35ff
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M flang/CMakeLists.txt
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/CMakeLists.txt
    A flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/cabs.cpp
    A flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/sin.cpp
    A flang/runtime/Float128Math/sqrt.cpp
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    M flang/tools/flang-driver/driver.cpp

  Log Message:
  -----------
  [flang][runtime] Add FortranFloat128Math wrapper library. (#81971)

Implemented few entry points for REAL(16) math in FortranF128Math
static library. It is a thin wrapper around GNU libquadmath.
Flang driver can always link it, and the dependencies will
be brought in as needed.
The final Fortran program/library that uses any of the entry points
will depend on the underlying third-party library - this dependency
has to be resolved somehow. I added FLANG_RUNTIME_F128_MATH_LIB
CMake control so that the compiler driver and the runtime library
can be built using the same third-party library: this way the linker
knows which dependency to link in (under --as-needed).
The compiler distribution should specify which third-party library
is required for linking/running the apps that use REAL(16).
The compiler package may provide a version of the third-party library
or at least a stub library that can be used for linking, but
the final program execution will still require the actual library.


  Commit: ed4bdb86b084bf633770136d005426adeeb2cd57
      https://github.com/llvm/llvm-project/commit/ed4bdb86b084bf633770136d005426adeeb2cd57
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/bit.h
    M libc/test/src/__support/CPP/bit_test.cpp

  Log Message:
  -----------
  [libc][__support][bit] add count_zeros (#82076)


Will be useful for implementing C23 stdbit.h's stdc_count_zeros and
stdc_count_ones.


  Commit: f804e2badf30321121df4d0d7df8e32e10f134cc
      https://github.com/llvm/llvm-project/commit/f804e2badf30321121df4d0d7df8e32e10f134cc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/eh-frame-pcrel-overflow.s

  Log Message:
  -----------
  [ELF] .eh_frame: use errorOrWarn for "PC offset is too large"

errorOrWarn is more conventional for recoverable errors. This error
message does not have to use `fatal`, and we try to remove such uses in
parallel code paths.


  Commit: bb029a5c039766ef83c88a456cf936cec0a1a69b
      https://github.com/llvm/llvm-project/commit/bb029a5c039766ef83c88a456cf936cec0a1a69b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn

  Log Message:
  -----------
  [gn] port 4c6043de0b83 (InstallAPITests)


  Commit: d6850be44d2bfcd79d31fede3b8018357416da03
      https://github.com/llvm/llvm-project/commit/d6850be44d2bfcd79d31fede3b8018357416da03
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [mlir][linalg] Add e2e test for linalg.mmt4d (#81790)

Follow-up for #81422. My intention is to write an e2e test targetting
SVE, but more work is needed. Sending this as an intermiedate step.


  Commit: 7542f60b722d87fb64e911439cb7b64344a48763
      https://github.com/llvm/llvm-project/commit/7542f60b722d87fb64e911439cb7b64344a48763
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn

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


  Commit: 1db2859dd972dfe1284564c43d55c30280f977d5
      https://github.com/llvm/llvm-project/commit/1db2859dd972dfe1284564c43d55c30280f977d5
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Preprocessing/pp005.F
    M flang/test/Preprocessing/pp006.F
    M flang/test/Preprocessing/pp105.F90
    M flang/test/Preprocessing/pp106.F90
    M flang/test/Preprocessing/pp134.F90

  Log Message:
  -----------
  [flang] Handle more use cases reported for issues/78797 (#79628)

I implemented legacy "token pasting" via line continuation for

  call prefix&
    &MACRO&
    &suffix(1)

in a recent patch; this patch addresses the related cases

  call prefix&
    &MACRO&
    &(1)

and

  call &
    &MACRO&
    &suffix(1)

Fixes the latest https://github.com/llvm/llvm-project/issues/79590.


  Commit: 1219214a3bcc51022492928b8bb4ff4bdb75d0cb
      https://github.com/llvm/llvm-project/commit/1219214a3bcc51022492928b8bb4ff4bdb75d0cb
  Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll

  Log Message:
  -----------
  [Hexagon] Update InstrInfo to include LD/ST offsets of vector instructions (#82386)

The hook HexagonInstrInfo::isValidOffset() is updated to evaluate
offsets of missed LD/ST vector instructions.


  Commit: 96b17043507caec02a2ef440b369506122bdeb11
      https://github.com/llvm/llvm-project/commit/96b17043507caec02a2ef440b369506122bdeb11
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang][runtime] Don't write implied ENDFILE for REC=/POS= (#79637)

An implied ENDFILE record, which truncates an external file, should be
written to a sequential unit whenever the file is repositioned for a
BACKSPACE or REWIND statement if a WRITE statement has executed since
the last OPEN/BACKSPACE/REWIND.

But the REC= and POS= positioning specifiers don't apply to sequential
units (they're for direct and stream units, resp.), so don't truncate
the file when they're used.


  Commit: 78762357d449cfcd11426c8e152302a27f2e7d4d
      https://github.com/llvm/llvm-project/commit/78762357d449cfcd11426c8e152302a27f2e7d4d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/lto/codemodel.ll
    M lld/test/ELF/x86-64-section-layout.s

  Log Message:
  -----------
  [ELF] Support placing .lbss/.lrodata/.ldata after .bss

https://reviews.llvm.org/D150510 places .lrodata before .rodata to
minimize the number of permission transitions in the memory image.
However, this layout is less ideal for -fno-pic code (which is still
important).

Small code model -fno-pic code has R_X86_64_32S relocations with a range
of `[0,2**31)` (if we ignore the negative area). Placing `.lrodata`
earlier exerts relocation pressure on such code. Non-x86 64-bit
architectures generally have a similar `[0,2**31)` limitation if they
don't use PC-relative relocations.

If we place .lrodata later, we will need one extra PT_LOAD. Two layouts
are appealing:

* .bss/.lbss/.lrodata/.ldata (GNU ld)
* .bss/.ldata/.lbss/.lrodata

The GNU ld layout has the nice property that there is only one BSS
(except .tbss/.relro_padding). Add -z lrodata-after-bss to support
this layout.

Since a read-only PT_LOAD segment (for large data sections) may appear
after RW PT_LOAD segments. The placement of `_etext` has to be adjusted.

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


  Commit: 5a20a208037d32d52f0c626ea3b199278ff0df0a
      https://github.com/llvm/llvm-project/commit/5a20a208037d32d52f0c626ea3b199278ff0df0a
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/preprocessor.h
    M flang/lib/Semantics/check-directive-structure.h

  Log Message:
  -----------
  [flang] Resolve "possible performance problem" issue spam (#79769)

Four "issues" on GitHub report possible performance problems, likely
detected by static analysis. None of them would ever make a measureable
difference in compilation time, but I'm resolving them to clean up the
open issues list.

Fixes https://github.com/llvm/llvm-project/issues/79703, .../79705,
.../79706, & .../79707.


  Commit: adf838daee63b3245c8822957988da5367e1572c
      https://github.com/llvm/llvm-project/commit/adf838daee63b3245c8822957988da5367e1572c
  Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][Vectorizer] Added support to Vectorize tensor.unpack (#76087)

Added support to vectorized tensor.unpack. The unpack Op is split into a
`vector.transfer_read`, `vector.transpose`, `vector.shape_cast` and a
`vector.transfer_write`.


  Commit: 18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
      https://github.com/llvm/llvm-project/commit/18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-prefer-isa-or-dyn-cast-in-conditionals in OpFormatGen.cpp (NFC)


  Commit: e13bbd1e71797c781a0b242a7c121e5c5c620bc2
      https://github.com/llvm/llvm-project/commit/e13bbd1e71797c781a0b242a7c121e5c5c620bc2
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-use-emplace in RewriterGen.cpp (NFC)


  Commit: dd5696cdefaff2b3ee9c4de3053e31630863588c
      https://github.com/llvm/llvm-project/commit/dd5696cdefaff2b3ee9c4de3053e31630863588c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/unittests/Bytecode/BytecodeTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in BytecodeTest.cpp (NFC)


  Commit: 1893a3743eb971f0ea7657dc119b642a12870a1e
      https://github.com/llvm/llvm-project/commit/1893a3743eb971f0ea7657dc119b642a12870a1e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-unnecessary-value-param in FileLineColLocBreakpointManagerTest.cpp (NFC)


  Commit: 31f45596737f37e16226c039ff6f53406174b9d5
      https://github.com/llvm/llvm-project/commit/31f45596737f37e16226c039ff6f53406174b9d5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-unnecessary-value-param in SerializationTest.cpp (NFC)


  Commit: 563ef306017a47d387f1c36dd562b172c1ad0626
      https://github.com/llvm/llvm-project/commit/563ef306017a47d387f1c36dd562b172c1ad0626
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectPlugin.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Commands/CommandObjectSettings.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  Add the RegisterCompleter to eArgTypeRegisterName in g_argument_table (#82428)

This is a follow-on to:

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

The completer for register names was missing from the argument table. I
somehow missed that the only register completer test was x86_64, so that
test broke.

I added the completer in to the right slot in the argument table, and
added a small completions test that just uses the alias register names.
If we end up having a platform that doesn't define register names, we'll
have to skip this test there, but it should add a sniff test for
register completion that will run most everywhere.


  Commit: be8b2d1ea54f964603b89ab9d4dfad26afebb347
      https://github.com/llvm/llvm-project/commit/be8b2d1ea54f964603b89ab9d4dfad26afebb347
  Author: Moshe <moshberm at Gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h

  Log Message:
  -----------
  Add explicit conversion to fix arm64 builds. (#82429)

Fixes issue preventing builds on ARM-based Macs.

https://github.com/llvm/llvm-project/issues/82205.

Co-authored-by: Moshe Berman <mosheberman at users.noreply.github.com>


  Commit: 2236048f5fdde70dd95e97ccc87437424a371cef
      https://github.com/llvm/llvm-project/commit/2236048f5fdde70dd95e97ccc87437424a371cef
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/resolve17.f90

  Log Message:
  -----------
  [flang] Further refine errors vs warnings for ambiguous generics (#80161)

Ensure that the compiler emits a hard error for a generic interface with
ambiguous specific procedures when it is declared as such, and the
ambiguity doesn't involve optional or unlimited polymorphic dummy data
arguments. But: emit an optional portability warning when the ambiguity
in the generic interface is due to USE association's merging of multiple
generics, as USE association may involve modules not under control of
the programmer; we'll emit a hard error message if any the actual
arguments in a particular reference to the generic procedure doesn't
resolve to exactly one specific procedure. And don't emit warnings when
potential ambiguity due to USE association is taking place in a module
file; the warnings, if any, will have been produced when the module file
was compiled.


  Commit: 39cab1a0a0d68cb33142099c320674fa54e11a91
      https://github.com/llvm/llvm-project/commit/39cab1a0a0d68cb33142099c320674fa54e11a91
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Add v2bf16 for opsel immediate folding (#82435)

This was previously enabled since v2bf16 was represented by v2f16. As of
now it is NFC since we only have dot instructions which could use it,
but currently folding is guarded by the hasDOTOpSelHazard().


  Commit: 54b014b3f76e1c0060bd129e1196b6c729cb30b0
      https://github.com/llvm/llvm-project/commit/54b014b3f76e1c0060bd129e1196b6c729cb30b0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Use '@' rather than ':' for separator in -sectcreate.

This should avoid the issue with Windows paths that have caused failures on
some builders.


  Commit: 3ff805540173b83d73b673b39ac5760fc19bac15
      https://github.com/llvm/llvm-project/commit/3ff805540173b83d73b673b39ac5760fc19bac15
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][ScanDeps] Canonicalize -D and -U flags (#82298)

Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.

This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.


  Commit: d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
      https://github.com/llvm/llvm-project/commit/d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  AMDGPU: Use HasFP8ConversionInsts appropriately, NFC (#82433)

The corresponding fp8 conversion instructions are available for a
subtarget when and only when the subtarget "HasFP8ConversionInsts". We
should not assume all the future subtargets (gfx12+) have
FP8ConversionInsts.
  In this patch, we use OtherPredicates to carry HasFP8ConversionInsts
feature. This is because SubtargetPredicate is not copied from pseudos
to reals for DPP16 and DPP6. To avoid overriding OtherPredicates in a
few places, we use the newly introduced True16Predicate to hold
UseRealTrue16Insts instead.
 This work repalces the inadvertently closed pull request:
https://github.com/llvm/llvm-project/pull/82024


  Commit: 53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
      https://github.com/llvm/llvm-project/commit/53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/test/SemaCUDA/float16.cu

  Log Message:
  -----------
  [NVPTX] Enable the _Float16 type for NVPTX compilation (#82436)

Summary:
The PTX target supports the f16 type natively and we alreaqdy have a few
LLVM backend tests that support the LLVM-IR. We should be able to enable
this for generic use. This is done prior the f16 math functions being
written in the GPU libc case.


  Commit: dc672d2f6a48fb3d502c260eb353f389723ec417
      https://github.com/llvm/llvm-project/commit/dc672d2f6a48fb3d502c260eb353f389723ec417
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  Remove the "generic" register completion test. (#82445)

For reasons that are not clear to me, on arm64, the alias registers are
listed in list of register info's we do completion against, but for
x86_64 they are not. Maybe this is a difference in how the dynamic
register builders work for the two systems. Anyway, it doesn't look
possible to make a generic one.


  Commit: 646c7e528325f239638c5e758631b999993510d8
      https://github.com/llvm/llvm-project/commit/646c7e528325f239638c5e758631b999993510d8
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] add more stdbit.h entrypoints to additional targets (#82440)

stdbit.h isn't complete yet, but looking to turn these on on more
targets for
earlier feedback.


  Commit: ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
      https://github.com/llvm/llvm-project/commit/ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in

  Log Message:
  -----------
  Fix llvm-x86_64-debian-dylib buildbot

This was broken by 91a384621e5b762d9c173ffd247cfeadd5f436a2.


  Commit: 98db8d0cb78e9dd3f78427d519ae8dd175b70b03
      https://github.com/llvm/llvm-project/commit/98db8d0cb78e9dd3f78427d519ae8dd175b70b03
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt

  Log Message:
  -----------
  [AMDGPU] Fix v_dot2_f16_f16/v_dot2_bf16_bf16 operands (#82423)

src0 and src1 are packed f16/bf16, we are printing literals like
0x40002000, but we cannot parse it.


  Commit: f78027dfeca9925efe7e025beb05b4cef8a1581a
      https://github.com/llvm/llvm-project/commit/f78027dfeca9925efe7e025beb05b4cef8a1581a
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir

  Log Message:
  -----------
  [mlir][mesh] Better op result names (#82408)

Implement OpAsmOpInterface for most ops to increase IR readability. For
example `mesh.process_linear_index` would produce a value with name
`proc_linear_idx`.


  Commit: 4ca0480a4fefe25c2f6e36c04f02998af79274a0
      https://github.com/llvm/llvm-project/commit/4ca0480a4fefe25c2f6e36c04f02998af79274a0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp

  Log Message:
  -----------
  [Driver,BareMetal] Replace -lclang_rt.builtins{,-$arch}.a with an absolute path (#82424)

The generic `tools::AddRunTimeLibs` uses an absolute path. Change
BareMetal to match.

I believe users are not supposed to place other files under the
directory containing `libclang_rt.builtins-$arch.a`. If they rely on the
implicit -L, they now need to explicitly specify -L.


  Commit: 5248a9872454065b5e4d44ca2f29329df7c2d28f
      https://github.com/llvm/llvm-project/commit/5248a9872454065b5e4d44ca2f29329df7c2d28f
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir

  Log Message:
  -----------
  [mlir][sparse] support SoA COO in codegen path. (#82439)

*NOTE*: the `SoA` property only makes a difference on codegen path, and
is ignored in libgen path at the moment (only SoA COO is supported).


  Commit: 7c071c23ffe934d863f3a1863d77b41f7e4d2b51
      https://github.com/llvm/llvm-project/commit/7c071c23ffe934d863f3a1863d77b41f7e4d2b51
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [gn] port ff4d6c64ee42


  Commit: 031f9f331723e6bebc405ffdee4b8a87a5fc0472
      https://github.com/llvm/llvm-project/commit/031f9f331723e6bebc405ffdee4b8a87a5fc0472
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Ignore calls to WTF's container methods (#82156)

This PR makes the checker ignore / skip calls to methods of Web Template
Platform's container types such as HashMap, HashSet, WeakHashSet,
WeakHashMap, Vector, etc...


  Commit: 84ed55e11f8d8f434395f869a1caa8485dd0c187
      https://github.com/llvm/llvm-project/commit/84ed55e11f8d8f434395f869a1caa8485dd0c187
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    R clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  Revert "[clang][ScanDeps] Canonicalize -D and -U flags (#82298)"

This reverts commit 3ff805540173b83d73b673b39ac5760fc19bac15.

Test is failing on bots, see
https://github.com/llvm/llvm-project/pull/82298#issuecomment-1955664462


  Commit: 8603a7b21f301508d3a6af9f2238c7b92ce19617
      https://github.com/llvm/llvm-project/commit/8603a7b21f301508d3a6af9f2238c7b92ce19617
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Add a query for exact VLEN to RISCVSubtarget [nfc]

We've now got enough of these in tree that we can see which patterns
appear to be idiomatic.  As such, extract a helper for checking
if we know the exact VLEN.


  Commit: b9a071dc3995c1599724447b9db8ced449318839
      https://github.com/llvm/llvm-project/commit/b9a071dc3995c1599724447b9db8ced449318839
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir

  Log Message:
  -----------
  [mlir][Linalg] Add folders for `linalg.transpose` (#81709)

This PR adds folders for linalg transpose ops with only one dimension or
an identity permutation. The folding removes the `linalg.transpose` and
just propagates the input tensor.


  Commit: 2836d8edbfbcd461b25101ed58f93c862d65903a
      https://github.com/llvm/llvm-project/commit/2836d8edbfbcd461b25101ed58f93c862d65903a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M .github/workflows/release-tasks.yml
    M llvm/utils/release/github-upload-release.py

  Log Message:
  -----------
  [workflows] Fix permissions check for creating new releases (#81163)

The default GitHub token does not have read permissions on the org, so
we need to use a custom token in order to read the members of the
llvm-release-managers team.


  Commit: 5a45d32b5b42dc4ed4852b0045391a1c2be41b48
      https://github.com/llvm/llvm-project/commit/5a45d32b5b42dc4ed4852b0045391a1c2be41b48
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp

  Log Message:
  -----------
  [lldb] Add more ways to find the .dwp file. (#81067)

When using split DWARF we can run into many different ways to store
debug info:
- lldb loads `<exe>` which contains skeleton DWARF and needs to find
`<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.debug.dwp`
- lldb loads `<exe>.debug` and needs to find `<exe>.dwp`

Previously we only handled the first two cases. This patch adds support
for the latter two.


  Commit: f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
      https://github.com/llvm/llvm-project/commit/f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/test/Dialect/SparseTensor/external.mlir

  Log Message:
  -----------
  [mlir][sparse] assemble SoA COO correctly. (#82449)


  Commit: c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
      https://github.com/llvm/llvm-project/commit/c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
  Author: Owen Anderson <resistor at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/test/CodeGen/AArch64/extractvector-of-load.mir

  Log Message:
  -----------
  [GlobalISel] Make sure to check for load barriers when merging G_EXTRACT_VECTOR_ELT into G_LOAD. (#82306)

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


  Commit: 03203b79c6247465850ee6e9f3e2399afc35720b
      https://github.com/llvm/llvm-project/commit/03203b79c6247465850ee6e9f3e2399afc35720b
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
    A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
    A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll

  Log Message:
  -----------
  [SPIR-V] Fix vloadn OpenCL builtin lowering (#81148)

This pull request fixes an issue with missing vector element count
immediate in OpExtInst calls and adds a case for generating bitcasts
before GEPs for kernel arguments of non-matching pointer type. The new
LITs are based on basic/vload_local and basic/vload_global OpenCL CTS
tests. The tests after this change pass SPIR-V validation.


  Commit: 79889734b940356ab3381423c93ae06f22e772c9
      https://github.com/llvm/llvm-project/commit/79889734b940356ab3381423c93ae06f22e772c9
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    A llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/ConvergenceVerifier.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A 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
    M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td

  Log Message:
  -----------
  Implement convergence control in MIR using SelectionDAG (#71785)

LLVM function calls carry convergence control tokens as operand bundles, where
the tokens themselves are produced by convergence control intrinsics. This patch
implements convergence control tokens in MIR as follows:

1. Introduce target-independent ISD opcodes and MIR opcodes for convergence
   control intrinsics.
2. Model token values as untyped virtual registers in MIR.

The change also introduces an additional ISD opcode CONVERGENCECTRL_GLUE and a
corresponding machine opcode with the same spelling. This glues the convergence
control token to SDNodes that represent calls to intrinsics. The glued token is
later translated to an implicit argument in the MIR.

The lowering of calls to user-defined functions is target-specific. On AMDGPU,
the convergence control operand bundle at a non-intrinsic call is translated to
an explicit argument to the SI_CALL_ISEL instruction. Post-selection adjustment
converts this explicit argument to an implicit argument on the SI_CALL
instruction.


  Commit: 823102ab1e357e84846f03f2d6df5265271061bc
      https://github.com/llvm/llvm-project/commit/823102ab1e357e84846f03f2d6df5265271061bc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [gn build] Port 79889734b940


  Commit: 086280f4d1c085c8e02cd3986bf87529ec7162c5
      https://github.com/llvm/llvm-project/commit/086280f4d1c085c8e02cd3986bf87529ec7162c5
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix linking error of SIISelLowering.cpp.o (NFC)

ld.lld: error: undefined symbol: llvm::MachineOperand::dump() const
>>> referenced by SIISelLowering.cpp


  Commit: e4057aacc52bf8b352898504be8e7f8190841aac
      https://github.com/llvm/llvm-project/commit/e4057aacc52bf8b352898504be8e7f8190841aac
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [X86] Add missing pass initialization calls. (#82447)

If the passes aren't registered, they don't show up in print-after-all.


  Commit: b8ed69ecc01385c03844e8fa05ba418a5670d322
      https://github.com/llvm/llvm-project/commit/b8ed69ecc01385c03844e8fa05ba418a5670d322
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/test/CodeGen/RISCV/readsteadycounter.ll

  Log Message:
  -----------
  [RISCV] Support llvm.readsteadycounter intrinsic

This intrinsic was introduced by #81331, which is a lot like
`llvm.readcyclecounter`.

For the RISCV implementation, we rename `ReadCycleWide` pseudo to
`ReadCounterWide` and make it accept two operands (the low and high
parts of the counter). As for legalization and lowering parts, we
reuse the code of `ISD::READCYCLECOUNTER` (make it able to handle
both intrinsics), and we use `time` CSR for `ISD::READSTEADYCOUNTER`.

Tests using Clang builtins are runned on real hardware and it works
as excepted.

Reviewers: asb, MaskRay, dtcxzyw, preames, topperc, jhuber6

Reviewed By: jhuber6, asb, MaskRay, dtcxzyw

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


  Commit: a2afcd5721869d1d03c8146bae3885b3385ba15e
      https://github.com/llvm/llvm-project/commit/a2afcd5721869d1d03c8146bae3885b3385ba15e
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    R llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/ConvergenceVerifier.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    R 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
    M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
    R llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
    R llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    R llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
    R llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    R llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
    R llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td

  Log Message:
  -----------
  Revert "Implement convergence control in MIR using SelectionDAG (#71785)"

This reverts commit 79889734b940356ab3381423c93ae06f22e772c9.

Encountered multiple buildbot failures.


  Commit: 5375cbfb6255ed19a6bed7065a697905ca65d575
      https://github.com/llvm/llvm-project/commit/5375cbfb6255ed19a6bed7065a697905ca65d575
  Author: Matteo Franciolini <mfranciolini at tesla.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp

  Log Message:
  -----------
  Fix pipeline-invalid.mlir bytecode roundtrip test (#82366)

If an op was not contained in a region when was written to bytecode,
we don't have an initialized valueScope with forward references to
define.


  Commit: 44b717df4d837ce4e8d76b00cee2e122ae6ad28c
      https://github.com/llvm/llvm-project/commit/44b717df4d837ce4e8d76b00cee2e122ae6ad28c
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir

  Log Message:
  -----------
  [GlobalISel] Clamp out-of-range G_EXTRACT_VECTOR_ELT constant indices when converting them into loads. (#82460)

This avoid turning a poison value into a segfault, and fixes
https://github.com/llvm/llvm-project/issues/78383


  Commit: ec516ff3e6122069b36f32a6db8bb3dc672133fc
      https://github.com/llvm/llvm-project/commit/ec516ff3e6122069b36f32a6db8bb3dc672133fc
  Author: Jooyung Han <jooyung.han at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M compiler-rt/lib/builtins/os_version_check.c

  Log Message:
  -----------
  Fix __isOSVersionAtLeast for Android (#80496)

Allow pre-release APIs on pre-release devices.

The current implementation requires __ANDROID_API_FUTURE__ to use new
APIs on pre-release system. This makes it hard to maintain the codebase
because it should be switched a concrete version (e.g. __ANDROID_API_X__
on release of X).

Instead, we can just allow pre-release APIs on pre-release system
without mandating the major version of __ANDROID_API_FUTURE__.

Note that this doesn't make API guards just no-op in pre-release builds.
We can still rely on its compile-time checks and it still works as
expected with release builds. Even with pre-release builds, it's the
same as before because we would pass __ANDROID_API_FUTURE__ to make the
calls anyway.


  Commit: 04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
      https://github.com/llvm/llvm-project/commit/04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [clang-format] Fix RemoveSemicolon for empty functions (#82278)

Fixes #79833.


  Commit: ab7dcb0ef634ef370618aa244ad28d8c654b894c
      https://github.com/llvm/llvm-project/commit/ab7dcb0ef634ef370618aa244ad28d8c654b894c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

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


  Commit: 8b23d68a621f16b6d66e68cb64b99f1221b9df2c
      https://github.com/llvm/llvm-project/commit/8b23d68a621f16b6d66e68cb64b99f1221b9df2c
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp

  Log Message:
  -----------
  [Analyzer] Support RefAllowingPartiallyDestroyed and RefPtrAllowingPartiallyDestroyed (#82209)

This PR adds the support for WebKit's RefAllowingPartiallyDestroyed and
RefPtrAllowingPartiallyDestroyed, which are smart pointer types which
may be used after the destructor had started running.


  Commit: a445474d3fdec2bdaaa42a6dc83c2fb01867076f
      https://github.com/llvm/llvm-project/commit/a445474d3fdec2bdaaa42a6dc83c2fb01867076f
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use TImmLeaf for csr_sysreg (#82463)

And use `getTargetConstant` to create operands.

This PR addresses comments after committing #82322.


  Commit: 351e4fa2bfe5b13073c1675a1b1693ea766c1e25
      https://github.com/llvm/llvm-project/commit/351e4fa2bfe5b13073c1675a1b1693ea766c1e25
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Fix assert when transforming a pack indexing type. (#82234)

When a pack in a pack indexing specifier cannot be immediately expanded,
we were creating an incomplete TypeLoc
(causing assertion failure).

As we do not keep track of typelocs of expanded elements, we create a
trivial typeloc

Fixes #81697


  Commit: d3fb596c9720b8bf192823730e9fccc3d86de9a8
      https://github.com/llvm/llvm-project/commit/d3fb596c9720b8bf192823730e9fccc3d86de9a8
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Fix scheduling info for compressed LD/ST of FP types. (#82339)


  Commit: 7ce1a11f7f436234ce3eaf11c74043937a1ec36b
      https://github.com/llvm/llvm-project/commit/7ce1a11f7f436234ce3eaf11c74043937a1ec36b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/test/Transforms/InstCombine/dependent-ivs.ll

  Log Message:
  -----------
  [InstCombine] Fold dependent IVs (#81151)

Fold `iv = phi(start, iv.next = iv2.next + start)` where `iv2 =
phi(iv2.start, iv2.next = iv2 + iv2.step)`
to  `iv = iv2 + start` removing one induction variable from the loop.

Proof: https://alive2.llvm.org/ce/z/hfmwgf

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


  Commit: 1246b64faa5eea1553c1c1aad425c31b701fa6ea
      https://github.com/llvm/llvm-project/commit/1246b64faa5eea1553c1c1aad425c31b701fa6ea
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/std-c-library-functions-path-notes.c
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-noopen.c

  Log Message:
  -----------
  [clang][analyzer] Change modeling of 'fileno' in checkers. (#81842)

Function 'fileno' fails only if invalid pointer is passed, this is a
case that is often ignored in source code. The failure case leads to
many "false positive" reports when `fileno` returns -1 and this is not
checked in the program. Because this, the function is now assumed
to not fail (this is assumption that the passed file pointer is correct).
The change affects `StdCLibraryFunctionsChecker` and
`StreamChecker`.


  Commit: 02fad0565fe7f061bdaa79ff33b29f64b2c290eb
      https://github.com/llvm/llvm-project/commit/02fad0565fe7f061bdaa79ff33b29f64b2c290eb
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/select.ll

  Log Message:
  -----------
  [RISCV][SDAG] Fold `select c, ~x, x` into `xor -c, x` (#82462)

This patch lowers select of constants if `TrueV == ~FalseV`.
Address the comment in
https://github.com/llvm/llvm-project/pull/82456#discussion_r1496881603.


  Commit: 8b84de26dfc1ba742b427e45bc900bc233fd58e1
      https://github.com/llvm/llvm-project/commit/8b84de26dfc1ba742b427e45bc900bc233fd58e1
  Author: Clement Courbet <courbet at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetPfmCounters.td
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
    A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [llvm-exegesis][NFC] Refactor all `ValidationEvent` info in a single … (#82256)

…table.

All data is derived from a single table rather than being spread out
over an enum, a table and the main entry point.

This is intended as a replacement for #82092.


  Commit: 50373506d570f3db1e1af7c13d46409736452f3a
      https://github.com/llvm/llvm-project/commit/50373506d570f3db1e1af7c13d46409736452f3a
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-using.cpp

  Log Message:
  -----------
  [clang] Preserve found-decl when constructing VarTemplateIds (#82265)


  Commit: f8c1af1d096b97a42e4ab178c93accfc4e5fa288
      https://github.com/llvm/llvm-project/commit/f8c1af1d096b97a42e4ab178c93accfc4e5fa288
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8b84de26dfc1


  Commit: 4725993f1a812c86b9ad79d229a015d0216ff550
      https://github.com/llvm/llvm-project/commit/4725993f1a812c86b9ad79d229a015d0216ff550
  Author: martinboehme <mboehme at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 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
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Correctly handle `InitListExpr` of union type. (#82348)


  Commit: 0c13a896dfc930a09e082ad83070e223cfd9a4f9
      https://github.com/llvm/llvm-project/commit/0c13a896dfc930a09e082ad83070e223cfd9a4f9
  Author: Kohei Yamaguchi <fix7211 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/docs/Dialects/OpenACCDialect.md
    M mlir/docs/Passes.md
    M mlir/docs/Tutorials/transform/Ch4.md

  Log Message:
  -----------
  [mlir][docs] Fix broken docs (#82308)

- Fixed OpenACC's spec link format
- Add missed `OpenACCPasses.md` into Passes.md
- Add missed `MyExtensionCh4.md` into Ch4.md of tutorial of transform


  Commit: 07292b7203e31fb90d9180bfccde0d4e84be2245
      https://github.com/llvm/llvm-project/commit/07292b7203e31fb90d9180bfccde0d4e84be2245
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/LoopIdiom/pr82337.ll

  Log Message:
  -----------
  [LIR][SCEVExpander] Restore original flags when aborting transform (#82362)

SCEVExpanderCleaner will currently remove instructions created by
SCEVExpander, but not restore poison generating flags that it may have
dropped. As such, running LIR can currently spuriously drop flags
without performing any transforms.

Fix this by keeping track of original instruction flags in SCEVExpander.

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


  Commit: 1ff1e823836e6ed741c69681a2af9f1c3871e8c2
      https://github.com/llvm/llvm-project/commit/1ff1e823836e6ed741c69681a2af9f1c3871e8c2
  Author: Tuan Chuong Goh <chuong.goh at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/bitcast.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Pre-Commit Tests for Refactor BITCAST


  Commit: 7242896233635e553694507e6584decb43ee4a16
      https://github.com/llvm/llvm-project/commit/7242896233635e553694507e6584decb43ee4a16
  Author: David Green <david.green at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/Transforms/simplifyintrinsics.fir

  Log Message:
  -----------
  [Flang] Attempt to fix Nan handling in Minloc/Maxloc intrinsic simplification (#82313)

In certain case "extreme" values like Nan, Inf and 0xffffffff could lead
to generating different code via the inline-generated intrinsics vs the
versions in the runtimes (and other compilers like gfortran). There are
some examples I was using for testing in
https://godbolt.org/z/x4EfqEss5.

This changes the generation for the intrinsics to be more like the
runtimes, using a condition that is similar to:
  isFirst || (prev != prev && elem == elem) || elem < prev
The middle part is only used for floating point operations, and checks
if the values are Nan. This should then hopefully make the logic closer
to - return the first element with the lowest value, with Nans ignored
unless there are only Nans. The initial limit value for floats are also
changed from the largest float to Inf, to make sure it is handled
correctly.

The integer reductions are also changed to use a similar scheme to make
sure they work with masked values. This means that the preamble after
the loop can be removed.


  Commit: 5db49f726619b943d8201ef3867393923836cb2f
      https://github.com/llvm/llvm-project/commit/5db49f726619b943d8201ef3867393923836cb2f
  Author: Nick Anderson <nickleus27 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll

  Log Message:
  -----------
  [GlobalISel] replace right identity X * -1.0 with fneg(x) (#80526)

follow up patch to #78673

@Pierre-vh @jayfoad @arsenm Could you review when you have a chance.


  Commit: 91f11611337dde9a8e0a5e19240f6bb4671922c6
      https://github.com/llvm/llvm-project/commit/91f11611337dde9a8e0a5e19240f6bb4671922c6
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    A mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
    M mlir/python/CMakeLists.txt
    A mlir/python/mlir/dialects/transform/interpreter/__init__.py
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/transform_interpreter.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py
    A mlir/test/python/dialects/transform_interpreter.py
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel

  Log Message:
  -----------
  [mlir] expose transform interpreter to Python (#82365)

Transform interpreter functionality can be used standalone without going
through the interpreter pass, make it available in Python.


  Commit: 48101edc8d57364d9c9f9e2829f0d4e975c0ade5
      https://github.com/llvm/llvm-project/commit/48101edc8d57364d9c9f9e2829f0d4e975c0ade5
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/MC/AArch64/armv9.4a-gcs.s
    M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt

  Log Message:
  -----------
  [AArch64] Fix syntax of gcsstr and gcssttr instructions (#82385)

The address register should be surrounded by square brackets, like in
all the other str instructions.

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


  Commit: 35593f6613445fe4a8daa6e7589deec82fcd4d2b
      https://github.com/llvm/llvm-project/commit/35593f6613445fe4a8daa6e7589deec82fcd4d2b
  Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/test/mlir-tblgen/op-python-bindings.td
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp

  Log Message:
  -----------
  [MLIR][Python] Use isinstance() instead of issubclass(type(...), ...) (#82345)

The two forms are equivalent, so there is no reason to use the longer
one.


  Commit: 3533fe783df4b417f16077edb70099010d2d7eef
      https://github.com/llvm/llvm-project/commit/3533fe783df4b417f16077edb70099010d2d7eef
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-using.cpp

  Log Message:
  -----------
  Revert "[clang] Preserve found-decl when constructing VarTemplateIds (#82265)"

This reverts commit 50373506d570f3db1e1af7c13d46409736452f3a. Broke
include-cleaner tests


  Commit: d31406b394307e5629372271f797f55c7ca9bbd3
      https://github.com/llvm/llvm-project/commit/d31406b394307e5629372271f797f55c7ca9bbd3
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/docs/FortranLLVMTestSuite.md

  Log Message:
  -----------
  [flang][docs] Update llvm-test-suite docs (#81596)

With some missing config options and a link to the test suite docs that
explain how to setup `ISO_FORTRAN_C_HEADER` and set the stop message
variable.


  Commit: bdeb3d47d185aedbe6af5eda5c91310e37938f5b
      https://github.com/llvm/llvm-project/commit/bdeb3d47d185aedbe6af5eda5c91310e37938f5b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/sadd_sat_vec.ll
    M llvm/test/CodeGen/X86/ssub_sat_vec.ll

  Log Message:
  -----------
  [X86] Regenerate saddsat/ssubsat vector tests

Adds missing avx512 constant broadcast comments


  Commit: 3cb4f62de0eba62edd730d0ed80fd90d2826763d
      https://github.com/llvm/llvm-project/commit/3cb4f62de0eba62edd730d0ed80fd90d2826763d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll

  Log Message:
  -----------
  [X86] Regenerate vector tests to add missing avx512 constant broadcast comments


  Commit: a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
      https://github.com/llvm/llvm-project/commit/a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
    M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
    M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
    M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll

  Log Message:
  -----------
  [InstCombine] Regenerate some fcmp tests to use the update_test_checks.py script


  Commit: 6d160a49c2e7f36367de3f61f0460e28921450d5
      https://github.com/llvm/llvm-project/commit/6d160a49c2e7f36367de3f61f0460e28921450d5
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU][TableGen][NFC] Combine predicates without using classes. (#82346)

Saves generating ~1200 instances of the PredConcat TableGen class.

Also removes the default predicates from resulting predicate lists.


  Commit: 6ce5159945997126b8a0f40f55e876c9fd882fc5
      https://github.com/llvm/llvm-project/commit/6ce5159945997126b8a0f40f55e876c9fd882fc5
  Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
    M mlir/python/mlir/dialects/_ods_common.py
    M mlir/python/mlir/dialects/arith.py
    M mlir/test/mlir-tblgen/op-python-bindings.td
    M mlir/test/python/ir/value.py
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp

  Log Message:
  -----------
  [MLIR][Python] Use ir.Value directly instead of _SubClassValueT (#82341)

_SubClassValueT is only useful when it is has >1 usage in a signature.
This was not true for the signatures produced by tblgen.

For example

def call(result, callee, operands_, *, loc=None, ip=None) ->
_SubClassValueT:
        ...

here a type checker does not have enough information to infer a type
argument for _SubClassValueT, and thus effectively treats it as Any.


  Commit: b1080e187e91576ac6d44087f072583e101f0f51
      https://github.com/llvm/llvm-project/commit/b1080e187e91576ac6d44087f072583e101f0f51
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp

  Log Message:
  -----------
  [clang][Interp] Convert complex initializers to rvalues

We internalle handle these via pointers, but we need to return
them as RValues in initializers.


  Commit: 40fae67a50e08e6b5b5300210021218e404d63a7
      https://github.com/llvm/llvm-project/commit/40fae67a50e08e6b5b5300210021218e404d63a7
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/default-none.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix to construct-names inside OpenMP construct with default(none) (#82479)

When a do loop with a construct-name is used inside OpenMP construct
with default(none), an incorrect error will be raised as below.

```
program cn_and_default
    implicit none
    integer :: i

    !$omp parallel default(none)
        loop: do i = 1, 10
        end do loop
    !$omp end parallel
end program
```

> The DEFAULT(NONE) clause requires that 'loop' must be listed in a
data-sharing attribute clause

This patch fixes this by adding a condition to check and skip processing
construct-names.


  Commit: e209178d6402348414b69941c77d621919b3b7ab
      https://github.com/llvm/llvm-project/commit/e209178d6402348414b69941c77d621919b3b7ab
  Author: Vedant Paranjape <vedant.paranjape at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll

  Log Message:
  -----------
  [SimplifyIndVar] LCSSA form is destroyed by simplifyLoopIVs, preserve it (#78696)

In LoopUnroll, peelLoop is called on the loop. After the loop is peeled
it calls simplifyLoopAfterUnroll on the loop. This call to
simplifyLoopAfterUnroll doesn't preserve the LCSSA form of the parent
loop and thus during the next call to peelLoop the LCSSA form is already
broken.

LoopPeel util takes in the PreserveLCSSA argument and it passes
on the same argument to simplifyLoop which checks if the loop is in a
valid LCSSA form, when (PreserveLCSSA = true).

This causes an assert in simplifyLoop when (PreserveLCSSA = true), as
during the last call LCSSA for the loop wasn't preserved, and thus
crashes at the following assert.

assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
            "Requested to preserve LCSSA, but it's already broken.");

Upon debugging, it is evident that simplifyLoopIVs call inside
simplifyLoopAfterUnroll breaks the LCSSA form. This patch fixes
llvm#77118, it checks if the replacement of IV Users with Loop Invariant
preserves the LCSSA form. If it does not, it emits the required LCSSA
Phi instructions.


  Commit: 02e17ab1b97a8c0dc22facc8c66850e5aca28b60
      https://github.com/llvm/llvm-project/commit/02e17ab1b97a8c0dc22facc8c66850e5aca28b60
  Author: Lukacma <lukac.marian9 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A clang/test/Sema/aarch64-sme2p1-diagnostics.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h

  Log Message:
  -----------
  [AArch64] Added feature dependencies for SME2p1 to TargetParser (#81860)

This patches adds missing target-feature dependencies for SME2.1


  Commit: 28fb2b33c2f43f6a8057e398eb899eb61e6652e9
      https://github.com/llvm/llvm-project/commit/28fb2b33c2f43f6a8057e398eb899eb61e6652e9
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/Analysis.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/lib/CodeGen/Analysis.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/unittests/Support/TypeSizeTest.cpp

  Log Message:
  -----------
  [LLVM][SelectionDAG] Reduce number of ComputeValueVTs variants. (#75614)

This is another step in the direction of fixing the `Fixed(0) !=
Scalable(0)` bugbear, although whilst weird I don't believe it's causing
us any real issues.


  Commit: c50ca3daa445f7e54343fb365339181185ee0f2c
      https://github.com/llvm/llvm-project/commit/c50ca3daa445f7e54343fb365339181185ee0f2c
  Author: Chia <sun1011jacobi at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll

  Log Message:
  -----------
  [RISCV][ISel] Combine vector fadd/fsub/fmul with fp extend. (#81248)

Extend D133739 and #76785 to support vector widening floating-point
add/sub/mul instructions.

Specifically, this patch works for the below optimization case:

### Source code
```
define void @vfwmul_v2f32_multiple_users(ptr %x, ptr %y, ptr %z, <2 x float> %a, <2 x float> %b, <2 x float> %b2) {
  %c = fpext <2 x float> %a to <2 x double>
  %d = fpext <2 x float> %b to <2 x double>
  %d2 = fpext <2 x float> %b2 to <2 x double>
  %e = fmul <2 x double> %c, %d
  %f = fadd <2 x double> %c, %d2
  %g = fsub <2 x double> %d, %d2
  store <2 x double> %e, ptr %x
  store <2 x double> %f, ptr %y
  store <2 x double> %g, ptr %z
  ret void
}
```

### Before this patch
[Compiler Explorer](https://godbolt.org/z/aaEMs5s9h)
```
vfwmul_v2f32_multiple_users:
        vsetivli        zero, 2, e32, mf2, ta, ma
        vfwcvt.f.f.v    v11, v8
        vfwcvt.f.f.v    v8, v9
        vfwcvt.f.f.v    v9, v10
        vsetvli zero, zero, e64, m1, ta, ma
        vfmul.vv        v10, v11, v8
        vfadd.vv        v11, v11, v9
        vfsub.vv        v8, v8, v9
        vse64.v v10, (a0)
        vse64.v v11, (a1)
        vse64.v v8, (a2)
        ret
```

### After this patch
```
vfwmul_v2f32_multiple_users:
        vsetivli zero, 2, e32, mf2, ta, ma
        vfwmul.vv v11, v8, v9
        vfwadd.vv v12, v8, v10
        vfwsub.vv v8, v9, v10
        vse64.v v11, (a0)
        vse64.v v12, (a1)
        vse64.v v8, (a2)
```


  Commit: 6e20cb5524034861d67a1d898907b4755b240f16
      https://github.com/llvm/llvm-project/commit/6e20cb5524034861d67a1d898907b4755b240f16
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/test/CAPI/transform_interpreter.c

  Log Message:
  -----------
  [mlir] fix memory leak

Fix a leak of the root operation not being deleted in the recently
introduced transform_interpreter.c.


  Commit: dd3e0a4643670f33850278ad281a358bbdd04e92
      https://github.com/llvm/llvm-project/commit/dd3e0a4643670f33850278ad281a358bbdd04e92
  Author: hev <wangrui at loongson.cn>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
    A llvm/test/CodeGen/LoongArch/addrspacecast.ll

  Log Message:
  -----------
  [LoongArch] Assume no-op addrspacecasts by default (#82332)

This PR indicates that `addrspacecasts` are always no-ops on LoongArch.

Fixes #82330


  Commit: b5437c8ab2af277548ee59b6838e365d35a0d926
      https://github.com/llvm/llvm-project/commit/b5437c8ab2af277548ee59b6838e365d35a0d926
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Opcodes.td
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][Interp] Emit const references for Float arguments (#79753)

The Float print type is backed by the Floating class, which in turn uses
APFloat, which might heap-allocate memory, so might be expensive to
copy.

Add an 'AsRef' bit to the ArgType tablegen class, which defines whether
we pass the argument around by copy or by reference.


  Commit: 654e65d3b20835b4959d4d591e179814914ab5e2
      https://github.com/llvm/llvm-project/commit/654e65d3b20835b4959d4d591e179814914ab5e2
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [mlir] Apply ClangTidy performance fix.

Use const reference for loop variable.


  Commit: 0fb3d4296f3a3ebe36661643155f4ee35a3167b7
      https://github.com/llvm/llvm-project/commit/0fb3d4296f3a3ebe36661643155f4ee35a3167b7
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/bitcast.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Refactor BITCAST Legalization (#80505)

Ensure BITCAST is only legal for types with the same amount of bits.
Enable BITCAST to work with non-legal vector types as well.


  Commit: 69279a8413e08dd24168bad961975e79a50d9c19
      https://github.com/llvm/llvm-project/commit/69279a8413e08dd24168bad961975e79a50d9c19
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/atomic_wait.bench.cpp
    A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp

  Log Message:
  -----------
  [libc++][test] add benchmarks for `std::atomic::wait` (#70571)

For the mutex vs atomic  test:

Old: `unique_lock<mutex>`
New: a lock implemented with `atomic::wait`

On 10 years old Intel Macbook, `atomic::wait` is 50% slower than `mutex`

```
Benchmark                                             Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024                   +0.3735         +2.4497       1724726       2368935        153159        528354
BM_multi_thread_lock_unlock/2048                   +0.4174         +1.2487       3410538       4834012        435062        978311
BM_multi_thread_lock_unlock/4096                   +0.5256         +1.9824       6903783      10532681        590266       1760405
BM_multi_thread_lock_unlock/8192                   +0.5415         +0.4578      14536391      22408399       1456328       2123075
BM_multi_thread_lock_unlock/16384                  +0.5663         +0.0513      30181991      47275023       3316850       3486950
BM_multi_thread_lock_unlock/32768                  +0.5635         -0.2081      62027663      96977726       6477076       5129190
BM_multi_thread_lock_unlock/65536                  +0.5228         -0.3273     129637761     197408739      11341630       7628955
BM_multi_thread_lock_unlock/131072                 +0.4825         -0.1070     266256295     394712193      10379800       9269200
BM_multi_thread_lock_unlock/262144                 +0.4793         +0.2795     539732340     798409253      10802200      13821100
BM_multi_thread_lock_unlock/524288                 +0.5272         +0.2847    1070035132    1634124353      14523000      18657800
BM_multi_thread_lock_unlock/1048576                +0.4799         +0.3353    2125510441    3145636119      13404200      17899000
OVERALL_GEOMEAN                                    +0.4970         +0.3886             0             0             0             0
```

On Apple Arm, `atomic::wait` is 200% slower than `mutex`. And
`atomic::wait` is even slower than my 10 years old Intel CPU Macbook

```
Benchmark                                             Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024                   +2.1811         +3.9854       2036726       6478993        119817        597334
BM_multi_thread_lock_unlock/2048                   +1.6736         +1.4301       3162161       8454415        426201       1035727
BM_multi_thread_lock_unlock/4096                   +1.1017         +0.6456       6620503      13914159        893019       1469578
BM_multi_thread_lock_unlock/8192                   +0.6688         +0.2148      12089392      20174635       1489000       1808799
BM_multi_thread_lock_unlock/16384                  +1.4217         -0.2436      19365999      46899345       2068266       1564530
BM_multi_thread_lock_unlock/32768                  +2.6161         -0.4927      31371052     113440165       3715100       1884540
BM_multi_thread_lock_unlock/65536                  +2.6286         -0.3967      54314581     197086847       5912764       3567410
BM_multi_thread_lock_unlock/131072                 +2.3554         +0.4990     103176565     346201425       9260407      13880900
BM_multi_thread_lock_unlock/262144                 +2.8780         +0.4995     182355400     707170733      16335852      24496000
BM_multi_thread_lock_unlock/524288                 +3.0280         +0.3001     360953079    1453902595      32548700      42316364
BM_multi_thread_lock_unlock/1048576                +3.7480         +1.2374     714500462    3392470417      48603455     108747000
OVERALL_GEOMEAN                                    +2.0791         +0.3874             0             0             0             0
```











For the atomic_wait test:

On my 2013 MacBook with Intel CPU

```
Run on (8 X 2300 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x4)
  L1 Instruction 32 KiB (x4)
  L2 Unified 256 KiB (x4)
  L3 Unified 6144 KiB (x1)
Load Average: 1.95, 3.77, 4.13
-----------------------------------------------------------------------------------------------------
Benchmark                                                           Time             CPU   Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024                 184455 ns       183979 ns         3760
BM_atomic_wait_one_thread_one_atomic_wait/2048                 361607 ns       360917 ns         1912
BM_atomic_wait_one_thread_one_atomic_wait/4096                 709055 ns       708326 ns          929
BM_atomic_wait_one_thread_one_atomic_wait/8192                1469063 ns      1467430 ns          488
BM_atomic_wait_one_thread_one_atomic_wait/16384               2865332 ns      2863473 ns          237
BM_atomic_wait_one_thread_one_atomic_wait/32768               5839429 ns      5834708 ns          113
BM_atomic_wait_one_thread_one_atomic_wait/65536              11460822 ns     11453183 ns           60
BM_atomic_wait_one_thread_one_atomic_wait/131072             23052804 ns     23035000 ns           30
BM_atomic_wait_one_thread_one_atomic_wait/262144             46958743 ns     46712733 ns           15
BM_atomic_wait_one_thread_one_atomic_wait/524288             93151904 ns     92977429 ns            7
BM_atomic_wait_one_thread_one_atomic_wait/1048576           186100011 ns    185888500 ns            4
BM_atomic_wait_one_thread_one_atomic_wait/2097152           364548135 ns    364280000 ns            2
BM_atomic_wait_one_thread_one_atomic_wait/4194304           747181672 ns    745056000 ns            1
BM_atomic_wait_one_thread_one_atomic_wait/8388608          1473070400 ns   1471165000 ns            1
BM_atomic_wait_one_thread_one_atomic_wait/16777216         2950352547 ns   2947373000 ns            1
BM_atomic_wait_multi_thread_one_atomic_wait/1024               668544 ns       167233 ns         4496
BM_atomic_wait_multi_thread_one_atomic_wait/2048              1384668 ns       369750 ns         1941
BM_atomic_wait_multi_thread_one_atomic_wait/4096              2851627 ns       768559 ns          995
BM_atomic_wait_multi_thread_one_atomic_wait/8192              5797669 ns      1476876 ns          526
BM_atomic_wait_multi_thread_one_atomic_wait/16384            11597952 ns      2692792 ns          260
BM_atomic_wait_multi_thread_one_atomic_wait/32768            23528028 ns      5291465 ns          142
BM_atomic_wait_multi_thread_one_atomic_wait/65536            46287247 ns      8547713 ns           87
BM_atomic_wait_multi_thread_one_atomic_wait/131072           90315848 ns     13294492 ns           61
BM_atomic_wait_multi_thread_one_atomic_wait/262144          190722393 ns     16193917 ns           36
BM_atomic_wait_multi_thread_one_atomic_wait/524288          408456684 ns     23641600 ns           10
BM_atomic_wait_multi_thread_one_atomic_wait/1048576         708809670 ns     36361900 ns           10
BM_atomic_wait_multi_thread_wait_different_atomics/1024       2116444 ns        11669 ns        10000
BM_atomic_wait_multi_thread_wait_different_atomics/2048      12435259 ns        21905 ns         1000
BM_atomic_wait_multi_thread_wait_different_atomics/4096       6393816 ns        17819 ns         1000
BM_atomic_wait_multi_thread_wait_different_atomics/8192      11930400 ns        28637 ns         1000
BM_atomic_wait_multi_thread_wait_different_atomics/16384     20987224 ns        35272 ns         1000
BM_atomic_wait_multi_thread_wait_different_atomics/32768     44335820 ns        66660 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/65536     91395912 ns       129030 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/131072   145440007 ns       165960 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/262144   368219935 ns       420800 ns           10
BM_atomic_wait_multi_thread_wait_different_atomics/524288   630106863 ns       809500 ns           10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 1138174673 ns      1093000 ns           10
```

On apple arm

```
Run on (8 X 24.1208 MHz CPU s)
CPU Caches:
  L1 Data 64 KiB (x8)
  L1 Instruction 128 KiB (x8)
  L2 Unified 4096 KiB (x2)
Load Average: 1.34, 1.58, 1.66
-----------------------------------------------------------------------------------------------------
Benchmark                                                           Time             CPU   Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024                  61602 ns        61602 ns         8701
BM_atomic_wait_one_thread_one_atomic_wait/2048                 123148 ns       123146 ns         5688
BM_atomic_wait_one_thread_one_atomic_wait/4096                 246248 ns       246249 ns         2888
BM_atomic_wait_one_thread_one_atomic_wait/8192                 480373 ns       480359 ns         1455
BM_atomic_wait_one_thread_one_atomic_wait/16384                974725 ns       974721 ns          724
BM_atomic_wait_one_thread_one_atomic_wait/32768               1922185 ns      1922115 ns          355
BM_atomic_wait_one_thread_one_atomic_wait/65536               3940632 ns      3940608 ns          181
BM_atomic_wait_one_thread_one_atomic_wait/131072              7886302 ns      7886102 ns           88
BM_atomic_wait_one_thread_one_atomic_wait/262144             15393156 ns     15393000 ns           45
BM_atomic_wait_one_thread_one_atomic_wait/524288             30833221 ns     30832174 ns           23
BM_atomic_wait_one_thread_one_atomic_wait/1048576            62551936 ns     62551909 ns           11
BM_atomic_wait_one_thread_one_atomic_wait/2097152           123155625 ns    123155667 ns            6
BM_atomic_wait_one_thread_one_atomic_wait/4194304           252468180 ns    252458667 ns            3
BM_atomic_wait_one_thread_one_atomic_wait/8388608           505075604 ns    505075500 ns            2
BM_atomic_wait_one_thread_one_atomic_wait/16777216          992977209 ns    992935000 ns            1
BM_atomic_wait_multi_thread_one_atomic_wait/1024               531411 ns       239695 ns         2783
BM_atomic_wait_multi_thread_one_atomic_wait/2048              1030592 ns       484868 ns         1413
BM_atomic_wait_multi_thread_one_atomic_wait/4096              1951896 ns       922357 ns          631
BM_atomic_wait_multi_thread_one_atomic_wait/8192              3759893 ns      1952074 ns          390
BM_atomic_wait_multi_thread_one_atomic_wait/16384             7417929 ns      3458309 ns          233
BM_atomic_wait_multi_thread_one_atomic_wait/32768            14386361 ns      5590830 ns          100
BM_atomic_wait_multi_thread_one_atomic_wait/65536            29725536 ns      6521887 ns          115
BM_atomic_wait_multi_thread_one_atomic_wait/131072           60023797 ns     10766795 ns           73
BM_atomic_wait_multi_thread_one_atomic_wait/262144          120782267 ns     17532091 ns           44
BM_atomic_wait_multi_thread_one_atomic_wait/524288          242539333 ns     27506920 ns           25
BM_atomic_wait_multi_thread_one_atomic_wait/1048576         482833787 ns     53721600 ns           10
BM_atomic_wait_multi_thread_wait_different_atomics/1024       2230048 ns       626042 ns         1000
BM_atomic_wait_multi_thread_wait_different_atomics/2048       3931958 ns       837540 ns          884
BM_atomic_wait_multi_thread_wait_different_atomics/4096       6506887 ns      1127922 ns          586
BM_atomic_wait_multi_thread_wait_different_atomics/8192      10528008 ns      1651254 ns          456
BM_atomic_wait_multi_thread_wait_different_atomics/16384     18055829 ns      2066379 ns          317
BM_atomic_wait_multi_thread_wait_different_atomics/32768     29878496 ns      2875600 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/65536     50523799 ns      3193170 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/131072    85926943 ns      4121950 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/262144   154602296 ns      5879050 ns          100
BM_atomic_wait_multi_thread_wait_different_atomics/524288   279121754 ns     10063400 ns           10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576  522796900 ns     12370300 ns           10
```


  Commit: 98a07f72eefb43476ca9e7af3178879d6ef71464
      https://github.com/llvm/llvm-project/commit/98a07f72eefb43476ca9e7af3178879d6ef71464
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [X86] LowerCTPOP - "ctpop(i2 x) --> sub(x, (x >> 1))"

If we only have 2 active bits then we can avoid the i8 CTPOP multiply expansion entirely

Another expansion pulled from #79823


  Commit: b8c9b0613465b2770d2ae7f61364ddce6bba4511
      https://github.com/llvm/llvm-project/commit/b8c9b0613465b2770d2ae7f61364ddce6bba4511
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [X86] LowerCTPOP - add i3 and i4 LUT 'shift+mask' expansions

Use the 3 or 4 active bits as a shift amount into a i32/i64 constant representing the number of set bits.

In future, it might be worthwhile to move this into a generic location in case other targets want to make use of them.

Another expansion pulled from #79823


  Commit: 88a18556aeeaf70315990ed9fb23c28834edf454
      https://github.com/llvm/llvm-project/commit/88a18556aeeaf70315990ed9fb23c28834edf454
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning


  Commit: e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
      https://github.com/llvm/llvm-project/commit/e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning


  Commit: 1a7166833d38a2a5c26eacecd13833a9a15e3b3d
      https://github.com/llvm/llvm-project/commit/1a7166833d38a2a5c26eacecd13833a9a15e3b3d
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir

  Log Message:
  -----------
  [AArch64] Fix stack probing clobbering flags (#81879)

Certain stack probing sequences might clobber flags, then we can't use a
block as a prologue if the flags register is a live-in on entry to that
block.


  Commit: 61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
      https://github.com/llvm/llvm-project/commit/61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/lib/Lower/Mangler.cpp
    A flang/test/Lower/HLFIR/block_bindc_pocs.f90

  Log Message:
  -----------
  [Flang]: Fix to bind(C) procs inside BLOCK construct (#82483)

Name mangling is invoked for a bind(C) procedure contained in a block in
a context that does not have access to block ID mapping. Relaxing an
assert to account for this.

Fixes #79408


  Commit: 91ebd010aa76a711abd88f74ecca8e82e15b23cd
      https://github.com/llvm/llvm-project/commit/91ebd010aa76a711abd88f74ecca8e82e15b23cd
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Interp.cpp

  Log Message:
  -----------
  [clang][Interp] Remove dereference()

This function tried to be smart about the dereferenced value,
but it ended up hurting more than it helped. At least in the current
state, where we still try get the correct output.

I might add something similar back later.


  Commit: f7c2e5fa05d221a3dfc53744f353517407c2ffec
      https://github.com/llvm/llvm-project/commit/f7c2e5fa05d221a3dfc53744f353517407c2ffec
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [clang] [SemaCXX] Disallow deducing "this" on operator `new` and `delete` (#82251)

Resolves Issue #82249

As described in the issue, any deallocation function for a `class X` is
a static member (even if not explicitly declared static).


  Commit: 6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
      https://github.com/llvm/llvm-project/commit/6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
    M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/icmp.ll

  Log Message:
  -----------
  [CostModel][X86] Don't use undef for icmp cost tests

Cleanup prior to #80122 fix - using undef means we think that the comparison is with a Constant


  Commit: a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
      https://github.com/llvm/llvm-project/commit/a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
    M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll

  Log Message:
  -----------
  [CostModel][X86] Fix expanded CTPOP i8 costs

Updated to match #79989 / 9410019ac977141bc73aee19690b5896ded59219


  Commit: 4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
      https://github.com/llvm/llvm-project/commit/4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/lib/Lower/CMakeLists.txt
    R flang/lib/Lower/OpenMP.cpp
    A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    A flang/lib/Lower/OpenMP/ClauseProcessor.h
    A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/lib/Lower/OpenMP/DataSharingProcessor.h
    A flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    A flang/lib/Lower/OpenMP/ReductionProcessor.h
    A flang/lib/Lower/OpenMP/Utils.cpp
    A flang/lib/Lower/OpenMP/Utils.h

  Log Message:
  -----------
  [NFC][flang][OpenMP] Split `DataSharing` and `Clause` processors (#81973)

This started as an experiment to reduce the compilation time of
iterating over `Lower/OpenMP.cpp` a bit since it is too slow at the
moment. Trying to do that, I split the `DataSharingProcessor`,
`ReductionProcessor`, and `ClauseProcessor` into their own files and
extracted some shared code into a util file. All of these new `.h/.cpp`
files as well as `OpenMP.cpp` are now under a `Lower/OpenMP/` directory.

This resulted is a slightly better organization of the OpenMP lowering
code and hence opening this NFC.

As for the compilation time, this unfortunately does not affect it much
(it shaves off a few seconds of `OpenMP.cpp` compilation) since from
what I learned the bottleneck is in `DirectivesCommon.h` and
`PFTBuilder.h` which both consume a lot of time in template
instantiation it seems.


  Commit: 5a023f564f9886bcc732147d12e114f5ced92c5d
      https://github.com/llvm/llvm-project/commit/5a023f564f9886bcc732147d12e114f5ced92c5d
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll

  Log Message:
  -----------
  [AArch64][SVE2] Enable dynamic shuffle for fixed length types. (#72490)

When SVE register size is unknown or the minimal size is not equal to
the maximum size then we could determine the actual SVE register size in
the runtime and adjust shuffle mask in the runtime.


  Commit: 73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
      https://github.com/llvm/llvm-project/commit/73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CXX/drs/dr17xx.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Implement CWG1719 "Layout compatibility and cv-qualification revisited" (#82358)

This patch updates our internal notion of `layout-compatible` to ignore cv-qualification,
which in turn fixes `__is_layout_compatible` intrinsic.


  Commit: 9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
      https://github.com/llvm/llvm-project/commit/9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/frame-29.ll

  Log Message:
  -----------
  [SystemZ] Use VT (not ArgVT) for SlotVT in LowerCall(). (#82475)

When an integer argument is promoted and *not* split (like i72 -> i128 on
a new machine with vector support), the SlotVT should be i128, which is
stored in VT - not ArgVT.

Fixes #81417


  Commit: e214f004cb9e17847262d8fe64926a9cad6d2e86
      https://github.com/llvm/llvm-project/commit/e214f004cb9e17847262d8fe64926a9cad6d2e86
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite` (#81245)

This commit simplifies the internal state of the dialect conversion. A
separate field for the previous state of in-place op modifications is no
longer needed.


  Commit: 3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
      https://github.com/llvm/llvm-project/commit/3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Support rolling back properties in dialect conversion (#82474)

The dialect conversion rolls back in-place op modifications upon
failure. Rolling back modifications of attributes is already supported,
but there was no support for properties until now.


  Commit: b49f155cb9144b208b1291b5f02630d588350e1a
      https://github.com/llvm/llvm-project/commit/b49f155cb9144b208b1291b5f02630d588350e1a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Simplify `ArgConverter` state (#81462)

* When converting a block signature, `ArgConverter` creates a new block
with the new signature and moves all operation from the old block to the
new block. The new block is temporarily inserted into a region that is
stored in `regionMapping`. The old block is not yet deleted, so that the
conversion can be rolled back. `regionMapping` is not needed. Instead of
moving the old block to a temporary region, it can just be unlinked.
Block erasures are handles in the same way in the dialect conversion.
* `regionToConverter` is a mapping from regions to type converter. That
field is never accessed within `ArgConverter`. It should be stored in
`ConversionPatternRewriterImpl` instead.
* `convertedBlocks` is not needed. Old blocks are already stored in
`ConvertedBlockInfo`.


  Commit: f037e709cad410b885cb22ebb22e7e7539d41fb0
      https://github.com/llvm/llvm-project/commit/f037e709cad410b885cb22ebb22e7e7539d41fb0
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [RISCV][TTI] Cost a subvector extract at a register boundary with exact vlen (#82405)

If we have exact vlen knowledge, we can figure out which indices
correspond to register boundaries. Our lowering uses this knowledge to
replace the vslidedown.vi with a sub-register extract. Our costs can
reflect that as well.

This is another piece split off
https://github.com/llvm/llvm-project/pull/80164

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 3ee8c93769cd094ea0748b4a446a475160c0f51f
      https://github.com/llvm/llvm-project/commit/3ee8c93769cd094ea0748b4a446a475160c0f51f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Frontend/Offloading/Utility.cpp

  Log Message:
  -----------
  [Offload] Fix NVPTX global entry names

Summary:
This was missed, the NVPTX globals cannot use a `.`.


  Commit: ffcdf47bc443b36754c36bd6e1a77b4163657a00
      https://github.com/llvm/llvm-project/commit/ffcdf47bc443b36754c36bd6e1a77b4163657a00
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    A clang/test/AST/Interp/pointer-addition.c

  Log Message:
  -----------
  [clang][Interp] Allow adding an offset to a function pointer

Pretty sure this isn't doing anything, but it fixes a test and
is generally the right thing to do.
Fixing the behavior will come later.


  Commit: 4beb4d5c72880ec69ef36bdebaed06c90cc5309b
      https://github.com/llvm/llvm-project/commit/4beb4d5c72880ec69ef36bdebaed06c90cc5309b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/icmp0.ll

  Log Message:
  -----------
  [CostModel][X86] Add test coverage for icmp vs zero

This is really to test for icmp vs constant - some icmp unsigned could fold to simpler comparisons, but costmodel analysis won't do this


  Commit: c16d0d14de40559eb3845a88b6434550dd1dcf77
      https://github.com/llvm/llvm-project/commit/c16d0d14de40559eb3845a88b6434550dd1dcf77
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll

  Log Message:
  -----------
  [SimplifyCFG] Add test coverage for #80122


  Commit: 9978f6a10f37d12e1eecad0d4bfacd350d933ed7
      https://github.com/llvm/llvm-project/commit/9978f6a10f37d12e1eecad0d4bfacd350d933ed7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/icmp0.ll
    M llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll

  Log Message:
  -----------
  [CostModel][X86] Reduce the extra costs for ICMP complex predicates when an operand is constant

In most cases, SETCC lowering will be able to simplify/commute the comparison by adjusting the constant.

TODO: We still need to adjust ExtraCost based on CostKind

Fixes #80122


  Commit: 453b1a2fce3c46e866131797f876976032cff384
      https://github.com/llvm/llvm-project/commit/453b1a2fce3c46e866131797f876976032cff384
  Author: cmtice <cmtice at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp

  Log Message:
  -----------
  [LLVM][DWARF] Refactor code for generating DWARF V5 .debug_names (#82394)

[LLVM][DWARF]  Refactor code for generating DWARF v5 .debug_names

Refactor the code that uniques the entries and computes the bucket count
for the DWARF V5 .debug_names accelerator table.


  Commit: 13b0321e978fd95503d5f5471a0cfdcd439a5936
      https://github.com/llvm/llvm-project/commit/13b0321e978fd95503d5f5471a0cfdcd439a5936
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Reject unimplemented cast expressions differently

Instead of asserting, emit an appropriate diagnostic.


  Commit: 3f732c4141e95de829a896c38af11473377dbcd6
      https://github.com/llvm/llvm-project/commit/3f732c4141e95de829a896c38af11473377dbcd6
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Fix use-after-free in #82474 (#82504)

When a `ModifyOperationRewrite` is committed, the operation may already
have been erased, so `OperationName` must be cached in the rewrite
object.

Note: This will no longer be needed with #81757, which adds a "cleanup"
method to `IRRewrite`.


  Commit: 2cd59bdc891ab59a1abfe5205feb45791a530a47
      https://github.com/llvm/llvm-project/commit/2cd59bdc891ab59a1abfe5205feb45791a530a47
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll

  Log Message:
  -----------
  [RISCV] Add test case for miscompile in gather -> strided load combine. NFC

This shows the issue in #82430, but triggers it via the widening SEW combine
rather than a GEP that RISCVGatherScatterLowering doesn't detect.


  Commit: 2e29c91b96832504b9008be5e095f7dd640cdea0
      https://github.com/llvm/llvm-project/commit/2e29c91b96832504b9008be5e095f7dd640cdea0
  Author: Mogball <jeff at modular.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
    M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
    M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
    R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
    M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
    M llvm/test/Transforms/Coroutines/coro-async.ll
    M llvm/test/Transforms/Coroutines/swift-async-dbg.ll

  Log Message:
  -----------
  Revert "[Coro] [async] Disable inlining in async coroutine splitting (#80904)"

This reverts commit b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab.

This commit breaks coroutine splitting for non-swift calling convention
functions. In this example:

```ll
; ModuleID = 'repro.ll'
source_filename = "stdlib/test/runtime/test_llcl.mojo"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@0 = internal constant { i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (ptr @crash to i64), i64 ptrtoint (ptr getelementptr inbounds ({ i32, i32 }, ptr @0, i32 0, i32 1) to i64)) to i32), i32 64 }

define dso_local void @af_suspend_fn(ptr %0, i64 %1, ptr %2) #0 {
  ret void
}

define dso_local void @crash(ptr %0) #0 {
  %2 = call token @llvm.coro.id.async(i32 64, i32 8, i32 0, ptr @0)
  %3 = call ptr @llvm.coro.begin(token %2, ptr null)
  %4 = getelementptr inbounds { ptr, { ptr, ptr }, i64, { ptr, i1 }, i64, i64 }, ptr poison, i32 0, i32 0
  %5 = call ptr @llvm.coro.async.resume()
  store ptr %5, ptr %4, align 8
  %6 = call { ptr, ptr, ptr } (i32, ptr, ptr, ...) @llvm.coro.suspend.async.sl_p0p0p0s(i32 0, ptr %5, ptr @ctxt_proj_fn, ptr @af_suspend_fn, ptr poison, i64 -1, ptr poison)
  ret void
}

define dso_local ptr @ctxt_proj_fn(ptr %0) #0 {
  ret ptr %0
}

; Function Attrs: nomerge nounwind
declare { ptr, ptr, ptr } @llvm.coro.suspend.async.sl_p0p0p0s(i32, ptr, ptr, ...) #1

; Function Attrs: nounwind
declare token @llvm.coro.id.async(i32, i32, i32, ptr) #2

; Function Attrs: nounwind
declare ptr @llvm.coro.begin(token, ptr writeonly) #2

; Function Attrs: nomerge nounwind
declare ptr @llvm.coro.async.resume() #1

attributes #0 = { "target-features"="+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves" }
attributes #1 = { nomerge nounwind }
attributes #2 = { nounwind }
```

This verifier crashes after the `coro-split` pass with

```
cannot guarantee tail call due to mismatched parameter counts
  musttail call void @af_suspend_fn(ptr poison, i64 -1, ptr poison)
LLVM ERROR: Broken function
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: opt ../../../reduced.ll -O0
 #0 0x00007f1d89645c0e __interceptor_backtrace.part.0 /build/gcc-11-XeT9lY/gcc-11-11.4.0/build/x86_64-linux-gnu/libsanitizer/asan/../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4193:28
 #1 0x0000556d94d254f7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
 #2 0x0000556d94d19a2f llvm::sys::RunSignalHandlers() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Signals.cpp:105:20
 #3 0x0000556d94d1aa42 SignalHandler(int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:371:36
 #4 0x00007f1d88e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x00007f1d88e969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x00007f1d88e969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #7 0x00007f1d88e969fc pthread_kill ./nptl/pthread_kill.c:89:10
 #8 0x00007f1d88e42476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #9 0x00007f1d88e287f3 abort ./stdlib/abort.c:81:7
 #10 0x0000556d8944be01 std::vector<llvm::json::Value, std::allocator<llvm::json::Value>>::size() const /usr/include/c++/11/bits/stl_vector.h:919:40
 #11 0x0000556d8944be01 bool std::operator==<llvm::json::Value, std::allocator<llvm::json::Value>>(std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&, std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&) /usr/include/c++/11/bits/stl_vector.h:1893:23
 #12 0x0000556d8944be01 llvm::json::operator==(llvm::json::Array const&, llvm::json::Array const&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Support/JSON.h:572:69
 #13 0x0000556d8944be01 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/JSON.cpp:204:28
 #14 0x0000556d949ed2bd llvm::report_fatal_error(char const*, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/ErrorHandling.cpp:82:70
 #15 0x0000556d8e37e876 llvm::SmallVectorBase<unsigned int>::size() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:91:32
 #16 0x0000556d8e37e876 llvm::SmallVectorTemplateCommon<llvm::DiagnosticInfoOptimizationBase::Argument, void>::end() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:282:41
 #17 0x0000556d8e37e876 llvm::SmallVector<llvm::DiagnosticInfoOptimizationBase::Argument, 4u>::~SmallVector() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1215:24
 #18 0x0000556d8e37e876 llvm::DiagnosticInfoOptimizationBase::~DiagnosticInfoOptimizationBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:413:7
 #19 0x0000556d8e37e876 llvm::DiagnosticInfoIROptimization::~DiagnosticInfoIROptimization() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:622:7
 #20 0x0000556d8e37e876 llvm::OptimizationRemark::~OptimizationRemark() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:689:7
 #21 0x0000556d8e37e876 operator() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2213:14
 #22 0x0000556d8e37e876 emit<llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::CGSCCAnalysisManager&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)::<lambda()> > /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h:83:12
 #23 0x0000556d8e37e876 llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2212:13
 #24 0x0000556d8c36ecb1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CoroSplitPass, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
 #25 0x0000556d91c1a84f llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:90:12
 #26 0x0000556d8c3690d1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
 #27 0x0000556d91c2162d llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:278:18
 #28 0x0000556d8c369035 llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
 #29 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
 #30 0x0000556d8e30979e llvm::CoroConditionalWrapper::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroConditionalWrapper.cpp:19:74
 #31 0x0000556d8c365755 llvm::detail::PassModel<llvm::Module, llvm::CoroConditionalWrapper, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
 #32 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
 #33 0x0000556d89818556 llvm::SmallPtrSetImplBase::isSmall() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:196:33
 #34 0x0000556d89818556 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:84:17
 #35 0x0000556d89818556 llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:321:7
 #36 0x0000556d89818556 llvm::SmallPtrSet<llvm::AnalysisKey*, 2u>::~SmallPtrSet() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:427:7
 #37 0x0000556d89818556 llvm::PreservedAnalyses::~PreservedAnalyses() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/Analysis.h:109:7
 #38 0x0000556d89818556 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/NewPMDriver.cpp:532:10
 #39 0x0000556d897e3939 optMain /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/optdriver.cpp:737:27
 #40 0x0000556d89455461 main /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/opt.cpp:25:33
 #41 0x00007f1d88e29d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
 #42 0x00007f1d88e29e40 call_init ./csu/../csu/libc-start.c:128:20
 #43 0x00007f1d88e29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
 #44 0x0000556d897b6335 _start (/home/ubuntu/modular/.derived/third-party/llvm-project/build-relwithdebinfo-asan/bin/opt+0x150c335)
Aborted (core dumped)


  Commit: 162fa4dd25d631d0ab7816ec6081bcaff951a23c
      https://github.com/llvm/llvm-project/commit/162fa4dd25d631d0ab7816ec6081bcaff951a23c
  Author: Harald van Dijk <harald at gigawatt.nl>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/IR/Module.cpp

  Log Message:
  -----------
  Module::getOrInsertFunction: set debug info format (#82505)

Function::Function's constructor sets the debug info format based on the
passed in parent Module, so by using this rather than modifying the
function list directly, we pick up the debug info format automatically.


  Commit: 71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
      https://github.com/llvm/llvm-project/commit/71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][Vector] Add vector bitwidth target to xfer op flattening (#81966)

This PR adds an optional bitwidth parameter to the vector xfer op
flattening transformation so that the flattening doesn't happen if the
trailing dimension of the read/writen vector is larger than this
bitwidth (i.e., we are already able to fill at least one vector register
with that size).


  Commit: 58f45d909d2a1565128846e423b480808736f214
      https://github.com/llvm/llvm-project/commit/58f45d909d2a1565128846e423b480808736f214
  Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90

  Log Message:
  -----------
  [flang][openmp] - depend clause support in target, target enter/update/exit data constructs (#81610)

This patch adds support in flang for the depend clause in target and
target enter/update/exit constructs. Previously, the following line in a
fortran program would have resulted in the error shown below it.

    !$omp target map(to:a) depend(in:a)


"not yet implemented: Unhandled clause DEPEND in TARGET construct"


  Commit: cc374d8056990a4c6df44173ad7ef59474ba498b
      https://github.com/llvm/llvm-project/commit/cc374d8056990a4c6df44173ad7ef59474ba498b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/openmp_offload_registration.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_codegen.cpp
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_codegen_registration.cpp
    M clang/test/OpenMP/target_depend_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M openmp/libomptarget/include/Shared/APITypes.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/test/offloading/requires.c

  Log Message:
  -----------
  [OpenMP] Remove `register_requires` global constructor (#80460)

Summary:
Currently, OpenMP handles the `omp requires` clause by emitting a global
constructor into the runtime for every translation unit that requires
it. However, this is not a great solution because it prevents us from
having a defined order in which the runtime is accessed and used.

This patch changes the approach to no longer use global constructors,
but to instead group the flag with the other offloading entires that we
already handle. This has the effect of still registering each flag per
requires TU, but now we have a single constructor that handles
everything.

This function removes support for the old `__tgt_register_requires` and
replaces it with a warning message. We just had a recent release, and
the OpenMP policy for the past four releases since we switched to LLVM
is that we do not provide strict backwards compatibility between major
LLVM releases now that the library is versioned. This means that a user
will need to recompile if they have an old binary that relied on
`register_requires` having the old behavior. It is important that we
actively deprecate this, as otherwise it would not solve the problem of
having no defined init and shutdown order for `libomptarget`. The
problem of `libomptarget` not having a define init and shutdown order
cascades into a lot of other issues so I have a strong incentive to be
rid of it.

It is worth noting that the current `__tgt_offload_entry` only has space
for a 32-bit integer here. I am planning to overhaul these at some point
as well.


  Commit: cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
      https://github.com/llvm/llvm-project/commit/cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll

  Log Message:
  -----------
  Correctly round FP -> BF16 when SDAG expands such nodes (#82399)

We did something pretty naive:
- round FP64 -> BF16 by first rounding to FP32
- skip FP32 -> BF16 rounding entirely
- taking the top 16 bits of a FP32 which will turn some NaNs into
infinities

Let's do this in a more principled way by rounding types with more
precision than FP32 to FP32 using round-inexact-to-odd which will negate
double rounding issues.


  Commit: 0a518db99e0cffcdbb4cae73e27da87edbb25170
      https://github.com/llvm/llvm-project/commit/0a518db99e0cffcdbb4cae73e27da87edbb25170
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    R clang/include/clang/Frontend/InstallAPIOptions.h
    M clang/include/clang/InstallAPI/Context.h
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    R clang/lib/Frontend/InstallAPIConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/InstallAPI/CMakeLists.txt
    R clang/lib/InstallAPI/Context.cpp
    M clang/test/CMakeLists.txt
    R clang/test/Driver/installapi.h
    M clang/test/InstallAPI/installapi-basic.test
    A clang/test/InstallAPI/installapi-driver-invalid-options.test
    M clang/test/lit.cfg.py
    M clang/tools/CMakeLists.txt
    A clang/tools/clang-installapi/CMakeLists.txt
    A clang/tools/clang-installapi/ClangInstallAPI.cpp
    A clang/tools/clang-installapi/Options.cpp
    A clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] Set InstallAPI as a standalone tool instead of CC1 action (#82293)

Installapi has important distinctions when compared to the clang driver,
so much that, it doesn't make much sense to try to integrate into it.

This patch partially reverts the CC1 action & driver support to replace
with its own driver as a clang tool.

For distribution, we could use `LLVM_TOOL_LLVM_DRIVER_BUILD` mechanism
for integrating the functionality into clang such that the toolchain
size is less impacted.


  Commit: 2c30180f72b9c39dda1fd77bcbec8022e19bec23
      https://github.com/llvm/llvm-project/commit/2c30180f72b9c39dda1fd77bcbec8022e19bec23
  Author: Mogball <jeff at modular.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [coro] [async] Don't fail on targets that don't support tail calls


  Commit: e50a231dcdd6aafa922b177b4fc4629bb7a10a79
      https://github.com/llvm/llvm-project/commit/e50a231dcdd6aafa922b177b4fc4629bb7a10a79
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/copyprivate.f90
    A flang/test/Lower/OpenMP/copyprivate.f90

  Log Message:
  -----------
  [flang][OpenMP] Add support for copyprivate (#80485)

Add initial handling of OpenMP copyprivate clause in Flang.

When lowering copyprivate, Flang generates the copy function
needed by each variable and builds the appropriate
omp.single's CopyPrivateVarList.

This is patch 3 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128


  Commit: 579ae446375b2bec6d329b612adfa0a74f7126e3
      https://github.com/llvm/llvm-project/commit/579ae446375b2bec6d329b612adfa0a74f7126e3
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [InstallAPI] Add missing clangBasic library dependency

Appeases CI: https://lab.llvm.org/buildbot/#/builders/268/builds/8581/steps/5/logs/stdio


  Commit: e7bfe414a6abee31a8c83afbc8206e6249dd837d
      https://github.com/llvm/llvm-project/commit/e7bfe414a6abee31a8c83afbc8206e6249dd837d
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [InstallAPI] Add additional missing library dependency

Fixes: https://lab.llvm.org/buildbot/#/builders/268/builds/8583


  Commit: c5bbf979ada59e4ef9e67cb8bae59522d17b5140
      https://github.com/llvm/llvm-project/commit/c5bbf979ada59e4ef9e67cb8bae59522d17b5140
  Author: Nick Anderson <nickleus27 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] fixes mistake in #82018 (#82223)

fixes #81766 #82018


  Commit: 2167881f5154823dc3183845700add7df15fc856
      https://github.com/llvm/llvm-project/commit/2167881f5154823dc3183845700add7df15fc856
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCTargetOptions.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
    A llvm/test/MC/ARM/fdpic.s
    M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [ARM,MC] Support FDPIC relocations

Linux kernel fs/binfmt_elf_fdpic.c supports FDPIC for MMU-less systems.
GCC/binutils/qemu support FDPIC ABI for ARM
(https://github.com/mickael-guene/fdpic_doc).
_ARM FDPIC Toolchain and ABI_ provides a summary.

This patch implements FDPIC relocations to the integrated assembler.
There are 6 static relocations and 2 dynamic relocations, with
R_ARM_FUNCDESC as both static and dynamic.

gas requires `--fdpic` to assemble data relocations like `.word f(FUNCDESC)`.
This patch adds `MCTargetOptions::FDPIC` and reports an error if FDPIC
is not set.

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


  Commit: 5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
      https://github.com/llvm/llvm-project/commit/5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [InstallAPI] add explicit dependency on llvmOption library


  Commit: 6f0e39c4239bb4c0980a048e264f61bded147388
      https://github.com/llvm/llvm-project/commit/6f0e39c4239bb4c0980a048e264f61bded147388
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

  Log Message:
  -----------
  [NVPTX] Set ISD::FP_{EXTEND,ROUND} to Custom for more types

Sometimes those nodes are queried with the non-bf16. We need to request
to SDAG that we want to handle the non-bf16 side so that the handler can
detect if bf16 is being used on either side.


  Commit: 966b026785a09ec079e8b0ba79358892fcb958ad
      https://github.com/llvm/llvm-project/commit/966b026785a09ec079e8b0ba79358892fcb958ad
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

  Log Message:
  -----------
  [NVPTX] Simplify handling of ISD::BF16_TO_FP

We only use it to get from BF16 to F32. After that point, we insert
an FP_EXTEND to get the rest of the way.


  Commit: 4247175d4536964322b129d1d3bbe6128da653bf
      https://github.com/llvm/llvm-project/commit/4247175d4536964322b129d1d3bbe6128da653bf
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfData.inc

  Log Message:
  -----------
  [nfc]For InstrProfData.inc, clang-format functions and opt-out of formatting on the rest (#82057)

Without this, each time `InstrProfData.inc` is modified (like in
https://github.com/llvm/llvm-project/pull/81691), pre-commit CI
clang-format aggressively formats many lines in an unreadable way. Pull
request with red pre-commit checks are usually frowned upon.

* Use `// clang-format:<reason>` instead of `/* clang-format */`. The
former
[allows](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4108-L4113)
specifying a reason but the latter is
[not](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4105-L4106).
- Filed https://github.com/llvm/llvm-project/issues/82426 to track the
issue in clang-format.


  Commit: 9c2468821ec51defd09c246fea4a47886fff8c01
      https://github.com/llvm/llvm-project/commit/9c2468821ec51defd09c246fea4a47886fff8c01
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
    M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
    M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
    M lldb/test/API/commands/expression/fixits/TestFixIts.py
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/commands/statistics/basic/TestStats.py
    M lldb/test/API/commands/trace/TestTraceExport.py
    M lldb/test/API/commands/trace/TestTraceSave.py
    M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
    M lldb/test/API/functionalities/archives/TestBSDArchives.py
    M lldb/test/API/functionalities/asan/TestMemoryHistory.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
    M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
    M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
    M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
    M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/functionalities/return-value/TestReturnValue.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    M lldb/test/API/functionalities/signal/TestSendSignal.py
    M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
    M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
    M lldb/test/API/functionalities/signal/raise/TestRaise.py
    M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
    M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
    M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
    M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
    M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
    M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
    M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
    M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
    M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
    M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
    M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
    M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
    M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
    M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
    M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
    M lldb/test/API/lang/cpp/namespace/TestNamespace.py
    M lldb/test/API/lang/cpp/stl/TestSTL.py
    M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
    M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
    M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
    M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
    M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
    M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
    M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
    M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
    M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
    M lldb/test/API/lua_api/TestLuaAPI.py
    M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
    M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
    M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
    M lldb/test/API/macosx/queues/TestQueues.py
    M lldb/test/API/macosx/universal/TestUniversal.py
    M lldb/test/API/python_api/event/TestEvents.py
    M lldb/test/API/python_api/file_handle/TestFileHandle.py
    M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
    M lldb/test/API/python_api/format/TestFormat.py
    M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
    M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
    M lldb/test/API/python_api/module_section/TestModuleAndSection.py
    M lldb/test/API/python_api/process/TestProcessAPI.py
    M lldb/test/API/python_api/process/io/TestProcessIO.py
    M lldb/test/API/python_api/sbdata/TestSBData.py
    M lldb/test/API/python_api/sbmodule/TestSBModule.py
    M lldb/test/API/python_api/target/TestTargetAPI.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
    M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
    M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
    M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
    M lldb/test/API/source-manager/TestSourceManager.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
    M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py

  Log Message:
  -----------
  [lldb][test] Modernize asserts (#82503)

This uses [teyit](https://pypi.org/project/teyit/) to modernize asserts,
as recommended by the [unittest release
notes](https://docs.python.org/3.12/whatsnew/3.12.html#id3).

For example, `assertTrue(a == b)` is replaced with `assertEqual(a, b)`.
This produces better error messages, e.g. `error: unexpectedly found 1
and 2 to be different` instead of `error: False`.


  Commit: 1c81b4a8f237db286aae5b8893aea09676a41d68
      https://github.com/llvm/llvm-project/commit/1c81b4a8f237db286aae5b8893aea09676a41d68
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn

  Log Message:
  -----------
  [gn] port 0a518db99e0c (clang-installapi)


  Commit: ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
      https://github.com/llvm/llvm-project/commit/ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll

  Log Message:
  -----------
  [TargetLowering] Actually add the adjustment to the significand

The logic was supposed to be choosing between {0, 1, -1} as an
adjustment to the FP bit pattern. However, the adjustment itself was
used as the bit pattern instead which result in garbage results.


  Commit: 3d66d6932e26199f72766b6554d1c4878246ec6e
      https://github.com/llvm/llvm-project/commit/3d66d6932e26199f72766b6554d1c4878246ec6e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [VPlan] Support live-ins without underlying IR in type analysis. (#80723)

A VPlan contains multiple live-ins without underlying IR, like VFxUF or
VectorTripCount. Trying to infer the scalar type of those causes a crash
at the moment.

Update VPTypeAnalysis to take a VPlan in its constructor and assign
types to those live-ins up front. All those live-ins share the type of
the canonical IV.

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


  Commit: 22cf983387e52e3df01504c69df8266e9d80d9da
      https://github.com/llvm/llvm-project/commit/22cf983387e52e3df01504c69df8266e9d80d9da
  Author: calebwat <107081575+calebwat at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp

  Log Message:
  -----------
  [VPlan] Use opaque pointers in VPlan unit test IR (#69947)

Updates the unit tests for VPlan to use opaque pointers in strings
containing LLVM IR. This is to match the similar adjustments being made
for lit tests to use opaque pointers.


  Commit: db9811cd131d66c1c3dff0222fc8bcc83a555846
      https://github.com/llvm/llvm-project/commit/db9811cd131d66c1c3dff0222fc8bcc83a555846
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/utils/lldbDataFormatters.py

  Log Message:
  -----------
  Make lldbDataFormatters.py compatible with Python 3.8 (#82518)

I just tried to load this into LLDB built against Python 3.8.5 and got
the following error: `TypeError: 'type' object is not subscriptable`. I
could fix this by wrapping the annotations in quotes but since Python
3.7 this syntax can be enabled with `from __future__ import
annotations`.


  Commit: baf6bd303bd58a521809d456dd9b179636982fc5
      https://github.com/llvm/llvm-project/commit/baf6bd303bd58a521809d456dd9b179636982fc5
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] Fixes to immediate-escalating functions (#82281)

* Consider that immediate escalating function can appear at global
scope, fixing a crash

* Lambda conversion to function pointer was sometimes not performed in
an immediate function context when it should be.

Fixes #82258


  Commit: 5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
      https://github.com/llvm/llvm-project/commit/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [BOLT] Fix memory leak in BinarySection (#82520)

The change in #80950 exposed a memory leak in BinarySection. Let
BinarySection manage memory passed via updateContents() unless a valid
SectionID is set indicating that the contents are managed by JITLink.


  Commit: 7fa8585fdefd98dd73940c74165aa55da1175f02
      https://github.com/llvm/llvm-project/commit/7fa8585fdefd98dd73940c74165aa55da1175f02
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [NFC][clang] Remove trailing whitespaces


  Commit: cb1fed3a89e0cdc2660edaada1f0868cae3b7bcf
      https://github.com/llvm/llvm-project/commit/cb1fed3a89e0cdc2660edaada1f0868cae3b7bcf
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td

  Log Message:
  -----------
  [NVPTX] Correctly guard int -> bf16 on PTX version and SM version


  Commit: d4fd20258f63d30be638b04f10eaa469707759f0
      https://github.com/llvm/llvm-project/commit/d4fd20258f63d30be638b04f10eaa469707759f0
  Author: mlevesquedion <mlevesquedion at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
    M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
    M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Transforms/parametric-tiling.mlir

  Log Message:
  -----------
  [mlir] Use arith max or min ops instead of cmp + select (#82178)

I believe the semantics should be the same, but this saves 1 op and simplifies the code.

For example, the following two instructions:

```
%2 = cmp sgt %0, %1
%3 = select %2, %0, %1
```

Are equivalent to:

```
%2 = maxsi %0 %1
```


  Commit: cd160a6e98533fbc04a76d1b969db77b49668eb3
      https://github.com/llvm/llvm-project/commit/cd160a6e98533fbc04a76d1b969db77b49668eb3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [VPlan] Do not add call results with void type to State (NFC).

With vector libraries, we may vectorize calls with void return types. Do
not add those values to the state; they can never be accessed.


  Commit: 99c457dc2ef395872d7448c85609f6cb73a7f89b
      https://github.com/llvm/llvm-project/commit/99c457dc2ef395872d7448c85609f6cb73a7f89b
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M compiler-rt/lib/builtins/divtc3.c
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h
    M compiler-rt/lib/builtins/multc3.c

  Log Message:
  -----------
  Unbreak *tf builtins for hexfloat (#82208)

This re-lands cc0065a7d082f0bd322a538cf62cfaef1c8f89f8 in a way that 
keeps existing targets working.

---------

Original commit message:
#68132 ended up removing
__multc3 & __divtc3 from compiler-rt library builds that have
QUAD_PRECISION but not TF_MODE due to missing int128 support. 
I added support for QUAD_PRECISION to use the native hex float long double representation.

---------

Co-authored-by: Sean Perry <perry at ca.ibm.com>


  Commit: 81b4b89197a6be5f19f907b558540bb3cb70f064
      https://github.com/llvm/llvm-project/commit/81b4b89197a6be5f19f907b558540bb3cb70f064
  Author: Justin Stitt <jstitt007 at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/integer-overflow.c

  Log Message:
  -----------
  [Sanitizer] Support -fwrapv with -fsanitize=signed-integer-overflow (#82432)

Clang has a `signed-integer-overflow` sanitizer to catch arithmetic
overflow; however, most of its instrumentation [fails to
apply](https://godbolt.org/z/ee41rE8o6) when `-fwrapv` is enabled; this
is by design.

The Linux kernel enables `-fno-strict-overflow` which implies `-fwrapv`.
This means we are [currently unable to detect signed-integer
wrap-around](https://github.com/KSPP/linux/issues/26). All the while,
the root cause of many security vulnerabilities in the Linux kernel is
[arithmetic overflow](https://cwe.mitre.org/data/definitions/190.html).

To work around this and enhance the functionality of
`-fsanitize=signed-integer-overflow`, we instrument signed arithmetic
even if the signed overflow behavior is defined.

Co-authored-by: Justin Stitt <justinstitt at google.com>


  Commit: c63e68ba5fb54b69521c4f010d1c5290856c6509
      https://github.com/llvm/llvm-project/commit/c63e68ba5fb54b69521c4f010d1c5290856c6509
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M lldb/test/API/python_api/type/TestTypeList.py

  Log Message:
  -----------
  Bump the minimum LLVM version for TestTypeList.py


  Commit: 2b2881b0ae94e56aa019b519419d122bb7b81462
      https://github.com/llvm/llvm-project/commit/2b2881b0ae94e56aa019b519419d122bb7b81462
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/include/clang/InstallAPI/Context.h

  Log Message:
  -----------
  Add namespace qualifier for llvm::StringRef


  Commit: 9eff001d3dbe84851caa7de4e1093af62c009e06
      https://github.com/llvm/llvm-project/commit/9eff001d3dbe84851caa7de4e1093af62c009e06
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll

  Log Message:
  -----------
  [TargetLowering] Correctly yield NaN from FP_TO_BF16

We didn't set the exponent field, resulting in tiny numbers instead of
NaNs.


  Commit: d17eade22ab9a65144a2bbd538f47924eed6b87d
      https://github.com/llvm/llvm-project/commit/d17eade22ab9a65144a2bbd538f47924eed6b87d
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  Do not call disable / enable on null depot (#82542)

depot can be null if allocation_ring_buffer_size=0


  Commit: be36812fb7cb3fca05f20865e062c966a14dbfdc
      https://github.com/llvm/llvm-project/commit/be36812fb7cb3fca05f20865e062c966a14dbfdc
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll

  Log Message:
  -----------
  [TargetLowering] Be more efficient in fp -> bf16 NaN conversions

We can avoid masking completely as it is OK (and probably preferable) to
bring over some of the existant NaN payload.


  Commit: 828bf134d732a29146d1dd666548c75b49012b08
      https://github.com/llvm/llvm-project/commit/828bf134d732a29146d1dd666548c75b49012b08
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/include/clang/InstallAPI/HeaderFile.h
    M clang/tools/clang-installapi/Options.cpp

  Log Message:
  -----------
  [InstallAPI] Cleanup HeaderFile Interface & options handling, NFC (#82544)


  Commit: 049e142badfca3fae5c190c5d4b37acdd2e9c10c
      https://github.com/llvm/llvm-project/commit/049e142badfca3fae5c190c5d4b37acdd2e9c10c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/lib/CMakeLists.txt
    M libc/startup/linux/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix startup utilities failing to install in full build mode (#82522)

Summary:
Currently, doing `ninja install` will fail in fullbuild mode due to the
startup utilities not being built by default. This was hidden previously
by the fact that if tests were run, it would build the startup utilities
and thus they would be present.

This patch solves this issue by making the `libc-startup` target a
dependncy on the final library. Furthermore we simply factor out the
library install directory into the base CMake directory next to the
include directory handling. This change makes the `crt` files get
installed in `lib/x86_64-unknown-linu-gnu` instead of just `lib`.

This fixes an error I had where doing a runtimes failed to install its
libraries because the install step always errored.


  Commit: 300425cea51ef566a4d38e57afd9a7ae8024a682
      https://github.com/llvm/llvm-project/commit/300425cea51ef566a4d38e57afd9a7ae8024a682
  Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Revert "[Docs] Add release note about Clang-defined target OS macros … (#80045)

…(#79879)"

This reverts commit b40d5b1b08564d23d5e0769892ebbc32447b2987.

The target OS macros work is included in the 18.x release. Move the
release note to the release branch
(https://github.com/llvm/llvm-project/pull/80044).


  Commit: 699c408c88b3ed02f25464aa868bd48454fbba3f
      https://github.com/llvm/llvm-project/commit/699c408c88b3ed02f25464aa868bd48454fbba3f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [NFC][HWASAN] Fix misleading name


  Commit: 9ea9e93f4a74b363887b773397bcb134062270d9
      https://github.com/llvm/llvm-project/commit/9ea9e93f4a74b363887b773397bcb134062270d9
  Author: Yuta Mukai <mukai.yuta at fujitsu.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [MachinePipeliner] Fix elements being added while the list is iterated (#80805)

There is no need to add the elements of Objs twice, so the addition is
removed.


  Commit: 640e781dc87bdb74e14a66c89e54417e60150904
      https://github.com/llvm/llvm-project/commit/640e781dc87bdb74e14a66c89e54417e60150904
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Use SkeletonCU in place of IsDWO check (#82540)

Changed isDWO to a function that checks Skeleton CU that is passed in.
This is for preparation for
https://github.com/llvm/llvm-project/pull/81062.


  Commit: 004c1972b4585fe8051814ceb6c6cdbf3cb62290
      https://github.com/llvm/llvm-project/commit/004c1972b4585fe8051814ceb6c6cdbf3cb62290
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/lib/Core/DebugData.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Expose DebugStrOffsetsWriter::clear (#82548)

Refactored cod that clears data-structures in DebugStrOffsetsWriter into
clear() function and made initialize() public. This is for
https://github.com/llvm/llvm-project/pull/81062.


  Commit: f204aee1b9173ed9ae72017808f0a379c3a8de7a
      https://github.com/llvm/llvm-project/commit/f204aee1b9173ed9ae72017808f0a379c3a8de7a
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    R mlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp

  Log Message:
  -----------
  [mlir][GPU] Remove the SerializeToCubin pass (#82486)

The `SerializeToCubin` pass was deprecated in September 2023 in favor of
GPU compilation attributes; see the [GPU
compilation](https://mlir.llvm.org/docs/Dialects/GPU/#gpu-compilation)
section in the `gpu` dialect MLIR docs.
This patch removes `SerializeToCubin` from the repo.


  Commit: 4c0fdcdb33076e936327cb0743c827f019a8e1ff
      https://github.com/llvm/llvm-project/commit/4c0fdcdb33076e936327cb0743c827f019a8e1ff
  Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    A llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
    A llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll

  Log Message:
  -----------
  [Hexagon] Generate absolute-set load/store instructions. (#82034)

The optimization finds the loads/stores of a specific form and translate
the first load/store to an absolute-set form there by optimizing out the
transfer and eliminate the constant extenders.


  Commit: d62ca8def395ac165f253fdde1d93725394a4d53
      https://github.com/llvm/llvm-project/commit/d62ca8def395ac165f253fdde1d93725394a4d53
  Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    A llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
    A llvm/test/CodeGen/Hexagon/post-inc-vec.mir
    A llvm/test/CodeGen/Hexagon/post_inc_store.mir
    A llvm/test/CodeGen/Hexagon/postincopt-crash.mir
    A llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
    A llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir

  Log Message:
  -----------
  [Hexagon] Optimize post-increment load and stores in loops. (#82418)

This patch optimizes the post-increment instructions so that we can
packetize them together.
v1 = phi(v0, v3')
v2,v3  = post_load v1, 4
v2',v3'= post_load v3, 4

This can be optimized in two ways

v1 = phi(v0, v3')
v2,v3' = post_load v1, 8
v2' = load v1, 4


  Commit: a976e3c6959209f6f011260f64e4705ee84b47e8
      https://github.com/llvm/llvm-project/commit/a976e3c6959209f6f011260f64e4705ee84b47e8
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [compiler-rt][Fuchsia] Propogate raw_report to UnmapOrDieVmar (#82566)

As of #77488, UnmapOrDie now accepts raw_report which allows the program
to crash without calling Report(). We should propogate this value
through UnmapOrDieVmar and have that call ReportMunmapFailureAndDie
which uses `raw_report`.


  Commit: ba31a195f5f2efc17bee8cf3be4260badc578615
      https://github.com/llvm/llvm-project/commit/ba31a195f5f2efc17bee8cf3be4260badc578615
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

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


  Commit: dd6d059da5a75689666e555058ade7a83e81d29f
      https://github.com/llvm/llvm-project/commit/dd6d059da5a75689666e555058ade7a83e81d29f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

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


  Commit: 99822be6f08e42eef38913a128996a93e8292f73
      https://github.com/llvm/llvm-project/commit/99822be6f08e42eef38913a128996a93e8292f73
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in SerializationTest.cpp (NFC)


  Commit: 443247993cb8562f1308aab5ee0a9404983707d0
      https://github.com/llvm/llvm-project/commit/443247993cb8562f1308aab5ee0a9404983707d0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in InterfaceAttachmentTest.cpp (NFC)


  Commit: df8d5c17802b162c5d20300426f03d6fb970d2a2
      https://github.com/llvm/llvm-project/commit/df8d5c17802b162c5d20300426f03d6fb970d2a2
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/unittests/IR/OperationSupportTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in OperationSupportTest.cpp (NFC)


  Commit: fa25433d433932b1b8fd296206b1bcd974afecad
      https://github.com/llvm/llvm-project/commit/fa25433d433932b1b8fd296206b1bcd974afecad
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-use-override in SerializeNVVMTarget.cpp (NFC)


  Commit: 0d12628d06b8ab37157faea474548735ddb7eeb2
      https://github.com/llvm/llvm-project/commit/0d12628d06b8ab37157faea474548735ddb7eeb2
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-container-size-empty in SerializeNVVMTarget.cpp (NFC)


  Commit: 1eeeab82c6eb185f5139e633a59c2dbcb15616e4
      https://github.com/llvm/llvm-project/commit/1eeeab82c6eb185f5139e633a59c2dbcb15616e4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
    M lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
    M lldb/test/API/commands/statistics/basic/TestStats.py
    M lldb/test/API/commands/trace/TestTraceSave.py
    M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
    M lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
    M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
    M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
    M lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
    M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
    M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
    M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
    M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
    M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
    M lldb/test/API/macosx/queues/TestQueues.py
    M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
    M lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py

  Log Message:
  -----------
  [lldb][test] Modernize assertEqual(value, bool) (#82526)

Any time we see the pattern `assertEqual(value, bool)`, we can replace
that with `assert<bool>(value)`. Likewise for `assertNotEqual`.

Technically this relaxes the test a bit, as we may want to make sure
`value` is either `True` or `False`, and not something that implicitly
converts to a bool. For example, `assertEqual("foo", True)` will fail,
but `assertTrue("foo")` will not. In most cases, this distinction is not
important.

There are two such places that this patch does **not** transform, since
it seems intentional that we want the result to be a bool:
*
https://github.com/llvm/llvm-project/blob/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py#L90
*
https://github.com/llvm/llvm-project/blob/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10/lldb/test/API/commands/settings/TestSettings.py#L940

Followup to 9c2468821ec51defd09c246fea4a47886fff8c01. I patched `teyit`
with a `visit_assertEqual` node handler to generate this.


  Commit: 11d115d0569b212dfeb7fe6485be48070e068e19
      https://github.com/llvm/llvm-project/commit/11d115d0569b212dfeb7fe6485be48070e068e19
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll

  Log Message:
  -----------
  [RISCV] Adjust test case to show wrong stride. NFC

See https://github.com/llvm/llvm-project/pull/82506#discussion_r1498080785


  Commit: 7e1432f1258e229a4fcc9c017937166f0578e1f8
      https://github.com/llvm/llvm-project/commit/7e1432f1258e229a4fcc9c017937166f0578e1f8
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/Options.h
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/unittests/Interpreter/CMakeLists.txt
    A lldb/unittests/Interpreter/TestOptions.cpp

  Log Message:
  -----------
  [lldb] Standardize command option parsing error messages (#82273)

I have been looking to simplify parsing logic and improve the interfaces
so that they are both easier to use and harder to abuse. To be specific,
I am referring to functions such as `OptionArgParser::ToBoolean`: I
would like to go from its current interface to something more like
`llvm::Error<bool> ToBoolean(llvm::StringRef option_arg)`.

Through working on that, I encountered 2 inconveniences:
1. Option parsing code is not uniform. Every function writes a slightly
different error message, so incorporating an error message from the
`ToBoolean` implementation is going to be laborious as I figure out what
exactly needs to change or stay the same.
2. Changing the interface of `ToBoolean` would require a global atomic
change across all of the Command code. This would be quite frustrating
to do because of the non-uniformity of our existing code.

To address these frustrations, I think it would be easiest to first
standardize the error reporting mechanism when parsing options in
commands. I do so by introducing `CreateOptionParsingError` which will
create an error message of the shape:
Invalid value ('${option_arg}') for -${short_value} ('${long_value}'):
${additional_context}

Concretely, it would look something like this:
(lldb) breakpoint set -n main -G yay
error: Invalid value ('yay') for -G (auto-continue): Failed to parse as
boolean

After this, updating the interfaces for parsing the values themselves
should become simpler. Because this can be adopted incrementally, this
should be able to done over the course of time instead of all at once as
a giant difficult-to-review change. I've changed exactly one function
where this function would be used as an illustration of what I am
proposing.


  Commit: 05af9c83f3a0d154f73d619ac1361eae05531e5e
      https://github.com/llvm/llvm-project/commit/05af9c83f3a0d154f73d619ac1361eae05531e5e
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    A llvm/test/TableGen/HwModeEncodeDecode2.td
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp

  Log Message:
  -----------
  [TableGen] Suppress per-HwMode duplicate instructions/tables. (#82567)

Currently, for per-HwMode encoding/decoding, those instructions that do
not have a HwMode override are duplicated into the decoder tables for
all HwModes. This includes inducing multiple tables for instructions
that are otherwise unrelated (e.g., different namespace with no
overrides at all).

This patch adds support to suppress instruction and table duplicates.
TableGen option "-gen-disassembler --suppress-per-hwmode-duplicates"
enables the suppression (off by default).

For one downstream backend with a complicated ISA and major
cross-generation encoding differences, this eliminates ~32000 duplicate
table entries at the time of this patch.

There are legitimate reasons to suppress or not suppress duplicates. If
there are relatively few non-overridden related instructions, it can be
convenient to pull them into the per-mode tables (only need to decode
the per-mode tables, slightly simpler decode function in disassembler).
On the other hand, in some backends, the opposite is true or the size is
too large to tolerate any duplication in the first place. We let the
user decide which makes sense.

This is currently off by default, though there is no reason it couldn't
be enabled by default. Any existing backends downstream using the
per-HwMode feature will function as before. Turning on the feature
requires minor modifications to their disassembler due to more/less
tables and naming.


  Commit: 815644b4dd882ade2e5649d4f97c3dd6f7aea200
      https://github.com/llvm/llvm-project/commit/815644b4dd882ade2e5649d4f97c3dd6f7aea200
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll

  Log Message:
  -----------
  [RISCV] Fix mgather -> riscv.masked.strided.load combine not extending indices (#82506)

This fixes the miscompile reported in #82430 by telling
isSimpleVIDSequence to sign extend to XLen instead of the width of the
indices, since the "sequence" of indices generated by a strided load
will be at XLen.

This was the simplest way I could think of getting isSimpleVIDSequence
to treat the indexes as if they were zero extended to XLenVT.

Another way we could do this is by refactoring out the "get constant
integers" part from isSimpleVIDSequence and handle them as APInts so we
can separately zero extend it.

Fixes #82430


  Commit: db7e9e68411de074dee78c92657e983da4b89500
      https://github.com/llvm/llvm-project/commit/db7e9e68411de074dee78c92657e983da4b89500
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/test/profile/instrprof-write-buffer-internal.c
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/Instrumentation/InstrProfiling/coverage.ll
    M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/Transforms/PGOProfile/comdat_internal.ll
    M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
    M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
    A llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/tools/llvm-profdata/binary-ids-padding.test
    M llvm/test/tools/llvm-profdata/large-binary-id-size.test
    M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
    M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
    M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
    M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
    M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-two-profiles.test

  Log Message:
  -----------
  [TypeProf][InstrPGO] Introduce raw and instr profile format change for type profiling. (#81691)

* Raw profile format
- Header: records the byte size of compressed vtable names, and the
number of profiled vtable entries (call it `VTableProfData`). Header
also records padded bytes of each section.
- Payload: adds a section for compressed vtable names, and a section to
store `VTableProfData`. Both sections are padded so the size is a
multiple of 8.
* Indexed profile format
  - Header: records the byte offset of compressed vtable names.
- Payload: adds a section to store compressed vtable names. This section
is used by `llvm-profdata` to show the list of vtables profiled for an
instrumented site.
  
[The originally reviewed
patch](https://github.com/llvm/llvm-project/pull/66825) will have
profile reader/write change and llvm-profdata change.
- To ensure this PR has all the necessary profile format change along
with profile version bump, created a copy of the originally reviewed
patch in https://github.com/llvm/llvm-project/pull/80761. The copy
doesn't have profile format change, but it has the set of tests which
covers type profile generation, profile read and profile merge. Tests
pass there.
  
rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600

---------

Co-authored-by: modiking <modiking213 at gmail.com>


  Commit: 4d73cbe863886add6742a8ebd00d19c1cab11095
      https://github.com/llvm/llvm-project/commit/4d73cbe863886add6742a8ebd00d19c1cab11095
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [nfc]remove unused variable after pr/81691 (#82578)

* `N` became unused after [pull request 81691](https://github.com/llvm/llvm-project/pull/81691)
* This should fix the build bot failure of `unused variable`
https://lab.llvm.org/buildbot/#/builders/77/builds/34840


  Commit: 0e8d1877cd145719b7acb707539287b7b877a555
      https://github.com/llvm/llvm-project/commit/0e8d1877cd145719b7acb707539287b7b877a555
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/test/profile/instrprof-write-buffer-internal.c
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/Instrumentation/InstrProfiling/coverage.ll
    M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/Transforms/PGOProfile/comdat_internal.ll
    M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
    M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
    R llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/tools/llvm-profdata/binary-ids-padding.test
    M llvm/test/tools/llvm-profdata/large-binary-id-size.test
    M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
    M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
    M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
    M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
    M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-two-profiles.test

  Log Message:
  -----------
  Revert type profiling change as compiler-rt test break on Windows. (#82583)

Examples
https://lab.llvm.org/buildbot/#/builders/127/builds/62532/steps/8/logs/stdio


  Commit: 386aa7b16977150da917a78423fd05cb19609850
      https://github.com/llvm/llvm-project/commit/386aa7b16977150da917a78423fd05cb19609850
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir

  Log Message:
  -----------
  [mlir][Vector] Replace `vector.shuffle` with `vector.interleave` in vector narrow type emulation (#82550)

This PR replaces the generation of `vector.shuffle` with
`vector.interleave` in the i4 conversions in vector narrow type
emulation. The multi dimensional semantics of `vector.interleave` allow
us to enable these conversion emulations also for multi dimensional
vectors.


  Commit: 675791335285fa86434dc46e5c92f543e0e79d19
      https://github.com/llvm/llvm-project/commit/675791335285fa86434dc46e5c92f543e0e79d19
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp

  Log Message:
  -----------
  [lldb][test] Fix PythonDataObjectsTest

This is using `FileSystem::Instance()` w/o calling `FileSystem::Initialize()`. Use `SubsystemRAII` to do that.


  Commit: 6676f67e3103bb6779d226de6bb4f0f8f8ab99f2
      https://github.com/llvm/llvm-project/commit/6676f67e3103bb6779d226de6bb4f0f8f8ab99f2
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Remove stub target which is not needed anymore.


  Commit: bc1c86b810e518a8e3fa90d5c26908c43788873d
      https://github.com/llvm/llvm-project/commit/bc1c86b810e518a8e3fa90d5c26908c43788873d
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Also remove SerializeToCubin target.


  Commit: 7e97ae35ae2d1c38d149e670139a538bdba86e93
      https://github.com/llvm/llvm-project/commit/7e97ae35ae2d1c38d149e670139a538bdba86e93
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/test/CodeGen/RISCV/make-compressible.mir

  Log Message:
  -----------
  [RISCV] Teach RISCVMakeCompressible handle Zca/Zcf/Zce/Zcd. (#81844)

Make targets which don't have C but have Zca/Zcf/Zce/Zcd benefit from
this pass.


  Commit: edd4aee4dd9b5b98b2576a6f783e4086173d902a
      https://github.com/llvm/llvm-project/commit/edd4aee4dd9b5b98b2576a6f783e4086173d902a
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Compute integers once in isSimpleVIDSequence. NFCI (#82590)

We need to iterate through the integers twice in isSimpleVIDSequence, so
instead of computing them twice just compute them once at the start.

This also replaces the individual checks that each element is constant
with a single call to BuildVectorSDNode::isConstant.


  Commit: e899641df2391179e8ec29ca14c53b09ae7ce85c
      https://github.com/llvm/llvm-project/commit/e899641df2391179e8ec29ca14c53b09ae7ce85c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix inaccuracies in `buildStmtToBasicBlockMap()`. (#82496)

See the comments added to the code for details on the inaccuracies that
have
now been fixed.

The patch adds tests that fail with the old implementation.


  Commit: 8bd327d6fed5a4ae99bdbd039f5503700030cf53
      https://github.com/llvm/llvm-project/commit/8bd327d6fed5a4ae99bdbd039f5503700030cf53
  Author: Nick Anderson <nickleus27 at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fdiv-sqrt-to-rsq.mir

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Add fdiv / sqrt to rsq combine (#78673)

Fixes #64743


  Commit: fde344aef20bc4280f01294ac6e14a5c2db2d572
      https://github.com/llvm/llvm-project/commit/fde344aef20bc4280f01294ac6e14a5c2db2d572
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Improve signature conversion API (#81997)

This commit improves the block signature conversion API of the dialect
conversion.

There is the following comment in
`ArgConverter::applySignatureConversion`:
```
// If no arguments are being changed or added, there is nothing to do.
```

However, the implementation actually used to replace a block with a new
block even if the block argument types do not change (i.e., there is
"nothing to do"). This is fixed in this commit. The documentation of the
public `ConversionPatternRewriter` API is updated accordingly.

This commit also removes a check that used to *sometimes* skip a block
signature conversion if the block was already converted. This is not
consistent with the public `ConversionPatternRewriter` API; blocks
should always be converted, regardless of whether they were already
converted or not.

Block signature conversion also used to be silently skipped when the
specified block was detached. Instead of silently skipping, an assertion
is triggered. Attempting to convert a detached block (which is likely an
erased block) is invalid API usage.


  Commit: 25e7e8d993f12f391ad90d23b5c3e2385ebafc81
      https://github.com/llvm/llvm-project/commit/25e7e8d993f12f391ad90d23b5c3e2385ebafc81
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/AArch64/addsub.ll
    M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
    M llvm/test/CodeGen/RISCV/pr51206.ll
    M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll

  Log Message:
  -----------
  [CGP] Permit tail call optimization on undefined return value

We may freely allow tail call optzs on undef values as well.

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


  Commit: c5253aa136ac6ba683b367b2bae0dde1a543d1df
      https://github.com/llvm/llvm-project/commit/c5253aa136ac6ba683b367b2bae0dde1a543d1df
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    M llvm/test/CodeGen/AArch64/sve-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-tailcall.ll
    M llvm/test/CodeGen/AArch64/unwind-preserved.ll

  Log Message:
  -----------
  [AArch64] Restore Z-registers before P-registers (#79623) (#82492)

This is needed by PR#77665[1] that uses a P-register while restoring
Z-registers.

The reverse for SVE register restore in the epilogue was added to
guarantee performance, but further work was done to improve sve frame
restore and besides that the schedule also may change the order of the
restore, undoing the reverse restore.

This also fix the problem reported in (PR #79623) on Windows with
std::reverse and .base().

[1]https://github.com/llvm/llvm-project/pull/77665


  Commit: 55558cd05c998f1b287b0af97aa6db0db0bdfaa0
      https://github.com/llvm/llvm-project/commit/55558cd05c998f1b287b0af97aa6db0db0bdfaa0
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (#81756)

This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).

Until now, the signature conversion of a block was only a "partial" IR
rewrite. Rollbacks were triggered via
`BlockTypeConversionRewrite::rollback`, but there was no
`BlockTypeConversionRewrite::commit` equivalent.

Overview of changes:
* Remove `ArgConverter`, an internal helper class that kept track of all
block type conversions. There is now a separate
`BlockTypeConversionRewrite` for each block type conversion.
* No more special handling for block type conversions. They are now
normal "IR rewrites", just like "block creation" or "block movement". In
particular, trigger "commits" of block type conversion via
`BlockTypeConversionRewrite::commit`.
* Remove `ArgConverter::notifyOpRemoved`. This function was used to
inform the `ArgConverter` that an operation was erased, to prevent a
double-free of operations in certain situations. It would be unpractical
to add a `notifyOpRemoved` API to `IRRewrite`. Instead, erasing
ops/block should go through a new `SingleEraseRewriter` (that is owned
by the `ConversionPatternRewriterImpl`) if there is chance of
double-free. This rewriter ignores `eraseOp`/`eraseBlock` if the
op/block was already freed.


  Commit: fddf23c6f4478fc39b0077538d288082f983ce80
      https://github.com/llvm/llvm-project/commit/fddf23c6f4478fc39b0077538d288082f983ce80
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll

  Log Message:
  -----------
  [SPIRV] Add support for the SPV_KHR_subgroup_rotate extension (#82374)

This PR adds support for the SPV_KHR_subgroup_rotate extension that
enables rotating values across invocations within a subgroup:
*
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_subgroup_rotate.asciidoc


  Commit: 6cca23a3b91e12c0b6639449bc1e5eb564067db3
      https://github.com/llvm/llvm-project/commit/6cca23a3b91e12c0b6639449bc1e5eb564067db3
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    A llvm/test/CodeGen/SPIRV/switch-no-jump-table.ll

  Log Message:
  -----------
  [SPIRV] Prevent creation of jump tables from switch (#82287)

This PR is to prevent creation of jump tables from switch. The reason is
that SPIR-V doesn't know how to lower jump tables, and a sequence of
commands that IRTranslator generates for switch via jump tables breaks
SPIR-V Backend code generation with complains to G_BRJT. The next
example is the shortest code to break SPIR-V Backend code generation in
this way:

```
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
target triple = "spir64-unknown-unknown"

define spir_func void @foo(i32 noundef %val) {
entry:
  switch i32 %val, label %sw.epilog [
    i32 0, label %sw.bb
    i32 1, label %sw.bb2
    i32 2, label %sw.bb3
    i32 3, label %sw.bb4
  ]
sw.bb:
  br label %sw.epilog
sw.bb2:
  br label %sw.epilog
sw.bb3:
  br label %sw.epilog
sw.bb4:
  br label %sw.epilog
sw.epilog:
  ret void
}
```

To resolve the issue we set a high lower limit for number of blocks in a
jump table via getMinimumJumpTableEntries() and prevent undesirable (or
rather unsupported at the moment) path of code generation.


  Commit: bcbffd99c48ed0cabd1b94e9ff252680f0968fc3
      https://github.com/llvm/llvm-project/commit/bcbffd99c48ed0cabd1b94e9ff252680f0968fc3
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td

  Log Message:
  -----------
  [AMDGPU] Split Dpp8FI and Dpp16FI operands (#82379)

Split Dpp8FI and Dpp16FI into two different operands sharing an
AsmOperandClass. They are parsed and rendered identically as fi:1 but
the encoding is different: for DPP16 FI is a single bit, but for DPP8 it
uses two different special values in the src0 field. Having a dedicated
decoder for Dpp8FI allows it to reject other (non-special) src0 values
so that AMDGPUDisassembler::getInstruction no longer needs to call
isValidDPP8 to do post hoc validation of decoded DPP8 instructions.


  Commit: 6193233540e55de61baeb80208b06c6808b14dbc
      https://github.com/llvm/llvm-project/commit/6193233540e55de61baeb80208b06c6808b14dbc
  Author: Yury Gribov <tetra2005 at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
    A llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s

  Log Message:
  -----------
  [AArch64] Fix sched model for TSV110 core. (#82343)

Accumulator operand of MADD instruction can be bypassed from another
MUL-like operation. Before this fix bypassing was incorrectly applied to
multiplier operand.

Co-authored-by: Yury Gribov <gribov.yuri at huawei.com>


  Commit: 4a602d9250e1eb3c729d0421d11be2be8693cbf2
      https://github.com/llvm/llvm-project/commit/4a602d9250e1eb3c729d0421d11be2be8693cbf2
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll

  Log Message:
  -----------
  Add support for the SPV_INTEL_usm_storage_classes extension (#82247)

Add support for the SPV_INTEL_usm_storage_classes extension:
*
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_usm_storage_classes.asciidoc


  Commit: f01719afaae9a208ac272d99760d18e4c16d9241
      https://github.com/llvm/llvm-project/commit/f01719afaae9a208ac272d99760d18e4c16d9241
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir

  Log Message:
  -----------
  [mlir][test] Add integration tests for vector.interleave (#80969)


  Commit: e4d4ebe0415b9f1fd8cb034ac68f0616f12facf2
      https://github.com/llvm/llvm-project/commit/e4d4ebe0415b9f1fd8cb034ac68f0616f12facf2
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test

  Log Message:
  -----------
  [llvm][llvm-jitlink] Disable test on Windows on Arm

This fails on one of our bots:
https://lab.llvm.org/buildbot/#/builders/120/builds/6309

llvm-jitlink error: Unsupported target machine architecture in COFF object

The other bot doesn't run the test at all it seems but I can't explain
why. It's also possible that I'm mistaken and the mostly native but still
"cross compiling" setup we have on WoA means an x86 object is produced sometimes
(perhaps because a default triple is still x86).


  Commit: b9ce237980b5a636e87e3578609c812833f7537f
      https://github.com/llvm/llvm-project/commit/b9ce237980b5a636e87e3578609c812833f7537f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp

  Log Message:
  -----------
  [AMDGPU] Clean up conversion of DPP instructions in AMDGPUDisassembler (#82480)

Convert DPP instructions after all calls to tryDecodeInst, just like we
do for all other instruction types. NFCI.


  Commit: 4f12f47550eee85447c9ec37d27a20c6593d3d40
      https://github.com/llvm/llvm-project/commit/4f12f47550eee85447c9ec37d27a20c6593d3d40
  Author: Harald van Dijk <harald at gigawatt.nl>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll

  Log Message:
  -----------
  [AArch64] Switch to soft promoting half types. (#80576)

The traditional promotion is known to generate wrong code.

Like #80440 for ARM, except that far less is affected as on AArch64,
hardware floating point support always includes FP16 support and is
unaffected by these changes. This only affects `-mgeneral-regs-only`
(Clang) / `-mattr=-fp-armv8` (LLVM).

Because this only affects a configuration where no FP support is
available at all, `useFPRegsForHalfType()` has no effect and is not
specified: `f32` was getting legalized as a parameter and return type to
an integer anyway.


  Commit: 3b7d43301e3662da4197cef7948c18fab850d9c4
      https://github.com/llvm/llvm-project/commit/3b7d43301e3662da4197cef7948c18fab850d9c4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  [AMDGPU] Remove DPP DecoderNamespaces. NFC. (#82491)

Now that there is no special checking for valid DPP encodings, these
instructions can use the same DecoderNamespace as other 64- or 96-bit
instructions.

Also clean up setting DecoderNamespace: in most cases it should be set
as a pair with AssemblerPredicate.


  Commit: f17e4151423a798c18533080fe7f8a3e922d7312
      https://github.com/llvm/llvm-project/commit/f17e4151423a798c18533080fe7f8a3e922d7312
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll

  Log Message:
  -----------
  [AArch64] Mangle names of all ARM64EC functions with entry thunks (#80996)

This better matches MSVC output in cases where static functions have their addresses taken.


  Commit: 1f99a450127c2404d4f9b8ac24acdb17823c988b
      https://github.com/llvm/llvm-project/commit/1f99a450127c2404d4f9b8ac24acdb17823c988b
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir

  Log Message:
  -----------
  [AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)

This patch removes the `-reverse-csr-restore-seq` option from
AArch64FrameLowering, since this is no longer used.

This patch was reverted because of a crash in PR#79623.
Merging it back as it was fixed in PR#82492.


  Commit: 4235e44d4c37ca738c74def05da8caf124d2464e
      https://github.com/llvm/llvm-project/commit/4235e44d4c37ca738c74def05da8caf124d2464e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir

  Log Message:
  -----------
  [GlobalISel] Constant-fold G_PTR_ADD with different type sizes (#81473)

All other opcodes in the list are constrained to have the same type on
both operands, but not G_PTR_ADD.

Fixes  #81464


  Commit: 3ef63a71adb7fd1c792fd61d00c74159fcef9a2f
      https://github.com/llvm/llvm-project/commit/3ef63a71adb7fd1c792fd61d00c74159fcef9a2f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll

  Log Message:
  -----------
  [CVP] Refactor `processMinMaxIntrinsic` to check non-strict predicate in both directions (#82596)

This patch uses `getConstantRangeAtUse` in `processMinMaxIntrinsic` to
address the comment
https://github.com/llvm/llvm-project/pull/82478#discussion_r1497300920.
After this patch we can reuse the range result in
https://github.com/llvm/llvm-project/pull/82478.


  Commit: c831d83bb17caa3a8f137052559cb6c54b21b7c1
      https://github.com/llvm/llvm-project/commit/c831d83bb17caa3a8f137052559cb6c54b21b7c1
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    A llvm/test/Transforms/InferAddressSpaces/AMDGPU/multiple-uses-of-val.ll

  Log Message:
  -----------
  [InferAddrSpaces] Correctly replace identical operands of insts (#82610)

It's important for PHI nodes because if a PHI node has multiple edges
coming from the same block, we can have the same incoming value multiple
times in the list of incoming values. All of those need to be consistent
(exact same Value*) otherwise verifier complains.

Fixes SWDEV-445797


  Commit: 73c646a3b27293f8cb4ba120de7bc01c223b4b5f
      https://github.com/llvm/llvm-project/commit/73c646a3b27293f8cb4ba120de7bc01c223b4b5f
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-integer.cpp

  Log Message:
  -----------
  [flang] Fix warning when with clang-cl/msvc

\llvm\flang\lib\Evaluate\fold-integer.cpp(705,35): warning: lambda capture 'FromInt64' is not used [-Wunused-lambda-capture]

It is intentionally unused.


  Commit: 18f116651af0e328e6f9f6b0619171bd8a2c4817
      https://github.com/llvm/llvm-project/commit/18f116651af0e328e6f9f6b0619171bd8a2c4817
  Author: pwprzybyla <121295298+pwprzybyla at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp

  Log Message:
  -----------
  Multilib support for libraries with exceptions (#75031)

For better multilib matching explicitly match -fno-rtti and -fno-exceptions


  Commit: b47f63d3c8fedf7c98b7f58e892e784fddee4601
      https://github.com/llvm/llvm-project/commit/b47f63d3c8fedf7c98b7f58e892e784fddee4601
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/lib/CodeGen/Targets/AArch64.cpp
    A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c

  Log Message:
  -----------
  [Clang][SME] Detect always_inline used with mismatched streaming attributes (#77936)

This patch adds an error that is emitted when a streaming function is
marked as always_inline and is called from a non-streaming function.


  Commit: fa8a21144ec9a6836e9bf1e3bf5cd0b2f058209e
      https://github.com/llvm/llvm-project/commit/fa8a21144ec9a6836e9bf1e3bf5cd0b2f058209e
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/test/Analysis/out-of-bounds.c

  Log Message:
  -----------
  [analyzer] Improve handling of unsigned values in ArrayBoundCheckerV2 (#81034)

A memory access is an out of bounds error if the offset is < the extent
of the memory region. Notice that here "<" is a _mathematical_
comparison between two numbers and NOT a C/C++ operator that compares
two typed C++ values: for example -1 < 1000 is true in mathematics, but
if the `-1` is an `int` and the `1000` is a `size_t` value, then
evaluating the C/C++ operator `<` will return false because the `-1`
will be converted to `SIZE_MAX` by the automatic type conversions.

This means that it's incorrect to perform a bounds check with
`evalBinOpNN(State, BO_LT, ...)` which performs automatic conversions
and can produce wildly incorrect results.

ArrayBoundsCheckerV2 already had a special case where it avoided calling
`evalBinOpNN` in a situation where it would have performed an automatic
conversion; this commit replaces that code with a more general one that
covers more situations. (It's still not perfect, but it's better than
the previous version and I think it will cover practically all
real-world code.)

Note that this is not a limitation/bug of the simplification algorithm
defined in `getSimplifedOffsets()`: the simplification is not applied in
the test case `test_comparison_with_extent_symbol` (because the `Extent`
is not a concrete int), but without the new code it would still run into
a `-1 < UNSIGNED` comparison that evaluates to false because
`evalBinOpNN` performs an automatic type conversion.


  Commit: afa8a2eed0c4ca61ac19abd88022e63e58408af1
      https://github.com/llvm/llvm-project/commit/afa8a2eed0c4ca61ac19abd88022e63e58408af1
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h

  Log Message:
  -----------
  [analyzer] Remove superfluous #include "CallDescription.h" (NFC) (#82614)

To fix https://github.com/llvm/llvm-project/issues/81597, I'm planning
to refactor the usage of CallDescription; and as I was preparing for
this I noticed that there are two superfluous references to this header.


  Commit: 770fd3856660fea6cbaa78d9cb1f03cc92611783
      https://github.com/llvm/llvm-project/commit/770fd3856660fea6cbaa78d9cb1f03cc92611783
  Author: Ian Hickson <ian at hixie.ch>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Document string literals in LLVM's format (#82529)


  Commit: 5b8e5604c297aa8fd09bf641d12d0a663e0ea801
      https://github.com/llvm/llvm-project/commit/5b8e5604c297aa8fd09bf641d12d0a663e0ea801
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/aix-builtin-cpu-is.c
    A clang/test/Sema/aix-builtin-cpu-unsupports.c
    M llvm/include/llvm/TargetParser/PPCTargetParser.def

  Log Message:
  -----------
  [AIX] Lower intrinsic __builtin_cpu_is into AIX platform-specific code. (#80069)

On AIX OS, __builtin_cpu_is() references the runtime external variable
_system_configuration from /usr/include/sys/systemcfg.h.

ref issue:  https://github.com/llvm/llvm-project/issues/80042


  Commit: cbb24e139d0753d755d17fbe6bfac48ab44d0721
      https://github.com/llvm/llvm-project/commit/cbb24e139d0753d755d17fbe6bfac48ab44d0721
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    A llvm/test/Bitcode/constant-splat.ll

  Log Message:
  -----------
  [LLVM][IR] Add native vector support to ConstantInt & ConstantFP. (#74502)

NOTE: For brevity the following talks about ConstantInt but
everything extends to cover ConstantFP as well.

Whilst ConstantInt::get() supports the creation of vectors whereby
each lane has the same value, it achieves this via other constants:

  * ConstantVector for fixed-length vectors
  * ConstantExprs for scalable vectors

However, ConstantExprs are being deprecated and ConstantVector is
not space efficient for larger vector types. By extending ConstantInt
we can represent vector splats by only storing the underlying scalar
value.

More specifically:

 * ConstantInt gains an ElementCount variant of get().
 * LLVMContext is extended to map <EC,APInt>->ConstantInt.
 * BitcodeReader/Writer support is extended to allow vector types.

Whilst this patch adds the base support, more work is required
before it's production ready. For example, there's likely to be
many places where isa<ConstantInt> assumes a scalar type. Accordingly
the default behaviour of ConstantInt::get() remains unchanged but a
set of flags are added to allow wider testing and thus help with the
migration:

  --use-constant-int-for-fixed-length-splat
  --use-constant-fp-for-fixed-length-splat
  --use-constant-int-for-scalable-splat
  --use-constant-fp-for-scalable-splat

NOTE: No change is required to the bitcode format because types and
values are handled separately.

NOTE: For similar reasons as above, code generation doesn't work
out-the-box.


  Commit: 88e31f64a034ec6dead2106016ee5b797674edb0
      https://github.com/llvm/llvm-project/commit/88e31f64a034ec6dead2106016ee5b797674edb0
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A llvm/test/Transforms/OpenMP/deduplication_soundness.ll

  Log Message:
  -----------
  [OpenMP][FIX] Remove unsound omp_get_thread_limit deduplication (#79524)

The deduplication of the calls to `omp_get_thread_limit` used to be
legal when originally added in
<https://github.com/llvm/llvm-project/commit/e28936f6137c5a9c4f7673e248c192a9811543b6#diff-de101c82aff66b2bda2d1f53fde3dde7b0d370f14f1ff37b7919ce38531230dfR123>,
as the result (thread_limit) was immutable.

However, now that we have `thread_limit` clause, we no longer have
immutability; therefore `omp_get_thread_limit()` is not a deduplicable
runtime call.

Thus, removing `omp_get_thread_limit` from the
`DeduplicableRuntimeCallIDs` array.

Here's a simple example:
```
#include <omp.h>
#include <stdio.h>

int main()
{
#pragma omp target thread_limit(4)
{
printf("\n1:target thread_limit: %d\n", omp_get_thread_limit());
}

#pragma omp target thread_limit(3)
{
printf("\n2:target thread_limit: %d\n", omp_get_thread_limit());
}
return 0;
}
```

GCC-compiled binary execution: https://gcc.godbolt.org/z/Pjv3TWoTq
```
1:target thread_limit: 4
2:target thread_limit: 3
```

Clang/LLVM-compiled binary execution:
https://clang.godbolt.org/z/zdPbrdMPn
```
1:target thread_limit: 4
2:target thread_limit: 4
```

By my reading of the OpenMP spec GCC does the right thing here; cf.
<https://www.openmp.org/spec-html/5.2/openmpse12.html#x34-330002.4>:
> If a target construct with a thread_limit clause is encountered, the
thread-limit-var ICV from the data environment of the generated initial
task is instead set to an implementation defined value between one and
the value specified in the clause.

The common subexpression elimination (CSE) of the second call to
`omp_get_thread_limit` by LLVM does not seem to be correct, as it's not
an available expression at any program point(s) (in the scope of the
clause in question) after the second target construct with a
`thread_limit` clause is encountered.

Compiling with `-Rpass=openmp-opt -Rpass-analysis=openmp-opt
-Rpass-missed=openmp-opt` we have:
https://clang.godbolt.org/z/G7dfhP7jh
```
<source>:8:42: remark: OpenMP runtime call omp_get_thread_limit deduplicated. [OMP170] [-Rpass=openmp-opt]
8 | printf("\n1:target thread_limit: %d\n",omp_get_thread_limit());
| ^
```

OMP170 has the following explanation:
https://openmp.llvm.org/remarks/OMP170.html

> This optimization remark indicates that a call to an OpenMP runtime
call was replaced with the result of an existing one. This occurs when
the compiler knows that the result of a runtime call is immutable.
Removing duplicate calls is done by replacing all calls to that function
with the result of the first call. This cannot be done automatically by
the compiler because the implementations of the OpenMP runtime calls
live in a separate library the compiler cannot see.
This optimization will trigger for known OpenMP runtime calls whose
return value will not change.

At the same time I do not believe we have an analysis checking whether
this precondition holds here: "This occurs when the compiler knows that
the result of a runtime call is immutable."

AFAICT, such analysis doesn't appear to exist in the original patch
introducing deduplication, either:

-
https://github.com/llvm/llvm-project/commit/9548b74a831ea005649465797f359e0521f3b8a9
- https://reviews.llvm.org/D69930

The fix is to remove it from `DeduplicableRuntimeCallIDs`, effectively
reverting the addition in this commit (noting that `omp_get_max_threads`
is not present in `DeduplicableRuntimeCallIDs`, so it's possible this
addition was incorrect in the first place):

- [OpenMP][Opt] Annotate known runtime functions and deduplicate more,
-
https://github.com/llvm/llvm-project/commit/e28936f6137c5a9c4f7673e248c192a9811543b6#diff-de101c82aff66b2bda2d1f53fde3dde7b0d370f14f1ff37b7919ce38531230dfR123

As a result, we're no longer unsoundly deduplicating the OpenMP runtime
call `omp_get_thread_limit` as illustrated by the test case: Note the
(correctly) repeated `call i32 @omp_get_thread_limit()`.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: d3f6dd6585f4866a38a794b80db55a62c1050c77
      https://github.com/llvm/llvm-project/commit/d3f6dd6585f4866a38a794b80db55a62c1050c77
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/fpextend.ll

  Log Message:
  -----------
  [InstCombine] Pick bfloat over half when shrinking ops that started with an fpext from bfloat (#82493)

This fixes the case where we would shrink an frem to half and then
bitcast to bfloat, producing invalid results. The transformation was
written under the assumption that there is only one type with a given
bit width.

Also add a strategic assert to CastInst::CreateFPCast to turn this
miscompilation into a crash.


  Commit: 9dbedcac1243e8e99103bdff37da51dded67b766
      https://github.com/llvm/llvm-project/commit/9dbedcac1243e8e99103bdff37da51dded67b766
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [build] Check RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES for libc also (#82561)

When checking whether we need to build libc-hdrgen, we need to check
LLVM_ENABLE_RUNTIMES and RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES, just
the former is not sufficient since libc may be enabled only for certain
targets.


  Commit: cf8fc53a96f844328be8d20435c5b4151a7b8f92
      https://github.com/llvm/llvm-project/commit/cf8fc53a96f844328be8d20435c5b4151a7b8f92
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [Flang][LLVM][OpenMP] Relax target data restrictions to be more inline with the specification (#82537)

Currently we emit errors whenever a map is not provided on a target data
directive, however, I believe that's incorrect behavior, the
specification states:

"At least one map, use_device_addr or use_device_ptr clause must appear
on the directive"

So provided one is present, the directive is legal in this case.
Slightly different to its siblings (enter/exit/update) which don't have
use_device_addr/use_device_ptr.


  Commit: 27498e9942dbb8dd005588a03d6777088d2255ce
      https://github.com/llvm/llvm-project/commit/27498e9942dbb8dd005588a03d6777088d2255ce
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/struct.f90

  Log Message:
  -----------
  [Flang][OpenMP] Prevent ICE for certain constructs in unnamed programs (#73938)

This patch fixes #72748 by modifying the processing of program units to
search for a symbol to which OpenMP REQUIRES clauses can bind to. Rather
than picking up the first PFT node with a source reference and getting
its associated scope, it picks up the last one.

This avoids using the source from the first specification construct of
a nameless program, which can sometimes not be associated to any scope,
causing an ICE due to an invalid source location.


  Commit: 8e28037374934c60602cb8c85874f443e3348b9e
      https://github.com/llvm/llvm-project/commit/8e28037374934c60602cb8c85874f443e3348b9e
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [SystemZ] Add SystemZ path for the PR labeler (#82515)

Similar to #82200:
Add paths for SystemZ related changes to the PR labeler.

There is no pr-subscribers-backend:SystemZ team in the llvm org yet.
Much appreciated if some admin can help to create the team.


  Commit: 307409a8872ff27339d5d5c6a7e7777254972f34
      https://github.com/llvm/llvm-project/commit/307409a8872ff27339d5d5c6a7e7777254972f34
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-integer.cpp

  Log Message:
  -----------
  [flang] Fix warning fix

This fixes 73c646a3b27293f8cb4ba120de7bc01c223b4b5f.

I misread the #ifdefs and didn't realise that they were in
the middle of passing parameters to a function.

Move the workaround outside this.


  Commit: 20434bf3731389773fb8569889bd5d06375683bf
      https://github.com/llvm/llvm-project/commit/20434bf3731389773fb8569889bd5d06375683bf
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [RemoveDIs][NFC] Add DPLabel class [2/3] (#82376)

Patch 2 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds the DPLabel class, which is the RemoveDIs
llvm.dbg.label
equivalent.

       1. Add DbgRecord base class for DPValue and the not-yet-added
          DPLabel class.
    -> 2. Add the DPLabel class.
       3. Enable dbg.label conversion and add support to passes.

This will be used (and tested) in the final patch(es), coming next.


  Commit: 601c9bec736739da9160092ef60e3468266816bd
      https://github.com/llvm/llvm-project/commit/601c9bec736739da9160092ef60e3468266816bd
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Fix arm_acle.h title headers (#82624)

Fix some title headers to align them with the actual ACLE document.


  Commit: 08eced5fccd2f103379292f119834a7a3c3b6b25
      https://github.com/llvm/llvm-project/commit/08eced5fccd2f103379292f119834a7a3c3b6b25
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir

  Log Message:
  -----------
  [mlir][test] Add -march=aarch64 -mattr=+sve to test-scalable-interleave

Fix for https://lab.llvm.org/buildbot/#/builders/179/builds/9438


  Commit: 695a9d84dc1dd003c31d3e5e22af3525c31218c2
      https://github.com/llvm/llvm-project/commit/695a9d84dc1dd003c31d3e5e22af3525c31218c2
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/pr72969.ll

  Log Message:
  -----------
  LoopVectorize: add test for crash in #72969 (#74111)


  Commit: 9eb5f94f9b47154cf07160a6ba74ab1c31becfa3
      https://github.com/llvm/llvm-project/commit/9eb5f94f9b47154cf07160a6ba74ab1c31becfa3
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll

  Log Message:
  -----------
  [RISCV][AArch64] Add vscale_range attribute to tests per architecture minimums

Spent a bunch of time tracing down an odd issue "in SCEV" which turned out
to be the fact that SCEV doesn't have access to TTI.  As a result, the only
way for it to get range facts on vscales (to avoid collapsing ranges of
element counts and type sizes to trivial ranges on multiplies) is to look
at the vscale_range attribute.  Since vscale_range is set by clang by
default, manually setting it in the tests shouldn't interfere with the
test intent.


  Commit: 0107c8824b695db86706bbc3466bbfd585a754aa
      https://github.com/llvm/llvm-project/commit/0107c8824b695db86706bbc3466bbfd585a754aa
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/select.ll

  Log Message:
  -----------
  [RISCV][SDAG] Improve codegen of select with constants if zicond is available (#82456)

This patch uses `add + czero.eqz/nez` to lower select with constants if
zicond is available.
```
(select c, c1, c2) -> (add (czero_nez c2 - c1, c), c1)
(select c, c1, c2) -> (add (czero_eqz c1 - c2, c), c2)
```
The above code sequence is suggested by [RISCV Optimization
Guide](https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/riscv-optimization-guide.html#_avoid_branches_using_conditional_moves).


  Commit: 43f1fa99ca7d05be9545a102e15ad0d607887839
      https://github.com/llvm/llvm-project/commit/43f1fa99ca7d05be9545a102e15ad0d607887839
  Author: cmtice <cmtice at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

  Log Message:
  -----------
  [LLVM][DebugInfo] Refactor some code for easier sharing. (#82153)

Refactor the code that calculates the offsets for the various pieces of
the DWARF .debug_names index section, to make it easier to share the
code with other tools, such as LLD.


  Commit: f67ef1a8d9841718ce08a69d935ac8fd8e6112f9
      https://github.com/llvm/llvm-project/commit/f67ef1a8d9841718ce08a69d935ac8fd8e6112f9
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll

  Log Message:
  -----------
  [RISCV][LV] Add additional small trip count loop coverage


  Commit: c9afd1ad783a67210bed4fd2f7108477fc986e15
      https://github.com/llvm/llvm-project/commit/c9afd1ad783a67210bed4fd2f7108477fc986e15
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll

  Log Message:
  -----------
  [RISCV] Add test case showing missed opportunity to form sextload when sext and zext nneg are both present. NFC


  Commit: a51f4afc5aec8145091fead1d68c81e7d210fc0d
      https://github.com/llvm/llvm-project/commit/a51f4afc5aec8145091fead1d68c81e7d210fc0d
  Author: Shimin Cui <scui at ca.ibm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
    M llvm/test/Transforms/HotColdSplit/eh-pads.ll
    M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
    A llvm/test/Transforms/HotColdSplit/outline-inner-region.ll
    A llvm/test/Transforms/HotColdSplit/outline-outer-region.ll

  Log Message:
  -----------
  [HCS] Externd to outline overlapping sub/super cold regions (#80732)

Currently, with hot cold splitting, when a cold region is identified, it
is added to the region list of ColdBlocks. Then when another cold region
(B) identified overlaps with a ColdBlocks region (A) already added to
the list, the region B is not added to the list because of the
overlapping with region A. The splitting analysis is performed, and the
region A may not get split, for example, if it’s considered too
expansive. This is to improve the handling the overlapping case when the
region A is not considered good for splitting, while the region B is
good for splitting.
 
The change is to move the cold region splitting analysis earlier to
allow more cold region splitting. If an identified region cannot be
split, it will not be added to the candidate list of ColdBlocks for
overlapping check.


  Commit: c1716e3fcf4e43b4a328731920f76b2fce9485d0
      https://github.com/llvm/llvm-project/commit/c1716e3fcf4e43b4a328731920f76b2fce9485d0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll

  Log Message:
  -----------
  [DAGCombiner][RISCV] CSE zext nneg and sext. (#82597)

If we have a sext and a zext nneg with the same types and operand
we should combine them into the sext. We can't go the other way
because the nneg flag may only be valid in the context of the uses
of the zext nneg.


  Commit: 5b53fa04db33a931b843b32946065490513484bf
      https://github.com/llvm/llvm-project/commit/5b53fa04db33a931b843b32946065490513484bf
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/split-offsets.ll
    M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll

  Log Message:
  -----------
  [RISCV] Enable -riscv-enable-sink-fold by default. (#82026)

AArch64 has had it enabled since late November, so hopefully the main
issues have been resolved.

I see a small reduction in dynamic instruction count on every benchmark
in specint2017. The best improvement was 0.3% so nothing amazing.


  Commit: 26cc6f126a3b25644c595b3a5a0417b1e1ab42a8
      https://github.com/llvm/llvm-project/commit/26cc6f126a3b25644c595b3a5a0417b1e1ab42a8
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Scope.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/Scope.cpp
    M clang/lib/Sema/SemaStmt.cpp
    A clang/test/SemaOpenACC/no-branch-in-out.c

  Log Message:
  -----------
  [OpenACC] Implement 'break' and 'continue' errors for Compute Cnstrcts (#82543)

OpenACC3.3 2.5.4 says: "A program may not branch into or out of a
compute construct". While some of this restriction isn't particularly
checkable, 'break' and 'continue' are possible and pretty trivial, so
this patch implements those limitations.

It IS unclear in the case of a 'break' in a 'switch' what should happen
(an antagonistic reading of the standard would prevent it from
 appearing), however we're choosing to special-case the break-in-switch
to ensure that this works (albeit, a 'parallel' directive on a 'switch'
isn't particularly useful, though permitted).

Future implementations of this rule will be in a follow-up patch.


  Commit: 87b1e735b28f81d9012fd302cd07385db50a274f
      https://github.com/llvm/llvm-project/commit/87b1e735b28f81d9012fd302cd07385db50a274f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/minmax.ll
    M llvm/test/Transforms/ConstraintElimination/sext.ll

  Log Message:
  -----------
  [ConstraintElim] Decompose sext-like insts for signed predicates (#82344)

Alive2: https://alive2.llvm.org/ce/z/A8dtGp
Fixes #82271.


  Commit: 26d71d9ed56c4c23e6284dac7a9bdf603a5801f3
      https://github.com/llvm/llvm-project/commit/26d71d9ed56c4c23e6284dac7a9bdf603a5801f3
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-readelf.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    A llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test
    M llvm/tools/llvm-readobj/ObjDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.h
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp

  Log Message:
  -----------
  [llvm-readobj,ELF] Support --decompress/-z (#82594)

When a section has the SHF_COMPRESSED flag, -p/-x dump the compressed
content by default. In GNU readelf, if --decompress/-z is specified,
-p/-x will dump the decompressed content. This patch implements the
option.

Close #82507


  Commit: 163eaf3bbc24e46a6ec9b71deda8c66f0354d2d7
      https://github.com/llvm/llvm-project/commit/163eaf3bbc24e46a6ec9b71deda8c66f0354d2d7
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [CodeGen] Clean up MachineFunctionSplitter MBB safety checking (NFC)

Move the "is MBB safe to split" check out of `isColdBlock` and update
the comment since we're no longer using a temporary hack.


  Commit: 6599c022be7c797cd0fafeea4c538e01aae78fd4
      https://github.com/llvm/llvm-project/commit/6599c022be7c797cd0fafeea4c538e01aae78fd4
  Author: yandalur <quic_yandalur at quicinc.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    A llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir

  Log Message:
  -----------
  [HEXAGON] Fix bit boundary for isub_hi in HexagonBitSimplify (#82336)

Use bit boundary of 32 for high subregisters in HexagonBitSimplify. This
fixes the subregister used in an upper half register store.


  Commit: b0edc1c45284586fdb12edd666f95d99f5f62b43
      https://github.com/llvm/llvm-project/commit/b0edc1c45284586fdb12edd666f95d99f5f62b43
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/Loads.cpp
    A llvm/test/Transforms/VectorCombine/RISCV/load-widening.ll

  Log Message:
  -----------
  [Loads] Fix crash in isSafeToLoadUnconditionally with scalable accessed type (#82650)

This fixes #82606 by updating isSafeToLoadUnconditionally to handle
fixed sized loads from a scalable accessed type.


  Commit: 5b079af169cd04b457465fd7ca31714efeefe6d9
      https://github.com/llvm/llvm-project/commit/5b079af169cd04b457465fd7ca31714efeefe6d9
  Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    A libc/test/src/__support/fixed_point/CMakeLists.txt
    A libc/test/src/__support/fixed_point/fx_bits_test.cpp

  Log Message:
  -----------
  [libc] add FXBits class (#82065)

The FXBits class is what will be used to modify fixed point numbers on a
bit level. This patch adds a basic implementation as well as basic
tests.


  Commit: 3a85594cb340aabe7ad993eb3912987f4246925e
      https://github.com/llvm/llvm-project/commit/3a85594cb340aabe7ad993eb3912987f4246925e
  Author: sethp <seth at codecopse.net>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC] Fix typo in ReleaseNotes.rst (#82655)

Deletes the leading 7 from the textual issue number.


  Commit: bc841bb0f8b55d18ed97440df878d0121701a317
      https://github.com/llvm/llvm-project/commit/bc841bb0f8b55d18ed97440df878d0121701a317
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    A clang/test/InstallAPI/basic.test
    A clang/test/InstallAPI/driver-invalid-options.test
    R clang/test/InstallAPI/installapi-basic.test
    R clang/test/InstallAPI/installapi-driver-invalid-options.test

  Log Message:
  -----------
  [clang] Rename installapi tests, NFC

* Reduces redundancy


  Commit: e630a451b457e4d8d071a2b4f102b342bbea2d02
      https://github.com/llvm/llvm-project/commit/e630a451b457e4d8d071a2b4f102b342bbea2d02
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp

  Log Message:
  -----------
  [HCS] Fix unused variable warnings. NFCI.


  Commit: ea174c09342275d6c6fec48fb846eaf28fae5b51
      https://github.com/llvm/llvm-project/commit/ea174c09342275d6c6fec48fb846eaf28fae5b51
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/OffloadRTL.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/exports
    M openmp/libomptarget/src/interface.cpp
    A openmp/libomptarget/test/offloading/runtime_init.c

  Log Message:
  -----------
  [Libomptarget] Remove global ctor and use reference counting (#80499)

Summary:
Currently we rely on global constructors to initialize and shut down the
OpenMP runtime library and plugin manager. This causes some issues
because we do not have a defined lifetime that we can rely on to release
and allocate resources. This patch instead adds some simple reference
counted initialization and deinitialization function.

A future patch will use the `deinit` interface to more intelligently
handle plugin deinitilization. Right now we do nothing and rely on
`atexit` inside of the plugins to tear them down. This isn't great
because it limits our ability to control these things.

Note that I made the `__tgt_register_lib` functions do the
initialization instead of adding calls to the new runtime functions in
the linker wrapper. The reason for this is because in the past it's been
easier to not introduce a new function call, since sometimes the user's
compiler will link against an older `libomptarget`. Maybe if we change
the name with offloading in the future we can simplify this.

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


  Commit: ec24094b56793478909783c1156fd57ce5ec2006
      https://github.com/llvm/llvm-project/commit/ec24094b56793478909783c1156fd57ce5ec2006
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/LTO/Config.h
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [LTO] Remove Config.UseDefaultPipeline (#82587)

This option is not used. It was added in
[D122133](https://reviews.llvm.org/D122133), 5856f30b, with the only
usage in `ClangLinkerWrapper.cpp`, which was later updated in a1d57fc2,
and then finally removed in [D142650](https://reviews.llvm.org/D142650),
6185246f.


  Commit: 54a6cf15069e7e88125477e0b3ce1ab063c893c6
      https://github.com/llvm/llvm-project/commit/54a6cf15069e7e88125477e0b3ce1ab063c893c6
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX][NFC] Use LLVM Types in DXIL Operation specifications in DXIL.td (#81692)

This change uniformly uses LLVM Types in the specification of parameter
types and overload types of DXIL operation.

Updated (a) parameter types accordingly in the specification of existing
DXILOperations and (b) DXILEmitter.


  Commit: 2e7cacfced573283d5424830f20333e2a6731251
      https://github.com/llvm/llvm-project/commit/2e7cacfced573283d5424830f20333e2a6731251
  Author: Emilia Kond <emilia at rymiel.space>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [clang-format] Fix crash in TokenAnnotator (#82349)

The while loop on line 3814 can cause a segmentation fault getting the
Next field on a nullptr. This is because further down, on line 3823,
there is another for loop, which assigns Tok to Tok->Next in its
initializer. This for loop has a condition to check if the result of
that isn't null. If it is, the loop is skipped and we drop back out to
the outer loop, except, now Tok is null, and we try to dereference it
without checking first.

This patch adds a defensive check that returns if Tok->Next is null
before we make it to the second for loop.

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

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: a23d4ceb8866df91334750627827a1724363e755
      https://github.com/llvm/llvm-project/commit/a23d4ceb8866df91334750627827a1724363e755
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp

  Log Message:
  -----------
  [lldb][llvm] Return an error instead of crashing when parsing a line table prologue. (#80769)

We recently ran into some bad DWARF where the `DW_AT_stmt_list` of many
compile units was randomly set to invalid values and was causing LLDB to
crash due to an assertion about address sizes not matching. Instead of
asserting, we should return an appropriate recoverable `llvm::Error`.


  Commit: da1880cc56060c9da91cbd04daa7f8aa3ea0e829
      https://github.com/llvm/llvm-project/commit/da1880cc56060c9da91cbd04daa7f8aa3ea0e829
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp

  Log Message:
  -----------
  GSym aggregated output to JSON file (#81763)

In order to make tooling around dwarf health easier, I've added an
`--json-summary-file` option to `llvm-gsymutil` that will spit out error
summary data with counts to a JSON file.

I've added the same capability to `llvm-dwarfdump` in a [different
PR.](https://github.com/llvm/llvm-project/pull/81762)

The format of the json is:
```JSON
{ 
  "error-categories": { 
    "<first category description>": {"count": 1234},
    "<next category description>": {"count":4321}
  },
  "error-count": 5555
}
```
for a clean run:
```JSON
{ 
  "error-categories": {},
  "error-count": 0
}
```

---------

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: 5c24c316496e221e1841418f0f39ccb7200c83c6
      https://github.com/llvm/llvm-project/commit/5c24c316496e221e1841418f0f39ccb7200c83c6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CXX/drs/dr27xx.cpp
    M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Implement CWG2759 "`[[no_unique_address]` and common initial sequence" (#82607)

This patch implements said defect report resolution by adding additional
check to common initial sequence evaluation. Consequently, this fixes
CWG2759.


  Commit: cc839275164a7768451531af868fa70eb9e71cbd
      https://github.com/llvm/llvm-project/commit/cc839275164a7768451531af868fa70eb9e71cbd
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll

  Log Message:
  -----------
  [CVP] Canonicalize signed minmax into unsigned (#82478)

This patch turns signed minmax to unsigned to match the behavior for
signed icmps.
Alive2: https://alive2.llvm.org/ce/z/UAAM42


  Commit: 33a6ce18373ffd1457ebd54e930b6f02fe4c39c1
      https://github.com/llvm/llvm-project/commit/33a6ce18373ffd1457ebd54e930b6f02fe4c39c1
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/test/CMakeLists.txt
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/host-used-device-var.cu
    A clang/test/Driver/Inputs/hip.h
    M clang/test/Driver/clang-offload-bundler.c
    A clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-toolchain-rdc.hip

  Log Message:
  -----------
  [HIP] Allow partial linking for `-fgpu-rdc` (#81700)

`-fgpu-rdc` mode allows device functions call device functions in
different TU. However, currently all device objects have to be linked
together since only one fat binary is supported. This is time consuming
for AMDGPU backend since it only supports LTO.

There are use cases that objects can be divided into groups in which
device functions are self-contained but host functions are not. It is
desirable to link/optimize/codegen the device code and generate a fatbin
for each group, whereas partially link the host code with `ld -r` or
generate a static library by using the `--emit-static-lib` option of
clang. This avoids linking all device code together, therefore decreases
the linking time for `-fgpu-rdc`.

Previously, clang emits an external symbol `__hip_fatbin` for all
objects for `-fgpu-rdc`. With this patch, clang emits an unique external
symbol `__hip_fatbin_{cuid}` for the fat binary for each object. When a
group of objects are linked together to generate a fatbin, the symbols
are merged by alias and point to the same fat binary. Each group has its
own fat binary. One executable or shared library can have multiple fat
binaries. Device linking is done for undefined fab binary symbols only
to avoid repeated linking. `__hip_gpubin_handle` is also uniquefied and
merged to avoid repeated registering. Symbol `__hip_cuid_{cuid}` is
introduced to facilitate debugging and tooling.

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


  Commit: 1069823ce7d154aa8ef87ae5a0fd34b527eca2a0
      https://github.com/llvm/llvm-project/commit/1069823ce7d154aa8ef87ae5a0fd34b527eca2a0
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

  Log Message:
  -----------
  Enable JumpTableToSwitch pass by default (#82546)

Enable JumpTableToSwitch pass by default.

Test plan: ninja check-all


  Commit: 4f7ab789bf43b49914815bdf4e4c3703f92e781d
      https://github.com/llvm/llvm-project/commit/4f7ab789bf43b49914815bdf4e4c3703f92e781d
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/test/Dialect/Mesh/spmdization.mlir

  Log Message:
  -----------
  [mlir][mesh] add support in spmdization for incomplete sharding annotations (#82442)

Don't require that `mesh.shard` operations come in pairs. If there is
only a single `mesh.shard` operation we assume that the producer result
and consumer operand have the same sharding.


  Commit: 744c0057e7dc0d1d046a4867cece2f31fee9bb23
      https://github.com/llvm/llvm-project/commit/744c0057e7dc0d1d046a4867cece2f31fee9bb23
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
    M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll

  Log Message:
  -----------
  [AArch64][CodeGen] Fix crash when fptrunc returns fp16 with +nofp attr (#81724)

When performing lowering of the fptrunc opcode returning fp16 with the
+nofp flag enabled we could trigger a compiler crash. This is because we
had no custom lowering implemented. This patch 
the case in which we need to promote an fp16 return type
for fptrunc when the +nofp attr is enabled.


  Commit: 6ddb25ed9ca2cb0f4ad8f402d7411ac3328f598d
      https://github.com/llvm/llvm-project/commit/6ddb25ed9ca2cb0f4ad8f402d7411ac3328f598d
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [scudo] increase frames per stack to 16 for stack depot (#82427)

8 was very low and it is likely that in real workloads we have more than
an average of 8 frames per stack given on Android we have 3 at the
bottom: __start_main, __libc_init, main, and three at the top: malloc,
scudo_malloc and Allocator::allocate. That leaves 2 frames for
application code, which is clearly unreasonable.


  Commit: 242f98c7ab7c100d76cac29b555db20205619b38
      https://github.com/llvm/llvm-project/commit/242f98c7ab7c100d76cac29b555db20205619b38
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c

  Log Message:
  -----------
  [Clang][SME] Skip writing output files to the source directory


  Commit: 3168af56bcb827360c26957ef579b7871dad8e17
      https://github.com/llvm/llvm-project/commit/3168af56bcb827360c26957ef579b7871dad8e17
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll

  Log Message:
  -----------
  LoopVectorize: Mark crash test as requiring assertions


  Commit: 32994cc0d63513f77223c64148faeeb50aebb702
      https://github.com/llvm/llvm-project/commit/32994cc0d63513f77223c64148faeeb50aebb702
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP]Improve findReusedOrderedScalars and graph rotation.

Patch syncs the code in findReusedOrderedScalars with cost
estimation/codegen. It tries to use similar logic to better determine
best order.
Before, it just tried to find previously vectorized node without
checking if it is possible to use the vectorized value in the shuffle.
Now it relies on the more generalized version. If it determines, that
a single vector must be reordered (using same mechanism, as codegen and
cost estimation), it generates better order.

The comparison between new/ref ordering:

Metric: SLP.NumVectorInstructions

Program                                                                                                                                                SLP.NumVectorInstructions
                                                                                                                                                       results                   results0 diff
                                                                                               test-suite :: MultiSource/Benchmarks/nbench/nbench.test   139.00                    140.00   0.7%
                                                                             test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test   344.00                    346.00   0.6%
                                                                                        test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test  1293.00                   1292.00  -0.1%
                                                                                test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  5176.00                   5170.00  -0.1%
                                                                                        test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  5173.00                   5167.00  -0.1%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 11692.00                  11660.00  -0.3%
                                                                                     test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  1621.00                   1615.00  -0.4%
                                                                                             test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test   795.00                    792.00  -0.4%
                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 26499.00                  26338.00  -0.6%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  7343.00                   7281.00  -0.8%
                                                                                          test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  1104.00                   1094.00  -0.9%
                                                                                          test-suite :: MultiSource/Applications/JM/lencod/lencod.test  2216.00                   2180.00  -1.6%
                                                                                            test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   787.00                    637.00 -19.1%

Less 0% is better.
Most of the benchmarks see more vectorized code. The first ones just
have shuffles removed.

The ordering analysis still may require some improvements (e.g. for
alternate nodes), but this one should be produce better results.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 2685e7eadce08125672f0f6013145ae45b7a5ac3
      https://github.com/llvm/llvm-project/commit/2685e7eadce08125672f0f6013145ae45b7a5ac3
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M lldb/docs/resources/test.rst
    M lldb/docs/testsuite/a-detailed-walkthrough.txt
    M lldb/packages/Python/lldbsuite/test/README-TestSuite

  Log Message:
  -----------
  [lldb][docs] Remove/update docs pointing to unittest2 (#82672)


  Commit: e88c255313872185b8c9738d9fa0e624de1e1bea
      https://github.com/llvm/llvm-project/commit/e88c255313872185b8c9738d9fa0e624de1e1bea
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/not.ll

  Log Message:
  -----------
  [InstCombine] Add support for cast instructions in `getFreelyInvertedImpl` (#82451)

This patch adds support for cast instructions in `getFreelyInvertedImpl`
to enable more optimizations.
Alive2: https://alive2.llvm.org/ce/z/F6maEE


  Commit: 3b20fb336d1191e7b969c30825ca8b9423550902
      https://github.com/llvm/llvm-project/commit/3b20fb336d1191e7b969c30825ca8b9423550902
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [bazel] add missing dep after 5b079af169cd04b457465fd7ca31714efeefe6d9


  Commit: f5c8e9e53130a628c2c3d25c2cbc308e62d2f3e0
      https://github.com/llvm/llvm-project/commit/f5c8e9e53130a628c2c3d25c2cbc308e62d2f3e0
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll

  Log Message:
  -----------
  LoopVectorize/test: guard pr72969 with asserts (#82653)

Follow up on 695a9d8 (LoopVectorize: add test for crash in #72969) to
guard pr72969.ll with REQUIRES: asserts, in order to be reasonably
confident that it will crash reliably.


  Commit: c1e9883a813db76c1b108ad715895928bb93f4c2
      https://github.com/llvm/llvm-project/commit/c1e9883a813db76c1b108ad715895928bb93f4c2
  Author: Matthias Gehre <93204396+mgehre-amd at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [TOSA] TosaToLinalg: fix int64_t min/max lowering of clamp (#82641)

tosa.clamp takes `min`/`max` attributes as i64, so ensure that the
lowering to linalg works for the whole range.

Co-authored-by: Tiago Trevisan Jost <tiago.trevisanjost at amd.com>


  Commit: 66f6929fec3ae4770368b60aa1920623ab835f9d
      https://github.com/llvm/llvm-project/commit/66f6929fec3ae4770368b60aa1920623ab835f9d
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [HLSL][Doc] Add doc about expected differences (#82395)

This document covers expected differences between Clang and the HLSL
reference compiler implementations (FXC & DXC). The document is not
intended to be exhaustive, but it should be a best effort to cover known
cases.

This document should document both the behavioral difference and the
explanation of why Clang differs.

The initail document covers known overload resolution differences.

---------

Co-authored-by: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>


  Commit: 847048f497bcdfcfe52f36cba49f07bdbd63cd24
      https://github.com/llvm/llvm-project/commit/847048f497bcdfcfe52f36cba49f07bdbd63cd24
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
    M mlir/lib/Dialect/Utils/IndexingUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix bug in vector xfer op flattening transformation (#81964)

It looks like the affine map generated to compute the indices of the
collapsed dimensions used the wrong dim size. For indices `[idx0][idx1]`
we computed the collapsed index as `idx0*size0 + idx1` instead of
`idx0*size1 + idx1`. This led to correctness issues in convolution tests
when enabling this transformation internally.


  Commit: 91e9e3175268c85f4d0e8828d0d392191c250543
      https://github.com/llvm/llvm-project/commit/91e9e3175268c85f4d0e8828d0d392191c250543
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/MachinePassManager.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86TargetMachine.h
    M llvm/test/tools/llc/new-pm/pipeline.mir
    M llvm/test/tools/llc/new-pm/start-stop.ll
    M llvm/tools/llc/NewPMDriver.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp

  Log Message:
  -----------
  [NewPM/CodeGen] Rewrite pass manager nesting (#81068)

Currently the new PM infra for codegen puts everything into a
MachineFunctionPassManager. The MachineFunctionPassManager owns both
Module passes and MachineFunction passes, and batches adjacent
MachineFunction passes like a typical PassManager.

The current MachineFunctionAnalysisManager also directly references a
module and function analysis manager to get results.

The initial argument was that the codegen pipeline is relatively "flat",
meaning it's mostly machine function passes with a couple of module
passes here and there. However, there are a couple of issues with this
as compared to a more structured nesting more like the optimization
pipeline. For example, it doesn't allow running function passes then
machine function passes on a function and its machine function all at
once. It also currently requires the caller to split out the IR passes
into one pass manager and the MIR passes into another pass manager.

This patch rewrites the new pass manager infra for the codegen pipeline
to be more similar to the nesting in the optimization pipeline.
Basically, a Function contains a MachineFunction. So we can have Module
-> Function -> MachineFunction adaptors. It also rewrites the analysis
managers to have inner/outer proxies like the ones in the optimization
pipeline. The new pass managers/adaptors/analysis managers can be seen
in use in PassManagerTest.cpp.

This allows us to consolidate to just having to add to one
ModulePassManager when using the codegen pipeline.

I haven't added the Function -> MachineFunction adaptor in this patch,
but it should be added when we merge AddIRPass/AddMachinePass so that we
can run IR and MIR passes on a function before proceeding to the next
function.

The MachineFunctionProperties infra for MIR verification is still WIP.


  Commit: 7f71fa909a10be182b82b9dfaf0fade6eb84796c
      https://github.com/llvm/llvm-project/commit/7f71fa909a10be182b82b9dfaf0fade6eb84796c
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ADT/iterator_range.h

  Log Message:
  -----------
  Extend GCC workaround to GCC < 8.4 for llvm::iterator_range ctor (#82643)

GCC SFINAE error with decltype was fixed in commit
ac5e28911abdfb8d9bf6bea980223e199bbcf28d which made it into GCC 8.4.
Therefore adjust GCC version test accordingly.


  Commit: df6f756a19277d936ec83f7cebc2501327ac3add
      https://github.com/llvm/llvm-project/commit/df6f756a19277d936ec83f7cebc2501327ac3add
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    A lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    A lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    A lldb/tools/lldb-dap/Watchpoint.cpp
    A lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Re-land [lldb-dap] Add support for data breakpoint. (#81909)

This implements functionality to handle DataBreakpointInfo request and
SetDataBreakpoints request.

Previous commit
https://github.com/llvm/llvm-project/commit/8c56e78ec531f0e2460213c20fff869b6b7add99
was reverted because setting 1 byte watchpoint failed in the new test on
ARM64. So, I changed the test to setting 4 byte watchpoint instead, and
hope this won't break it again. It also adds the fixes from
https://github.com/llvm/llvm-project/pull/81680.


  Commit: 0eb64eebdecb3c138b4adfea1cbcdd03aa7d455c
      https://github.com/llvm/llvm-project/commit/0eb64eebdecb3c138b4adfea1cbcdd03aa7d455c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

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


  Commit: 45fe67dd61a6ac7df84d3a586e41c36a4767757f
      https://github.com/llvm/llvm-project/commit/45fe67dd61a6ac7df84d3a586e41c36a4767757f
  Author: Daniel Martinez <danielpedromartinez at duck.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M openmp/libomptarget/include/Shared/SourceInfo.h

  Log Message:
  -----------
  Fix build on musl by including stdint.h (#81434)

openmp fails to build on musl since it lacks the defines for int32_t

Co-authored-by: Daniel Martinez <danielmartinez at cock.li>


  Commit: 47b7c91abe7af3133a591aa2e73fffa30826f986
      https://github.com/llvm/llvm-project/commit/47b7c91abe7af3133a591aa2e73fffa30826f986
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/docs/gpu/using.rst
    M libc/include/CMakeLists.txt
    M libc/lib/CMakeLists.txt
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/GPU/CMakeLists.txt
    M libc/src/__support/OSUtil/CMakeLists.txt
    M libc/src/__support/RPC/CMakeLists.txt
    M libc/src/math/CMakeLists.txt
    M libc/src/math/gpu/vendor/CMakeLists.txt
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/string/CMakeLists.txt
    M libc/startup/gpu/CMakeLists.txt
    M libc/startup/gpu/amdgpu/CMakeLists.txt
    M libc/startup/gpu/nvptx/CMakeLists.txt
    M libc/test/CMakeLists.txt
    M libc/test/IntegrationTest/CMakeLists.txt
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/CMakeLists.txt
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/errno/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/utils/UnitTest/CMakeLists.txt
    M libc/utils/CMakeLists.txt
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/gpu/CMakeLists.txt
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    M libc/utils/gpu/loader/nvptx/CMakeLists.txt
    M libc/utils/gpu/server/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/runtimes/CMakeLists.txt
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/test/lit.cfg

  Log Message:
  -----------
  [libc] Rework the GPU build to be a regular target (#81921)

Summary:
This is a massive patch because it reworks the entire build and
everything that depends on it. This is not split up because various bots
would fail otherwise. I will attempt to describe the necessary changes
here.

This patch completely reworks how the GPU build is built and targeted.
Previously, we used a standard runtimes build and handled both NVPTX and
AMDGPU in a single build via multi-targeting. This added a lot of
divergence in the build system and prevented us from doing various
things like building for the CPU / GPU at the same time, or exporting
the startup libraries or running tests without a full rebuild.

The new appraoch is to handle the GPU builds as strict cross-compiling
runtimes. The first step required
https://github.com/llvm/llvm-project/pull/81557 to allow the `LIBC`
target to build for the GPU without touching the other targets. This
means that the GPU uses all the same handling as the other builds in
`libc`.

The new expected way to build the GPU libc is with
`LLVM_LIBC_RUNTIME_TARGETS=amdgcn-amd-amdhsa;nvptx64-nvidia-cuda`.

The second step was reworking how we generated the embedded GPU library
by moving it into the library install step. Where we previously had one
`libcgpu.a` we now have `libcgpu-amdgpu.a` and `libcgpu-nvptx.a`. This
patch includes the necessary clang / OpenMP changes to make that not
break the bots when this lands.

We unfortunately still require that the NVPTX target has an `internal`
target for tests. This is because the NVPTX target needs to do LTO for
the provided version (The offloading toolchain can handle it) but cannot
use it for the native toolchain which is used for making tests.

This approach is vastly superior in every way, allowing us to treat the
GPU as a standard cross-compiling target. We can now install the GPU
utilities to do things like use the offload tests and other fun things.

Some certain utilities need to be built with 
`--target=${LLVM_HOST_TRIPLE}` as well. I think this is a fine
workaround as we
will always assume that the GPU `libc` is a cross-build with a
functioning host.

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


  Commit: 3ed4b95bcf2039e7293f45e3b3fdf26b81dc319f
      https://github.com/llvm/llvm-project/commit/3ed4b95bcf2039e7293f45e3b3fdf26b81dc319f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  [Flang] Fix test not updated after 'clang' case change

Summary:
The shared 'clang' code changed this slightly but did not update the
flang test.


  Commit: 72763521c34287bce68402eb2a9d71dcb4eed5a0
      https://github.com/llvm/llvm-project/commit/72763521c34287bce68402eb2a9d71dcb4eed5a0
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll

  Log Message:
  -----------
  [LSR] Clear SCEVExpander before calling DeleteDeadPHIs

To avoid an assertion failure when an AssertingVH is removed,
as reported in:
https://github.com/llvm/llvm-project/pull/82362#issuecomment-1960067147

Also remove an unnecessary use of SCEVExpanderCleaner.


  Commit: d4bfca3b2e673789f7c278d46a199ae8910ddd37
      https://github.com/llvm/llvm-project/commit/d4bfca3b2e673789f7c278d46a199ae8910ddd37
  Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [clang][CodeGen] Keep processing the rest of AST after encountering unsupported MC/DC expressions (#82464)

Currently, upon seeing unsupported decisions (more than 6 conditions, or
split nesting), the post-visitor hook dataTraverseStmtPost() returns a
false. As a result, in the rest of tree even supported decisions will
be skipped as well. Like in the below code:

{ // CompoundStmt
  a && b;           // 1: BinaryOperator (supported)
  a && foo(b && c); // 2: BinaryOperator (not yet supported due to split
                    //                    nesting)
  a && b;           // 3: BinaryOperator (supported)
}

Decision 3 will not be processed at all. And only one "Decision" region
will be emitted. Compiler explorer example:
https://godbolt.org/z/Px61sesoo

We hope to process such cases and emit two "Decision" regions (1 and 3)
in the above example.


  Commit: ae3e14276b7181ae51e9ef731f44f813a1a3f123
      https://github.com/llvm/llvm-project/commit/ae3e14276b7181ae51e9ef731f44f813a1a3f123
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir

  Log Message:
  -----------
  Fix test/Dialect/Vector/vector-transfer-flatten.mlir


  Commit: e2f08268304dc972440391c43bf1d47e28fad93e
      https://github.com/llvm/llvm-project/commit/e2f08268304dc972440391c43bf1d47e28fad93e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td

  Log Message:
  -----------
  [MLIR] Fix LLVM dialect specification to use AnySignlessInteger instead of AnyInteger (#82694)

LLVM IR does not support signed integer, the LLVM dialect was
underspecified (likely unintentionally) and the AnyInteger constraint
was overly lax.

The arithmetic dialect is already consistently using AnySignlessInteger.


  Commit: e314622f204a01ffeda59cbe046dd403b01f8b74
      https://github.com/llvm/llvm-project/commit/e314622f204a01ffeda59cbe046dd403b01f8b74
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/test/Driver/arm-alignment.c

  Log Message:
  -----------
  [clang][driver] Allow unaligned access on ARMv7 and higher by default (#82400)

ARM's Clang and GCC embedded compilers default to allowing unaligned
access for ARMv7+. This patch changes the Clang driver default to match.
Users can opt out with `-mno-unaligned-access`.

Fixes #59560


  Commit: d5a15f3116f8c3ec32df1f13a2fc521a98b03d96
      https://github.com/llvm/llvm-project/commit/d5a15f3116f8c3ec32df1f13a2fc521a98b03d96
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Clang][NVPTX] Allow passing arguments to the linker while standalone (#73030)

Summary:
We support standalone compilation for the NVPTX architecture using
'nvlink' as our linker. Because of the special handling required to
transform input files to cubins, as nvlink expects for some reason, we
didn't use the standard AddLinkerInput method. However, this also meant
that we weren't forwarding options passed with -Wl to the linker. Add
this support in for the standalone toolchain path.

Revived from https://reviews.llvm.org/D149978


  Commit: 018c992879248ad28a04fc7d061922f5ccee4e08
      https://github.com/llvm/llvm-project/commit/018c992879248ad28a04fc7d061922f5ccee4e08
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  [Flang] Fix the test ordering of the GPU libraries

Summary:
Turns out these are out of order


  Commit: bc5aba9dd63f919037aded04405f3e05092c9039
      https://github.com/llvm/llvm-project/commit/bc5aba9dd63f919037aded04405f3e05092c9039
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/unittests/MIR/CMakeLists.txt

  Log Message:
  -----------
  [CodeGen][MIR][UnitTests] Fix shared build. NFC


  Commit: 87b410821148402d74ac7a14bed233078a49cb7b
      https://github.com/llvm/llvm-project/commit/87b410821148402d74ac7a14bed233078a49cb7b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/src/PluginManager.cpp

  Log Message:
  -----------
  [Libomptarget][NFC] Remove concept of optional plugin functions (#82681)

Summary:
Ever since the introduction of the new plugins we haven't exercised the
concept of "optional" plugin functions. This is done in perparation for
making the plugins use a static interface as it will greatly simplify
the implementation if we assert that every function has the entrypoints.
Currently some unsupported functions will just return failure or some
other default value, so this shouldn't change anything.


  Commit: e3cab8fe82eb71fadb251d11fec7df9fa0dbdd27
      https://github.com/llvm/llvm-project/commit/e3cab8fe82eb71fadb251d11fec7df9fa0dbdd27
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper.c

  Log Message:
  -----------
  [LinkerWrapper] Fix test after permitting NVPTX linker arguments

Summary:
Forgot to change this after a previous patch altered its behaviour.


  Commit: 4ebee956455caa0da7783280f8515040eac89d08
      https://github.com/llvm/llvm-project/commit/4ebee956455caa0da7783280f8515040eac89d08
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp

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

llvm-project/llvm/unittests/MIR/PassBuilderCallbacksTest.cpp:333:10:
error: unused variable 'Ret' [-Werror,-Wunused-variable]
    bool Ret = MIR->parseMachineFunctions(*Mod, MMI);
         ^
1 error generated.


  Commit: e8740d4eb1c88e968b155f73ac745f80b4681589
      https://github.com/llvm/llvm-project/commit/e8740d4eb1c88e968b155f73ac745f80b4681589
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/test/Driver/cuda-cross-compiling.c

  Log Message:
  -----------
  [Clang] Fix missing architecture on CUDA test

Summary:
Sorry about the churn here, my local git tree got corrupted so a few
broken tests slipped by while trying to fix it.


  Commit: 5bd0c44bd0b944230ba05c87c19292304b84e980
      https://github.com/llvm/llvm-project/commit/5bd0c44bd0b944230ba05c87c19292304b84e980
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [libc] Match the names of BSD sys/queue.h member names (#82696)

While these names are technically internal implemenetation detail,
there's an existing code which relies on these details and using
different names makes LLVM libc implementation incompatible. Since our
goal is for LLVM libc to be a drop in replacement, use the same name as
BSD sys/queue.h version.


  Commit: aaf2d078b62251b867f37eaa94621dbbbfa0e5b0
      https://github.com/llvm/llvm-project/commit/aaf2d078b62251b867f37eaa94621dbbbfa0e5b0
  Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
    M llvm/test/CodeGen/Hexagon/reg-by-name.ll
    A llvm/test/CodeGen/Hexagon/tfr-slotindex.ll

  Log Message:
  -----------
  [Hexagon] Clean up redundant transfer instructions. (#82663)

This patch adds a Hexagon specific backend pass that cleans up redundant
transfers after register allocation.


  Commit: 568babab7e769a7793c28aee4f889898bf0bd8ba
      https://github.com/llvm/llvm-project/commit/568babab7e769a7793c28aee4f889898bf0bd8ba
  Author: Pavel Iliin <Pavel.Iliin at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/aarch64-cpu-supports-target.c
    A clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/Preprocessor/has_builtin_cpuid.c
    A clang/test/Sema/aarch64-cpu-supports.c
    M clang/test/Sema/builtin-cpu-supports.c
    A compiler-rt/test/builtins/Unit/aarch64_cpu_features_test.c
    M compiler-rt/test/builtins/Unit/cpu_model_test.c

  Log Message:
  -----------
  [AArch64] Implement __builtin_cpu_supports, compiler-rt tests. (#82378)

The patch complements https://github.com/llvm/llvm-project/pull/68919
and adds AArch64 support for builtin
`__builtin_cpu_supports("feature1+...+featureN")`
which return true if all specified CPU features in argument are
detected. Also compiler-rt aarch64 native run tests for features
detection mechanism were added and 'cpu_model' check was fixed after its
refactor merged https://github.com/llvm/llvm-project/pull/75635 Original
RFC was https://reviews.llvm.org/D153153


  Commit: 2b0f5667e2b40729f714459093eb16cc53fc9e9a
      https://github.com/llvm/llvm-project/commit/2b0f5667e2b40729f714459093eb16cc53fc9e9a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

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


  Commit: d57f158a9546746219e3b01398886e104d8a0fdb
      https://github.com/llvm/llvm-project/commit/d57f158a9546746219e3b01398886e104d8a0fdb
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/ops.mlir

  Log Message:
  -----------
  [Tosa] Add Tosa Sin and Cos operators (#82510)

- Add Tosa Sin and Cos operators to the MLIR dialect
- Define the new Tosa_FloatTensor type

---------

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: f37c6d55c6a0c695418932a55bac6a517be4a53a
      https://github.com/llvm/llvm-project/commit/f37c6d55c6a0c695418932a55bac6a517be4a53a
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU][NFC] Refactor SIInsertWaitcnts zero waitcnt generation (#82575)

Move the allZero* waitcnt generation methods into WaitcntGenerator
class.


  Commit: cd1d4d8dd31f527615de26f5b62d687c6b2982a6
      https://github.com/llvm/llvm-project/commit/cd1d4d8dd31f527615de26f5b62d687c6b2982a6
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir

  Log Message:
  -----------
  [mlir][Vector] Add missing CHECK rules to vector-transfer-flatten.mlir (#82698)

This test failed after landing #81964 due to a bad merge. I provided a quick fix and this PR is adding the rest of CHECK rules that were not merged properly.


  Commit: ac518c7c9916a6fde1d898b8c53b74298fd00d5f
      https://github.com/llvm/llvm-project/commit/ac518c7c9916a6fde1d898b8c53b74298fd00d5f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll

  Log Message:
  -----------
  [RISCV] Vector sub (zext, zext) -> sext (sub (zext, zext)) (#82455)

This is legal as long as the inner zext retains at least one bit of
increase so that the sub overflow case (0 - UINT_MAX) can be
represented. Alive2 proof: https://alive2.llvm.org/ce/z/BKeV3W

For RVV, restrict this to power of two sizes with the operation type
being at least e8 to stick to legal extends. We could arguably handle i1
source types with some care if we wanted to.

This is likely profitable because it may allow us to perform the sub
instruction in a narrow LMUL (equivalently, in fewer DLEN-sized pieces)
before widening for the user. We could arguably avoid narrowing below
DLEN, but the transform should at worst introduce one extra extend and
one extra vsetvli toggle if the source could previously be handled via
loads explicit w/EEW.


  Commit: 9e84a22e6989494709d30a03ce9b304956fc0ae2
      https://github.com/llvm/llvm-project/commit/9e84a22e6989494709d30a03ce9b304956fc0ae2
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc] Silence warnings when building GPU tests (#82701)

Summary:
This patch silences two warnings that may occur during the building of
GPU tests. These are not informative or helpful and just make the test
output longer.


  Commit: 7a5c01dbca3ddfc6dd87775ec90346783c8e2c73
      https://github.com/llvm/llvm-project/commit/7a5c01dbca3ddfc6dd87775ec90346783c8e2c73
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [libc] Search the compiler's path for GPU utility tools (#82712)

Summary:
We need some extra tools for the GPU build. Normally we search for these
from the build itself, but in the case of a `LLVM_PROJECTS_BUILD` or
some other kind of external build, this directory will not be populated.
However, the GPU build already requires that the compiler is an
up-to-date clang, which should always have these present next to the
binary. Simply add this as a fallback search path. Generally we want it
to be the second, because it would pick up someone install and then
become stale.


  Commit: 590c968e7943e51bb00ff75d312435f24d983b2a
      https://github.com/llvm/llvm-project/commit/590c968e7943e51bb00ff75d312435f24d983b2a
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/param-load-store.ll
    A llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll

  Log Message:
  -----------
  [NVPTX] fixup support for unaligned parameters and returns (#82562)

Add support for unaligned parameters and return values. These must be
loaded and stored one byte at a time and then bit manipulation is used
to assemble the correct final result.


  Commit: 19e518d2623c0e87a87ebf30405e74448bd1ee70
      https://github.com/llvm/llvm-project/commit/19e518d2623c0e87a87ebf30405e74448bd1ee70
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/test/Parser/cxx-concepts-requires-clause.cpp

  Log Message:
  -----------
  [Clang][Parser] Have the depth of the abbreviated generic lambdas inside a requires clause differ from the surrounding generic lambda (#80656)

A one-line fix, again : )

This fixes https://github.com/llvm/llvm-project/issues/78524 and the
similar example at
https://github.com/llvm/llvm-project/issues/78524#issuecomment-1899886951.

We previously increased the template depth by one after parsing the
attaching requires-clause on a lambda expression. This led to a problem
where the 'auto' parameters of nested abbreviated generic lambdas,
inside of a requires-expression, had the same depth as the template
parameters of the surrounding lambda. Consequently, during the
concept-checking stage, we ended up substituting these parameters with
the wrong template arguments because they were at different levels.


  Commit: 5ccf54640a2bdb6f36f65c574feb312da7f75243
      https://github.com/llvm/llvm-project/commit/5ccf54640a2bdb6f36f65c574feb312da7f75243
  Author: huaatian <142874007+huaatian at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [llvm][cmake] Performing expensive checks requires enabling assert. (#80821)

LLVM will intercept errors using assert() when
LLVM_ENABLE_EXPENSIVE_CHECKS is ON. So an explicit check is added.

---------

Co-authored-by: Hua Tian <akiratian at tencent.com>


  Commit: 2e5af56b05c2d39ab2c829bf4c13190523b67ddd
      https://github.com/llvm/llvm-project/commit/2e5af56b05c2d39ab2c829bf4c13190523b67ddd
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    A clang/test/Modules/compile-pcm-with-pic.cppm
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [C++20] [Modules] Allow to compile a pcm with and without -fPIC
seperately

We can compile a module unit in 2 phase compilaton:

```
clang++ -std=c++20 a.cppm --precompile -o a.pcm
clang++ -std=c++20 a.pcm -c -o a.o
```

And it is a general requirement that we need to compile a translation
unit with and without -fPIC for static and shared libraries.

But for C++20 modules with 2 phase compilation, it may be waste of time
to compile them 2 times completely. It may be fine to generate one BMI
and compile it with and without -fPIC seperately.

e.g.,

```
clang++ -std=c++20 a.cppm --precompile -o a.pcm
clang++ -std=c++20 a.pcm -c -o a.o
clang++ -std=c++20 a.pcm -c -fPIC -o a-PIC.o
```

Then we can save the time to parse a.cppm repeatedly.


  Commit: 6e6bf9f81756ba6655b4eea8dc45469a47f89b39
      https://github.com/llvm/llvm-project/commit/6e6bf9f81756ba6655b4eea8dc45469a47f89b39
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll

  Log Message:
  -----------
  [WebAssembly] Disable multivalue emission temporarily (#82714)

We plan to enable multivalue in the features section soon (#80923) for
other reasons, such as the feature having been standardized for many
years and other features being developed (e.g. EH) depending on it. This
is separate from enabling Clang experimental multivalue ABI (`-Xclang
-target-abi -Xclang experimental-mv`), but it turned out we generate
some multivalue code in the backend as well if it is enabled in the
features section.

Given that our backend multivalue generation still has not been much
used nor tested, and enabling the feature in the features section can be
a separate decision from how much multialue (including none) we decide
to generate for now, I'd like to temporarily disable the actual
generation of multivalue in our backend. To do that, this adds an
internal flag `-wasm-emit-multivalue` that defaults to false. All our
existing multivalue tests can use this to test multivalue code. This
flag can be removed later when we are confident the multivalue
generation is well tested.


  Commit: ca09e08239008759f92f4aff39c7640da3e1bfa9
      https://github.com/llvm/llvm-project/commit/ca09e08239008759f92f4aff39c7640da3e1bfa9
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M llvm/lib/Object/SymbolSize.cpp
    M llvm/test/tools/llvm-symbolizer/wasm-basic.s

  Log Message:
  -----------
  [Symbolizer][WebAssembly] Use wasm-specific getSymbolSize (#82083)

getSymbolSize was recently added to WasmObjectFile and has correct sizes 
for most symbol types. This makes llvm-symbolizer correctly symbolize
addresses in the middle of the symbol.

When reworking the test I also noticed that the DWARF info seems to be
wrong for the first instruction in each function. I noted that in the test
comments but didn't attempt to fix here.


  Commit: de41eae41f0dc2a844b439e0246e29c1bcbb2d03
      https://github.com/llvm/llvm-project/commit/de41eae41f0dc2a844b439e0246e29c1bcbb2d03
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

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

  Log Message:
  -----------
  [SelectionDAG][RISCV] Use FP type for legality query for LRINT/LLRINT in LegalizeVectorOps. (#82728)

This matches how LRINT/LLRINT is queried for scalar types in
LegalizeDAG.

It's confusing if they do different things since a "Legal" vector
LRINT/LLRINT would get through to LegalizeDAG which would then consider
it illegal. This doesn't happen currently because RISC-V uses Custom.


  Commit: 2d50703ddd4fcf7826e4b62cba38e3151314ca60
      https://github.com/llvm/llvm-project/commit/2d50703ddd4fcf7826e4b62cba38e3151314ca60
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use RISCVSubtarget::getRealVLen() in more places. NFC

Catching a couple of more places where we can use the new query added in
8603a7b2.


  Commit: 0d72fe9777e7c131dfb50c172b944d64437e2ece
      https://github.com/llvm/llvm-project/commit/0d72fe9777e7c131dfb50c172b944d64437e2ece
  Author: shkoo <nils at risczero.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td

  Log Message:
  -----------
  [mlir] Fix FunctionOpInterface extraSharedClassDeclaration to be fully namespace qualified (#82682)

`extraSharedClassDeclaration` of `FunctionOpInterface` can be inherited
by other `OpInterfaces` into foreign namespaces, thus types must be
fully qualified to prevent compiler errors, for example:

    def MyFunc : OpInterface<"MyFunc", [FunctionOpInterface]> {
        let cppNamespace = "::MyNamespace";
    }


  Commit: afd469023aad10786eaea3d444047a558ad8d5c1
      https://github.com/llvm/llvm-project/commit/afd469023aad10786eaea3d444047a558ad8d5c1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Interpreter/OptionValueUInt64.cpp
    M lldb/test/API/commands/settings/TestSettings.py
    M lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py

  Log Message:
  -----------
  [lldb] Fix term-width setting (#82736)

I noticed that the term-width setting would always report its default
value (80) despite the driver correctly setting the value with
SBDebugger::SetTerminalWidth.

```
(lldb) settings show term-width
term-width (int) = 80
```

The issue is that the setting was defined as a SInt64 instead of a
UInt64 while the getter returned an unsigned value. There's no reason
the terminal width should be a signed value. My best guess it that it
was using SInt64 because UInt64 didn't support min and max values. I
fixed that and correct the type and now lldb reports the correct
terminal width:

```
(lldb) settings show term-width
term-width (unsigned) = 189
```

rdar://123488999


  Commit: 850dde063b7f70bb592723064385e9f9ad39c96e
      https://github.com/llvm/llvm-project/commit/850dde063b7f70bb592723064385e9f9ad39c96e
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/lib/CodeGen/SelectionDAG/MatchContext.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/unittests/IR/VPIntrinsicTest.cpp

  Log Message:
  -----------
  [RISCV][VP] Introduce vp saturating addition/subtraction and RISC-V support. (#82370)

This patch also pick the MatchContext framework from DAGCombiner to an
indiviual header file to make the framework be used from other files in
llvm/lib/CodeGen/SelectionDAG/.


  Commit: d7a28f7ad77504694ad8bdc6b2aaa8938f08fbdd
      https://github.com/llvm/llvm-project/commit/d7a28f7ad77504694ad8bdc6b2aaa8938f08fbdd
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Add asserts for insert/extract_subvector invariants. NFC

We can currently select insert_subvector and extract_subvector nodes in
RISCVISelDAGToDAG (this is after custom legalizing in RISCVISelLowering)
with fixed subvector types.

However decomposeSubvectorInsertExtractToSubRegs is based off of
scalable subvectors where the indices are scaled by vscale, so any index
other than 0 will be wrong.

For insert_subvector the vector being inserted into needs to be undef as
well, because it assumes we can replace a whole subregister which isn't
always the case for fixed subvectors (e.g. insert <2 x i32> into <4 x
i32> at index 0 with vlen=128).

We currently maintain these invariants in RISCVISelLowering, so this
adds asserts in RISCVISelDAGToDAG so we don't break them.


  Commit: 1fe6be8794964c011aeba7a66bd2dcd891d21ab0
      https://github.com/llvm/llvm-project/commit/1fe6be8794964c011aeba7a66bd2dcd891d21ab0
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/Headers/cpuid.h
    M clang/test/CodeGen/target-builtin-noerror.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86] Support APXF to enable __builtin_cpu_supports. (#80636)

For referring, APX's spec:
https://cdrdv2.intel.com/v1/dl/getContent/784266
APX's index in libgcc:
https://github.com/gcc-mirror/gcc/blob/master/gcc/common/config/i386/i386-cpuinfo.h#L267


  Commit: 354401f8d3dc08ed41895d03a12a122e9cc0482c
      https://github.com/llvm/llvm-project/commit/354401f8d3dc08ed41895d03a12a122e9cc0482c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb] Fix GetTerminalWidth after afd469023aad

afd469023aad fixed the type of the term-width setting but the getter
(Debugger::GetTerminalWidth) was still trying to get the terminal width
as an unsigned. This fixes TestXMLRegisterFlags.py.


  Commit: 531e8c26b3f2626e7f1a997e0e8b61d67d10aded
      https://github.com/llvm/llvm-project/commit/531e8c26b3f2626e7f1a997e0e8b61d67d10aded
  Author: Dani <DanielKristofKiss at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/AutoUpgrade.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/test/Bitcode/upgrade-arc-runtime-calls.ll
    M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
    A llvm/test/LTO/AArch64/link-sign-return-address.ll
    M llvm/test/Linker/link-arm-and-thumb.ll

  Log Message:
  -----------
  [llvm][AArch64] Autoupgrade function attributes from Module attributes. (#80640)

`sign-return-address` and similar module attributes should be propagated
to the function level before modules got merged because module flags may
contradict and this information is not recoverable.
Generated code will match with the normal linking flow.


  Commit: 6fae3e784472751002570f367c378cb2dbd82c26
      https://github.com/llvm/llvm-project/commit/6fae3e784472751002570f367c378cb2dbd82c26
  Author: Dani <DanielKristofKiss at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/IR/Attributes.cpp
    A llvm/test/Transforms/Inline/inline-sign-return-address.ll
    M llvm/utils/TableGen/Attributes.cpp

  Log Message:
  -----------
  [llvm][AArch64] Do not inline a function with different signing scheme. (#80642)

If the signing scheme is different that maybe the functions assumes
different behaviours and dangerous to inline them without analysing
them. This should be a rare case.


  Commit: 5ca877591e65acf18b5a8d3234ff88b215b4f369
      https://github.com/llvm/llvm-project/commit/5ca877591e65acf18b5a8d3234ff88b215b4f369
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [clang][analyzer] Fix argument invalidations in StreamChecker. (#79470)

Specific arguments passed to stream handling functions are changed by
the function, this means these should be invalidated ("escaped") by the
analyzer. This change adds the argument invalidation (in specific cases)
to the checker.


  Commit: d68d29516102252f6bf6dc23fb22cef144ca1cb3
      https://github.com/llvm/llvm-project/commit/d68d29516102252f6bf6dc23fb22cef144ca1cb3
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Turn op/block arg replacements into `IRRewrite`s (#81757)

This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).

Until now, op replacements and block argument replacements were kept
track in separate data structures inside the dialect conversion. This
commit turns them into `IRRewrite`s, so that they can be committed or
rolled back just like any other rewrite. This simplifies the internal
state of the dialect conversion.

Overview of changes:
* Add two new rewrite classes: `ReplaceBlockArgRewrite` and
`ReplaceOperationRewrite`. Remove the `OpReplacement` helper class; it
is now part of `ReplaceOperationRewrite`.
* Simplify `RewriterState`: `numReplacements` and `numArgReplacements`
are no longer needed. (Now being kept track of by `numRewrites`.)
* Add `IRRewrite::cleanup`. Operations should not be erased in `commit`
because they may still be referenced in other internal state of the
dialect conversion (`mapping`). Detaching operations is fine.
* `trackedOps` are now updated during the "commit" phase instead of
after applying all rewrites.


  Commit: b014944e47ba6e2031e968268b15fba43a9e1dbf
      https://github.com/llvm/llvm-project/commit/b014944e47ba6e2031e968268b15fba43a9e1dbf
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [NFC] [doc] Mentioning to include the guard headers from imported modules


  Commit: ace83da316fbd2196fa35e8fd90218dcf84a020c
      https://github.com/llvm/llvm-project/commit/ace83da316fbd2196fa35e8fd90218dcf84a020c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/Program.h

  Log Message:
  -----------
  [clang][Interp][NFC] Improve Program dump()ing

Add colors as well as more details for global variables.


  Commit: 9ca70d72f4f217ff4f6ab337ad4a8e6666860791
      https://github.com/llvm/llvm-project/commit/9ca70d72f4f217ff4f6ab337ad4a8e6666860791
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Turn op creation into `IRRewrite` (#81759)

This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).

Until now, the dialect conversion kept track of "op creation" in
separate internal data structures. This commit turns "op creation" into
an `IRRewrite` that can be committed and rolled back just like any other
rewrite. This commit simplifies the internal state of the dialect
conversion.


  Commit: 59ff4d131c7d6b3bfcbe8e96cac99c9d8a65bf4e
      https://github.com/llvm/llvm-project/commit/59ff4d131c7d6b3bfcbe8e96cac99c9d8a65bf4e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Turn unresolved materializations into `IRRewrite`s (#81761)

This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).

This commit turns the creation of unresolved materializations
(`unrealized_conversion_cast`) into `IRRewrite` objects. After this
commit, all steps in `applyRewrites` and `discardRewrites` are calls to
`IRRewrite::commit` and `IRRewrite::rollback`.


  Commit: b13c8e5099ec7886fcd198b1f6aec14f928c963c
      https://github.com/llvm/llvm-project/commit/b13c8e5099ec7886fcd198b1f6aec14f928c963c
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/AutoUpgrade.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/test/Bitcode/upgrade-arc-runtime-calls.ll
    M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
    R llvm/test/LTO/AArch64/link-sign-return-address.ll
    M llvm/test/Linker/link-arm-and-thumb.ll

  Log Message:
  -----------
  Revert "[llvm][AArch64] Autoupgrade function attributes from Module attributes. (#80640)"

This reverts commit 531e8c26b3f2626e7f1a997e0e8b61d67d10aded.


  Commit: 2ae8bee8f11f8d5cc26cf6b4bb71001706ca0104
      https://github.com/llvm/llvm-project/commit/2ae8bee8f11f8d5cc26cf6b4bb71001706ca0104
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [ARM][GlobalISel] Remove legacy legalizer rules (#82619)

I've been looking at LegacyLegalizerInfo and what its place in GISel is.
It seems like it's very close to being deleted so I'm checking if we can
remove the last remaining uses of it.

Looks like we can do a drop-in replacement with the new legalizer for
ARM.


  Commit: bbdc62e7180168effd0c480979bdaf933d0615d1
      https://github.com/llvm/llvm-project/commit/bbdc62e7180168effd0c480979bdaf933d0615d1
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll

  Log Message:
  -----------
  [AArch64][CostModel] Improve scalar frem cost (#80423)

In AArch64 the cost of scalar frem is the cost of a call to 'fmod'.


  Commit: 335d34d9eae8c943e2164373c7eab1e450eaf435
      https://github.com/llvm/llvm-project/commit/335d34d9eae8c943e2164373c7eab1e450eaf435
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll

  Log Message:
  -----------
  [MLIR][LLVM] Fix debug intrinsic import (#82637)

This revision handles the case that the translation of a scope fails due
to cyclic metadata. This mainly affects the import of debug intrinsics
that indirectly take such a scope as metadata argument (e.g. via local
variable or label metadata). This commit ensures we drop intrinsics with
such a dependency on cyclic metadata.


  Commit: a622b21f4607ee787c6fe63032a849c24374882b
      https://github.com/llvm/llvm-project/commit/a622b21f4607ee787c6fe63032a849c24374882b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Make `ConversionPatternRewriter` constructor private (#82244)

`ConversionPatternRewriter` objects should not be constructed outside of
dialect conversions. Some IR modifications performed through a
`ConversionPatternRewriter` are reflected in the IR in a delayed fashion
(e.g., only when the dialect conversion is guaranteed to succeed). Using
a `ConversionPatternRewriter` outside of the dialect conversion is
incorrect API usage and can bring the IR in an inconsistent state.

Migration guide: Use `IRRewriter` instead of
`ConversionPatternRewriter`.


  Commit: b39f5660a408b47307e57a0882eb8af85d72e283
      https://github.com/llvm/llvm-project/commit/b39f5660a408b47307e57a0882eb8af85d72e283
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-multi-tile-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f16f16f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-i8i8i32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
    A mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    A mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
    M mlir/test/lib/Dialect/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Add test-lower-to-arm-sme pipeline (#81732)

The ArmSME compilation pipeline has evolved significantly and is now
sufficiently complex enough that it warrants a proper lowering pipeline
that encapsulates the various passes and orderings. Currently the
pipeline is loosely defined in our integration tests, but these have
diverged and are not using the same passes or ordering everywhere.

This patch introduces a test-lower-to-arm-sme pipeline mirroring
test-lower-to-llvm that provides some sanity when running e2e examples
and can be used a reference for targeting ArmSME in MLIR.

All the integration tests are updated to use this pipeline. The
intention is to productize the pipeline once it becomes more mature.


  Commit: 78890904c41cc4221839dafb7ae906971a9db51a
      https://github.com/llvm/llvm-project/commit/78890904c41cc4221839dafb7ae906971a9db51a
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir

  Log Message:
  -----------
  [mlir][math] Propagate scalability in `convert-math-to-llvm` (#82635)

This also generally increases the coverage of scalable vector types in
the math-to-llvm tests.


  Commit: 13acb3af5ad48e850cf37dcf02270ede3f267bd4
      https://github.com/llvm/llvm-project/commit/13acb3af5ad48e850cf37dcf02270ede3f267bd4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/SemaCXX/PR68542.cpp

  Log Message:
  -----------
  [clang][Interp] Don't diagnose alread invalid function decls

They have already been diagnosed before. Also improve that test case.


  Commit: 5f1319bb385342c7ef4124b05b83b89ef8588ee8
      https://github.com/llvm/llvm-project/commit/5f1319bb385342c7ef4124b05b83b89ef8588ee8
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Encapsulate dialect conversion options in `ConversionConfig` (#82250)

This commit adds a new `ConversionConfig` struct that allows users to
customize the dialect conversion. This configuration is similar to
`GreedyRewriteConfig` for the greedy pattern rewrite driver.

A few existing options are moved to this objects, simplifying the
dialect conversion API.


  Commit: 5cb2ebc08f6fa42341409b88466c5c266e5839cc
      https://github.com/llvm/llvm-project/commit/5cb2ebc08f6fa42341409b88466c5c266e5839cc
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-using.cpp

  Log Message:
  -----------
  Reland "[clang] Preserve found-decl when constructing VarTemplateIds" (#82612)

Update include-cleaner tests. Now that we have proper found-decls set up
for VarTemplates, in case of instationtations we point to primary
templates and not specializations. To be changed in a follow-up patch.


  Commit: 4419b2c27fa45a08bc3892ad0c8c5eb95d96d608
      https://github.com/llvm/llvm-project/commit/4419b2c27fa45a08bc3892ad0c8c5eb95d96d608
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp

  Log Message:
  -----------
  [clangd] Make tidy-rename tests conditional


  Commit: de04b7d44edbfe8c2357cc291f8806575e6e93f2
      https://github.com/llvm/llvm-project/commit/de04b7d44edbfe8c2357cc291f8806575e6e93f2
  Author: Daniel Krupp <daniel.krupp at ericsson.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c

  Log Message:
  -----------
  [analyzer] Fix core.VLASize checker false positive taint reports (#68140)

The checker reported a false positive on this code 

void testTaintedSanitizedVLASize(void) {
  int x;
  scanf("%d", &x);
  if (x<1)
    return;
  int vla[x]; // no-warning
}

After the fix, the checker only emits tainted warning if the vla size is
coming from a tainted source and it cannot prove that it is positive.


  Commit: 9dfb8430509619a4e9d36fd00a11b83a2d5d0c3c
      https://github.com/llvm/llvm-project/commit/9dfb8430509619a4e9d36fd00a11b83a2d5d0c3c
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp

  Log Message:
  -----------
  [include-cleaner] Use FoundDecl only for using-shadow-decls (#82615)


  Commit: 7bb08ee8260c825eb5af4824bc62f73155b4b592
      https://github.com/llvm/llvm-project/commit/7bb08ee8260c825eb5af4824bc62f73155b4b592
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Decouple `ConversionPatternRewriterImpl` from `ConversionPatternRewriter` (#82333)

`ConversionPatternRewriterImpl` no longer maintains a reference to the
respective `ConversionPatternRewriter`. An `MLIRContext` is sufficient.
This commit simplifies the internal state of
`ConversionPatternRewriterImpl`.


  Commit: 404854ee2018489c15c3454857d92e3bab7c1672
      https://github.com/llvm/llvm-project/commit/404854ee2018489c15c3454857d92e3bab7c1672
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Interp/Program.h

  Log Message:
  -----------
  [clang][Interp][NFC] Print global variable initialization state


  Commit: e7c60915e61912fb24707dc67e6c4fc919515796
      https://github.com/llvm/llvm-project/commit/e7c60915e61912fb24707dc67e6c4fc919515796
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll

  Log Message:
  -----------
  Remove duplicated REQUIRES: asserts


  Commit: 790bcecce6c135476d2551805c09ed670b9f8418
      https://github.com/llvm/llvm-project/commit/790bcecce6c135476d2551805c09ed670b9f8418
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    A llvm/test/CodeGen/X86/GlobalISel/calllowering-tailcall.ll

  Log Message:
  -----------
  [GlobalISel] Fix a check that aligned tail call is lowered (#82016)

Despite of a valid tail call opportunity, backends still may not
generate a tail call or such lowering is not implemented yet.

Check that lowering has happened instead of its possibility when
generating G_ASSERT_ALIGN.


  Commit: 22734e15d8f2c437e8543f19632299d2e09b31f3
      https://github.com/llvm/llvm-project/commit/22734e15d8f2c437e8543f19632299d2e09b31f3
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c

  Log Message:
  -----------
  [Clang][AArch64] Fix 'svzero_za' intrinsic to take no arguments. (#82648)

We previously defined svzero_za as:

  void svzero_za();

rather than:

  void svzero_za(void);

Which meant that Clang accepted arguments. Compiling for example
`svzero_za(<non-constant integer>)` ended up with incorrect IR and a
compiler crash because it couldn't select an instruction for it.


  Commit: 3c90fce4504e22953ec5586599afaecfb2923a9e
      https://github.com/llvm/llvm-project/commit/3c90fce4504e22953ec5586599afaecfb2923a9e
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64] Add missing prototypes for streaming-compatible routines (#82649)


  Commit: 8a164220207b579c31d6aa6552944441c83e9465
      https://github.com/llvm/llvm-project/commit/8a164220207b579c31d6aa6552944441c83e9465
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/test/Transforms/SpeculativeExecution/PR46267.ll

  Log Message:
  -----------
  [RemoveDIs] Add DPLabels support [3a/3] (#82633)

Patch 2 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds the DPLabel class, which is the RemoveDIs llvm.dbg.label
equivalent.

   1. Add DbgRecord base class for DPValue and the not-yet-added
       DPLabel class.
   2. Add the DPLabel class.
-> 3. Add support to passes.

The next patch, #82639, will enable conversion between dbg.labels and DPLabels.

AssignemntTrackingAnalysis support could have gone two ways:

1. Have the analysis store a DPLabel representation in its results -
   SelectionDAGBuilder reads the analysis results and ignores all DbgRecord
   kinds.
2. Ignore DPLabels in the analysis - SelectionDAGBuilder reads the analysis
   results but still needs to iterate over DPLabels from the IR.

I went with option 2 because it's less work and is no less correct than 1. It's
worth noting that causes labels to sink to the bottom of packs of debug records.
e.g., [value, label, value] becomes [value, value, label]. This shouldn't be a
problem because labels and variable locations don't have an ordering requirement.
The ordering between variable locations is maintained and the label movement is
deterministic


  Commit: cdf19d13bf39f0679c3636eada87a5645f9a4c84
      https://github.com/llvm/llvm-project/commit/cdf19d13bf39f0679c3636eada87a5645f9a4c84
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c

  Log Message:
  -----------
  [Clang] Fix acle_sme_zero.c (missing aarch64-registered-target)

This test was added in #82648


  Commit: e1326434742980b03433464dd9435ea66ad5be47
      https://github.com/llvm/llvm-project/commit/e1326434742980b03433464dd9435ea66ad5be47
  Author: tsitdikov <tsitdikov at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  Add build rule for MLIRArmSMETestPasses

MLIRArmSMETestPasses was added in https://github.com/llvm/llvm-project/commit/b39f5660a408b47307e57a0882eb8af85d72e283, we need to add a build rule for it as well.


  Commit: 3dfca24dda1b3596685d02109185ea2885cc0124
      https://github.com/llvm/llvm-project/commit/3dfca24dda1b3596685d02109185ea2885cc0124
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp8.txt

  Log Message:
  -----------
  [AMDGPU] Fix encoding of VOP3P dpp on GFX11 and GFX12 (#82710)

The bug affects dpp forms of v_dot2_f32_f16. The encoding does not match
SP3 and does not set op_sel_hi bits properly.


  Commit: d9e4309b451c1b24d4e0a6304057663b877e5266
      https://github.com/llvm/llvm-project/commit/d9e4309b451c1b24d4e0a6304057663b877e5266
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/test/CAPI/llvm.c

  Log Message:
  -----------
  [mlir][NFC] Fix format specifier warning on Windows

`%ld` specifier is defined to work on values of type `long`. The parameter given to `fprintf` is of type `intptr_t` whose actual underlying integer type is unspecified. On Unix systems it happens to commonly be `long` but on 64-bit Windows it is defined as `long long`.

The cross-platform way to print a `intptr_t` is to use `PRIdPTR` which expands to the correct format specifier for `intptr_t`. This avoids any undefined behaviour and compiler warnings.


  Commit: 6ac2c0488f0e06036fc2bd7a94bea71fb930b363
      https://github.com/llvm/llvm-project/commit/6ac2c0488f0e06036fc2bd7a94bea71fb930b363
  Author: tsitdikov <tsitdikov at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  Add TestArmSME dependency to mlir-opt library.

TestArmSME was added in https://github.com/llvm/llvm-project/commit/e1326434742980b03433464dd9435ea66ad5be47, now we need to add dependency on it.


  Commit: f1e0392b822e06f39c49df3ba594f4c98f608ba0
      https://github.com/llvm/llvm-project/commit/f1e0392b822e06f39c49df3ba594f4c98f608ba0
  Author: Garvit Gupta <152526799+quic-garvgupt at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
    M clang/lib/Driver/ToolChains/RISCVToolchain.h
    M clang/test/Driver/riscv-features.c

  Log Message:
  -----------
  [RISCV] Disable generation of asynchronous unwind tables for RISCV baremetal (#81727)

The below culprit patch enabled the generation of asynchronous unwind
tables (-funwind-tables=2) by default for RISCV for both linux and
RISCVToolChain baremetal object. However, since there are 2 baremetal
toolchain objects for RISCV, this created a discrepancy between their
behavior. Moreover, enabling the generation of asynchronous unwind
tables based on whether `-gcc-toolchain` option is present or not
doesn't seem to be the best criteria to decide on the same. This patch
make the behavior consistent by disabling the unwind tables in
RISCVToolChain Baremetal object.

Culprit Patch - https://reviews.llvm.org/D145164


  Commit: 3b3d0978c334702114131e4dab549aa25b9f0ad4
      https://github.com/llvm/llvm-project/commit/3b3d0978c334702114131e4dab549aa25b9f0ad4
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c

  Log Message:
  -----------
  [Clang] Fix acle_sme_zero.c once more.


  Commit: bcf9826a5392f40063869c3d2b72a5cd1b87d14b
      https://github.com/llvm/llvm-project/commit/bcf9826a5392f40063869c3d2b72a5cd1b87d14b
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [MLIR] Expose approximation patterns for tanh/erf. (#82750)

These patterns can already be used via
populateMathPolynomialApproximationPatterns, but that includes a number
of other patterns that may not be needed.

There are already similar functions for expansion.

For now only adding tanh and erf since I have a concrete use case for
these two.


  Commit: ddb4450a468072b5c066c29f4821edec4689d500
      https://github.com/llvm/llvm-project/commit/ddb4450a468072b5c066c29f4821edec4689d500
  Author: r4nt <klimek at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/FormatTestMacroExpansion.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp

  Log Message:
  -----------
  [ClangFormat] Fix indent in child lines within a macro argument. (#82523)

When reconstructing lines from a macro expansion, make sure that lines
at different levels in the expanded code get indented correctly as part
of the macro argument.


  Commit: e09e0d52a03c7141a7d62fb4adf4d9fee32bebb8
      https://github.com/llvm/llvm-project/commit/e09e0d52a03c7141a7d62fb4adf4d9fee32bebb8
  Author: tsitdikov <tsitdikov at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Users/tsitdikov (#82757)

Fix Test ARM SME library and build rule.


  Commit: 3b70387c5486a057fe0b7d52c79f9decf9c9c95f
      https://github.com/llvm/llvm-project/commit/3b70387c5486a057fe0b7d52c79f9decf9c9c95f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Handle more integer intrinsics in `propagatesPoison` (#82749)

This patch extends `propagatesPoison` to handle more integer intrinsics.
It will turn more logical ands/ors into bitwise ands/ors.

See also https://reviews.llvm.org/D99671.


  Commit: 1197fcabc4b5f39dbe8a94b1ab6e92354f3f0dd2
      https://github.com/llvm/llvm-project/commit/1197fcabc4b5f39dbe8a94b1ab6e92354f3f0dd2
  Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 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/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
    M libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
    M libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.rtti/type.info/type_info.equal.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
    M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Change UNSUPPORTED to XFAIL for target-related failures (#81513)

This is a followup from this discussion
https://github.com/llvm/llvm-project/pull/80735#discussion_r1486586017
to mark targets that were initially marked as UNSUPPORTED with an XFAIL
instead.


  Commit: ad49fe3e89c3b3950956548f14cdb5c159ba0aec
      https://github.com/llvm/llvm-project/commit/ad49fe3e89c3b3950956548f14cdb5c159ba0aec
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/SemaCXX/PR20334-std_initializer_list_diagnosis_assertion.cpp

  Log Message:
  -----------
  [clang][Interp] Don't return success for already failed global variables

We might be visiting them more than once. We used to return true for
second and subsequent cases, just because we had already visited it
before.


  Commit: 492e8ba0384b038596e6b4a97313b7bdced5e868
      https://github.com/llvm/llvm-project/commit/492e8ba0384b038596e6b4a97313b7bdced5e868
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp

  Log Message:
  -----------
  [mlir] Fix memory leaks after #81759 (#82762)

This commit fixes memory leaks that were introduced by #81759. The way
ops and blocks are erased changed slightly.

The leaks were caused by an incorrect implementation of op builders:
blocks must be created with the supplied builder object. Otherwise, they
are not properly tracked by the dialect conversion and can leak during
rollback.


  Commit: b8a7d8131e5ad2c21238e192e6f9c5b69512abe3
      https://github.com/llvm/llvm-project/commit/b8a7d8131e5ad2c21238e192e6f9c5b69512abe3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [LLVM] Fix incorrect GPU triple detection for runtimes builds

Summary:
This block of code is used to prevent a GPU-based cross compiling build
from taking incompatible arguments. However this incorrectly used the
LLVM default triple instead of the runtimes target. Fix that so the bots
can continue to default the triple to NVPTX.


  Commit: c747b24262205aeaa112e5c0de3f786d960427ae
      https://github.com/llvm/llvm-project/commit/c747b24262205aeaa112e5c0de3f786d960427ae
  Author: hev <wangrui at loongson.cn>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll

  Log Message:
  -----------
  [NFC] Precommit a memcpy test for isOrEquivalentToAdd (#82758)


  Commit: 71d47a0b00e9f48dc740556d7f452ffadf308731
      https://github.com/llvm/llvm-project/commit/71d47a0b00e9f48dc740556d7f452ffadf308731
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [RemoveDIs] Enable DPLabels conversion [3b/3] (#82639)

Enables conversion between llvm.dbg.label and DPLabel.


  Commit: 52ada07ef5df2829e90ca2dd48305465a55e8121
      https://github.com/llvm/llvm-project/commit/52ada07ef5df2829e90ca2dd48305465a55e8121
  Author: Benoît Amiaux <benoit.amiaux at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  build_llvm_release.bat: add tarball export to x64 release (#79840)

Like linux releases, export a tar.xz files containing most llvm tools,
including non toolchain utilities, llvm-config, llvm-link and others.

We do this by reconfiguring cmake one last time at the last step,
running the install target so we do not need to recompile anything.

Fix #51192
Fix #53052


  Commit: be083dba95dfbbb0286d798cc06fbe021715bc03
      https://github.com/llvm/llvm-project/commit/be083dba95dfbbb0286d798cc06fbe021715bc03
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetSchedule.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV][NFC] Allow SchedVar to be a def inside our scheduler model files. (#82634)

All SchedModel files have a line that looks like:

```
def SomeModel : SchedMachineModel;
let SchedModel = SomeModel in {
  ...
}
```

TableGen requires that all records defined within the top level `let`
must have a field `SchedModel` somewhere in their nested record
hierarchy (i.e. the record has a field `SchedModel : SchedMachineModel`
or recursively, one of its members has a field `SchedModel :
SchedMachineModel`).

Classes such as `SchedPredicate` have added a field `SchedModel :
SchedMachineModel`, even though the field is never used, just to supress
**errors** (not warnings) caused from having the top level let in the
model files. This decision was made to avoid having hundreds of the same
`let` statement littered in every scheduler model file.

The reason we have never seen an error for `SchedVar` before is because
`SchedVar` is never instantiated with a `def`. Instead, it is only
created as a value that is consumed by `SchedWriteVariant`:

```
... : SchedWriteVariant<[SchedVar<...>, SchedVar<...>]>;
```

There is a problem with this style of instantiation. In particular, the
problem arises as we try to take a class based approach to building
scheduler models. I will describe the problem from the bottom up.

The `LMULWriteResMXVariant` multiclass takes in a `SchedPredicateBase
Pred`. Today, the RISCVSchedSiFive7.td file defines `VLDSX0Pred` outside
the scope of any class. That means that `VLDSX0Pred` exists before
`LMULWriteResMXVariant` multiclass is instantiated. With this approach,
there is no error since the predicate is instantated in entirety before
the variant multiclass is instantiated. However, I have the intention to
move the definition of both the predicate and the variant multiclass
records inside a multiclass to factor out common parts between multiple
scheduler models.

I plan to have something like:

```
multiclass SiFive7Base<SiFive7BaseConfig c> {
  def VLDSX0Pred : ...;
  // Need defvar since record is prefixed with NAME.
  defvar VLDSX0Pred = !cast<...>(NAME # VLDSX0Pred);
  defm SiFive7 : LMULWriteResMXVariant<VLDSX0Pred>;
}

defm "SiFive7Version1" : SiFive7Base<SiFive7BaseConfig<...>>;
defm "SiFive7Version2" : SiFive7Base<SiFive7BaseConfig<...>>;
```

In this scheme, VLDSX0Pred is defined within the same multiclass
transaction that the `LMULWriteResMXVariant` is defined in. For some
reason, TableGen does not allow `Values` to reference records that were
created in the same parent record construction. If the `SchedVar` is not
a `def`, then it will not be able to find the record `NAME #
VLDSX0Pred`. Making it a def, allows TableGen to find `NAME #
VLDSX0Pred` in scope.

The simplest example of this is:

```
class A {}
class B<A a> { A x = a;}
class C<B b> { B y = b;}
multiclass D {
  def MyA : A;
  defvar aa = !cast<A>(NAME # MyA);
  // This works
  def : B<aa>;
  // This does not work because constructing B by value cannot find `NAME # MyA`
  // error: Undefined reference to record: 'MyA'
  def : C<B<aa>>;
  // To fix it, define it like such:
  def MyB : B<aa>;
  defvar bb = !cast<B>(NAME # MyB);
  def : C<bb>;
}
defm "" : D;
```

In summary, in order to use a class based approach to creating scheduler
resources to promote resusability, `SchedVar`s must be created using
defs instead of being instantiated by value so that it can resolve
records that were part of the instantiation of the parent record being
created. In order to do this without refactoring the top level `let`
statement that all scheduler model files use, we add an unused field
`SchedModel : SchedMachineModel` to `SchedVar`, similiar to what has
been done in `SchedPredicate`.


  Commit: 3b232f066d40a3e91ac27e421a3baeaca0cd59ec
      https://github.com/llvm/llvm-project/commit/3b232f066d40a3e91ac27e421a3baeaca0cd59ec
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir

  Log Message:
  -----------
  [mlir][linalg] `LinalgOp`: Disallow mixed tensor/buffer semantics (#80660)

Related discussion:
https://github.com/llvm/llvm-project/pull/73908/files#r1414913030.

This change fixes #73547.


  Commit: 08cb1a62f6f401d66513a20e8689c1ef9059fc63
      https://github.com/llvm/llvm-project/commit/08cb1a62f6f401d66513a20e8689c1ef9059fc63
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-vector.ll

  Log Message:
  -----------
  [AArch64][SVE] Add intrinsincs to assembly mapping for svpmov (#81861)

This patch enables translation of svpmov intrinsic to the correct
assembly instruction, instead of function call.


  Commit: 55bc0488af077acb47be70542718d1bc17f3de4f
      https://github.com/llvm/llvm-project/commit/55bc0488af077acb47be70542718d1bc17f3de4f
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  Improve and modernize logging for Process::CompleteAttach() (#82717)

Target::SetArchitecture() does not necessarily set the triple that is
being passed in, and will unconditionally log the real architecture to
the log channel. By flipping the order between the log outputs, the
resulting combined log makes a lot more sense to read.


  Commit: 5840aa95e3c2d93f400e638e7cbf167a693c75f5
      https://github.com/llvm/llvm-project/commit/5840aa95e3c2d93f400e638e7cbf167a693c75f5
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Fix crash in dialect conversion (#82783)

This is a follow-up to #82333. It is possible that the target block of a
`BlockTypeConversionRewrite` is detached, so the `MLIRContext` cannot be
taken from the block.


  Commit: 0b01320d28235ff54a98681414c7dd6024d348a7
      https://github.com/llvm/llvm-project/commit/0b01320d28235ff54a98681414c7dd6024d348a7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [VPlan] Remove unused VPTransformState::CanonicalIV (NFCI).

Clean up unused member variable.


  Commit: 1408667fdd890edf7507ae2052360de20d81c19f
      https://github.com/llvm/llvm-project/commit/1408667fdd890edf7507ae2052360de20d81c19f
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Follow MLIR constant style in VectorLegalization.cpp (NFC)


  Commit: 24e7be426efe142c49bfab5cb278ffa313424176
      https://github.com/llvm/llvm-project/commit/24e7be426efe142c49bfab5cb278ffa313424176
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp

  Log Message:
  -----------
  [NFC] clean up memtag-stack code (#80906)

we would replace the alloca with tagp for debug instructions, then
replace it back with the original alloca. it's easier to just skip the
replacement.


  Commit: dfa1d9b027e677cf1379dffee0059261a34f3481
      https://github.com/llvm/llvm-project/commit/dfa1d9b027e677cf1379dffee0059261a34f3481
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU][NFC] Have helpers to deal with encoding fields. (#82772)

These are hoped to provide more convenient and less error prone
facilities to encode and decode fields than manually defined constants
and functions.


  Commit: 0673fb6e773b0a37802208be4f666cef1f6b3470
      https://github.com/llvm/llvm-project/commit/0673fb6e773b0a37802208be4f666cef1f6b3470
  Author: Thurston Dang <thurston.dang at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan.cpp

  Log Message:
  -----------
  [hwasan] Add missing printf parameter in __hwasan_handle_longjmp (#82559)

The diagnostic message had four format specifiers but only three
parameters. This patch adds what I assume to be the missing
parameter.


  Commit: 0352d5eee06c214681696395a0442006e6d16656
      https://github.com/llvm/llvm-project/commit/0352d5eee06c214681696395a0442006e6d16656
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M libc/startup/gpu/amdgpu/start.cpp

  Log Message:
  -----------
  [libc][NFC] Remove redundant external clock symbol for AMDGPU (#82794)

Summary:
The AMDGPU target needs an external clock symbol so the driver can set
the frequency with the correct value. This was left over from the
previous implementation and I forgot to remove it when actually
implementing the timing utilities.


  Commit: 640ba3f8d1dcf25d8b34ce463fb6a7d58e7dc998
      https://github.com/llvm/llvm-project/commit/640ba3f8d1dcf25d8b34ce463fb6a7d58e7dc998
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [libc] Fix standard cross build targeting the GPU (#82724)

Summary:
The GPU target has recently been changed to support standard `libc`
build rules. This means we should be able to build for it both in
`LLVM_ENABLE_PROJECTS` mode, or targeting the runtimes directory
directly as in the LLVM `libc` documentation. Previously this failed
because the version check on the compiler was too strict and the
`--target=` options were not being set on the link jobs unless in CMake
cross compiliation mode. This patch fixes those so the following config
should work now to build the GPU target directly if using NVPTX.

```
cmake ../runtimes -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang \
  -DLLVM_ENABLE_RUNTIMES=libc -DLLVM_RUNTIMES_TARGET=nvptx64-nvidia-cuda \
  -DLLVM_DEFAULT_TARGET_TRIPLE=nvptx64-nvidia-cuda \
  -DLIBC_HDRGEN_EXE=/path/to/hdrgen/libc-hdrgen \
  -DLLVM_LIBC_FULL_BUILD=ON -GNinja
```


  Commit: 3e9e5e277129041fe781f1f2bb04f69269d3fa1f
      https://github.com/llvm/llvm-project/commit/3e9e5e277129041fe781f1f2bb04f69269d3fa1f
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll

  Log Message:
  -----------
  [FPEnv][SystemZ] Correct strictfp test.

Correct llvm-reduce strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics

This test needed the strictfp attribute added to function definitions.

Test changes verified with D146845.


  Commit: 8fe4487e23e543568745ef461660b1d288805b81
      https://github.com/llvm/llvm-project/commit/8fe4487e23e543568745ef461660b1d288805b81
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaOpenACC/no-branch-in-out.c

  Log Message:
  -----------
  [OpenACC] Fix branch-in/out to not refer to a 'region'

'region' is not a term of art in OpenACC, so switch it to refer to
'Compute Construct', which is accurate/reflects the standard.


  Commit: 962a6970f2827bcdda574426701c7c57f79a1ccf
      https://github.com/llvm/llvm-project/commit/962a6970f2827bcdda574426701c7c57f79a1ccf
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [SelectionDAG] Remove unused VP strided load/store creation functions that build an MMO. (#82676)

The base case of these call InferPtrInfo. This is dangerous due to
#82657, but it turns out none of these are used.

It seemed best to reduce the surface area until these are needed.


  Commit: 42f6f95e084a9157a5801dba5e32a7af0616360a
      https://github.com/llvm/llvm-project/commit/42f6f95e084a9157a5801dba5e32a7af0616360a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h

  Log Message:
  -----------
  [AMDGPU] Simplify AMDGPUDisassembler::getInstruction by removing Res. (#82775)

Remove all the code that set and tested Res. Change all convert*
functions to return void since none of them can fail. getInstruction
only has one main point of failure, after all calls to tryDecodeInst
have failed.


  Commit: a24421fef713e5b3c0a885cf36a62cc3257be1f3
      https://github.com/llvm/llvm-project/commit/a24421fef713e5b3c0a885cf36a62cc3257be1f3
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang][bbc] Fix dangling reference to `envDefaults` (#82800)

The lowering bridge stores the evvironment defaults (passed to the
constructor) as a reference. In the call to the constructor in bbc, the
defaults were passed as `{}`, which creates a temporary whose lifetime
ends immediately after the call.

The flang driver passes a member of the compilation instance to the
constructor, which presumably remains alive long enough, so storing the
reference in the bridge is justified. To avoid the dangling reference,
create an actual object `envDefaults` in bbc.


  Commit: f8ce460e48ccc774354df75520d00a67ddbf84c0
      https://github.com/llvm/llvm-project/commit/f8ce460e48ccc774354df75520d00a67ddbf84c0
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp

  Log Message:
  -----------
  [mlir][sparse] cleanup sparse runtime library (#82807)

remove some obsoleted APIs from the library that have been fully
replaced with actual direct IR codegen


  Commit: 5874874c24720dc24fde12327f81369ef4af4e0b
      https://github.com/llvm/llvm-project/commit/5874874c24720dc24fde12327f81369ef4af4e0b
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [SelectionDAG] Introducing the SelectionDAG pattern matching framework (#78654)

Akin to `llvm::PatternMatch` and `llvm::MIPatternMatch`, the
`llvm::SDPatternMatch` introduced in this patch provides a DSL-alike
framework to match SDValue / SDNode with a more succinct syntax.


  Commit: 07fd5ca3a8bd270b26b21ea28501f5edcb519709
      https://github.com/llvm/llvm-project/commit/07fd5ca3a8bd270b26b21ea28501f5edcb519709
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 5874874c2472


  Commit: 59e5519c81c57a66424d657864ce69cb0efdc7d8
      https://github.com/llvm/llvm-project/commit/59e5519c81c57a66424d657864ce69cb0efdc7d8
  Author: David Goldman <dallasftball at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp

  Log Message:
  -----------
  [clangd] Fix renaming single argument ObjC methods (#82396)

Use the legacy non-ObjC rename logic when dealing with selectors that
have zero or one arguments. In addition, make sure we don't add an extra
`:` during the rename.

Add a few more tests to verify this works (thanks to @ahoppen for the
tests and finding this bug).


  Commit: a64ff9630ccd305a63fca3ea9cc4bc4b49098495
      https://github.com/llvm/llvm-project/commit/a64ff9630ccd305a63fca3ea9cc4bc4b49098495
  Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [llvm-link] Improve missing file error message (#82514)

Add error messages showing the missing filenames.

Currently, we only get 'No such file or directory' without any(!)
further info. This patch will (only upon ENOENT error) iterate over all
requested files and print which ones are actually missing.


  Commit: 6dd6d487d012a9000fe975133b7935c1f8c658eb
      https://github.com/llvm/llvm-project/commit/6dd6d487d012a9000fe975133b7935c1f8c658eb
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [NFC] Make RingBuffer an atomic pointer (#82547)

This will allow us to atomically swap out RingBuffer and StackDepot.

Patched into AOSP and ran debuggerd_tests.


  Commit: a3a316e2875258929f062fbffb81e2a9d5b4ce48
      https://github.com/llvm/llvm-project/commit/a3a316e2875258929f062fbffb81e2a9d5b4ce48
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M libc/src/stdlib/atexit.cpp

  Log Message:
  -----------
  [libc] Remove use of BlockStore for GPU atexit (#82823)

Summary:
The GPU backends have restrictions on the kinds of initializers they can
produce. The use of BlockStore here currently breaks the backends
through the use of recursive initializers. This prevents it from
actually being included in any builds. This patchs changes it to just
use a fixed size of 64 slots .The chances of someone exceeding the 64
slots in practice is very, very low.

However, this is primarily a bandaid solution as a real solution will
need to use a lock free data structure to push work in parallel.
Currently the mutexes on the GPU build do nothing, so they only work if
the user guards the use themselves.


  Commit: 1a2ecbb3980a3005c2027eb5b69bbbe32c9c8294
      https://github.com/llvm/llvm-project/commit/1a2ecbb3980a3005c2027eb5b69bbbe32c9c8294
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M libc/docs/gpu/rpc.rst
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/CMakeLists.txt
    A libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    R libc/utils/gpu/server/rpc_server.h
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc] Remove 'llvm-gpu-none' directory from build (#82816)

Summary:
This directory is leftover from when we handled both AMDGPU and NVPTX in
the same build and merged them into a pseudo triple. Now the only thing
it contains is the RPC server header. This gets rid of it, but now that
it's in the base install directory we should make it clear that it's an
LLVM libc header.


  Commit: b43dd08aa31f37cb9517a80f394631a7d8ff6b90
      https://github.com/llvm/llvm-project/commit/b43dd08aa31f37cb9517a80f394631a7d8ff6b90
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Install a single LLVM-IR version of the GPU library (#82791)

Summary:
Recent patches have allowed us to treat these libraries as direct
builds. This makes it easier to simply build them to a single LLVM-IR
file. This matches the way these files are presented by the ROCm and
CUDA toolchains and makes it easier to work with.


  Commit: 99660082cb387c9bf7974fef558c5f73d8b5a198
      https://github.com/llvm/llvm-project/commit/99660082cb387c9bf7974fef558c5f73d8b5a198
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/gpu-libc-headers.c

  Log Message:
  -----------
  [Clang] Append target search paths for direct offloading compilation (#82699)

Summary:
Recent changes to the `libc` project caused the headers to be installed
to `include/<triple>` for the GPU and the libraries to be in
`lib/<triple>`. This means we should automatically append these search
paths so they can be found by default. This allows the following to work
targeting AMDGPU.

```shell
$ clang foo.c -flto -mcpu=native --target=amdgcn-amd-amdhsa -lc <install>/lib/amdgcn-amd-amdhsa/crt1.o
$ amdhsa-loader a.out
```


  Commit: 1c2456d6593cea317a00627889b5c35766a732e0
      https://github.com/llvm/llvm-project/commit/1c2456d6593cea317a00627889b5c35766a732e0
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    R mlir/include/mlir/ExecutionEngine/SparseTensor/ErrorHandling.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][sparse] remove very thin header file from sparse runtime support (#82820)


  Commit: ae91a427ac8f9fc7368ec052995cec6a6aeb8ea8
      https://github.com/llvm/llvm-project/commit/ae91a427ac8f9fc7368ec052995cec6a6aeb8ea8
  Author: Timothy Herchen <timothy.herchen at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/test/MC/Disassembler/X86/x86-64-err.txt

  Log Message:
  -----------
  [X86][MC] Reject out-of-range control and debug registers encoded with APX (#82584)

Fixes #82557. APX specification states that the high bits found in REX2
used to encode GPRs can also be used to encode control and debug
registers, although all of them will #UD. Therefore, when disassembling
we reject attempts to create control or debug registers with a value of
16 or more.

See page 22 of the
[specification](https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html):

> Note that the R, X and B register identifiers can also address non-GPR
register types, such as vector registers, control registers and debug
registers. When any of them does, the highest-order bits REX2.R4,
REX2.X4 or REX2.B4 are generally ignored, except when the register being
addressed is a control or debug register. [...] The exception is that
REX2.R4 and REX2.R3 [*sic*] are not ignored when the R register
identifier addresses a control or debug register. Furthermore, if any
attempt is made to access a non-existent control register (CR*) or debug
register (DR*) using the REX2 prefix and one of the following
instructions:
“MOV CR*, r64”, “MOV r64, CR*”, “MOV DR*, r64”, “MOV r64, DR*”. #UD is
raised.

The invalid encodings are 64-bit only because `0xd5` is a valid
instruction in 32-bit mode.


  Commit: 99f31bab86c53ed5094f57ff8a05a6ea2c8e0c38
      https://github.com/llvm/llvm-project/commit/99f31bab86c53ed5094f57ff8a05a6ea2c8e0c38
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Semantics/cuf03.cuf

  Log Message:
  -----------
  [flang][cuda] Fix semantic for the CONSTANT attribute (#82821)

Object with the CONSTANT attribute cannot be declared in the host
subprogram.

It can be declared in a module or a device subprogram.

Adapt the semantic check to trigger the error in host subprogram.


  Commit: 5c90527b436d1c7d753c187aff1b45e6c8da1af6
      https://github.com/llvm/llvm-project/commit/5c90527b436d1c7d753c187aff1b45e6c8da1af6
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/definable.cpp
    M flang/test/Semantics/cuf03.cuf

  Log Message:
  -----------
  [flang][cuda] Allow object with SHARED attribute as definable (#82822)

A semantic error was raised in device subprogram like: 

```
attributes(global) subroutine devsubr2()
   real, shared :: rs
   rs = 1
end subroutine
```

Object with the SHARED attribute can be can be read or written by all
threads in the block.


https://docs.nvidia.com/hpc-sdk/archive/24.1/compilers/cuda-fortran-prog-guide/index.html#cfpg-var-qual-attr-shared


  Commit: 47aee8b56d65e2bac5c7128424ff06134e454d83
      https://github.com/llvm/llvm-project/commit/47aee8b56d65e2bac5c7128424ff06134e454d83
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang][OpenMP] Set OpenMP attributes in MLIR module in bbc before lo… (#82774)

…wering

Right now attributes like OpenMP version or target attributes for
offload are set after lowering in bbc. The flang frontend sets them
before lowering, making them available in the lowering process.

This change sets them before lowering in bbc as well.


  Commit: dcf4ca558ce5c323ce9b0af93acc0c832024eb3c
      https://github.com/llvm/llvm-project/commit/dcf4ca558ce5c323ce9b0af93acc0c832024eb3c
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    A mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir

  Log Message:
  -----------
  [OpenMP][MLIR][OMPIRBuilder] Add a small optional constant alloca raise function pass to finalize, utilised in convertTarget (#78818)

This patch seeks to add a mechanism to raise constant (not ConstantExpr
or runtime/dynamic) sized allocations into the entry block for select
functions that have been inserted into a list for processing. This
processing occurs during the finalize call, after OutlinedInfo regions
have completed. This currently has only been utilised for
createOutlinedFunction, which is triggered for TargetOp generation in
the OpenMP MLIR dialect lowering to LLVM-IR.

This currently is required for Target kernels generated by
createOutlinedFunction to avoid subsequent optimization passes doing
some unintentional malformed optimizations for AMD kernels (unsure if it
occurs for other vendors). If the allocas are generated inside of the
kernel and are not in the entry block and are subsequently passed to a
function this can lead to required instructions being erased or
manipulated in a way that causes the kernel to run into a HSA access
error.

This fix is related to a series of problems found in:
https://github.com/llvm/llvm-project/issues/74603

This problem primarily presents itself for Flang's HLFIR AssignOp
currently, when utilised with a scalar temporary constant on the RHS and
a descriptor type on the LHS. It will generate a call to a runtime
function, wrap the RHS temporary in a newly allocated descriptor (an
llvm struct), and pass both the LHS and RHS descriptor into the runtime
function call. This will currently be
embedded into the middle of the target region in the user entry block,
which means the allocas are also embedded in the middle, which seems to
pose
issues when later passes are executed. This issue may present itself in
other HLFIR operations or unrelated operations that generate allocas as
a by product, but for the moment, this one test case is the only
scenario I've found this problem.

Perhaps this is not the appropriate fix, I am very open to other
suggestions, I've tried a few others (at varying levels of the
flang/mlir compiler flow), but this one is the smallest and least
intrusive change set. The other two, that come to mind (but I've not
fully looked into, the former I tried a little with blocks but it had a
few issues I'd need to think through):

- Having a proper alloca only block (or region) generated for TargetOps
that we could merge into the entry block that's generated by
convertTarget's createOutlinedFunction.
- Or diverging a little from Clang's current target generation and using
the CodeExtractor to generate the user code as an outlined function
region invoked from the kernel we make, with our kernel arguments passed
into it. Similar to the current parallel generation. I am not sure how
well this would intermingle with the existing parallel generation though
that's layered in.

Both of these methods seem like quite a divergence from the current
status quo, which I am not entirely sure is merited for the small test
this change aims to fix.


  Commit: 25940956e68ec82d841e5748565e7250580e1d36
      https://github.com/llvm/llvm-project/commit/25940956e68ec82d841e5748565e7250580e1d36
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/ArchSpec.cpp
    A lldb/test/API/macosx/arm64e-attach/Makefile
    A lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
    A lldb/test/API/macosx/arm64e-attach/main.c

  Log Message:
  -----------
  Replace ArchSpec::PiecewiseCompare() with Triple::operator==() (#82804)

Looking ast the definition of both functions this is *almost* an NFC
change, except that Triple also looks at the SubArch (important) and
ObjectFormat (less so).

This fixes a bug that only manifests with how Xcode uses the SBAPI to
attach to a process by name: it guesses the architecture based on the
system. If the system is arm64 and the Process is arm64e Target fails to
update the triple because it deemed the two to be equivalent.

rdar://123338218


  Commit: 69c0b2febe01108f50db6e8ed21cd8b2e6088caf
      https://github.com/llvm/llvm-project/commit/69c0b2febe01108f50db6e8ed21cd8b2e6088caf
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M libc/AOR_v20.02/string/arm/memchr.S
    M libc/CMakeLists.txt
    M libc/benchmarks/automemcpy/README.md
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/exclude.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/contributing.rst
    M libc/docs/date_and_time.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/config_options.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/full_cross_build.rst
    M libc/docs/gpu/motivation.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/gpu/testing.rst
    M libc/docs/gpu/using.rst
    M libc/docs/libc_search.rst
    M libc/docs/math/index.rst
    M libc/docs/math/log.rst
    M libc/docs/porting.rst
    M libc/docs/stdio.rst
    M libc/docs/strings.rst
    M libc/include/fcntl.h.def
    M libc/include/sched.h.def
    M libc/include/spawn.h.def
    M libc/spec/bsd_ext.td
    M libc/spec/gnu_ext.td
    M libc/spec/llvm_libc_ext.td
    M libc/spec/posix.td
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/search/hsearch/CMakeLists.txt
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/wchar/CMakeLists.txt
    M libc/startup/linux/CMakeLists.txt
    M libc/test/integration/scudo/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/fenv/CMakeLists.txt
    M libc/test/src/math/differential_testing/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/utils/UnitTest/CMakeLists.txt
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/gpu/server/CMakeLists.txt
    M libc/utils/mathtools/GenerateHPDConstants.py
    M libc/utils/mathtools/ryu_tablegen.py

  Log Message:
  -----------
  [libc][NFC] Remove all trailing spaces from libc (#82831)

Summary:
There are a lot of random training spaces on various lines. This patch
just got rid of all of them with `sed 's/\ \+$//g'.


  Commit: 87fadb3929163752f650a1fc08d5fb13ee4c1a3f
      https://github.com/llvm/llvm-project/commit/87fadb3929163752f650a1fc08d5fb13ee4c1a3f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb] Correctly annotate threads at a bp site as hitting it (#82709)

This is next in my series of "fix the racey tests that fail on
greendragon" addressing the failure of TestConcurrentManyBreakpoints.py
where we set a breakpoint in a function that 100 threads execute, and we
check that we hit the breakpoint 100 times. But sometimes it is only hit
99 times, and the test fails.

When we hit a software breakpoint, the pc value for the thread is the
address of the breakpoint instruction - as if it had not been hit yet.
And because a user might ADD a breakpoint for the current pc from the
commandline, when we go to resume execution, any thread that is sitting
at a breakpoint site will be silently advanced past the breakpoint
instruction (disable bp, instruction step that thread, re-enable bp)
before resuming -- whether that thread has hit its breakpoint or not.

What this test is exposing is that there is another corner case, a
thread that is sitting at a breakpoint site but has not yet executed the
breakpoint instruction. The thread will have no stop reason, no mach
exception, so it will not be recorded as having hit the breakpoint
(because it hasn't yet). But when we resume execution, because it is
sitting at a breakpoint site, we advance past it and miss the breakpoint
hit.

In 2016 Abhishek Aggarwal handled a similar issue with a patch in
`ProcessGDBRemote::SetThreadStopInfo()`, adding a breakpoint StopInfo
for a thread sitting at a breakpoint site that has no stop reason.
debugserver's `jThreadsInfo` would not correctly execute Abhishek's code
though because it would respond with `"reason":"none"` for a thread with
no stop reason, and `SetThreadStopInfo()` expected an empty reason here.
The first part of my patch is to clear the `reason` if it is `"none"` so
we flow through the code correctly.

On Darwin, though, our stop reply packet (Txx...) includes the
`threads`, `thread-pcs`, and `jstopinfo` keys, which give us the tids
for all current threads, the pc values for those threads, and
`jstopinfo` has a JSON dictionary with the mach exceptions for all
threads that have a mach exception. In
`ProcessGDBRemote::CalculateThreadStopInfo()` we set the StopInfo for
each thread for a private stop and if we have `jstopinfo` it is the
source of all the StopInfos. I have to add the same logic here, to give
the thread a breakpoint StopInfo even though it hasn't executed the
breakpoint yet. In this case we are very early in thread construction
and I only have the information in the Txx stop reply packet -- tids,
pcs, and jstopinfo, so I can't use the normal general mechanisms of
going through the RegisterContext to get the pc, it's a bit different.

If I hack debugserver to not issue `jstopinfo`,
`CalculateThreadStopInfo` will fall back to sending `qThreadStopInfo`
for each thread and going through
`ProcessGDBRemote::SetThreadStopInfo()` to set the stop infos (and with
the `reason:none` fix, use Abhishek's code).

rdar://110549165


  Commit: 3f91bdfdd50aa4eaf1d3e49cf797220cfeccaf16
      https://github.com/llvm/llvm-project/commit/3f91bdfdd50aa4eaf1d3e49cf797220cfeccaf16
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/ArchSpec.cpp
    R lldb/test/API/macosx/arm64e-attach/Makefile
    R lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
    R lldb/test/API/macosx/arm64e-attach/main.c

  Log Message:
  -----------
  Revert "Replace ArchSpec::PiecewiseCompare() with Triple::operator==()"

This reverts commit 5e6bed8c0ea2f7fe380127763c8f753adae0fc1b while investigating the bots.


  Commit: 775bd60363353b78657967c80f0f109cdb65cf8f
      https://github.com/llvm/llvm-project/commit/775bd60363353b78657967c80f0f109cdb65cf8f
  Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    A llvm/test/CodeGen/RISCV/cm_mvas_mvsa.mir

  Log Message:
  -----------
  [RISCV] Add scheduling info for Zcmp (#82719)

The order of the entries in the list is:

outs, ins, Defs, Uses, implicit-defs, implicit uses, where the last two
are added programatically during codegen depending on the registers
saved/restored and are not described in the TD files.


  Commit: 10c48a772742b7afe665a815b7eba2047f17dc4b
      https://github.com/llvm/llvm-project/commit/10c48a772742b7afe665a815b7eba2047f17dc4b
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/tools/llvm-shlib/CMakeLists.txt

  Log Message:
  -----------
  [llvm-shlib] Change libLLVM-$MAJOR.so symlink to point to versioned SO (#82660)

This symlink was added in 91a384621e5b762d9c173ffd247cfeadd5f436a2 to
maintain backwards compatibility, but it needs to point to
libLLVM.so.$MAJOR.$MINOR rather than libLLVM.so. This works better for
distros that ship libLLVM.so and libLLVM.so.$MAJOR.$MINOR in separate
packages and also prevents mistakes like
libLLVM-19.so -> libLLVM.so -> libLLVM.so.18.1

Fixes #82647


  Commit: c862e612068c9c33995a2e2d289ced44b8eba810
      https://github.com/llvm/llvm-project/commit/c862e612068c9c33995a2e2d289ced44b8eba810
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  Revert "[RemoveDIs] Enable DPLabels conversion [3b/3] (#82639)"

This reverts commit 71d47a0b00e9f48dc740556d7f452ffadf308731 because
it causes clang to crash in some cases. See repro posted at
https://github.com/llvm/llvm-project/commit/71d47a0b00e9f48dc740556d7f452ffadf308731


  Commit: 8f2bd8ae68883592a333f4bdbed9798d66e68630
      https://github.com/llvm/llvm-project/commit/8f2bd8ae68883592a333f4bdbed9798d66e68630
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir

  Log Message:
  -----------
  [AMDGPU] Introduce iglp_opt(2): Generalized exp/mfma interleaving for select kernels (#81342)

This implements the basic pipelining structure of exp/mfma interleaving
for better extensibility. While it does have improved extensibility,
there are controls which only enable it for DAGs with certain
characteristics (matching the DAGs it has been designed against).


  Commit: d42de86eb37b08b3007a67650b3ca73b9ae174b1
      https://github.com/llvm/llvm-project/commit/d42de86eb37b08b3007a67650b3ca73b9ae174b1
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  reland: [clang][ScanDeps] Canonicalize -D and -U flags (#82568)

Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.

This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.

Previous version of this had issues with sed differences between macOS,
Linux, and Windows. This test doesn't check paths, so just don't run
sed.
Other tests should use `sed -E 's:\\\\?:/:g'` to get portable behavior.

Windows has different command line parsing behavior than Linux for
compilation databases, so the test has been adjusted to ignore that
difference.


  Commit: de3b2c293b8bf336f8e1380148cf16b54a794c0c
      https://github.com/llvm/llvm-project/commit/de3b2c293b8bf336f8e1380148cf16b54a794c0c
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/ClangScanDeps/optimize-vfs-pch.m
    M llvm/include/llvm/ADT/StringSet.h

  Log Message:
  -----------
  [clang][ScanDeps] Allow PCHs to have different VFS overlays (#82294)

It turns out it's not that uncommon for real code to pass a different
set of VFSs while building a PCH than while using the PCH. This can
cause problems as seen in `test/ClangScanDeps/optimize-vfs-pch.m`. If
you scan `compile-commands-tu-no-vfs-error.json` without -Werror and run
the resulting commands, Clang will emit a fatal error while trying to
emit a note saying that it can't find a remapped header.

This also adds textual tracking of VFSs for prebuilt modules that are
part of an included PCH, as the same issue can occur in a module we are
building if we drop VFSs. This has to be textual because we have no
guarantee the PCH had the same list of VFSs as the current TU.

This uses the `PrebuiltModuleListener` to collect `VFSOverlayFiles`
instead of trying to extract it out of a `serialization::ModuleFile`
each time it's needed. There's not a great way to just store a pointer
to the list of strings in the serialized AST.


  Commit: bfcf7a0707592ccc7fd9e805aeb36c4da3f315a6
      https://github.com/llvm/llvm-project/commit/bfcf7a0707592ccc7fd9e805aeb36c4da3f315a6
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove `hasAtomicFaddRtnForTy` as it is not used anywhere (#82841)


  Commit: 31ab2c4f616d686c06e9b573c8f1a4ae7ad2d8c3
      https://github.com/llvm/llvm-project/commit/31ab2c4f616d686c06e9b573c8f1a4ae7ad2d8c3
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/namelist01.f90

  Log Message:
  -----------
  [flang] Ensure USE-associated objects can be in NAMELIST (#82846)

The name resolution for NAMELIST objects didn't allow for symbols that
are not ObjectEntityDetails symbols.

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


  Commit: b0d2a52c87b36afab4734e1810fb9266aec1128f
      https://github.com/llvm/llvm-project/commit/b0d2a52c87b36afab4734e1810fb9266aec1128f
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Enable RemoveSemicolon for clang-format style (#82735)

Also insert separators for decimal integers longer than 4 digits.


  Commit: 330af6ed6194ca5365bc576517c247f545aee1f4
      https://github.com/llvm/llvm-project/commit/330af6ed6194ca5365bc576517c247f545aee1f4
  Author: MalaySanghiIntel <148750629+MalaySanghiIntel at users.noreply.github.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

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

  Log Message:
  -----------
  Convert argument to reference. (#82741)

Avoid copy of large object


  Commit: 96abee5eef31274415681018553e1d4a16dc16c9
      https://github.com/llvm/llvm-project/commit/96abee5eef31274415681018553e1d4a16dc16c9
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M lld/test/ELF/mips-pc-relocs.s
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    A llvm/test/CodeGen/Mips/llvm-ir/forbidden-slot-ir.ll
    A llvm/test/MC/Mips/forbidden-slot.s
    M llvm/test/MC/Mips/mips32r6/relocations.s
    M llvm/test/MC/Mips/mips64r6/relocations.s
    M llvm/test/MC/Mips/relocation.s

  Log Message:
  -----------
  [Mips] Fix unable to handle inline assembly ends with compat-branch o… (#77291)

…n MIPS

Modify:
Add a global variable 'CurForbiddenSlotAttr' to save current
instruction's forbidden slot and whether set reorder. This is the
judgment condition for whether to add nop. We would add a couple of
'.set noreorder' and '.set reorder' to wrap the current instruction and
the next instruction.
Then we can get previous instruction`s forbidden slot attribute and
whether set reorder by 'CurForbiddenSlotAttr'.
If previous instruction has forbidden slot and .set reorder is active
and current instruction is CTI. Then emit a NOP after it.

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

Because https://reviews.llvm.org/D158589 was 'Needs Review' state, not
ending, so we commit pull request again.


  Commit: 91d5653e3ae9742f7fb847f809b534ee128501b0
      https://github.com/llvm/llvm-project/commit/91d5653e3ae9742f7fb847f809b534ee128501b0
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td
    M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
    M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Async/IR/Async.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp

  Log Message:
  -----------
  [mlir] Use `OpBuilder::createBlock` in op builders and patterns (#82770)

When creating a new block in (conversion) rewrite patterns,
`OpBuilder::createBlock` must be used. Otherwise, no
`notifyBlockInserted` notification is sent to the listener.

Note: The dialect conversion relies on listener notifications to keep
track of IR modifications. Creating blocks without the builder API can
lead to memory leaks during rollback.


  Commit: 60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e
      https://github.com/llvm/llvm-project/commit/60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/README.md

  Log Message:
  -----------
  [llvm-exegesis] Fix typos in README


  Commit: 00c0638b5613912a7d1b65c8789bbb8ad1003115
      https://github.com/llvm/llvm-project/commit/00c0638b5613912a7d1b65c8789bbb8ad1003115
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    A llvm/test/CodeGen/AArch64/arm64-fpenv.ll
    M llvm/test/CodeGen/AArch64/preserve.ll

  Log Message:
  -----------
  [AArch64] Intrinsics aarch64_{get,set}_fpsr (#81867)

Two new intrinsics are introduced to read/write FPSR. They are similar
to the existing intrinsics aarch64_{get,set}_fpcr.


  Commit: 1901f442ca6374787e6810adb573d138f80893dd
      https://github.com/llvm/llvm-project/commit/1901f442ca6374787e6810adb573d138f80893dd
  Author: Artem Tyurin <artem.tyurin at gmail.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/math-odd-even-parity.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp

  Log Message:
  -----------
  [InstCombine] Handle more even/odd math functions (#81324)

At the moment this PR adds support only for `erf` function.

Fixes #77220.


  Commit: d877ab1b99496feb48db1158963abd130e2aee5c
      https://github.com/llvm/llvm-project/commit/d877ab1b99496feb48db1158963abd130e2aee5c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h

  Log Message:
  -----------
  MachineInstr - update TargetRegisterInfo arguments comments. NFC.

"TargetRegisterInfo is passed" -> "TargetRegisterInfo is non-null" - matches the term in the rest of the header.


  Commit: cf9201cfdbc10f4606fc4ca22bf1ccaf5ee841b3
      https://github.com/llvm/llvm-project/commit/cf9201cfdbc10f4606fc4ca22bf1ccaf5ee841b3
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Object/Archive.h
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    A llvm/test/tools/llvm-ar/coff-symtab.test
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  [llvm-ar] Use COFF archive format for COFF targets. (#82642)

Detect COFF files by default and allow specifying it with --format
argument.

This is important for ARM64EC, which uses a separated symbol map for EC
symbols. Since K_COFF is mostly compatible with K_GNU, this shouldn't
really make a difference for other targets.


  Commit: 8a5aa103c52265337b43330e55e05567046f3ede
      https://github.com/llvm/llvm-project/commit/8a5aa103c52265337b43330e55e05567046f3ede
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Object/Archive.h
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    R llvm/test/tools/llvm-ar/coff-symtab.test
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  Revert "[llvm-ar] Use COFF archive format for COFF targets." (#82889)

Reverts llvm/llvm-project#82642 for
lld/test/ELF/invalid/Output/data-encoding.test.tmp.a failures on
Windows.


  Commit: 8e22fffc85b36784146041499b716cec74285660
      https://github.com/llvm/llvm-project/commit/8e22fffc85b36784146041499b716cec74285660
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M clang/docs/HLSL/ExpectedDifferences.rst

  Log Message:
  -----------
  [clang] Remove trailing whitespace

Fix commit 66f6929fec3ae


  Commit: 1e98d4883d78ac2c65b87e24694e8b2f1dc9f02d
      https://github.com/llvm/llvm-project/commit/1e98d4883d78ac2c65b87e24694e8b2f1dc9f02d
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Passes.h
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp

  Log Message:
  -----------
  [mlir][linalg] NFC: Use tablegen macro for pass constructors (#82892)

This uses the tablegen macros for generating pass constructors, exposing
pass options for fold-unit-extent-dims and linalg-detensorize.

Additionally aligns some of the pass namings to their text counterpart.
This includes an API change:

createLinalgGeneralizationPass -> createLinalgGeneralizeNamedOpsPass


  Commit: 7b9504fc012e8b96c2bca9d641e16f719696d723
      https://github.com/llvm/llvm-project/commit/7b9504fc012e8b96c2bca9d641e16f719696d723
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll

  Log Message:
  -----------
  test: Refine InstrProfiling/mcdc.ll


  Commit: cc53707a5c104eb7789829ecdb2e3ae2be1a42da
      https://github.com/llvm/llvm-project/commit/cc53707a5c104eb7789829ecdb2e3ae2be1a42da
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M clang/test/Profile/c-mcdc-class.cpp
    M clang/test/Profile/c-mcdc-logicalop-ternary.c
    M clang/test/Profile/c-mcdc-nested-ternary.c
    M clang/test/Profile/c-mcdc-not.c
    M clang/test/Profile/c-mcdc.c
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll

  Log Message:
  -----------
  LLVMInstrumentation: Simplify mcdc.tvbitmap.update with GEP.


  Commit: a4096eaeb63e7086a2e0a32bd69523c1fa72db3e
      https://github.com/llvm/llvm-project/commit/a4096eaeb63e7086a2e0a32bd69523c1fa72db3e
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp

  Log Message:
  -----------
  [AArch64] Add FPSR to reserved registers (#82907)

This is follow-up of #81867. FPSR was not added to reserved registers,
this resulted in machine verifier fails.


  Commit: a8c3b3e20db01d2947dbe87d0c557150ed777865
      https://github.com/llvm/llvm-project/commit/a8c3b3e20db01d2947dbe87d0c557150ed777865
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfData.inc

  Log Message:
  -----------
  [nfc][compiler-rt]Replace Type::getInt8PtrTy with PointerType::getUnqual as a clean-up (#82434)

This is a follow up of
https://github.com/llvm/llvm-project/commit/7b9d73c2f90c0ed8497339a16fc39785349d9610
and
https://github.com/llvm/llvm-project/commit/5ef9ba74120dcc2da70ec25571d459f81ab8a705
* The definition of `Type::getInt8PtrTy` is deleted. This doesn't cause
a compile error because the `Initializer` part of the macro doesn't run.


  Commit: 3b27cc2ceec265d751c909c431ed62c0d7ed9b51
      https://github.com/llvm/llvm-project/commit/3b27cc2ceec265d751c909c431ed62c0d7ed9b51
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/test/tools/llvm-cov/Inputs/mcdc-const.o
    M llvm/test/tools/llvm-cov/Inputs/mcdc-general.o
    M llvm/test/tools/llvm-cov/Inputs/mcdc-macro.o
    M llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
    M llvm/test/tools/llvm-cov/mcdc-macro.test
    M llvm/test/tools/llvm-cov/mcdc-maxbs.test

  Log Message:
  -----------
  Regenerate llvm-cov tests


  Commit: 1f6a347c8abf8868fb4630c404480226c2efc2c2
      https://github.com/llvm/llvm-project/commit/1f6a347c8abf8868fb4630c404480226c2efc2c2
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/MCDCState.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  Refactor: Let MCDC::State have DecisionByStmt and BranchByStmt

- Prune `RegionMCDCBitmapMap` and `RegionCondIDMap`. They are handled
  by `MCDCState`.
- Rename `s/BitmapMap/DecisionByStmt/`. It can handle Decision stuff.
- Rename `s/CondIDMap/BranchByStmt/`. It can be handle Branch stuff.
- `MCDCRecordProcessor`: Use `DecisionParams.BitmapIdx` directly.


  Commit: 12d29cd171fdf20ab8a516998ad6be0d24a9c050
      https://github.com/llvm/llvm-project/commit/12d29cd171fdf20ab8a516998ad6be0d24a9c050
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

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

  Log Message:
  -----------
  test overflow intrinsics


  Commit: 85da9f80b89be7b96bc1b22909062286fab9dc31
      https://github.com/llvm/llvm-project/commit/85da9f80b89be7b96bc1b22909062286fab9dc31
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

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

  Log Message:
  -----------
  [VPlan] Remove unused VPTransformState::VPValue2Value (NFCI).

Clean up unused member variable.


  Commit: 4bf06c16fcddcfcea332069bdde5cbf1401513cf
      https://github.com/llvm/llvm-project/commit/4bf06c16fcddcfcea332069bdde5cbf1401513cf
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp

  Log Message:
  -----------
  Initialize unsigned integer when declared (#81894)

Initialize ModOpcode directly before the loop execution to silence
static analyzer warnings about the usage of an uninitialized variable.

This leads to a redundant assignment of ElV2F16 inside the first loop
execution, but also avoids superfluous emptiness checks of EltsV2F16
after the first execution of the loop.


  Commit: fe42e72db29e48aa81eac2aa922afd90a7f01517
      https://github.com/llvm/llvm-project/commit/fe42e72db29e48aa81eac2aa922afd90a7f01517
  Author: Rishabh Bali <rishabhsbali at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/AtomicExpand.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/ARC/ARCTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/M68k/M68kTargetMachine.cpp
    M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Target/VE/VETargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-nand.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-simplify-cfg-CAS-block.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v7.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v8.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
    M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/LoongArch/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/cfence-double.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/cfence-float.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/cmpxchg.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/issue55983.ll
    M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-initial-load.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  [CodeGen] Port AtomicExpand to new Pass Manager (#71220)

Port the `atomicexpand` pass to the new Pass Manager. 
Fixes #64559


  Commit: 711014714716753f791291ed6a152e00899469a3
      https://github.com/llvm/llvm-project/commit/711014714716753f791291ed6a152e00899469a3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/tbaa-struct.cpp

  Log Message:
  -----------
  [TBAA] Test for tbaa.struct creation for struct with named bitfields.

Add test for tbaa.struct metadata creation for copies of a struct with
named bitfields.

Test for https://github.com/llvm/llvm-project/issues/82586.


  Commit: f920b746ea818f1d21f317116cbb105e3e85979a
      https://github.com/llvm/llvm-project/commit/f920b746ea818f1d21f317116cbb105e3e85979a
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/FlattenCFG.cpp
    M llvm/test/Transforms/Util/flatten-cfg.ll

  Log Message:
  -----------
  [FlattenCFG] Fix the miscompilation where phi nodes exist in the merge point (#81987)

When there are phi nodes in the merge point of the if-region, we cannot
do the merge.
Alive2: https://alive2.llvm.org/ce/z/DbgEan
Fixes #70900.


  Commit: 9e7c0b1385baa1acffb62e0589ff100dd972cc0d
      https://github.com/llvm/llvm-project/commit/9e7c0b1385baa1acffb62e0589ff100dd972cc0d
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M openmp/runtime/cmake/LibompHandleFlags.cmake
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP] Implement __kmp_is_address_mapped on DragonFlyBSD. (#82895)

implement internal __kmp_is_address_mapped.


  Commit: 8eb6757564ccea8f9fc3bb75480f1c1d1784415a
      https://github.com/llvm/llvm-project/commit/8eb6757564ccea8f9fc3bb75480f1c1d1784415a
  Author: Dani <daniel.kiss at arm.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp

  Log Message:
  -----------
  [NFC] Turn the StrictFP attribute check to a CompatRule. (#82600)


  Commit: 2c5a68858b046c8a2ca3ba07ecd82771a5a9b884
      https://github.com/llvm/llvm-project/commit/2c5a68858b046c8a2ca3ba07ecd82771a5a9b884
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll

  Log Message:
  -----------
  Fix non-splat vector SREM expansion when one of the divisors is a power of two. (#82706)

The expansion previously used, derived from Hacker's Delight,
does not work correctly when the dividend is INT_MIN and the
divisor is a power of two. We now use an alternate derivation
of the A and Q constants specifically for the power-of-two divisor
case to avoid this problem. Credit to Fabian Giesen for the
new derivation.

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


  Commit: d6ded91121fa02837ef6c8c7f06d98ccf4a0fe16
      https://github.com/llvm/llvm-project/commit/d6ded91121fa02837ef6c8c7f06d98ccf4a0fe16
  Author: David Green <david.green at arm.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp

  Log Message:
  -----------
  [Codegen] Change getSpillSize/getReloadSize to LocationSize. NFC (#82636)

This is a small part of #70452, attempting to take a small simpler part
of it in isolation to simplify what remains. It changes the getSpillSize,
getFoldedSpillSize, getRestoreSize and getFoldedRestoreSize methods to return
optional<LocationSize> instead of unsigned. The code is intended to be the
same, keeping the optional<> to specify when there was no size found, with some
minor adjustments to make sure that unknown (~UINT64_C(0)) sizes are handled
sensibly.  Hopefully as more unsigned's are converted to LocationSize's the use
of ~UINT64_C(0) can be cleaned up too.


  Commit: 411c5dde59fa4c427941143ca0ec8cd8fdaee407
      https://github.com/llvm/llvm-project/commit/411c5dde59fa4c427941143ca0ec8cd8fdaee407
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Handle null function pointers

We were instead asserting that they are non-null before.


  Commit: 8dfc023e80c35aded33b3e5e4739d3a487b95a7a
      https://github.com/llvm/llvm-project/commit/8dfc023e80c35aded33b3e5e4739d3a487b95a7a
  Author: Alexander Scholz <duddel at users.noreply.github.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [run-clang-tidy.py] Add option to ignore source files from compilation database (#82416)

I added the option -source-filter to the
`run-clang-tidy.py` script in the clang-tools-extra.

This option allows for handing over a regex, to filter out source files
from the compilation database (not run `clang-tidy` on them).


  Commit: cb4f94db83d9c4373b485493ef079e318f63bf13
      https://github.com/llvm/llvm-project/commit/cb4f94db83d9c4373b485493ef079e318f63bf13
  Author: SingleAccretion <62474226+SingleAccretion at users.noreply.github.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M lld/docs/WebAssembly.rst
    M lld/test/wasm/data-layout.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/Options.td
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Add `--no-growable-memory` (#82890)

We recently added `--initial-heap` - an option that allows one to up the
initial memory size without the burden of having to know exactly how
much is needed.

However, in the process of implementing support for this in Emscripten
(https://github.com/emscripten-core/emscripten/pull/21071), we have
realized that `--initial-heap` cannot support the use-case of
non-growable memories by itself, since with it we don't know what to set
`--max-memory` to.

We have thus agreed to move the above work forward by introducing
another option to the linker (see
https://github.com/emscripten-core/emscripten/pull/21071#discussion_r1491755616),
one that would allow users to explicitly specify they want a
non-growable memory.

This change does this by introducing `--no-growable-memory`: an option
that is mutally exclusive with `--max-memory` (for simplicity - we can
also decide that it should override or be overridable by `--max-memory`.
In Emscripten a similar mix of options results in `--no-growable-memory`
taking precedence). The option specifies that the maximum memory size
should be set to the initial memory size, effectively disallowing memory
growth.

Closes #81932.


  Commit: d99b1481770e4f8454c7f238dcd40c8e977e6b70
      https://github.com/llvm/llvm-project/commit/d99b1481770e4f8454c7f238dcd40c8e977e6b70
  Author: FruitClover <m.kashkarov at samsung.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/DirectiveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Fix __CLAUSE_NO_CLASS macro leak in directive emitter (#82912)

`__CLAUSE_NO_CLASS` was not undefined inside the
`GEN_CLANG_CLAUSE_CLASS` block, resulting in macro redifinition warnings
when several generated directives are used simultaneously.


  Commit: ac9e67756e0157793d565c2cceaf82e4403f58ba
      https://github.com/llvm/llvm-project/commit/ac9e67756e0157793d565c2cceaf82e4403f58ba
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [ValueTracking][NFC] Early exit when enumerating guaranteed well-defined/non-poison operands. (#82812)

According to the [coverage
result](https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/home/dtcxzyw/llvm-project/llvm/lib/Analysis/ValueTracking.cpp.html#L7193)
on my benchmark, `llvm::mustTriggerUB` returns true with an average of
35.0M/12.3M=2.85 matches. I think we can stop enumerating when one of
the matches succeeds to avoid filling the temporary buffer
`NonPoisonOps`.

This patch introduces two template functions
`handleGuaranteedWellDefinedOps/handleGuaranteedNonPoisonOps`. They will
pass well-defined/non-poison operands to inlinable callbacks `Handle`.
If the callback returns true, stop processing and return true.
Otherwise, return false.

Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=13acb3af5ad48e850cf37dcf02270ede3f267bd4&to=2b55f513c1b6dd2732cb79a25f3eaf6c5e4d6619&stat=instructions:u

|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|-0.03%|-0.04%|-0.06%|-0.03%|-0.05%|+0.03%|-0.02%|


  Commit: eca0bd171e6ab0f1c60e3950f5fa5fa1eaf1fa32
      https://github.com/llvm/llvm-project/commit/eca0bd171e6ab0f1c60e3950f5fa5fa1eaf1fa32
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

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

  Log Message:
  -----------
  [ValueTracking] Add tests for tracking `(and/or cond0, cond1)` on both sides of branch; NFC


  Commit: 6f9b0a7095cbb7781e1f387f99d5725c950ce79b
      https://github.com/llvm/llvm-project/commit/6f9b0a7095cbb7781e1f387f99d5725c950ce79b
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

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

  Log Message:
  -----------
  [ValueTracking] Compute knownbits for `(and/or cond0, cond1)` on both sides of branch

The false branch for `and` and true branch for `or` provide less
information (intersection as opposed to union), but still can give
some useful information.

Closes #82818


  Commit: 641d160ad236fb7a472a9eedbda2d62541e7dd0c
      https://github.com/llvm/llvm-project/commit/641d160ad236fb7a472a9eedbda2d62541e7dd0c
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/select_meta.ll

  Log Message:
  -----------
  [InstCombine] Fold umax(smax)/smin(umin) with non-negative constants (#82929)

This patch extends `reassociateMinMaxWithConstants` to fold the
following patterns:
```
umax (smax X, nneg C0), nneg C1 --> smax X, (umax C0, C1)
smin (umin X, nneg C0), nneg C1 --> umin X, (smin/umin C0, C1)
```
Alive2: https://alive2.llvm.org/ce/z/wfEj-e

Address the comment
https://github.com/llvm/llvm-project/pull/82472#pullrequestreview-1896922897.


  Commit: 529b5705db2ccefeee2c9b8cb5144e1f5a6420de
      https://github.com/llvm/llvm-project/commit/529b5705db2ccefeee2c9b8cb5144e1f5a6420de
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] simplifying ::ReExec for freebsd. (#79711)" (#82933)

This reverts commit 691b12a2dcc12fa43517d23f2a9b6039616eebc8.


  Commit: 085f9b0d146fc99bbb0e193593aad696fc50a056
      https://github.com/llvm/llvm-project/commit/085f9b0d146fc99bbb0e193593aad696fc50a056
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][doc] Update documentation for RemoveSemicolon


  Commit: da092e8808319b572fa9fea7eb74e55e7434a8b2
      https://github.com/llvm/llvm-project/commit/da092e8808319b572fa9fea7eb74e55e7434a8b2
  Author: Matteo Franciolini <mfranciolini at tesla.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp

  Log Message:
  -----------
  Fix bytecode roundtrip of unregistered ops (#82932)

When roundtripping to bytecode an unregistered operation name that does
not contain any '.' separator, the bytecode writer will emit an op
encoding without a proper opName. In this case, the string just becomes
a possibly unknown dialect name. At parsing, this dialect name is
used as a proper operation name.

However, when the unregistered operation name coincidentally matches
that of a dialect, the parser would fail. That means we can't roundtrip
an unregistered op with a name that matches one of the registered
dialect names. For example,

```
"index"() : () -> ()
```

can be emitted but cannot be parsed, because its name is coincidentally
the same as that of the Index dialect. The patch removes such
inconsistency.

This patch specifically fixes the bytecode roundtrip of
`mlir/test/IR/parser.mlir`.


  Commit: bc6b5be6a298ab094d1bb41f393ca422feddd298
      https://github.com/llvm/llvm-project/commit/bc6b5be6a298ab094d1bb41f393ca422feddd298
  Author: Matteo Franciolini <mfranciolini at tesla.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp

  Log Message:
  -----------
  Fix TestI64ElementsAttr printer (#82931)

This enables to correctly roundtrip the attribute to text or bytecode.


  Commit: 1d5e3b2d6559a853c544099e4cf1d46f44f83368
      https://github.com/llvm/llvm-project/commit/1d5e3b2d6559a853c544099e4cf1d46f44f83368
  Author: tw-ilson <63574793+tw-ilson at users.noreply.github.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/AtomicOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/IntegerDotProductOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.h

  Log Message:
  -----------
  [mlir][spirv] Use ODS generated attribute names for op definitions (#81552)

Since ODS generates getters functions for SPIRV operations' attribute
names, we replace instances of these hardcoded strings in the SPIR-V
dialect's op parser/printer with function calls for consistency.

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

---------

Co-authored-by: Lei Zhang <antiagainst at gmail.com>


  Commit: 44b096682791518a36a4b59bd0f3538b1aa0f666
      https://github.com/llvm/llvm-project/commit/44b096682791518a36a4b59bd0f3538b1aa0f666
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-use-override in SerializeROCDLTarget.cpp (NFC)


  Commit: 97678078442adbd6c12cc54f7a36152f8873afb4
      https://github.com/llvm/llvm-project/commit/97678078442adbd6c12cc54f7a36152f8873afb4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-container-size-empty in SerializeROCDLTarget.cpp (NFC)


  Commit: b1d1f5786fc24fa538b064e7b27f07a1765fce35
      https://github.com/llvm/llvm-project/commit/b1d1f5786fc24fa538b064e7b27f07a1765fce35
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-use-override in SerializeToLLVMBitcode.cpp (NFC)


  Commit: c67a4ae47c86f1f390db7ba0ea9c021abff130f8
      https://github.com/llvm/llvm-project/commit/c67a4ae47c86f1f390db7ba0ea9c021abff130f8
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-container-size-empty in SerializeToLLVMBitcode.cpp (NFC)


  Commit: 0f02431273faa2cd001c59fd5de767659bc0c976
      https://github.com/llvm/llvm-project/commit/0f02431273faa2cd001c59fd5de767659bc0c976
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    A llvm/test/Transforms/InstCombine/sub-xor-cmp.ll

  Log Message:
  -----------
  [InstCombine] Fold (sub (xor X, (sext C)), (sext C)) => (select C (neg X), X) (#79417)

This is useful when computing absdiff.

Correctness prove: https://alive2.llvm.org/ce/z/eMbxps,
https://alive2.llvm.org/ce/z/SNCWJe.

---------

Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>


  Commit: 8be39b3901e3326ceebeaf0381f8cc57fdc0d464
      https://github.com/llvm/llvm-project/commit/8be39b3901e3326ceebeaf0381f8cc57fdc0d464
  Author: hev <wangrui at loongson.cn>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll

  Log Message:
  -----------
  [LoongArch] Improve pattern matching for AddLike predicate (#82767)

This commit updates the pattern matching logic for the `AddLike`
predicate in `LoongArchInstrInfo.td` to use the
`isBaseWithConstantOffset` function provided by `CurDAG`. This
optimization aims to improve the efficiency of pattern matching by
identifying cases where the operation can be represented as a base
address plus a constant offset, which can lead to more efficient code
generation.


  Commit: c087bebb02ef35021547c6ddf0a3fdf1cbc8ad17
      https://github.com/llvm/llvm-project/commit/c087bebb02ef35021547c6ddf0a3fdf1cbc8ad17
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  Introduce mcdc::TVIdxBuilder (LLVM side, NFC) (#80676)

This is a preparation of incoming Clang changes (#82448) and just checks
`TVIdx` is calculated correctly. NFC.

`TVIdxBuilder` calculates deterministic Indices for each Condition Node.
It is used for `clang` to emit `TestVector` indices (aka ID) and for
`llvm-cov` to reconstruct `TestVectors`.

This includes the unittest `CoverageMappingTest.TVIdxBuilder`.

See also
https://discourse.llvm.org/t/rfc-coverage-new-algorithm-and-file-format-for-mc-dc/76798


  Commit: ce4da0c4ee6e414ddb771d45b68bc7e31b12970e
      https://github.com/llvm/llvm-project/commit/ce4da0c4ee6e414ddb771d45b68bc7e31b12970e
  Author: Matteo Franciolini <mfranciolini at tesla.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp

  Log Message:
  -----------
  Enables textual IR roundtripping through `--verifyRoundtrip` (#82946)

The patch enables roundtrip to textual file when running
`--verifyRoundtrip`. The verification is successful if both textual and
bytecode formats can roundtrip successfully.


  Commit: e5332482c6009699d7b66393617a389d8ae62710
      https://github.com/llvm/llvm-project/commit/e5332482c6009699d7b66393617a389d8ae62710
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Target/SPIRV/decorations.mlir
    M mlir/test/Target/SPIRV/function-decorations.mlir
    M mlir/test/Target/SPIRV/global-variable.mlir

  Log Message:
  -----------
  [MLIR][Spirv] Use StringAttr for linkage_name (NFC) (#82953)

std::string was used here, likely by mistake. The usual convention for
attributes is to use StringAttr.


  Commit: f75c6ed93e785c09884a317ce2bfd440e7f8f573
      https://github.com/llvm/llvm-project/commit/f75c6ed93e785c09884a317ce2bfd440e7f8f573
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenHwModes.h
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Efficiency improvements for encoding HwMode collection. (#82902)

Currently the DecoderEmitter spends a fair amount of cycles performing
repeated linear walks over the entire instruction list. This patch
eliminates one such walk during HwMode collection for EncodingInfos.

The eliminated traversal visits every instruction and then every
EncodingInfos entry for that instruction merely to collect all
referenced HwModes. That information already happens to be present in
the HwModeSelects created during the one-time construction of
CodeGenHwModes. We instead traverse the HwModeSelects, collecting each
one referenced as an encoding select. This set is a small constant in
size and does not generally grow with the size of the instruction set.


  Commit: 8c5e9cf737138aba22a4a8f64ef2c5efc80dd7f9
      https://github.com/llvm/llvm-project/commit/8c5e9cf737138aba22a4a8f64ef2c5efc80dd7f9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    A clang/lib/AST/Interp/InterpShared.cpp
    A clang/lib/AST/Interp/InterpShared.h
    M clang/lib/AST/Interp/Opcodes.td
    A clang/test/AST/Interp/nullable.cpp
    M clang/test/Sema/attr-nonnull.c
    M clang/test/SemaCXX/attr-nonnull.cpp

  Log Message:
  -----------
  [clang][Interp] Implement nullability argument checking

Implement constexpr checking for null pointers being passed to
arguments annotated as nonnull.


  Commit: 16d0592dda89495afdbefa5c57eb006559a59465
      https://github.com/llvm/llvm-project/commit/16d0592dda89495afdbefa5c57eb006559a59465
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-25 (Sun, 25 Feb 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Remove exegesis prefix in exegesis namespace (#82871)

This patch removes the exegesis:: prefix within the exegesis namespace
in llvm-exegesis.cpp as it isn't necessary due to the code already being
wrapped in the namespace.


  Commit: cace477c0b6c3d9494ead66eb725c6e72f27b767
      https://github.com/llvm/llvm-project/commit/cace477c0b6c3d9494ead66eb725c6e72f27b767
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/print-multi-selection-flags.c

  Log Message:
  -----------
  [clang][AArch64] multilib: fix deduction of "-march=" option (#81474)

The deduced "-march=" option always started with aarch64, which is not a
valid value. There was also no way to distinguish between armv8-r and
armv8-a. After this commit, the deduced "-march=" option will start with
greatest available "armv*-a" value or "armv8-r".


  Commit: 0c7a605ada6cb392e6e8c16dbccf2b7e59017399
      https://github.com/llvm/llvm-project/commit/0c7a605ada6cb392e6e8c16dbccf2b7e59017399
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  clangCodeGen: [MC/DC] Refactor CoverageGen.

- Introduce `createDecision(E)` for the root node of `VisitBin`.
- Handle `mcdc::DecisionParameters` for each Decision method.


  Commit: 892b4beeac50920e630f10905b2916295e2eb6d8
      https://github.com/llvm/llvm-project/commit/892b4beeac50920e630f10905b2916295e2eb6d8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    A llvm/test/Transforms/GVN/pr82884.ll

  Log Message:
  -----------
  [GVN] Drop nsw/nuw flags when replacing the result of a with.overflow intrinsic with a overflowing binary operator (#82935)

Alive2: https://alive2.llvm.org/ce/z/gyL7mn
Fixes https://github.com/llvm/llvm-project/issues/82884.


  Commit: 15426017bda54fb8d9a62cb887edae754e8b7733
      https://github.com/llvm/llvm-project/commit/15426017bda54fb8d9a62cb887edae754e8b7733
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/complex.cpp

  Log Message:
  -----------
  [clang][Interp] Handle non-complex operands in complex bin ops

Either LHS or RHS might be non-complex, but not both.


  Commit: 4216a300e324d58bb6f0efcc8b2490e6c6983ae8
      https://github.com/llvm/llvm-project/commit/4216a300e324d58bb6f0efcc8b2490e6c6983ae8
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Use sub to construct RVV registers without V0 (#82962)

This reduces some lines.


  Commit: e510fc77539022c195cc83b5dceb1c0b493dafcb
      https://github.com/llvm/llvm-project/commit/e510fc77539022c195cc83b5dceb1c0b493dafcb
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/unittests/IR/VPIntrinsicTest.cpp

  Log Message:
  -----------
  [VP][RISCV] Introduce vp.lrint/llrint and RISC-V support. (#82627)

RISC-V implements vector lrint/llrint by vfcvt.x.f.v.


  Commit: 56b63e0886ba369a53df5e1d429cde2e4a2d4a34
      https://github.com/llvm/llvm-project/commit/56b63e0886ba369a53df5e1d429cde2e4a2d4a34
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/SemaCXX/compare-modules-cxx2a.cpp

  Log Message:
  -----------
  [clang][Interp] Get <=> value info from weak result

This is also what the current interpreter does and a couple of
test cases expect that.


  Commit: 94ca854d3c874322b1d4b5606c5762adcd3b8e05
      https://github.com/llvm/llvm-project/commit/94ca854d3c874322b1d4b5606c5762adcd3b8e05
  Author: Clement Courbet <courbet at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp

  Log Message:
  -----------
  [clang-tidy] Add support for determining constness of more expressions. (#82617)

This uses a more systematic approach for determining whcich
`DeclRefExpr`s mutate the underlying object: Instead of using a few
matchers, we walk up the AST until we find a parent that we can prove
cannot change the underlying object.

This allows us to handle most address taking and dereference, bindings
to value and const& variables, and track constness of pointee (see
changes in DeclRefExprUtilsTest.cpp).

This allows supporting more patterns in
`performance-unnecessary-copy-initialization`.

Those two patterns are relatively common:

```
const auto e = (*vector_ptr)[i]
```

and

```
const auto e = vector_ptr->at(i);
```

In our codebase, we have around 25% additional findings from
`performance-unnecessary-copy-initialization` with this change. I did
not see any additional false positives.


  Commit: 60677110a2e0b7ba9f5bf2fcfc1b3f8888eb7f58
      https://github.com/llvm/llvm-project/commit/60677110a2e0b7ba9f5bf2fcfc1b3f8888eb7f58
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [RemoveDIs] Fix DPLabel crash reported in #82854


  Commit: 3356818eed3224c50012f8ed2bfa046f2bc8e154
      https://github.com/llvm/llvm-project/commit/3356818eed3224c50012f8ed2bfa046f2bc8e154
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  Reapply [RemoveDIs] Enable DPLabels conversion [3b/3] (#82639)

Enables conversion between llvm.dbg.label and DPLabel.


  Commit: cb2dd0282cf2f5dfc58d5a060dd2aa73c3b4c08e
      https://github.com/llvm/llvm-project/commit/cb2dd0282cf2f5dfc58d5a060dd2aa73c3b4c08e
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] constify or staticify some CGRecordLowering fns (#82874)

Some CGRecordLowering functions either do not need the object or do not mutate it.  Thus marking static or const as appropriate.


  Commit: 8cfb71613c452dd45a84a74affe8464bfd33de02
      https://github.com/llvm/llvm-project/commit/8cfb71613c452dd45a84a74affe8464bfd33de02
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Replace use of `isa` with `isa_and_present` (#82798)

`op` can be null here, in which case this should just return a null
value back.


  Commit: e521752c04a479e3751003645a728667f3199d24
      https://github.com/llvm/llvm-project/commit/e521752c04a479e3751003645a728667f3199d24
  Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/test/ompt/callbacks.h
    M openmp/libomptarget/test/ompt/target_memcpy.c
    A openmp/libomptarget/test/ompt/target_memcpy_emi.c

  Log Message:
  -----------
  [OpenMP][OMPT] Add OMPT callback for device data exchange 'Device-to-Device' (#81991)

Since there's no `ompt_target_data_transfer_tofrom_device` (within
ompt_target_data_op_t enum) or something other that conveys the meaning
of inter-device data exchange we decided to indicate a Device-to-Device
transfer by using: optype == ompt_target_data_transfer_from_device (=3)

Hence, a device transfer may be identified e.g. by checking for: (optype
== 3) &&
(src_device_num < omp_get_num_devices()) &&
(dest_device_num < omp_get_num_devices())

Fixes: #66478


  Commit: a5ccf8522b96c56fc6bda54cf68a64c5d65b75cb
      https://github.com/llvm/llvm-project/commit/a5ccf8522b96c56fc6bda54cf68a64c5d65b75cb
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/complex.cpp

  Log Message:
  -----------
  [clang][Interp] Not all RVO call expressions are initializing

We do not necessarily prepare storage for the return value when
we are returning a complex value.


  Commit: 73f11f9579a3206608ad9a07b5793ba451676087
      https://github.com/llvm/llvm-project/commit/73f11f9579a3206608ad9a07b5793ba451676087
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/test/API/lldbtest.py

  Log Message:
  -----------
  [lldb][test] Correct results regex for Windows

On Windows the line has \r\n at the end.


  Commit: 53697a5dcdc4d83cbe0cb6d88e33c3f1bb3ea487
      https://github.com/llvm/llvm-project/commit/53697a5dcdc4d83cbe0cb6d88e33c3f1bb3ea487
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp

  Log Message:
  -----------
  [AMDGPU] Refactor unit test. NFC (#82976)

I'm about to add more tests here (downstream for now).

Change-Id: Ibd5edb398f544c90e6e8b5e49b1777a407f0594a


  Commit: d0c99f4b1ddc55f3af2ee2d084bc8c97a2ab1acf
      https://github.com/llvm/llvm-project/commit/d0c99f4b1ddc55f3af2ee2d084bc8c97a2ab1acf
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libcxx/include/__type_traits/invoke.h

  Log Message:
  -----------
  [libc++] Remove __member_pointer_traits_imp (#82081)

They aren't ever used, so they can be removed.


  Commit: d0b1fec9e1510d01dad2c9c429573eaa75f0963c
      https://github.com/llvm/llvm-project/commit/d0b1fec9e1510d01dad2c9c429573eaa75f0963c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py

  Log Message:
  -----------
  [lldb][test][Windows] Remove expected fail for a thread state test

No idea why but this is now passing (though if it randomly fails
I won't be surprised).

See https://github.com/llvm/llvm-project/issues/25034 for background
on the original expected fail.


  Commit: bb87c914fec6526fbda81991ce0d35e60040ab9f
      https://github.com/llvm/llvm-project/commit/bb87c914fec6526fbda81991ce0d35e60040ab9f
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/SVE/cntb-diagnostics.s
    M llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s

  Log Message:
  -----------
  [AArch64][SVE]Add error message in the AsmParser for SVEPattern (#82668)

All assembly instructions that have an operand using sve_pred_enum and
mistakenly use '#' in front of it would fail without an error message.


  Commit: b4b490496ab8994fee41005471d075812bdb3a65
      https://github.com/llvm/llvm-project/commit/b4b490496ab8994fee41005471d075812bdb3a65
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Fix insert_subvector with fixed vector type creating invalid node (#82975)

If the vector type is a fixed vector type, we convert it to a container
scalable vector type to compute its reg class. But we need to keep the
old
fixed type so we create a result node with the same type.

This code path is currently dead so I haven't been able to create a test
case
for it. But I have an upcoming patch for insert_subvector lowering that
will
exercise this.


  Commit: 954a048d0d03d874d214cbe9ce0da456a0da35d3
      https://github.com/llvm/llvm-project/commit/954a048d0d03d874d214cbe9ce0da456a0da35d3
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll

  Log Message:
  -----------
  [RemoveDIs] Fix SimplifyCFG behaviour to match existing behaviour (#82981)

llvm.dbg.labels are deleted in SpeculativelyExecuteBB so DPLabels should
be too.

Modify existing test to check this (NB I couldn't find a dedicated
debug-info test that checks this behaviour).


  Commit: 3d084e37ab038200df5f5ef371fdea2fcda05680
      https://github.com/llvm/llvm-project/commit/3d084e37ab038200df5f5ef371fdea2fcda05680
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll

  Log Message:
  -----------
  [RISCV] Add tests for fixed length concat_vector. NFC

These shufflevector chains will get combined into a n-ary concat_vectors node.


  Commit: 28233408a2c8670d7d94ae1bf18a2bb5f7194c32
      https://github.com/llvm/llvm-project/commit/28233408a2c8670d7d94ae1bf18a2bb5f7194c32
  Author: Jack Styles <99514724+Stylie777 at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGen.cpp
    A llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    R llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
    M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-vmull-splat.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [CodeGen] [ARM] Make RISC-V Init Undef Pass Target Independent and add support for the ARM Architecture.  (#77770)

When using Greedy Register Allocation, there are times where
early-clobber values are ignored, and assigned the same register. This
is illeagal behaviour for these intructions. To get around this, using
Pseudo instructions for early-clobber registers gives them a definition
and allows Greedy to assign them to a different register. This then
meets the ARM Architecture Reference Manual and matches the defined
behaviour.

This patch takes the existing RISC-V patch and makes it target
independent, then adds support for the ARM Architecture. Doing this will
ensure early-clobber restraints are followed when using the ARM
Architecture. Making the pass target independent will also open up
possibility that support other architectures can be added in the future.


  Commit: af971396a9c77a57eb66fcb7eac3f671a7084680
      https://github.com/llvm/llvm-project/commit/af971396a9c77a57eb66fcb7eac3f671a7084680
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp

  Log Message:
  -----------
  [clang][Interp] Handle missing Lambda field initializer


  Commit: 8779cf68e80dcc0b15e8034f39e6ce18b08352b6
      https://github.com/llvm/llvm-project/commit/8779cf68e80dcc0b15e8034f39e6ce18b08352b6
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/ARM/ldst-opt-lr-restored.ll

  Log Message:
  -----------
  Pre-commit test showing bug #80287

This test shows the bug where LR is used as a general-purpose register
on a code path where it is not spilled to the stack.


  Commit: 749384c08e042739342c88b521c8ba5dac1b9276
      https://github.com/llvm/llvm-project/commit/749384c08e042739342c88b521c8ba5dac1b9276
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.h
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/test/CodeGen/ARM/ldst-opt-lr-restored.ll

  Log Message:
  -----------
  [ARM] Update IsRestored for LR based on all returns (#82745)

PR #75527 fixed ARMFrameLowering to set the IsRestored flag for LR based
on all of the return instructions in the function, not just one.
However, there is also code in ARMLoadStoreOptimizer which changes
return instructions, but it set IsRestored based on the one instruction
it changed, not the whole function.

The fix is to factor out the code added in #75527, and also call it from
ARMLoadStoreOptimizer if it made a change to return instructions.

Fixes #80287.


  Commit: 76dd4bc036f4709f7c28e38e5ae12ade8f07e8c5
      https://github.com/llvm/llvm-project/commit/76dd4bc036f4709f7c28e38e5ae12ade8f07e8c5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp

  Log Message:
  -----------
  [RemoveDIs] Add iterator-taking constructors and Create methods (#82778)

Part of removing debug-intrinsics from LLVM requires using iterators
whenever we insert an instruction into a block. That means we need all
instruction constructors and factory functions to have an iterator
taking option, which this patch adds.

The whole of this patch should be NFC: it's adding new flavours of
existing constructors, and plumbing those through to the Instruction
constructor that takes iterators. It's almost entirely boilerplate
copy-and-paste too.


  Commit: f290c000d87bfc72a31b151dffa2d190596ebe91
      https://github.com/llvm/llvm-project/commit/f290c000d87bfc72a31b151dffa2d190596ebe91
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/tbaa-struct.cpp

  Log Message:
  -----------
  [TBAA] Add additional bitfield tests.

Additional test for https://github.com/llvm/llvm-project/pull/82922/.


  Commit: 433f8e741e7d4a5b7dad3e078dd847efa6afee5e
      https://github.com/llvm/llvm-project/commit/433f8e741e7d4a5b7dad3e078dd847efa6afee5e
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
    M llvm/lib/CodeGen/MachineSSAUpdater.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll

  Log Message:
  -----------
  MachineSSAUpdater: use all vreg attributes instead of reg class only (#78431)

When initializing MachineSSAUpdater save all attributes of current
virtual register and create new virtual registers with same attributes.
Now new virtual registers have same both register class or bank and LLT.
Previously new virtual registers had same register class but LLT was not
set (LLT was set to default/empty LLT).
Required by GlobalISel for AMDGPU, new 'lane mask' virtual registers
created by MachineSSAUpdater need to have both register class and LLT.

patch 4 from: https://github.com/llvm/llvm-project/pull/73337


  Commit: 58aa995baf66fffb1284ecb289dc9f02c70de4fa
      https://github.com/llvm/llvm-project/commit/58aa995baf66fffb1284ecb289dc9f02c70de4fa
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h

  Log Message:
  -----------
  [clang][Interp][NFC] Fix comment typo


  Commit: a35599b9ae5e7ad924b78c65f6348e0b711bad5d
      https://github.com/llvm/llvm-project/commit/a35599b9ae5e7ad924b78c65f6348e0b711bad5d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/atomic.c

  Log Message:
  -----------
  [clang][Interp] Implement a few _is_lock_free builtins

Implementation looks similar to the one in the current interpreter.
Except for three static assertions, test/Sema/atomic-ops.c works.


  Commit: 60e7ae3f30e99423cf779c9d05513d2ae18df5aa
      https://github.com/llvm/llvm-project/commit/60e7ae3f30e99423cf779c9d05513d2ae18df5aa
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td

  Log Message:
  -----------
  [AMDGPU] Only try DecoderTables for the current subtarget. NFCI. (#82992)

Speed up disassembly by only calling tryDecodeInst for DecoderTables
that make sense for the current subtarget.

This gives a 1.3x speed-up on check-llvm-mc-disassembler-amdgpu in my
Release+Asserts build.


  Commit: 96e536ecf5e6202089ee10ca81c38fbce70851d7
      https://github.com/llvm/llvm-project/commit/96e536ecf5e6202089ee10ca81c38fbce70851d7
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowValues.h

  Log Message:
  -----------
  [clang][NFC] Prefer usings over typedefs (#82920)


  Commit: c4e94633e8a48ee33115d5d3161ee142fc1c9700
      https://github.com/llvm/llvm-project/commit/c4e94633e8a48ee33115d5d3161ee142fc1c9700
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 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
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Correctly handle `InitListExpr` of union type." (#82856)

Reverts llvm/llvm-project#82348, which caused crashes when analyzing
empty InitListExprs for unions, e.g.

```cc
union U {
  double double_value;
  int int_value;
};

void target() {
  U value;
  value = {};
}
```

Co-authored-by: Samira Bazuzi <bazuzi at users.noreply.github.com>


  Commit: d41615e91a108bd1ae41361be97c569691ab9ebb
      https://github.com/llvm/llvm-project/commit/d41615e91a108bd1ae41361be97c569691ab9ebb
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Rename a DS class template argument. NFC.

The name hasGDS better reflects what it is used for.


  Commit: 9c5ca6b0ce2fc91561708542163fae1db88c59e8
      https://github.com/llvm/llvm-project/commit/9c5ca6b0ce2fc91561708542163fae1db88c59e8
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

  Log Message:
  -----------
  Revert "Enable JumpTableToSwitch pass by default (#82546)"

This reverts commit 1069823ce7d154aa8ef87ae5a0fd34b527eca2a0.

This has caused second stage timeouts when building Flang on
AArch64:
https://lab.llvm.org/buildbot/#/builders/179/builds/9442


  Commit: 046682ef88a254443e8620bfd48b35bfa0a83809
      https://github.com/llvm/llvm-project/commit/046682ef88a254443e8620bfd48b35bfa0a83809
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/FormatTestTableGen.cpp

  Log Message:
  -----------
  [clang-format] Add AlignConsecutiveTableGenCondOperatorColons option. (#82878)

To align colons inside TableGen !cond operators.


  Commit: 440b1743ee0c8bfb7bf0c4b503bde5ab9af88dc0
      https://github.com/llvm/llvm-project/commit/440b1743ee0c8bfb7bf0c4b503bde5ab9af88dc0
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [APINotes] Upstream Sema logic to apply API Notes to decls

This upstreams more of the Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes

This was extracted from a larger PR:
https://github.com/llvm/llvm-project/pull/73017


  Commit: 285bff39fd283b3a9a27c06525111d8d4f474e6e
      https://github.com/llvm/llvm-project/commit/285bff39fd283b3a9a27c06525111d8d4f474e6e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py

  Log Message:
  -----------
  [lldb][test][Windows] Skip thread state test on Windows

This actually passes on Windows but I don't know how to convey
that with an xfail without clashing with the xfail for all
platforms.

At least this avoids a UPASS.


  Commit: 8ce81e5924935436d49e0b4e835fa107531505b5
      https://github.com/llvm/llvm-project/commit/8ce81e5924935436d49e0b4e835fa107531505b5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb][test][Windows] Don't assert that module cache is empty

For whatever reason on Windows, it is not at this point.

The copy of unit test we used to use would ignore failures during
teardown but Python's does not.


  Commit: 668cd1ca15a8b9c60a87e5244db9c97b3ba2e624
      https://github.com/llvm/llvm-project/commit/668cd1ca15a8b9c60a87e5244db9c97b3ba2e624
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Scope.h
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/SemaOpenACC/no-branch-in-out.c
    A clang/test/SemaOpenACC/no-branch-in-out.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'return' branch-out of Compute Construct (#82814)

Like with 'break'/'continue', returning out of a compute construct is
ill-formed, so this implements the diagnostic. However, unlike the
OpenMP implementation of this same diagnostic, OpenACC doesn't have a
concept of 'capture region', so this is implemented as just checking the
'scope'.


  Commit: 7c52d0c98187b55d2f513122c21daf49d88169a6
      https://github.com/llvm/llvm-project/commit/7c52d0c98187b55d2f513122c21daf49d88169a6
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/atomic.c

  Log Message:
  -----------
  [clang][Interp] Try to atomic.c on Mac

This test was broken on MacOS, see the discussion in
https://github.com/llvm/llvm-project/commit/a35599b9ae5e7ad924b78c65f6348e0b711bad5d


  Commit: ce78dfa4f0470d79979818e322e76050fb082f4e
      https://github.com/llvm/llvm-project/commit/ce78dfa4f0470d79979818e322e76050fb082f4e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [gn build] Port 28233408a2c8


  Commit: 62e88bc89a718ed557784afb2572e1e664cfd94e
      https://github.com/llvm/llvm-project/commit/62e88bc89a718ed557784afb2572e1e664cfd94e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [gn build] Port 440b1743ee0c


  Commit: f887fad547c7103c05f33be81fecc03782216ce6
      https://github.com/llvm/llvm-project/commit/f887fad547c7103c05f33be81fecc03782216ce6
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [gn build] Port 8c5e9cf73713


  Commit: ac86a76ed5ac968914dd13fc6b6b76c337728098
      https://github.com/llvm/llvm-project/commit/ac86a76ed5ac968914dd13fc6b6b76c337728098
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    R utils/bazel/crash-f7dbdb2b330aad91f520099159e736e91bb9ddbf

  Log Message:
  -----------
  [libc][NFC] Delete unused file (#82980)

Indentified in
https://github.com/llvm/llvm-project/pull/77741#pullrequestreview-1893531270


  Commit: 83feb846482f0100cb29d460d3d8de2690fc32ad
      https://github.com/llvm/llvm-project/commit/83feb846482f0100cb29d460d3d8de2690fc32ad
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Reduce duplication in DS Real instruction definitions. NFC. (#83007)

For renamed instructions, there is no need to mention the new name twice
on every line defining a Real.


  Commit: 9cfb138eccb83b5876928b08be346fde5ca78b47
      https://github.com/llvm/llvm-project/commit/9cfb138eccb83b5876928b08be346fde5ca78b47
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/CXX/except/except.spec/p13.cpp
    M clang/test/SemaTemplate/class-template-noexcept.cpp

  Log Message:
  -----------
  [Clang][Sema] Defer instantiation of exception specification until after partial ordering when determining primary template (#82417)

Consider the following:
```
struct A {
  static constexpr bool x = true;
};

template<typename T, typename U>
void f(T, U) noexcept(T::y); // #1, error: no member named 'y' in 'A'

template<typename T, typename U>
void f(T, U*) noexcept(T::x); // #2

template<>
void f(A, int*) noexcept; // explicit specialization of #2
```

We currently instantiate the exception specification of all candidate
function template specializations when deducting template arguments for
an explicit specialization, which results in a error despite `#1` not
being selected by partial ordering as the most specialized template.
According to [except.spec] p13:
> An exception specification is considered to be needed when: 
> - [...]
> - the exception specification is compared to that of another
declaration (e.g., an explicit specialization or an overriding virtual
function);

Assuming that "comparing declarations" means "determining whether the
declarations correspond and declare the same entity" (per [basic.scope.scope] p4 and
[basic.link] p11.1, respectively), the exception specification does _not_ need to be
instantiated until _after_ partial ordering, at which point we determine
whether the implicitly instantiated specialization and the explicit
specialization declare the same entity (the determination of whether two
functions/function templates correspond does not consider the exception
specifications).

This patch defers the instantiation of the exception specification until
a single function template specialization is selected via partial
ordering, matching the behavior of GCC, EDG, and
MSVC: see https://godbolt.org/z/Ebb6GTcWE.


  Commit: 969d7ecf0b1d51e04e774b0695ffc1d04af81bde
      https://github.com/llvm/llvm-project/commit/969d7ecf0b1d51e04e774b0695ffc1d04af81bde
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp

  Log Message:
  -----------
  [llvm][CodeGen] Add ValueType v3i1. [NFCI] (#82338)


  Commit: 1253e535bd421b955cce1c67ed4304f2ae9bcdfd
      https://github.com/llvm/llvm-project/commit/1253e535bd421b955cce1c67ed4304f2ae9bcdfd
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [RemoveDIs] Use iterators for moving PHIs in loop-unroll-and-jam (#83003)

With no debug intrinsics, correctly identifying the start of a block
with iterators becomes important. We need to use the iterator-returning
methods here in loop-unroll-and-jam where we're shifting PHIs around.
Otherwise they can be inserted after debug-info records, leading to
debug-info attached to PHIs, which is ill formed.

Fixes #83000


  Commit: b5048700fc31f3bf6dd32ace7730815d4cfef411
      https://github.com/llvm/llvm-project/commit/b5048700fc31f3bf6dd32ace7730815d4cfef411
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Fix lvalue CompoundLiteralExprs

We need to leave a pointer on the stack for them, even if their
type is primitive.


  Commit: 252f1cdebfffd846afe969d3f6e4684ed39536ad
      https://github.com/llvm/llvm-project/commit/252f1cdebfffd846afe969d3f6e4684ed39536ad
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    R lldb/third_party/Python/module/progress/progress.py
    R lldb/third_party/Python/module/unittest2/unittest2/__init__.py
    R lldb/third_party/Python/module/unittest2/unittest2/__main__.py
    R lldb/third_party/Python/module/unittest2/unittest2/case.py
    R lldb/third_party/Python/module/unittest2/unittest2/collector.py
    R lldb/third_party/Python/module/unittest2/unittest2/compatibility.py
    R lldb/third_party/Python/module/unittest2/unittest2/loader.py
    R lldb/third_party/Python/module/unittest2/unittest2/main.py
    R lldb/third_party/Python/module/unittest2/unittest2/result.py
    R lldb/third_party/Python/module/unittest2/unittest2/runner.py
    R lldb/third_party/Python/module/unittest2/unittest2/signals.py
    R lldb/third_party/Python/module/unittest2/unittest2/suite.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/__init__.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/dummy.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/support.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_assertions.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_break.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_case.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_discovery.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_functiontestcase.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_loader.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_new_tests.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_program.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_result.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_runner.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_setups.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_skipping.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_suite.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_unittest2_with.py
    R lldb/third_party/Python/module/unittest2/unittest2/util.py

  Log Message:
  -----------
  [lldb][test] Remove vendored packages `unittest2` and `progress` (#82670)

The `unittest2` package is unused since
5b386158aacac4b41126983a5379d36ed413d0ea.

The `progress` package was only used internally by `unittest2`, so it
can be deleted as well.


  Commit: 264d828ea6399c31c210b67a050fbf084634da6a
      https://github.com/llvm/llvm-project/commit/264d828ea6399c31c210b67a050fbf084634da6a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/CodeGen/ms-intrinsics-other.c

  Log Message:
  -----------
  [clang][Interp][NFC] Redo returning values from builtin functions

Instead of having retInt/retLong/retSizeT/etc., just add retInteger,
which takes an APSInt and returns it in form of the given QualType.
This makes the code a little neater, but is also necessary since
some builtins have a different return type with -fms-extensions.


  Commit: f54004475110bb0a4033261041594266c8296242
      https://github.com/llvm/llvm-project/commit/f54004475110bb0a4033261041594266c8296242
  Author: mmoadeli <mahmoud.moadeli at codeplay.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/test/CodeGenSYCL/address-space-conversions.cpp
    A clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
    A clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp

  Log Message:
  -----------
  [NVPTX][AMDGPU][CodeGen] Fix `local_space nullptr` handling for NVPTX and local/private `nullptr` value for AMDGPU. (#78759)

- Address space cast of nullptr in local_space into a generic_space for
the CUDA backend. The reason for this cast was having invalid local
memory base address for the associated variable.
- In the context of AMD GPU, assigns a NULL value as ~0 for the address
spaces of sycl_local and sycl_private to match the ones for opencl_local
and opencl_private.


  Commit: ebb64d8370f9f425f10c4b084aa62adc2926e2dd
      https://github.com/llvm/llvm-project/commit/ebb64d8370f9f425f10c4b084aa62adc2926e2dd
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/cmp-chains.ll

  Log Message:
  -----------
  [GlobalISel] Make the Combiner insert G_FREEZE when converting G_SELECT to binary operations. (#82733)

This is needed because the binary operators (G_OR and G_AND) do
not have the poison-suppressing semantics of G_SELECT.

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


  Commit: c27d7085d4d5c640aba4992f5d01c0ffd1da9860
      https://github.com/llvm/llvm-project/commit/c27d7085d4d5c640aba4992f5d01c0ffd1da9860
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/ms-intrinsics-other.c

  Log Message:
  -----------
  [clang][test] Undo an accidental test change

This was introduced in 264d828ea6399c31c210b67a050fbf084634da6a.


  Commit: 2730a5c68c6986bc8f01d047f8f31bcfd9316333
      https://github.com/llvm/llvm-project/commit/2730a5c68c6986bc8f01d047f8f31bcfd9316333
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Skip array types when handling InitListExprs. (#83013)

Crashes resulted from single-element InitListExprs for arrays with
elements of a record type after #80970.


  Commit: b2ebd8b89777a1c5ba6acc4ad9f195ea2ad5f0de
      https://github.com/llvm/llvm-project/commit/b2ebd8b89777a1c5ba6acc4ad9f195ea2ad5f0de
  Author: Krasimir Georgiev <krasimir at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp

  Log Message:
  -----------
  clang serialization unittests: fix some leaks (#82773)

No functional changes intended.

Fixes some leaks found by running under asan with `--gtest_repeat=2`.


  Commit: 82acec15afeb2bcba534a333c89cea33da7ffa47
      https://github.com/llvm/llvm-project/commit/82acec15afeb2bcba534a333c89cea33da7ffa47
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/dot.hlsl
    A clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td

  Log Message:
  -----------
  [HLSL] Implementation of dot intrinsic (#81190)

This change implements https://github.com/llvm/llvm-project/issues/70073

HLSL has a dot intrinsic defined here:

https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-dot

The intrinsic itself is defined as a HLSL_LANG LangBuiltin in
Builtins.td.
This is used to associate all the dot product typdef defined
hlsl_intrinsics.h
with a single intrinsic check in CGBuiltin.cpp & SemaChecking.cpp.

In IntrinsicsDirectX.td we define the llvmIR for the dot product.
A few goals were in mind for this IR. First it should operate on only
vectors. Second the return type should be the vector element type. Third
the second parameter vector should be of the same size as the first
parameter. Finally `a dot b` should be the same as `b dot a`.

In CGBuiltin.cpp hlsl has built on top of existing clang intrinsics via
EmitBuiltinExpr. Dot
product though is language specific intrinsic and so is guarded behind
getLangOpts().HLSL.
The call chain looks like this: EmitBuiltinExpr -> EmitHLSLBuiltinExp

EmitHLSLBuiltinExp dot product intrinsics makes a destinction
between vectors and scalars. This is because HLSL supports dot product
on scalars which simplifies down to multiply.

Sema.h & SemaChecking.cpp saw the addition of
CheckHLSLBuiltinFunctionCall, a language specific semantic validation
that can be expanded for other hlsl specific intrinsics.

Fixes #70073


  Commit: 45732b64542e37f4908ced2477a25b7a0d703893
      https://github.com/llvm/llvm-project/commit/45732b64542e37f4908ced2477a25b7a0d703893
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Fix compile time regression in dialect conversion (#83023)

The dialect conversion does not directly erase ops that are
replaced/erased with a rewriter. Instead, the op stays in place and is
erased at the end if the dialect conversion succeeds. However, ops that
were replaced/erased are ignored from that point on.

#81757 introduced a compile time regression that made the check whether
an op is ignored or not more expensive. Whether an op is ignored or not
is queried many times throughout a dialect conversion, so the check must
be fast.

After this change, replaced ops are stored in the `ignoredOps` set. This
also simplifies the dialect conversion a bit.


  Commit: 1d2eced0067bea989e98efc9265725b3aeca0af9
      https://github.com/llvm/llvm-project/commit/1d2eced0067bea989e98efc9265725b3aeca0af9
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/docs/GettingStarted.rst

  Log Message:
  -----------
  [llvm][docs] Update the Python version requirement to 3.8.0 for lit testing on Windows with substitute (virtual) drives. (#81663)

Following the changes made for:
- https://reviews.llvm.org/D154130: [lit][clang] Avoid realpath on Windows due to MAX_PATH limitations
in commit:
- 05d613ea931b6de1b46dfe04b8e55285359047f4

Python 3.8.0 or newer is now required by at least the following tests
when they are run on Windows from a substitute (virtual) drive. A
substitute drive is often used as a workaround for `MAX_PATH`
limitations on Windows. These tests are impacted because they use the
lit `%{?:real}` path expansion syntax to expand symbolic links and
substitute drives. This path expansion is implemented with Python's
`os.path.realpath()` function which changed behavior in Python 3.8.0
with regard to expansion of substitute drives. The changes mentioned
above rely on the newer Python behavior.
- `clang/test/Lexer/case-insensitive-include-absolute.c`
- `clang/test/Lexer/case-insensitive-include-win.c`

This change updates the LLVM Getting Started guide to note this newer
Python version dependency for this relatively niche case. Python 3.6.0
remains the minimum required Python version otherwise.


  Commit: 4bc3b3501ff994fb3504ed2b973342821a9c8cea
      https://github.com/llvm/llvm-project/commit/4bc3b3501ff994fb3504ed2b973342821a9c8cea
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    A lld/docs/ELF/large_section_layout_nopic.png
    A lld/docs/ELF/large_section_layout_pic.png
    A lld/docs/ELF/large_sections.rst
    A lld/docs/ELF/section_layout.png
    M lld/docs/index.rst

  Log Message:
  -----------
  [lld/ELF] Add documentation on large sections (#82560)

Fixes #82438


  Commit: f70d5c0bc822f8932e8aadfbed7fe9c6cd8c3758
      https://github.com/llvm/llvm-project/commit/f70d5c0bc822f8932e8aadfbed7fe9c6cd8c3758
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_count_zeros_uc.cpp
    A libc/src/stdbit/stdc_count_zeros_uc.h
    A libc/src/stdbit/stdc_count_zeros_ui.cpp
    A libc/src/stdbit/stdc_count_zeros_ui.h
    A libc/src/stdbit/stdc_count_zeros_ul.cpp
    A libc/src/stdbit/stdc_count_zeros_ul.h
    A libc/src/stdbit/stdc_count_zeros_ull.cpp
    A libc/src/stdbit/stdc_count_zeros_ull.h
    A libc/src/stdbit/stdc_count_zeros_us.cpp
    A libc/src/stdbit/stdc_count_zeros_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_count_zeros_uc_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ui_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ul_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ull_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_count_zeros (C23) (#82437)


  Commit: 78275ef0a33a808d30285603585300ce57d7ef26
      https://github.com/llvm/llvm-project/commit/78275ef0a33a808d30285603585300ce57d7ef26
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][Interp] Pick the right APInt constructor on Windows

The second parameter needs to be a uint64_t and nothing else.
This broke windows builders, see
https://github.com/llvm/llvm-project/commit/264d828ea6399c31c210b67a050fbf084634da6a


  Commit: be024307075c37f057fd51d4de0e9c2443b51686
      https://github.com/llvm/llvm-project/commit/be024307075c37f057fd51d4de0e9c2443b51686
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    M clang/lib/Analysis/ThreadSafetyCommon.cpp

  Log Message:
  -----------
  Thread safety analysis: provide printSCFG definition. (#80277)

I called this function when investigating the issue
(https://github.com/llvm/llvm-project/issues/78131), and I was surprised
to see the definition is commented out.

I think it makes sense to provide the definition even though the
implementation is not stable.


  Commit: d8406d48a8c94f88613e5613a7e0d6526a520428
      https://github.com/llvm/llvm-project/commit/d8406d48a8c94f88613e5613a7e0d6526a520428
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_count_ones_uc.cpp
    A libc/src/stdbit/stdc_count_ones_uc.h
    A libc/src/stdbit/stdc_count_ones_ui.cpp
    A libc/src/stdbit/stdc_count_ones_ui.h
    A libc/src/stdbit/stdc_count_ones_ul.cpp
    A libc/src/stdbit/stdc_count_ones_ul.h
    A libc/src/stdbit/stdc_count_ones_ull.cpp
    A libc/src/stdbit/stdc_count_ones_ull.h
    A libc/src/stdbit/stdc_count_ones_us.cpp
    A libc/src/stdbit/stdc_count_ones_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_count_ones_uc_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ui_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ul_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ull_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_count_ones (C23) (#82444)


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

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/CUDA/cuda-mod.cuf
    A flang/test/Lower/CUDA/cuda-module-use.cuf

  Log Message:
  -----------
  [flang][cuda] Make sure CUDA attribute are imported when using module variable (#82844)

CUDA attribute are correctly propagated to the module file but were not
imported currently so they did not appear on the hlfir.declare and
fir.global operations for module variables.


  Commit: 695b630ae16a1b243d9c72cc275b00cf0c8af2df
      https://github.com/llvm/llvm-project/commit/695b630ae16a1b243d9c72cc275b00cf0c8af2df
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/LTO/LTO.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp

  Log Message:
  -----------
  [ThinLTO] NFC: Merge duplicated functions together (#82421)


  Commit: b876596a76cdc183439b36455d26883b67f8ee51
      https://github.com/llvm/llvm-project/commit/b876596a76cdc183439b36455d26883b67f8ee51
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    A clang/test/Driver/Inputs/resource_dir/lib/aarch64-unknown-linux/libclang_rt.hwasan.a
    A clang/test/Driver/Inputs/resource_dir/lib/aarch64-unknown-linux/libclang_rt.hwasan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/i386-unknown-linux/libclang_rt.asan.a
    A clang/test/Driver/Inputs/resource_dir/lib/i386-unknown-linux/libclang_rt.asan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/i686-unknown-linux/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir/lib/i686-unknown-linux/clang_rt.crtend.o
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.asan-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.asan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.hwasan-aarch64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.hwasan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.msan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.msan_cxx-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.tsan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.tsan_cxx-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan_cxx-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan_cxx-x86_64.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.asan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.asan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.hwasan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.hwasan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan_cxx.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan_cxx.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan_cxx.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan_cxx.a.syms
    M clang/test/Driver/arch-specific-libdir.c
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/compiler-rt-unwind.c
    M clang/test/Driver/coverage-ld.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/instrprof-ld.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/print-libgcc-file-name-clangrt.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Driver] Improve error when a compiler-rt library is not found (#81037)

BSD, Linux, and z/OS enable `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` by
default.
When a compiler-rt library is not found, we currently report an
incorrect filename `libclang_rt.XXX-$arch.a`
```
% /tmp/Debug/bin/clang++ a.cc -fsanitize=address -o a
ld.lld: error: cannot open /tmp/Debug/lib/clang/19/lib/linux/libclang_rt.asan-x86_64.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```

With this change, we will correctly report:
```
% /tmp/Debug/bin/clang++ a.cc -fsanitize=address -o a
ld.lld: error: cannot open /tmp/Debug/lib/clang/19/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```

Link: https://discourse.llvm.org/t/runtime-directory-fallback/76860


  Commit: f9f331652d4f0aff9ece3570abe8c686cdfefff4
      https://github.com/llvm/llvm-project/commit/f9f331652d4f0aff9ece3570abe8c686cdfefff4
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/ArchSpec.cpp
    A lldb/test/API/macosx/arm64e-attach/Makefile
    A lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
    A lldb/test/API/macosx/arm64e-attach/main.c

  Log Message:
  -----------
  Replace ArchSpec::PiecewiseCompare() with Triple::operator==()

Looking ast the definition of both functions this is *almost* an NFC
change, except that Triple also looks at the SubArch (important) and
ObjectFormat (less so).

This fixes a bug that only manifests with how Xcode uses the SBAPI to
attach to a process by name: it guesses the architecture based on the
system. If the system is arm64 and the Process is arm64e Target fails
to update the triple because it deemed the two to be equivalent.

rdar://123338218


  Commit: 01450dd1c69d1edb0d01159352a56c99988839f4
      https://github.com/llvm/llvm-project/commit/01450dd1c69d1edb0d01159352a56c99988839f4
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/source/Target/Target.cpp
    M lldb/test/API/macosx/arm64e-attach/Makefile
    M lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  Change debugserver to report the cpu(sub)type of process, not the host.

This way debugserver can correctly report qProcessInfo for arm64
processes on arm64e-capable hosts.

Patch implemented with help from Jason Molenda!


  Commit: a4dcfbcb786f69ab8bab35f41e725e592fbac3fb
      https://github.com/llvm/llvm-project/commit/a4dcfbcb786f69ab8bab35f41e725e592fbac3fb
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
    M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp

  Log Message:
  -----------
  [OpenMP][AIX] XFAIL capacity tests on AIX in 32-bit (#83014)

This patch XFAILs two capacity tests on AIX in 32-bit because running
out resource with `4 x omp_get_max_threads()` in 32-bit mode.


  Commit: 9de78c4e243e9b1dffb289173a94d6a50421c463
      https://github.com/llvm/llvm-project/commit/9de78c4e243e9b1dffb289173a94d6a50421c463
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  AMDGPU: Simplify FP8 conversion definitions. NFC. (#83043)

Reals should inherit predicates from the corresponding Pseudo.


  Commit: 3aec947b671bf3a2c00ef7d29557db687af8ff7c
      https://github.com/llvm/llvm-project/commit/3aec947b671bf3a2c00ef7d29557db687af8ff7c
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libc/src/__support/memory_size.h
    M libc/test/src/__support/memory_size_test.cpp

  Log Message:
  -----------
  [libc][__support/memory_size] fix missing branch and add related tests (#83016)

fix #82644.


  Commit: 0b398256b3f72204ad1f7c625efe4990204e898a
      https://github.com/llvm/llvm-project/commit/0b398256b3f72204ad1f7c625efe4990204e898a
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    A llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
    M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
    M llvm/test/Transforms/LoopRotate/dbgvalue.ll
    M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
    M llvm/test/Transforms/ObjCARC/ensure-that-exception-unwind-path-is-visited.ll
    M llvm/test/Transforms/SROA/dbg-inline.ll

  Log Message:
  -----------
  [RemoveDIs] Print non-intrinsic debug info in textual IR output (#79281)

This patch adds support for printing the proposed non-instruction debug
info ("RemoveDIs") out to textual IR. This patch does not add any
bitcode support, parsing support, or documentation.

Printing of the new format is controlled by a flag added in this patch,
`--write-experimental-debuginfo`, which defaults to false. The new
format will be printed *iff* this flag is true, so whether we use the IR
format is completely independent of whether we use non-instruction debug
info during LLVM passes (which is controlled by the
`--try-experimental-debuginfo-iterators` flag).

Even with the flag disabled, some existing tests need to be updated, as this
patch causes debug intrinsic declarations to be changed in a round trip,
such that they always appear at the end of a module and have no attributes
(this has no functional change on the module).

The design of this new IR format was proposed previously on
Discourse, and any further discussion about the design can still be
contributed there:

https://discourse.llvm.org/t/rfc-debuginfo-proposed-changes-to-the-textual-ir-representation-for-debug-values/73491


  Commit: 257cbea20d3ce6c6a3848ebd0ea0662d3cdb46b5
      https://github.com/llvm/llvm-project/commit/257cbea20d3ce6c6a3848ebd0ea0662d3cdb46b5
  Author: David Green <david.green at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [DAG] Format DAGCombiner::mayAlias. NFC


  Commit: f1bb88bee248fb30e3145a2a19373233b7a59882
      https://github.com/llvm/llvm-project/commit/f1bb88bee248fb30e3145a2a19373233b7a59882
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/get_vector_length.ll

  Log Message:
  -----------
  [RISCV] Use PromoteSetCCOperands to promote operands for UMAX/UMIN during type legalization. (#82716)

For RISC-V, we were always choosing to sign extend when promoting
i32->i64. If the promoted inputs happen to be zero extended already, we
should use zero extend instead. This is what we do for SETCC.


  Commit: dc06d75ab27b4dcae2940fc386fadd06f70faffe
      https://github.com/llvm/llvm-project/commit/dc06d75ab27b4dcae2940fc386fadd06f70faffe
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
    M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
    M llvm/test/Transforms/LoopRotate/dbgvalue.ll
    M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
    M llvm/test/Transforms/ObjCARC/ensure-that-exception-unwind-path-is-visited.ll
    M llvm/test/Transforms/SROA/dbg-inline.ll

  Log Message:
  -----------
  Revert "[RemoveDIs] Print non-intrinsic debug info in textual IR output (#79281)"

Reverted due to failures on buildbots, where a new cl flag was placed
in the wrong file, resulting in link errors.

https://lab.llvm.org/buildbot/#/builders/198/builds/8548

This reverts commit 0b398256b3f72204ad1f7c625efe4990204e898a.


  Commit: 6398baa425349ce67f39aaa67af86ec2aec96c7c
      https://github.com/llvm/llvm-project/commit/6398baa425349ce67f39aaa67af86ec2aec96c7c
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M flang/test/Driver/linker-flags.f90
    A flang/test/Lower/Intrinsics/cabs_real16.f90
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    A flang/test/Lower/Intrinsics/sin_real16.f90
    A flang/test/Lower/Intrinsics/sqrt_real16.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [flang] Fixes for LIT testing of FLANG_RUNTIME_F128_MATH_LIB build. (#82832)

Follow-up for #81971 to fix the disabled LIT test and add
LIT tests for lowering of the added math intrinsics.


  Commit: 5cdb8c0c8854d08ac7ca131ce3e8d78a32eb6716
      https://github.com/llvm/llvm-project/commit/5cdb8c0c8854d08ac7ca131ce3e8d78a32eb6716
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][vector] Add a pattern to fuse extract(constant_mask) (#81057)

This pattern will rewrite
ExtractOp(ConstantMaskOp) -> ConstantMaskOp
or
ExtractOp(ConstantMaskOp) -> Constant


  Commit: ce4740d3e31e936aa93c115f63bf223c74c9dc20
      https://github.com/llvm/llvm-project/commit/ce4740d3e31e936aa93c115f63bf223c74c9dc20
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash when MS dependent base class lookup occurs in an incomplete context (#83024)

When compiling the following with `-fms-compatibility`:
```
template<typename T> struct C;

// Test lookup with incomplete lookup context
template<typename T>
auto C<T>::f() -> decltype(x) { }
```
An assert fails because `CXXRecordDecl::hasAnyDependentBases` is called
on an incomplete class. This patch ensures we don't perform unqualified
lookup into dependent base classes when the lookup context is
incomplete.


  Commit: 1865c7ea8561407626fe5489ae07647035413d7c
      https://github.com/llvm/llvm-project/commit/1865c7ea8561407626fe5489ae07647035413d7c
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_common.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp

  Log Message:
  -----------
  [scudo] Store more blocks in each TransferBatch (#70390)

Instead of always storing the same number of blocks as cached, we prefer
increasing the utilization by saving more blocks in a single
TransferBatch. This may slightly impact the performance, but it will
save a lot of memory used by BatchClassId (especially for larger
blocks).


  Commit: 911055e34f2b1530d9900e23873e300b77ea8d96
      https://github.com/llvm/llvm-project/commit/911055e34f2b1530d9900e23873e300b77ea8d96
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll

  Log Message:
  -----------
  [VPlan] Consistently use (Part, 0) for first lane scalar values (#80271)

At the moment, some VPInstructions create only a single scalar value,
but use VPTransformatState's 'vector' storage for this value. Those
values are effectively uniform-per-VF (or in some cases
uniform-across-VF-and-UF). Using the vector/per-part storage doesn't
interact well with other recipes, that more accurately using (Part,
Lane) to look up scalar values and prevents VPInstructions creating
scalars from interacting with other recipes working with scalars.

This PR tries to unify handling of scalars by using (Part, 0) for scalar
values where only the first lane is demanded. This allows using
VPInstructions with other recipes like VPScalarCastRecipe and is also
needed when using VPInstructions in more cases otuside the vector loop
region to generate scalars.

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


  Commit: 38515580c4c5068e204ff69494ad11bbfacc89b4
      https://github.com/llvm/llvm-project/commit/38515580c4c5068e204ff69494ad11bbfacc89b4
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/tools/debugserver/source/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Remove LLDB_DEBUGSERVER_CODESIGN_IDENTITY (NFC)

This property was previously used by the test suite.


  Commit: 1f8b7e3c0b0743dbc899278f016b710f18240b9b
      https://github.com/llvm/llvm-project/commit/1f8b7e3c0b0743dbc899278f016b710f18240b9b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libcxx/include/scoped_allocator
    A libcxx/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Fix non-uglified name in scoped_allocator_adaptor (#80706)

As mentioned in #78754, the 'base' typedef in scoped_allocator_adaptor
was not uglified properly.


  Commit: deaf53e632f37be1e4f7a57959c35fcae161b141
      https://github.com/llvm/llvm-project/commit/deaf53e632f37be1e4f7a57959c35fcae161b141
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libcxx/include/__availability

  Log Message:
  -----------
  [libc++][NFC] Reorder availability macros in introduction order (#82531)

Reorder the availability macros in __availability to respect the order
in which they were introduced in the dylib. This simple refactor will
greatly simplify an upcoming change I am working on.


  Commit: 5e6f50eaa9510366352dde60b48bf7c3169762ea
      https://github.com/llvm/llvm-project/commit/5e6f50eaa9510366352dde60b48bf7c3169762ea
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libcxx/cmake/caches/AndroidNDK.cmake
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/test/CMakeLists.txt
    M libcxx/utils/ci/run-buildbot
    M libcxxabi/test/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Remove LIBCXX_EXECUTOR and LIBCXXABI_EXECUTOR (#79886)

Those were deprecated in LLVM 18 and their removal was planned for LLVM 19.


  Commit: 7b66b5d6c2fadb1e9f8cfc8d1864d4109105001f
      https://github.com/llvm/llvm-project/commit/7b66b5d6c2fadb1e9f8cfc8d1864d4109105001f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Track erased ops separately (#83051)

#83023 fixed a performance regression related to "ignored" ops. This
broke some downstream projects that access ops after they were replaced
(an API violation). This change restores the original behavior before
#83023 (but without the performance regression), to give downstream
users more time to fix their code.


  Commit: 6a884a9aef397f76178b141d789efadf280f2c3f
      https://github.com/llvm/llvm-project/commit/6a884a9aef397f76178b141d789efadf280f2c3f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    R libcxx/lib/libc++abi.exp
    M libcxx/src/CMakeLists.txt
    A libcxxabi/lib/cxxabiv1.exp
    R libcxxabi/lib/exceptions.exp
    A libcxxabi/lib/fundamental-types.exp
    M libcxxabi/lib/itanium-base.exp
    A libcxxabi/lib/itanium-exceptions.exp
    M libcxxabi/lib/new-delete.exp
    A libcxxabi/lib/std-exceptions.exp
    A libcxxabi/lib/std-misc.exp
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/test/uncaught_exception.pass.cpp

  Log Message:
  -----------
  [libc++] Always keep libc++abi re-exports up-to-date (#79012)

Previously, the list of libc++abi symbols that we re-export from libc++
would be partly encoded in libc++abi (and re-exported automatically via
the cxxabi-reexports target), and partly hard-coded in
libcxx/lib/libc++abi.exp. The duplication of information led to symbols
not being exported from libc++ after being added to libc++abi when they
should have been.

This patch removes the duplication of information. After this patch, the
full list of symbols to re-export from libc++abi is handled by the
cxxabi-reexports target and is stored in libcxxabi.

The symbols newly re-exported from libc++ are mainly new fundamental
typeinfos and a bunch of functions and classes that are part of
libc++abi but are most likely implementation details. In the future, it
would be possible to try to trim down the set of what we export from
libc++abi (and hence what we re-export from libc++) to remove some
implementation detail symbols.

Fixes #79008


  Commit: 435e75db80e1ffd0f9752534d4544eba5e0610df
      https://github.com/llvm/llvm-project/commit/435e75db80e1ffd0f9752534d4544eba5e0610df
  Author: Nilanjana Basu <n_basu at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll

  Log Message:
  -----------
  [Tests][LoopDistribute] Re-adding target triple in a test (#82954)

This test triple was removed earlier to fix build errors. To preserve the original test intention the triple is re-added with an explicit target requirement.


  Commit: 113052b2b022c4ce45c8003057ae4297d48ed843
      https://github.com/llvm/llvm-project/commit/113052b2b022c4ce45c8003057ae4297d48ed843
  Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    A llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir

  Log Message:
  -----------
  [AMDGPU] Prefer lower total register usage in regions with spilling

Change-Id: Ia5c434b0945bdcbc357c5e06c3164118fc91df25


  Commit: 860b6edfa9b344fbf8c500c17158c8212ea87d1c
      https://github.com/llvm/llvm-project/commit/860b6edfa9b344fbf8c500c17158c8212ea87d1c
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/test/MC/Mips/cpsetup.s

  Log Message:
  -----------
  MIPS: fix emitDirectiveCpsetup on N32 (#80534)

In gas, .cpsetup may expand to one of two code sequences (one is related to `__gnu_local_gp`), depending on -mno-shared and -msym32.
Since Clang doesn't support -mno-shared or -msym32, .cpsetup expands to one code sequence.
The N32 condition incorrectly leads to the incorrect `__gnu_local_gp` code sequence.

```
00000000 <t1>:
   0:   ffbc0008        sd      gp,8(sp)
   4:   3c1c0000        lui     gp,0x0
                        4: R_MIPS_HI16  __gnu_local_gp
   8:   279c0000        addiu   gp,gp,0
                        8: R_MIPS_LO16  __gnu_local_gp
```

Fixes: #52785


  Commit: 99335a646bc0b10066d77cec08ae8cab0162efde
      https://github.com/llvm/llvm-project/commit/99335a646bc0b10066d77cec08ae8cab0162efde
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/State.cpp

  Log Message:
  -----------
  [flang][OpenMP] Add missing implementation for 'omp_is_initial_device' (#83056)

Resolve issue #82047


  Commit: acdd36e677e396909f700e5dfb519d907a6b4560
      https://github.com/llvm/llvm-project/commit/acdd36e677e396909f700e5dfb519d907a6b4560
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

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

  Log Message:
  -----------
  [ItaniumDemangle] reject A-F in FP literals (#82864)

The Itanium C++ ABI specifies that FP literals are encoded using a
lowercase hexadecimal string. Previously, libc++abi allowed uppercase
A-F characters but decoded them by subtracting 'a' from them, producing
negative digit values. It is especially confusing to accept an 'E' digit
because 'E' marks the end of the FP literal.


  Commit: e9cdd165d7bce695d13f10df3480f9f66fd28b21
      https://github.com/llvm/llvm-project/commit/e9cdd165d7bce695d13f10df3480f9f66fd28b21
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    R llvm/docs/Packaging.rst

  Log Message:
  -----------
  [docs] Remove the Packaging "Tips" which seems to be about pre-cmake ./configure (#82958)

It was already marked outdated in 2012: 5b26461e0999 and hasn't been
updated since.


  Commit: 15a7de697ae5ad88fd96ef7dc39ac479cc6e2eaf
      https://github.com/llvm/llvm-project/commit/15a7de697ae5ad88fd96ef7dc39ac479cc6e2eaf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll

  Log Message:
  -----------
  [SelectionDAG] Support sign tracking through `{S|U}INT_TO_FP`

Just a minimal amount of easily provable tracking.

Proofs: https://alive2.llvm.org/ce/z/RQYbdw

Closes #82808

Alive2 to has an issue with `(sitofp i1)`, but it can
be verified by hand: https://godbolt.org/z/qKr7hT7s9


  Commit: 841a4168addba6931114e81d446c35114208eda2
      https://github.com/llvm/llvm-project/commit/841a4168addba6931114e81d446c35114208eda2
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M bolt/test/runtime/instrument-wrong-target.s

  Log Message:
  -----------
  [BOLT] Fix runtime/instrument-wrong-target.s test (#82858)

Test was failing when only X86 was specified for LLVM_TARGETS_TO_BUILD.
Changed so that it will now report unsupporeted.

For "X86;AArch64" it still passes.
For "X86" reports UNSUPPORTED: BOLT :: runtime/instrument-wrong-target.s
(1 of 1)


  Commit: 21d83324fbdbd91de0115d48f3b55979f57807b7
      https://github.com/llvm/llvm-project/commit/21d83324fbdbd91de0115d48f3b55979f57807b7
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins.c
    A clang/test/Sema/builtin-popcountg.c

  Log Message:
  -----------
  [clang] Implement __builtin_popcountg (#82359)


Fixes #82058.


  Commit: 6de5fcc74637116581d7b9b39c16fc252a5a54ef
      https://github.com/llvm/llvm-project/commit/6de5fcc74637116581d7b9b39c16fc252a5a54ef
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    A bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/CMakeLists.txt
    M bolt/lib/Core/DIEBuilder.cpp
    A bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/Inputs/dwarf5-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-main.s
    A bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names.test
    A bolt/test/X86/dwarf5-df-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-df-types-debug-names.test
    A bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-types-debug-names.test
    A bolt/test/X86/dwarf5-types-one-cu-debug-names.test

  Log Message:
  -----------
  [BOLT][DWARF] Add support for .debug_names (#81062)

DWARF5 spec supports the .debug_names acceleration table. This is the
formalized version of combination of gdb-index/pubnames/types. Added
implementation of it to BOLT. It supports both monolothic and split
dwarf, with and without Type Units. It does not include parent indices.
This will be in followup PR. Unlike LLVM output this will put all the
CUs and TUs into one Module.


  Commit: e4604c35f5ccc4478c3b649edbc74b494098a442
      https://github.com/llvm/llvm-project/commit/e4604c35f5ccc4478c3b649edbc74b494098a442
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/acos.cpp
    A flang/runtime/Float128Math/acosh.cpp
    A flang/runtime/Float128Math/asin.cpp
    A flang/runtime/Float128Math/asinh.cpp
    A flang/runtime/Float128Math/atan.cpp
    A flang/runtime/Float128Math/atan2.cpp
    A flang/runtime/Float128Math/atanh.cpp
    A flang/runtime/Float128Math/ceil.cpp
    A flang/runtime/Float128Math/cos.cpp
    A flang/runtime/Float128Math/cosh.cpp
    A flang/runtime/Float128Math/erf.cpp
    A flang/runtime/Float128Math/erfc.cpp
    A flang/runtime/Float128Math/exp.cpp
    A flang/runtime/Float128Math/floor.cpp
    A flang/runtime/Float128Math/hypot.cpp
    A flang/runtime/Float128Math/j0.cpp
    A flang/runtime/Float128Math/j1.cpp
    A flang/runtime/Float128Math/jn.cpp
    A flang/runtime/Float128Math/lgamma.cpp
    A flang/runtime/Float128Math/llround.cpp
    A flang/runtime/Float128Math/log.cpp
    A flang/runtime/Float128Math/log10.cpp
    A flang/runtime/Float128Math/lround.cpp
    M flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/pow.cpp
    A flang/runtime/Float128Math/round.cpp
    A flang/runtime/Float128Math/sinh.cpp
    A flang/runtime/Float128Math/tan.cpp
    A flang/runtime/Float128Math/tanh.cpp
    A flang/runtime/Float128Math/tgamma.cpp
    A flang/runtime/Float128Math/trunc.cpp
    A flang/runtime/Float128Math/y0.cpp
    A flang/runtime/Float128Math/y1.cpp
    A flang/runtime/Float128Math/yn.cpp
    A flang/test/Lower/Intrinsics/acos_real16.f90
    A flang/test/Lower/Intrinsics/acosh_real16.f90
    A flang/test/Lower/Intrinsics/aint_real16.f90
    A flang/test/Lower/Intrinsics/anint_real16.f90
    A flang/test/Lower/Intrinsics/asin_real16.f90
    A flang/test/Lower/Intrinsics/asinh_real16.f90
    A flang/test/Lower/Intrinsics/atan2_real16.f90
    A flang/test/Lower/Intrinsics/atan_real16.f90
    A flang/test/Lower/Intrinsics/atanh_real16.f90
    A flang/test/Lower/Intrinsics/bessel_j0_real16.f90
    A flang/test/Lower/Intrinsics/bessel_j1_real16.f90
    A flang/test/Lower/Intrinsics/bessel_jn_real16.f90
    A flang/test/Lower/Intrinsics/bessel_y0_real16.f90
    A flang/test/Lower/Intrinsics/bessel_y1_real16.f90
    A flang/test/Lower/Intrinsics/bessel_yn_real16.f90
    A flang/test/Lower/Intrinsics/ceiling_real16.f90
    A flang/test/Lower/Intrinsics/cos_real16.f90
    A flang/test/Lower/Intrinsics/cosh_real16.f90
    A flang/test/Lower/Intrinsics/erf_real16.f90
    A flang/test/Lower/Intrinsics/erfc_real16.f90
    A flang/test/Lower/Intrinsics/exp_real16.f90
    A flang/test/Lower/Intrinsics/floor_real16.f90
    A flang/test/Lower/Intrinsics/gamma_real16.f90
    A flang/test/Lower/Intrinsics/hypot_real16.f90
    A flang/test/Lower/Intrinsics/log10_real16.f90
    A flang/test/Lower/Intrinsics/log_gamma_real16.f90
    A flang/test/Lower/Intrinsics/log_real16.f90
    A flang/test/Lower/Intrinsics/nint_real16.f90
    A flang/test/Lower/Intrinsics/pow_real16.f90
    A flang/test/Lower/Intrinsics/powi_real16.f90
    A flang/test/Lower/Intrinsics/sinh_real16.f90
    A flang/test/Lower/Intrinsics/tan_real16.f90
    A flang/test/Lower/Intrinsics/tanh_real16.f90

  Log Message:
  -----------
  [flang] Added support for REAL16 math intrinsics in lowering and runtime. (#82860)

This PR does not include support for COMPLEX(16) intrinsics.
Note that (fp ** int) operations do not require Float128Math library,
as they are implemented via basic F128 operations,
which are supported by the build compilers' runtimes.


  Commit: a870a48c09ea32a5c179e827ed60e53e748cbc49
      https://github.com/llvm/llvm-project/commit/a870a48c09ea32a5c179e827ed60e53e748cbc49
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaHLSL/VectorOverloadResolution.hlsl

  Log Message:
  -----------
  [HLSL] Fix casting asserts (#82827)

There are two issues here. first `ICK_Floating_Integral` were always
defaulting to `CK_FloatingToIntegral` for vectors regardless of
direction of cast. Check was scalar only so added a vec float check to
the conditional.

Second issue was float to int casts were resolving to
ICK_Integral_Promotion when they need to be resolving to
CK_FloatingToIntegral. This was fixed by changing the ordering of
conversion checks.

This fixes #82826


  Commit: b94913b8adbc0508762809a167e356becae92021
      https://github.com/llvm/llvm-project/commit/b94913b8adbc0508762809a167e356becae92021
  Author: David Green <david.green at arm.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll

  Log Message:
  -----------
  [AArch64] Vector insert zero upper tests. NFC


  Commit: b1916599befa8575c43349ef0819389b8b5c3ab4
      https://github.com/llvm/llvm-project/commit/b1916599befa8575c43349ef0819389b8b5c3ab4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/bolt/lib/Core/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 6de5fcc74637


  Commit: e87724560f5f155e662cbdda17409361b98d42d6
      https://github.com/llvm/llvm-project/commit/e87724560f5f155e662cbdda17409361b98d42d6
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [docs] Remove ref to deleted "Packaging.rst"

This is a fix for commit e9cdd165d7bc ("[docs] Remove the Packaging
"Tips" which seems to be about pre-cmake ./configure (#82958)"). The
doc was removed but not the references to it.


  Commit: 796d26a37d70374e41766df659700a826dc62e34
      https://github.com/llvm/llvm-project/commit/796d26a37d70374e41766df659700a826dc62e34
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M flang/include/flang/ISO_Fortran_binding.h
    A flang/test/Integration/iso-fortran-binding.cpp

  Log Message:
  -----------
  [flang] Fix ISO_Fortran_binding.h to work better with C++ code (#82556)

[flang] Fix ISO_Fortran_binding.h to work better with C++ code

This stems from working on LANL's "dopey" project --
https://github.com/lanl/dopey.

That project contains C++ code which includes the header file
"ISO_Fortran_binding.h". The dopey code wraps that include with an
'extern "C"' clause since the standard (18.5.1, paragraph 1) says that
the file" shall contain C structure definitions, typedef declarations,
...". But the clang++ compiler emits error messages objecting to the
fact that ISO_Fortran_binding.h contains templates.

This change fixes that by preceding the problematic code in
ISO_Fortran_binding.h with language linkage clauses that specify that
they contain C++ code rather than C code.

In the accompanying test, I needed to account for the fact that some
people build the compiler by doing a `make check-flang`. In this case,
the clang compiler which is required by the test will not be built.

Here's an example of a C++ program that shows the problem:
```
  extern "C" {
  #include "ISO_Fortran_binding.h"
  }
  int main() {
    return 0;
  }
```


  Commit: 7789fb6604e5319ae46896285a264920015f8771
      https://github.com/llvm/llvm-project/commit/7789fb6604e5319ae46896285a264920015f8771
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/sleep.h

  Log Message:
  -----------
  [libc][NFC] Move 'sleep_briefly' function to common header (#83074)

Summary:
The https://github.com/llvm/llvm-project/pull/83026 patch has another
use for this function. Additionally add support for the Arm instruction
barrier if this is ever used by other targets.


  Commit: 23f895f6567e0a4cef45cfc9d96d817a454b6e8f
      https://github.com/llvm/llvm-project/commit/23f895f6567e0a4cef45cfc9d96d817a454b6e8f
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/single-byte-counters.cpp
    M compiler-rt/lib/profile/InstrProfiling.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  [InstrProf] Single byte counters in coverage (#75425)

This patch inserts 1-byte counters instead of an 8-byte counters into
llvm profiles for source-based code coverage. The origial idea was
proposed as block-cov for PGO, and this patch repurposes that idea for
coverage: https://groups.google.com/g/llvm-dev/c/r03Z6JoN7d4

The current 8-byte counters mechanism add counters to minimal regions,
and infer the counters in the remaining regions via adding or
subtracting counters. For example, it infers the counter in the if.else
region by subtracting the counters between if.entry and if.then regions
in an if statement. Whenever there is a control-flow merge, it adds the
counters from all the incoming regions. However, we are not going to be
able to infer counters by subtracting two execution counts when using
single-byte counters. Therefore, this patch conservatively inserts
additional counters for the cases where we need to add or subtract
counters.

RFC:
https://discourse.llvm.org/t/rfc-single-byte-counters-for-source-based-code-coverage/75685


  Commit: 3d2a918831e7bcf1285641ee446ac1640819819f
      https://github.com/llvm/llvm-project/commit/3d2a918831e7bcf1285641ee446ac1640819819f
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/test/Frontend/fixed_point_declarations.c

  Log Message:
  -----------
  [clang] Fixes inf loop parsing fixed point literal (#83071)

Clang was incorrectly finding the start of the exponent in a fixed point
hex literal. It would unconditionally find the first `e/E/p/P` in a
constant regardless of if it were hex or not and parser the remaining
digits as an APInt. In a debug build, this would be caught by an
assertion, but in a release build, the assertion is removed and we'd end
up in an infinite loop.

Fixes #83050


  Commit: 54cff50791dec977feb0badb74919d97dff5b859
      https://github.com/llvm/llvm-project/commit/54cff50791dec977feb0badb74919d97dff5b859
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/tbaa-struct.cpp

  Log Message:
  -----------
  [TBAA] Add !tbaa.struct test with unnamed bitfields.

Extra tests with unnamed bitfields for
https://github.com/llvm/llvm-project/pull/82922.


  Commit: cda413087c59ed5da46ca83e8a2e07c0ebd2e3f9
      https://github.com/llvm/llvm-project/commit/cda413087c59ed5da46ca83e8a2e07c0ebd2e3f9
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [scudo] Do not unmap the memory containing the this object in unmapRingBuffer (#83034)


  Commit: 0339ce06c1813cebf03aea931256901101e28ba5
      https://github.com/llvm/llvm-project/commit/0339ce06c1813cebf03aea931256901101e28ba5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp

  Log Message:
  -----------
  [NFC][flang] Removed unused constexpr var.


  Commit: dc5dfc102ffc3b870f7565fb4a90d53b31ec92f8
      https://github.com/llvm/llvm-project/commit/dc5dfc102ffc3b870f7565fb4a90d53b31ec92f8
  Author: nikitalita <69168929+nikitalita at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M lldb/bindings/interface/SBTargetExtensions.i

  Log Message:
  -----------
  [lldb] python-bindings: fix `SBTarget.get_target_watchpoints()` (#82295)

Fixes erroneous usage of `bkpts` instead of `watchpoints` (probably
introduced from copying and pasting `get_target_bkpts()`).


  Commit: 056d62be38c5db3d8332ac300c4ff29214126697
      https://github.com/llvm/llvm-project/commit/056d62be38c5db3d8332ac300c4ff29214126697
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_common.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp

  Log Message:
  -----------
  Revert "[scudo] Store more blocks in each TransferBatch" (#83078)

Reverts llvm/llvm-project#70390

There's a bug caught by
`ScudoCombinedTestReallocateInPlaceStress_DefaultConfig.ReallocateInPlaceStress`
with gwp asan. It's an easy fix but given that this is a major change, I
would like to revert it first


  Commit: 371e6d0f24dd02b7c8a115c07e74954e448570f6
      https://github.com/llvm/llvm-project/commit/371e6d0f24dd02b7c8a115c07e74954e448570f6
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.h

  Log Message:
  -----------
  [NFC][hwasan] Do not include sanitizer_placement_new.h in header files (#82993)

Do not include sanitizer_placement_new.h into header files, only into
source files.


  Commit: 56d58295dd492b8e8a011fa60798d9be4f36ec3c
      https://github.com/llvm/llvm-project/commit/56d58295dd492b8e8a011fa60798d9be4f36ec3c
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse] Introduce batch level format. (#83082)


  Commit: 62d0c01c2c9adce67f2e1adb9feecd7ba1a97814
      https://github.com/llvm/llvm-project/commit/62d0c01c2c9adce67f2e1adb9feecd7ba1a97814
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/RISCV/rvv/strided-vpload-vpstore-output.ll

  Log Message:
  -----------
  [SelectionDAG] Remove pointer from MMO for VP strided load/store. (#82667)

MachineIR alias analysis assumes that only bytes after the pointer will
be accessed. This is incorrect if the stride is negative.

This is causing miscompiles in our downstream after SLP started making
strided loads.

Fixes #82657


  Commit: ded4ea975241539ba8358bc018c506953b0e6813
      https://github.com/llvm/llvm-project/commit/ded4ea975241539ba8358bc018c506953b0e6813
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/stdfix.rst
    M libc/spec/stdc_ext.td
    M libc/src/__support/fixed_point/CMakeLists.txt
    A libc/src/__support/fixed_point/sqrt.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/sqrtuhk.cpp
    A libc/src/stdfix/sqrtuhk.h
    A libc/src/stdfix/sqrtuhr.cpp
    A libc/src/stdfix/sqrtuhr.h
    A libc/src/stdfix/sqrtuk.cpp
    A libc/src/stdfix/sqrtuk.h
    A libc/src/stdfix/sqrtulr.cpp
    A libc/src/stdfix/sqrtulr.h
    A libc/src/stdfix/sqrtur.cpp
    A libc/src/stdfix/sqrtur.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/SqrtTest.h
    A libc/test/src/stdfix/sqrtuhk_test.cpp
    A libc/test/src/stdfix/sqrtuhr_test.cpp
    A libc/test/src/stdfix/sqrtuk_test.cpp
    A libc/test/src/stdfix/sqrtulr_test.cpp
    A libc/test/src/stdfix/sqrtur_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Add sqrt for fixed point types. (#83042)


  Commit: 5e4c4365f89b7b31ee3868114dd0f6c5d483e42b
      https://github.com/llvm/llvm-project/commit/5e4c4365f89b7b31ee3868114dd0f6c5d483e42b
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp

  Log Message:
  -----------
  [APINotes] Fix a few accidental refactoring artifacts

This fixes a few breakages introduced during upstreaming.


  Commit: 91791c60bd7d1783d84e2e6ed87e5f957fbaee56
      https://github.com/llvm/llvm-project/commit/91791c60bd7d1783d84e2e6ed87e5f957fbaee56
  Author: vporpo <vporpodas at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/DeadStoreElimination/read-clobber-skipped.ll

  Log Message:
  -----------
  [DSE] Test precommit for a bug caused by a read-clobber being skipped. (#83084)


  Commit: b1d2e8510b58893e58558ffdf3f8ba29c1e25e5a
      https://github.com/llvm/llvm-project/commit/b1d2e8510b58893e58558ffdf3f8ba29c1e25e5a
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    R llvm/test/Transforms/DeadStoreElimination/read-clobber-skipped.ll

  Log Message:
  -----------
  Revert "[DSE] Test precommit for a bug caused by a read-clobber being skipped. (#83084)"

This reverts commit 91791c60bd7d1783d84e2e6ed87e5f957fbaee56.


  Commit: 3892e8e59ce4b85fc191a273106d7342f74d5d68
      https://github.com/llvm/llvm-project/commit/3892e8e59ce4b85fc191a273106d7342f74d5d68
  Author: MalaySanghiIntel <148750629+MalaySanghiIntel at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenInstruction.h

  Log Message:
  -----------
  Non functional change. Initialize var EnumVal to 0. (#82987)

CodeGenInstruction has a new unsigned member EnumVal. It is not
initialized in either the class or the constructor.


  Commit: 86f6caa562255f81b93e72a501a926b17f5ad244
      https://github.com/llvm/llvm-project/commit/86f6caa562255f81b93e72a501a926b17f5ad244
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Support/Program.h
    M llvm/lib/Support/Program.cpp
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/Windows/Program.inc
    M llvm/unittests/Support/ProgramTest.cpp

  Log Message:
  -----------
  [llvm][Support] Add support for executing a detached process (#81708)

Adds a new parameter, `bool DetachProcess` with a default option of
`false`, to `llvm::sys::ExecuteNoWait`, which, when set to `true`,
executes the specified program without a controlling terminal.

Functionality added so that the module build daemon can be run without a
controlling terminal.


  Commit: c11627c2f4d550613a3cb360c89a0cf52d2eb720
      https://github.com/llvm/llvm-project/commit/c11627c2f4d550613a3cb360c89a0cf52d2eb720
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/erase-dangling-constants.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix memory explosion when converting global variable bodies in ModuleTranslation (#82708)

There is memory explosion when converting the body or initializer region
of a large global variable, e.g. a constant array.

For example, when translating a constant array of 100000 strings:

llvm.mlir.global internal constant @cats_strings() {addr_space = 0 :
i32, alignment = 16 : i64} : !llvm.array<100000 x ptr<i8>> {
    %0 = llvm.mlir.undef : !llvm.array<100000 x ptr<i8>>
    %1 = llvm.mlir.addressof @om_1 : !llvm.ptr<array<1 x i8>>
%2 = llvm.getelementptr %1[0, 0] : (!llvm.ptr<array<1 x i8>>) ->
!llvm.ptr<i8>
    %3 = llvm.insertvalue %2, %0[0] : !llvm.array<100000 x ptr<i8>>
    %4 = llvm.mlir.addressof @om_2 : !llvm.ptr<array<1 x i8>>
%5 = llvm.getelementptr %4[0, 0] : (!llvm.ptr<array<1 x i8>>) ->
!llvm.ptr<i8>
    %6 = llvm.insertvalue %5, %3[1] : !llvm.array<100000 x ptr<i8>>
    %7 = llvm.mlir.addressof @om_3 : !llvm.ptr<array<1 x i8>>
%8 = llvm.getelementptr %7[0, 0] : (!llvm.ptr<array<1 x i8>>) ->
!llvm.ptr<i8>
    %9 = llvm.insertvalue %8, %6[2] : !llvm.array<100000 x ptr<i8>>
    %10 = llvm.mlir.addressof @om_4 : !llvm.ptr<array<1 x i8>>
%11 = llvm.getelementptr %10[0, 0] : (!llvm.ptr<array<1 x i8>>) ->
!llvm.ptr<i8>
    %12 = llvm.insertvalue %11, %9[3] : !llvm.array<100000 x ptr<i8>>

    ... (ignore the remaining part)
}

where @om_1, @om_2, ... are string global constants.

Each time an operation is converted to LLVM, a new constant is created.
When it comes to llvm.insertvalue, a new constant array of 100000
elements is created and the old constant array (input) is not destroyed.
This causes memory explosion. We observed that, on a system with 128 GB
memory, the translation of 100000 elements got killed due to using up
all the memory. On a system with 64 GB, 65536 elements was enough to
cause the translation killed.

There is a previous patch (https://reviews.llvm.org/D148487) which fix
this issue but was reverted for
https://github.com/llvm/llvm-project/issues/62802

The old patch checks generated constants and destroyed them if there is
no use. But the check of use for the constant is too early, which cause
the constant be removed before use.


This new patch added a map was added a map to save expected use count
for a constant. Then decrease when reach each use.
And only erase the constant when the use count reach to zero

With new patch, the repro in
https://github.com/llvm/llvm-project/issues/62802 finished correctly.


  Commit: b791a51730f145308f3607d0d33038af78138304
      https://github.com/llvm/llvm-project/commit/b791a51730f145308f3607d0d33038af78138304
  Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
    A llvm/test/TableGen/ReadAdvanceInvalidWrite.td
    M llvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [CodeGenSchedule] Don't allow invalid ReadAdvances to be formed (#82685)

Forming a `ReadAdvance` with an entry in the `ValidWrites` list that is
not used by any instruction results in the entire `ReadAdvance` to be
ignored by the scheduler due to an invalid entry.

The `SchedRW` collection code only picks up `SchedWrites` that are
reachable from `Instructions`, `InstRW`, `ItinRW` and `SchedAlias`,
leaving the unreachable ones with an invalid entry (0) in
`SubtargetEmitter::GenSchedClassTables` when going through the list of
`ReadAdvances`


  Commit: 2e564840e08d28fec9035aacc7a2d28106ed8606
      https://github.com/llvm/llvm-project/commit/2e564840e08d28fec9035aacc7a2d28106ed8606
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use getVectorIdxConstant in RISCVISelLowering.cpp. NFC (#83019)

We use getVectorIdxConstant() in some places and getConstant(XLenVT) or
getIntPtrConstant() in others, but getVectorIdxTy() == getPointerTy() ==
XLenVT.

This refactors RISCVISelLowering to use the former for nodes that use
getVectorIdxTy(), i.e. INSERT_SUBVECTOR, EXTRACT_SUBVECTOR,
INSERT_VECTOR_ELT and EXTRACT_VECTOR_ELT, so that we're consistent.


  Commit: ef7417fbc597eab1adbad4abc6ecdb2e62319513
      https://github.com/llvm/llvm-project/commit/ef7417fbc597eab1adbad4abc6ecdb2e62319513
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp

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

mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1050:11:
error: variable 'numConstantsHit' set but not used [-Werror,-Wunused-but-set-variable]
      int numConstantsHit = 0;
          ^
mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1051:11:
error: variable 'numConstantsErased' set but not used [-Werror,-Wunused-but-set-variable]
      int numConstantsErased = 0;
          ^
2 errors generated.


  Commit: f410f74cd5b26319b5796e0404c6a0f3b5cc00a5
      https://github.com/llvm/llvm-project/commit/f410f74cd5b26319b5796e0404c6a0f3b5cc00a5
  Author: cpsughrue <cpsughrue at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Support/Program.h
    M llvm/lib/Support/Program.cpp
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/Windows/Program.inc
    M llvm/unittests/Support/ProgramTest.cpp

  Log Message:
  -----------
  Revert "[llvm][Support] Add support for executing a detached process (#81708)"

This reverts commit 86f6caa562255f81b93e72a501a926b17f5ad244. Unit test
was failing on a few windows build bots


  Commit: b2a4f64e19247d0553d3dc63af62b652664c3cd6
      https://github.com/llvm/llvm-project/commit/b2a4f64e19247d0553d3dc63af62b652664c3cd6
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp

  Log Message:
  -----------
  [clang-format][NFC] Skip ObjCHeaderStyleGuesser for empty code (#82957)


  Commit: e7900e695e7dfb36be8651d914a31f42a5d6c634
      https://github.com/llvm/llvm-project/commit/e7900e695e7dfb36be8651d914a31f42a5d6c634
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constrained-fp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2darraymsaa.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.3d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.g16.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.g16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-propagation.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-sgpr-no-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/agpr-to-agpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/blender-coalescer-verifier-error-empty-subrange.mir
    M llvm/test/CodeGen/AMDGPU/block-should-not-be-in-alive-blocks.mir
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/coalesce-identity-copies-undef-subregs.mir
    M llvm/test/CodeGen/AMDGPU/coalesce-into-dead-subreg-copies.mir
    M llvm/test/CodeGen/AMDGPU/coalesce-liveout-undef-copy.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-remat-dead-use.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-removepartial-extend-undef-subrange.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-prune-kill-copy.mir
    M llvm/test/CodeGen/AMDGPU/coalescing-subreg-was-undef-but-became-def.mir
    M llvm/test/CodeGen/AMDGPU/coalescing_makes_lanes_undef.mir
    M llvm/test/CodeGen/AMDGPU/collapse-endcf2.mir
    M llvm/test/CodeGen/AMDGPU/combine-sreg64-inits.mir
    M llvm/test/CodeGen/AMDGPU/commute-vop3.mir
    M llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
    M llvm/test/CodeGen/AMDGPU/couldnt-join-subrange-3.mir
    M llvm/test/CodeGen/AMDGPU/dbg-value-ends-sched-region.mir
    M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
    M llvm/test/CodeGen/AMDGPU/debug-value-scheduler-crash.mir
    M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
    M llvm/test/CodeGen/AMDGPU/fdiv-nofpexcept.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/greedy-instruction-split-subrange.mir
    M llvm/test/CodeGen/AMDGPU/gws-hazards.mir
    M llvm/test/CodeGen/AMDGPU/high-bits-zeroed-16-bit-ops.mir
    M llvm/test/CodeGen/AMDGPU/liveout-implicit-def-subreg-redef-blender-verifier-error.mir
    M llvm/test/CodeGen/AMDGPU/loop_header_nopred.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/machine-sink-ignorable-exec-use.mir
    M llvm/test/CodeGen/AMDGPU/merge-s-load.mir
    M llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
    M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-lshlrev.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
    M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
    M llvm/test/CodeGen/AMDGPU/no-remat-indirect-mov.mir
    M llvm/test/CodeGen/AMDGPU/opt-exec-masking-pre-ra-update-liveness-wave32.mir
    M llvm/test/CodeGen/AMDGPU/opt-exec-masking-pre-ra-update-liveness.mir
    M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-loop-phi.mir
    M llvm/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
    M llvm/test/CodeGen/AMDGPU/partial-forwarding-hazards.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-partial-agpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/regalloc-fast-dont-drop-subreg-index-issue61134.mir
    M llvm/test/CodeGen/AMDGPU/regcoalesce-cannot-join-failures.mir
    M llvm/test/CodeGen/AMDGPU/regcoalesce-keep-valid-lanes-implicit-def-bug39602.mir
    M llvm/test/CodeGen/AMDGPU/regcoalescer-resolve-lane-conflict-by-subranges.mir
    M llvm/test/CodeGen/AMDGPU/remat-dead-subreg.mir
    M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
    M llvm/test/CodeGen/AMDGPU/sched-assert-onlydbg-value-empty-region.mir
    M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
    M llvm/test/CodeGen/AMDGPU/schedule-barrier-fpmode.mir
    M llvm/test/CodeGen/AMDGPU/schedule-barrier.mir
    M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
    M llvm/test/CodeGen/AMDGPU/shrink-instructions-flags.mir
    M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
    M llvm/test/CodeGen/AMDGPU/si-fold-aligned-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-empty-live-interval.mir
    M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
    M llvm/test/CodeGen/AMDGPU/split-mbb-lis-subrange.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
    M llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
    M llvm/test/CodeGen/AMDGPU/trans-forwarding-hazards.mir
    M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
    M llvm/test/CodeGen/AMDGPU/twoaddr-constrain.ll
    M llvm/test/CodeGen/AMDGPU/twoaddr-regsequence.mir
    M llvm/test/CodeGen/AMDGPU/undef-subreg-use-after-coalesce.mir
    M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-remat.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-vinterp.mir
    M llvm/test/CodeGen/AMDGPU/wqm-terminators.mir

  Log Message:
  -----------
  AMDGPU: Regenerate baseline mir tests


  Commit: f0663772463335bed253491fa380e1a9c2d78484
      https://github.com/llvm/llvm-project/commit/f0663772463335bed253491fa380e1a9c2d78484
  Author: cmtice <cmtice at google.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp

  Log Message:
  -----------
  [LLVM][DWARF] Make dwarf::getDebugNamesBucketCount return a pair. (#83047)

llvm::dwarf::getDebugNamesBucketCount directly returns the bucket count,
via return statement, but it also returns the hash count via a
parameter. This changes the function to return them both as a std::pair,
in the return statement. It also changes the name of the function to
make it clear it returns both values.


  Commit: c88beb4112d5bbf07d76a615ab7f13ba2ba023e6
      https://github.com/llvm/llvm-project/commit/c88beb4112d5bbf07d76a615ab7f13ba2ba023e6
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h
    A clang/test/CodeGen/Mips/inline-asm-constraints.c
    A clang/test/Sema/inline-asm-validate-mips.c
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    A llvm/test/CodeGen/Mips/inlineasm-constraints-softfloat.ll

  Log Message:
  -----------
  MIPS: Fix asm constraints "f" and "r" for softfloat (#79116)

This include 2 fixes:
        1. Disallow 'f' for softfloat.
        2. Allow 'r' for softfloat.

Currently, 'f' is accpeted by clang, then LLVM meets an internal error.

'r' is rejected by LLVM by: couldn't allocate input reg for constraint
'r'.

Fixes: #64241, #63632

---------

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: c19a81931ce47278967056927aa87a7685e5447c
      https://github.com/llvm/llvm-project/commit/c19a81931ce47278967056927aa87a7685e5447c
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libcxx/modules/std/atomic.inc

  Log Message:
  -----------
  [libc++] protect absent atomic types with ifdef (#82351)

Otherwise modules.std-module.sh.cpp test fails with following error:
    error: no member named 'atomic_signed_lock_free' in namespace 'std'
when the types are not available.


  Commit: 0ed61db6fdf683f8def06e6a6d206d02b821cd81
      https://github.com/llvm/llvm-project/commit/0ed61db6fdf683f8def06e6a6d206d02b821cd81
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [MC/DC] Refactor: Isolate the final result out of TestVector (#82282)

To reduce conditional judges in the loop in `findIndependencePairs()`, I
have tried a couple of tweaks.

* Isolate the final result in `TestVectors`

`using TestVectors = llvm::SmallVector<std::pair<TestVector,
CondState>>;`
The final result was just piggybacked on `TestVector`, so it has been
isolated.

* Filter out and sort `ExecVectors` by the final result

It will cost more in constructing `ExecVectors`, but it can reduce at
least one conditional judgement in the loop.


  Commit: ed1aabef1da1b074b71ad523978ea836d6e7d2e7
      https://github.com/llvm/llvm-project/commit/ed1aabef1da1b074b71ad523978ea836d6e7d2e7
  Author: mahesh-attarde <145317060+mahesh-attarde at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp

  Log Message:
  -----------
  remove expensive copy of options passed (#82577)

Codegen option is passed copy by value which 138 bytes of copy and used
as read-only. Making pass by const reference.


  Commit: d7c80bba698bded48c1df4b4bb7424a181aa6195
      https://github.com/llvm/llvm-project/commit/d7c80bba698bded48c1df4b4bb7424a181aa6195
  Author: leecheechen <chenli at loongson.cn>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lasx/intrinsic-permi.ll

  Log Message:
  -----------
  [llvm][LoongArch] Improve loongarch_lasx_xvpermi_q instrinsic (#82984)

For instruction xvpermi.q, only [1:0] and [5:4] bits of operands[3] are
used. The unused bits in operands[3] need to be set to 0 to avoid
causing undefined behavior.


  Commit: 512a8a78a7f3bffc41cd7c00788eb099519f4625
      https://github.com/llvm/llvm-project/commit/512a8a78a7f3bffc41cd7c00788eb099519f4625
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [MC/DC] Introduce `class TestVector` with a pair of `BitVector` (#82174)

This replaces `SmallVector<CondState>` and emulates it.

- -------- True  False DontCare
- Values:  True  False False
- Visited: True  True  False

`findIndependencePairs()` can be optimized with logical ops.

FIXME: Specialize `findIndependencePairs()` for the single word.


  Commit: 575bf33a27307e1ff2713f239b81ac5329b40096
      https://github.com/llvm/llvm-project/commit/575bf33a27307e1ff2713f239b81ac5329b40096
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Remove XFAIL for load-store-128-bit-tile

https://gitlab.com/qemu-project/qemu/-/issues/1833 was fixed by
https://gitlab.com/qemu-project/qemu/-/commit/4b3520fd93cd49cc56dfcab45d90735cc2e35af7
which was included in v8.1.1.

The buildbot is now using v8.1.3 so the test is passing.

https://lab.llvm.org/buildbot/#/builders/179/builds/9468


  Commit: aaec22ffbc9fb0a3b12957166ebf35a7bb2c31e0
      https://github.com/llvm/llvm-project/commit/aaec22ffbc9fb0a3b12957166ebf35a7bb2c31e0
  Author: martinboehme <mboehme at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h

  Log Message:
  -----------
  [clang][dataflow] Remove deprecated `ValueModel::merge()` function. (#82602)

I'm not aware of any remaining overrides of this function.

While I'm here, change an outdated comment in DataflowAnalysis.h that
still
referred to `merge()`. I've made the comment more general, referring
simply to
`ValueModel`, as we shouldn't really be repeating the documentation of
that
class here anyway.


  Commit: 4e9fe860d2dd462e514586a3b90ad373dc07b797
      https://github.com/llvm/llvm-project/commit/4e9fe860d2dd462e514586a3b90ad373dc07b797
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/ConstraintElimination/sext-signed-predicates.ll
    A llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
    R llvm/test/Transforms/ConstraintElimination/sext.ll

  Log Message:
  -----------
  [ConstraintElim] Add additional sext tests with unsigned predicates.


  Commit: a1bbba06eabc5ddf533e611d15fddcfd0a8e79db
      https://github.com/llvm/llvm-project/commit/a1bbba06eabc5ddf533e611d15fddcfd0a8e79db
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/TestNonStop.py

  Log Message:
  -----------
  [lldb][test][Windows] Fix NonStop tests on case insensitive file systems

On a case insensitive file sytem, the build dir for `test_multiple_c` and
`test_multiple_C` are the same and therefore the log files are in the same
place. This means one tries to clear the log file for the other.

To fix this, make the names unique by adding the meaning of each
protocol packet.

https://sourceware.org/gdb/current/onlinedocs/gdb.html/Packets.html#Packets


  Commit: e421c12e47e2912d685dafeb8289b7118ad8b2e1
      https://github.com/llvm/llvm-project/commit/e421c12e47e2912d685dafeb8289b7118ad8b2e1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll

  Log Message:
  -----------
  [VPlan] Remove left-over CHECK-NOT line.

This removes a  CHECK-NOT: vector.body line from the test which seems to
imply the test does not get vectorized, but it does now.

This line was left over from when the test was pre-committed, remove it.


  Commit: 288d317fff42b46151b132ca2bdc4b0ca6d28d6f
      https://github.com/llvm/llvm-project/commit/288d317fff42b46151b132ca2bdc4b0ca6d28d6f
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  [mlir][complex] Support Fastmath flag in conversion of complex.div to standard (#82729)

Support Fastmath flag to convert `complex.div` to standard dialects. 

See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981


  Commit: 9796b0e9f91bc8ff00d2616fa3656e1ca848c05c
      https://github.com/llvm/llvm-project/commit/9796b0e9f91bc8ff00d2616fa3656e1ca848c05c
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/test/CodeGen/SPIRV/freeze.ll

  Log Message:
  -----------
  Add support for the 'freeze' instruction (#82979)

This PR is to add support for the 'freeze' instruction:
https://llvm.org/docs/LangRef.html#freeze-instruction

There is no way to implement `freeze` correctly without support on
SPIR-V standard side, but we may at least address a simple (static) case
when undef/poison value presence is obvious. The main benefit of even
incomplete `freeze` support is preventing of translation from crashing
due to lack of support on legalization and instruction selection steps.


  Commit: ada70f50a5591839d0c81a167ca64ce98ab2d088
      https://github.com/llvm/llvm-project/commit/ada70f50a5591839d0c81a167ca64ce98ab2d088
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll

  Log Message:
  -----------
  [SPIR-V]: add SPIR-V extension: SPV_INTEL_variable_length_array (#83002)

This PR adds SPIR-V extension SPV_INTEL_variable_length_array that
allows to allocate local arrays whose number of elements is unknown at
compile time:
* add a new SPIR-V internal intrinsic:int_spv_alloca_array
* legalize G_STACKSAVE and G_STACKRESTORE
* implement allocation of arrays (previously getArraySize() of
AllocaInst was not used)
* add tests


  Commit: aa436493ab7ad4cf323b0189c15c59ac9dc293c7
      https://github.com/llvm/llvm-project/commit/aa436493ab7ad4cf323b0189c15c59ac9dc293c7
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    A llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
    M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
    M llvm/test/Transforms/LoopRotate/dbgvalue.ll
    M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
    M llvm/test/Transforms/ObjCARC/ensure-that-exception-unwind-path-is-visited.ll
    M llvm/test/Transforms/SROA/dbg-inline.ll

  Log Message:
  -----------
  Reapply "[RemoveDIs] Print non-intrinsic debug info in textual IR output (#79281)"

Fixes the prior issue in which the symbol for a cl-arg was unavailable to
some binaries.

This reverts commit dc06d75ab27b4dcae2940fc386fadd06f70faffe.


  Commit: d128448efdd4e2bf3c9bc9a5b43ae642aa78026f
      https://github.com/llvm/llvm-project/commit/d128448efdd4e2bf3c9bc9a5b43ae642aa78026f
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
    M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
    M llvm/test/Transforms/LoopRotate/dbgvalue.ll
    M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
    M llvm/test/Transforms/ObjCARC/ensure-that-exception-unwind-path-is-visited.ll
    M llvm/test/Transforms/SROA/dbg-inline.ll

  Log Message:
  -----------
  Revert "Reapply "[RemoveDIs] Print non-intrinsic debug info in textual IR output (#79281)""

Reverted due to some test failures on some buildbots.

https://lab.llvm.org/buildbot/#/builders/67/builds/14669

This reverts commit aa436493ab7ad4cf323b0189c15c59ac9dc293c7.


  Commit: 2c9b6c1b36b8185299de083c3058e0c1e7760442
      https://github.com/llvm/llvm-project/commit/2c9b6c1b36b8185299de083c3058e0c1e7760442
  Author: Dhruv Chawla (work) <dhruvc at nvidia.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Improve codegen for G_VECREDUCE_{SMIN,SMAX,UMIN,UMAX} for odd-sized vectors (#82740)

i8 vectors do not have their sizes changed as I noticed regressions in
some tests when that was done.

This patch also adds support for most G_VECREDUCE_* operations to
moreElementsVector in LegalizerHelper.cpp.

The code for getting the "neutral" element is taken almost exactly as it
is in SelectionDAG, with the exception that support for
G_VECREDUCE_{FMAXIMUM,FMINIMUM} was not added.

The code for SelectionDAG is located at
SelectionDAG::getNeutralELement().


  Commit: ca0560d8c821fa93e34cf84362fd523b546ba426
      https://github.com/llvm/llvm-project/commit/ca0560d8c821fa93e34cf84362fd523b546ba426
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s

  Log Message:
  -----------
  [AMDGPU] Add new aliases ds_subrev_u32/u64 for ds_rsub_u32/u64 (#83118)

Note that the instructions have not been renamed and that there are no
corresponding aliases for ds_rsub_rtn_u32/u64. This matches SP3
behavior.


  Commit: d273a1970e3703cc33ef70382a89e9075287d403
      https://github.com/llvm/llvm-project/commit/d273a1970e3703cc33ef70382a89e9075287d403
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vflat_alias.s

  Log Message:
  -----------
  [AMDGPU] Shorten mnemonic alias tests (#83121)

Only test one example of each alias. Do not test error cases which are
already tested in the normal (non-alias) tests.


  Commit: 56ad6d19397c4286fa412f5070fd1a563b6c43e4
      https://github.com/llvm/llvm-project/commit/56ad6d19397c4286fa412f5070fd1a563b6c43e4
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineLoopInfo.h
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    A llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll

  Log Message:
  -----------
  [MachineLICM] Hoist COPY instruction only when user can be hoisted (#81735)

befa925acac8fd6a9266e introduced preliminary hoisting of COPY
instructions when the user of the COPY is inside the same loop. That
optimization appeared to be too aggressive and hoisted too many COPY's
greatly increasing register pressure causing performance regressions for
AMDGPU target.

This is intended to fix the regression by hoisting COPY instruction only
if either:
 - User of COPY can be hoisted (other args are invariant) 
 or
 - Hoisting COPY doesn't bring high register pressure


  Commit: 2e4643a53e8877d6a237b18cb2ad3f814899881f
      https://github.com/llvm/llvm-project/commit/2e4643a53e8877d6a237b18cb2ad3f814899881f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll

  Log Message:
  -----------
  AMDGPU: Regenerate baseline test checks


  Commit: ca66f7469fe71d78586eebe22cd0acab066cf65f
      https://github.com/llvm/llvm-project/commit/ca66f7469fe71d78586eebe22cd0acab066cf65f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.dispatch.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll

  Log Message:
  -----------
  AMDGPU: Merge tests for llvm.amdgcn.dispatch.id


  Commit: a28a7d41ef1a60795719fa3e6e2f7dc3b7fc3d27
      https://github.com/llvm/llvm-project/commit/a28a7d41ef1a60795719fa3e6e2f7dc3b7fc3d27
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Remove leftover comments


  Commit: 19cec9ca1206c4707064cc2fc2344de75dfbd8c9
      https://github.com/llvm/llvm-project/commit/19cec9ca1206c4707064cc2fc2344de75dfbd8c9
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/FormatTestTableGen.cpp

  Log Message:
  -----------
  [clang-format] Add AlignConsecutiveTableGenDefinitions option. (#83008)

To align TableGen consecutive definitions.


  Commit: d6ff986dd276e06c1e290759bc934431ca3ec0f4
      https://github.com/llvm/llvm-project/commit/d6ff986dd276e06c1e290759bc934431ca3ec0f4
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-expand-div.ll
    M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
    M llvm/test/CodeGen/AArch64/sve-hadd.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-knownbits.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
    M llvm/test/CodeGen/AArch64/sve-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-splat-sext.ll
    M llvm/test/CodeGen/AArch64/sve-srem-combine-loop.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-combine-rshrnb.ll

  Log Message:
  -----------
  [LLVM][tests/CodeGen/AArch64] Convert instances of ConstantExpr based splats to use splat().

This is mostly NFC but some output does change due to consistently
inserting into poison rather than undef and using i64 as the index
type for inserts.


  Commit: dbb65dd330cc1696d7ca3dedc7aa9fa12c55a075
      https://github.com/llvm/llvm-project/commit/dbb65dd330cc1696d7ca3dedc7aa9fa12c55a075
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/ctpop-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/pr61561.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63459.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
    M llvm/test/CodeGen/RISCV/rvv/vandn-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vnmsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vror-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll

  Log Message:
  -----------
  [LLVM][tests/CodeGen/RISCV] Convert instances of ConstantExpr based splats to use splat().

This is mostly NFC but some output does change due to consistently
inserting into poison rather than undef and using i64 as the index
type for inserts.


  Commit: fd07b8f809eb64af9b29331ff6b94904b3159f84
      https://github.com/llvm/llvm-project/commit/fd07b8f809eb64af9b29331ff6b94904b3159f84
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/AArch64/VectorUtils_heuristics.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/bitcast.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/intrinsics.ll
    M llvm/test/Transforms/InstCombine/load-store-forward.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [LLVM][tests/Transforms/InstCombine] Convert instances of ConstantExpr based splats to use splat().

This is mostly NFC but some output does change due to consistently
inserting into poison rather than undef and using i64 as the index
type for inserts.


  Commit: 6a17929e9fe5c5558feadfa2dcc95d27b6a720af
      https://github.com/llvm/llvm-project/commit/6a17929e9fe5c5558feadfa2dcc95d27b6a720af
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
    M llvm/test/Transforms/InstSimplify/cmp-vec-fast-path.ll
    M llvm/test/Transforms/InstSimplify/fp-nan.ll
    M llvm/test/Transforms/InstSimplify/shift.ll
    M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/vscale.ll

  Log Message:
  -----------
  [LLVM][tests/Transforms/InstSimplify] Convert instances of ConstantExpr based splats to use splat().

This is mostly NFC but some output does change due to consistently
inserting into poison rather than undef and using i64 as the index
type for inserts.


  Commit: 900bea9b1ce095123c03e5bb8834d8fb168378a8
      https://github.com/llvm/llvm-project/commit/900bea9b1ce095123c03e5bb8834d8fb168378a8
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/ext-rhadd.ll
    M llvm/test/CodeGen/Generic/expand-vp-load-store.ll
    M llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll
    M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
    M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll

  Log Message:
  -----------
  [LLVM][test] Convert remaining instances of ConstantExpr based splats to use splat().

This is mostly NFC but some output does change due to consistently
inserting into poison rather than undef and using i64 as the index
type for inserts.


  Commit: 5ec535b1bda4c87aac951e65cc5b65c910e92579
      https://github.com/llvm/llvm-project/commit/5ec535b1bda4c87aac951e65cc5b65c910e92579
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopk_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vflat_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s

  Log Message:
  -----------
  [AMDGPU] Regenerate mnemonic alias checks (#83130)

Regenerate checks for the full output from the assembler, not just the
encoding bytes, to make it obvious that the alias has been mapped to a
different mnemonic.


  Commit: f2bb6c4415954535b32780cd5fb48411ebe0042c
      https://github.com/llvm/llvm-project/commit/f2bb6c4415954535b32780cd5fb48411ebe0042c
  Author: Natalie Chouinard <sudonatalie at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl

  Log Message:
  -----------
  [NFC][HLSL] Fix broken test (#83062)

Noticed while implementing #82536 that this test was also missing the
call the FileCheck.


  Commit: 2e39b57837aa1790b3ee078fa532bb1748a609c7
      https://github.com/llvm/llvm-project/commit/2e39b57837aa1790b3ee078fa532bb1748a609c7
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    A llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll

  Log Message:
  -----------
  Reapply "[RemoveDIs] Print non-intrinsic debug info in textual IR output (#79281)"

This reapplication changes debug intrinsic declaration removal to only take
place when printing final IR, so that the processing format of the Module
does not affect the output.

This reverts commit d128448efdd4e2bf3c9bc9a5b43ae642aa78026f.


  Commit: 8c2ae42b3e1c6aa7c18f873edcebff7c0b45a37e
      https://github.com/llvm/llvm-project/commit/8c2ae42b3e1c6aa7c18f873edcebff7c0b45a37e
  Author: Kupa-Martin <84517188+Kupa-Martin at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/builtins-elementwise-math.c
    A clang/test/Sema/warn-compare-enum-types-mismatch.c
    R clang/test/Sema/warn-conditional-emum-types-mismatch.c
    A clang/test/Sema/warn-conditional-enum-types-mismatch.c
    M clang/test/Sema/warn-overlap.c

  Log Message:
  -----------
  [Clang][Sema] Fix missing warning when comparing mismatched enums in … (#81418)

…C mode

Factored logic from `CheckImplicitConversion` into new methods
`Expr::getEnumConstantDecl` and `Expr::getEnumCoercedType` for use in
`checkEnumArithmeticConversions`.

Fix #29217


  Commit: 13c359aa9b5eae0715494505d989cfc8ed1d39cf
      https://github.com/llvm/llvm-project/commit/13c359aa9b5eae0715494505d989cfc8ed1d39cf
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/extract-concat.ll
    M llvm/test/CodeGen/X86/vec_anyext.ll
    M llvm/test/CodeGen/X86/vec_cast.ll

  Log Message:
  -----------
  [X86] ReplaceNodeResults - truncate sub-128-bit vectors as shuffles directly (#83120)

We were scalarizing these truncations, but in most cases we can widen the source vector to 128-bits and perform the truncation as a shuffle directly (which will usually lower as a PACK or PSHUFB).

For the cases where the widening and shuffle isn't legal we can leave it to generic legalization to scalarize for us.

Fixes #81883


  Commit: b3ae6c205e4afcf1a9f7d7204a659a27ca700237
      https://github.com/llvm/llvm-project/commit/b3ae6c205e4afcf1a9f7d7204a659a27ca700237
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/split-debug.c

  Log Message:
  -----------
  [CLANG][DWARF] Do not emit -ggnu-pubnames for split dwarf version 5. (#82840)

When -gsplit-dwarf is passed in clang emmmits -ggnu-pubnames which
results in
.debug_gnu_pubnames/..debug_gnu_pubtypes being generated.
This is used by GDB, but not by LLDB.
Changed so that these sections are not emitted for LLDB tuning.


  Commit: 04db60d15069494f4effad7a1001965904b36e6f
      https://github.com/llvm/llvm-project/commit/04db60d15069494f4effad7a1001965904b36e6f
  Author: choikwa <5455710+choikwa at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    A llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir

  Log Message:
  -----------
  [AMDGPU] Prevent hang in SIFoldOperands by caching uses (#82099)

foldOperands() for REG_SEQUENCE has recursion that can trigger an infinite loop
as the method can modify the operand order, which messes up the range-based
for loop. This patch fixes the issue by caching the uses for processing beforehand,
and then iterating over the cache rather using the instruction iterator.


  Commit: 70e61f5bbbb0958bebedffb1be285fdefb0e2f0a
      https://github.com/llvm/llvm-project/commit/70e61f5bbbb0958bebedffb1be285fdefb0e2f0a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td

  Log Message:
  -----------
  [clang][Interp][NFC] Rename InitPtr{,Pop} to FinishInit{,Pop}

The old name clashes with the Init opcode.


  Commit: 48bc9022b49cc452bd871c4942e5a059d226c9eb
      https://github.com/llvm/llvm-project/commit/48bc9022b49cc452bd871c4942e5a059d226c9eb
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll

  Log Message:
  -----------
  [MemProf] Fix the stack updating handling of pruned contexts (#81322)

Fix a bug in the handling of cases where a callsite's stack ids
partially overlap with the pruned context during matching of
calls to the graph contructed from the profiled contexts. This fix makes
the code match the comments.


  Commit: 822142ffdfbe93f213c2c6b3f2aec7fe5f0af072
      https://github.com/llvm/llvm-project/commit/822142ffdfbe93f213c2c6b3f2aec7fe5f0af072
  Author: Joachim <jenke at itc.rwth-aachen.de>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M openmp/libompd/src/CMakeLists.txt
    M openmp/libompd/src/omp-icv.cpp
    M openmp/runtime/src/kmp.h

  Log Message:
  -----------
  [OpenMP][OMPD] libompd must not link libomp (#83119)

Fixes a regression introduced in 91ccd8248.
The code for libompd includes kmp.h for enum kmp_sched. The dependency
to hwloc is not necessary. Avoid the dependency by skipping the
definitions in kmp.h using types from hwloc.h.

Fixes #80750


  Commit: 55783bd0f9cfc30aa93c718919dab5419d86a2c6
      https://github.com/llvm/llvm-project/commit/55783bd0f9cfc30aa93c718919dab5419d86a2c6
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [HIP] fix host min/max in header (#82956)

CUDA defines min/max functions for host in global namespace.
HIP header needs to define them too to be compatible.
Currently only min/max(int, int) is defined. This causes
wrong result for arguments that are out of range for int.
This patch defines host min/max functions to be compatible
with CUDA.

Also allows users to define
`__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__` to disable
host max/min in global namespace.

min/max functions with mixed signed/unsigned integer
parameters are not defined unless
`__HIP_DEFINE_MIXED_HOST_MIN_MAX__` is defined.

Fixes: SWDEV-446564


  Commit: d612d593eff4af7976250023bbff34d2c10f7526
      https://github.com/llvm/llvm-project/commit/d612d593eff4af7976250023bbff34d2c10f7526
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Fix local lvalue compound literals

Same fix we had for global ones: leave a pointer on the stack.


  Commit: 4cba5957e6ffdbeb44174d32da892ad09b3eed88
      https://github.com/llvm/llvm-project/commit/4cba5957e6ffdbeb44174d32da892ad09b3eed88
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir

  Log Message:
  -----------
  [mlir][ROCDL] Set the LLVM data layout when lowering to ROCDL LLVM (#74501)

In order to ensure operations lower correctly (especially
memref.addrspacecast, which relies on the data layout benig set
correctly then dealing with dynamic memrefs) and to prevent compilation
issues later down the line, set the `llvm.data_layout` attribute on GPU
modules when lowering their contents to a ROCDL / AMDGPU target.

If there's a good way to test the embedded string to prevent it from
going out of sync with the LLVM TargetMachine, I'd appreciate hearing
about it. (Or, alternatively, if there's a place I could farctor the
string out to).


  Commit: b70f42a430723e00d76cc99d348e4f2fec221cf1
      https://github.com/llvm/llvm-project/commit/b70f42a430723e00d76cc99d348e4f2fec221cf1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    A clang/test/AST/Interp/spaceship.cpp

  Log Message:
  -----------
  [clang][Interp] Handle PseudoObjectExprs

Evaluate all the semantic expressions.


  Commit: 8b56d9ef4d946f772e6b7a8d508f34b586f684a0
      https://github.com/llvm/llvm-project/commit/8b56d9ef4d946f772e6b7a8d508f34b586f684a0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/tools/llvm-objcopy/CommonOpts.td
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td

  Log Message:
  -----------
  [llvm-objcopy] Improve help messages (#82830)

https://reviews.llvm.org/D63820 added
llvm/docs/CommandGuide/llvm-objcopy.rst with clearer semantics, e.g.

```
Read a list of names from the file <filename> and mark defined symbols with those names as global in the output

instead of the help message
Read a list of symbols from <filename> and marks them global" (omits "defined")

Rename sections called <old> to <new> in the output

instead of the help message
Rename a section from old to new (multiple sections may be named <old>
```

Sync the help messages to incorporate the CommandGuide improvement.

While here, switch to the conventional imperative sentences for a few
options. Additionally, mark some options as grp_coff or grp_macho.


  Commit: 8a87f763a6841832e71bcd24dea45eac8d2dbee1
      https://github.com/llvm/llvm-project/commit/8a87f763a6841832e71bcd24dea45eac8d2dbee1
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  Aim debugserver workaround more precisely. (#83099)


  Commit: b98e6a5ced8328fdefa9a519ae98052a29462e23
      https://github.com/llvm/llvm-project/commit/b98e6a5ced8328fdefa9a519ae98052a29462e23
  Author: Elvina Yakubova <elvinayakubova at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/AArch64/exclusive-instrument.s

  Log Message:
  -----------
  [BOLT][AArch64] Skip BBs only instead of functions (#81989)

After [this
](https://github.com/llvm/llvm-project/commit/846eb76761c858cbfc75700bf68445e0e3ade48e)
commit we noticed that the size of fdata file decreased a lot. That's
why the better and more precise way will be to skip basic blocks with
exclusive instructions only instead of the whole function


  Commit: 183b6b56f2602ea171502f9f2843c2c1caca2919
      https://github.com/llvm/llvm-project/commit/183b6b56f2602ea171502f9f2843c2c1caca2919
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/test/AST/Interp/cxx20.cpp

  Log Message:
  -----------
  [clang][Interp] Ignore unnamed bitfields when checking init

Unnamed bitfields need to be ignored here.


  Commit: ed35ad18ae7b5e61c24b63c22028ee0d1ba10e19
      https://github.com/llvm/llvm-project/commit/ed35ad18ae7b5e61c24b63c22028ee0d1ba10e19
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [RemoveDIs][DebugInfo] Add DPValue checks to the verifier, prepare DPValue for parsing support (#79810)

As part of the RemoveDIs project, this patch adds support for checking
DPValues in the verifier. Although this is not strictly parsing-related,
and we currently automatically convert back to the old debug info format
immediately after parsing, we are approaching the point where the we can
operate end-to-end in the new debug info format, at which point it is
appropriate that we can actually validate modules in the new format.
This patch also contains some changes that aren't strictly
parsing-related, but are necessary class refactors for parsing support,
and are used in the verifier checks (i.e. changing the DILocalVariable
field to be a tracking MD reference, and adding a Verifier check to
confirm that it is a DILocalVariable).


  Commit: a6b4e29c77ceb49e16bda38cfc4eddc2c4c76c0b
      https://github.com/llvm/llvm-project/commit/a6b4e29c77ceb49e16bda38cfc4eddc2c4c76c0b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/test/src/math/smoke/CMakeLists.txt

  Log Message:
  -----------
  [libc] Re-enable several GPU math smoke tests (#83147)

Summary:
These were originally disabled after some changes caused them to
regress. It seems that whatever broke them the first time a few months
ago has been fixed elsewhere and they now work again. Re-enable all the
ones that work. There are still a few that we need to look into, but
this is a good start.


  Commit: c1c2c928f935ba142e4ee7804dd3ff0ebf0ce4c7
      https://github.com/llvm/llvm-project/commit/c1c2c928f935ba142e4ee7804dd3ff0ebf0ce4c7
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf

  Log Message:
  -----------
  [flang][cuda][NFC] Add test for attributes on procedure (#83044)

Similar to #82844. Test that CUDA attributes on procedure are correctly
imported.


  Commit: b50bcc7ffb6ad6caa4c141a22915ab59f725b7ae
      https://github.com/llvm/llvm-project/commit/b50bcc7ffb6ad6caa4c141a22915ab59f725b7ae
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libcxx/modules/modules.json.in

  Log Message:
  -----------
  [libc++][modules] Fixes naming inconsistency. (#83036)

The modules used is-standard-library and is-std-library. The latter is
the name used in the SG15 proposal,

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


  Commit: aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c
      https://github.com/llvm/llvm-project/commit/aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/config/gpu/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/docs/math/index.rst
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    A libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbl.cpp
    A libc/src/math/generic/llogb.cpp
    A libc/src/math/generic/llogbf.cpp
    A libc/src/math/generic/llogbf128.cpp
    A libc/src/math/generic/llogbl.cpp
    M libc/src/math/generic/logbf.cpp
    A libc/src/math/generic/logbf128.cpp
    A libc/src/math/ilogbf128.h
    A libc/src/math/llogb.h
    A libc/src/math/llogbf.h
    A libc/src/math/llogbf128.h
    A libc/src/math/llogbl.h
    A libc/src/math/logbf128.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ilogb_test.cpp
    A libc/test/src/math/smoke/ilogbf128_test.cpp
    M libc/test/src/math/smoke/ilogbf_test.cpp
    M libc/test/src/math/smoke/ilogbl_test.cpp
    A libc/test/src/math/smoke/llogb_test.cpp
    A libc/test/src/math/smoke/llogbf128_test.cpp
    A libc/test/src/math/smoke/llogbf_test.cpp
    A libc/test/src/math/smoke/llogbl_test.cpp
    A libc/test/src/math/smoke/logbf128_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add C23 math functions ilogbf128, logbf128, and llogb(f|l|f128). (#82144)


  Commit: d29261074cd18383f4d3c84e740c66de738cb61f
      https://github.com/llvm/llvm-project/commit/d29261074cd18383f4d3c84e740c66de738cb61f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/src/math/CMakeLists.txt
    A libc/src/math/amdgpu/CMakeLists.txt
    A libc/src/math/amdgpu/acos.cpp
    A libc/src/math/amdgpu/acosf.cpp
    A libc/src/math/amdgpu/acosh.cpp
    A libc/src/math/amdgpu/acoshf.cpp
    A libc/src/math/amdgpu/asin.cpp
    A libc/src/math/amdgpu/asinf.cpp
    A libc/src/math/amdgpu/asinh.cpp
    A libc/src/math/amdgpu/asinhf.cpp
    A libc/src/math/amdgpu/atan.cpp
    A libc/src/math/amdgpu/atan2.cpp
    A libc/src/math/amdgpu/atan2f.cpp
    A libc/src/math/amdgpu/atanf.cpp
    A libc/src/math/amdgpu/atanh.cpp
    A libc/src/math/amdgpu/atanhf.cpp
    A libc/src/math/amdgpu/ceil.cpp
    A libc/src/math/amdgpu/ceilf.cpp
    A libc/src/math/amdgpu/copysign.cpp
    A libc/src/math/amdgpu/copysignf.cpp
    A libc/src/math/amdgpu/cos.cpp
    A libc/src/math/amdgpu/cosf.cpp
    A libc/src/math/amdgpu/cosh.cpp
    A libc/src/math/amdgpu/coshf.cpp
    A libc/src/math/amdgpu/declarations.h
    A libc/src/math/amdgpu/erf.cpp
    A libc/src/math/amdgpu/erff.cpp
    A libc/src/math/amdgpu/exp.cpp
    A libc/src/math/amdgpu/exp10.cpp
    A libc/src/math/amdgpu/exp10f.cpp
    A libc/src/math/amdgpu/exp2.cpp
    A libc/src/math/amdgpu/exp2f.cpp
    A libc/src/math/amdgpu/expf.cpp
    A libc/src/math/amdgpu/expm1.cpp
    A libc/src/math/amdgpu/expm1f.cpp
    A libc/src/math/amdgpu/fabs.cpp
    A libc/src/math/amdgpu/fabsf.cpp
    A libc/src/math/amdgpu/fdim.cpp
    A libc/src/math/amdgpu/fdimf.cpp
    A libc/src/math/amdgpu/floor.cpp
    A libc/src/math/amdgpu/floorf.cpp
    A libc/src/math/amdgpu/fma.cpp
    A libc/src/math/amdgpu/fmaf.cpp
    A libc/src/math/amdgpu/fmax.cpp
    A libc/src/math/amdgpu/fmaxf.cpp
    A libc/src/math/amdgpu/fmin.cpp
    A libc/src/math/amdgpu/fminf.cpp
    A libc/src/math/amdgpu/fmod.cpp
    A libc/src/math/amdgpu/fmodf.cpp
    A libc/src/math/amdgpu/frexp.cpp
    A libc/src/math/amdgpu/frexpf.cpp
    A libc/src/math/amdgpu/hypot.cpp
    A libc/src/math/amdgpu/hypotf.cpp
    A libc/src/math/amdgpu/ilogb.cpp
    A libc/src/math/amdgpu/ilogbf.cpp
    A libc/src/math/amdgpu/ldexp.cpp
    A libc/src/math/amdgpu/ldexpf.cpp
    A libc/src/math/amdgpu/llrint.cpp
    A libc/src/math/amdgpu/llrintf.cpp
    A libc/src/math/amdgpu/llround.cpp
    A libc/src/math/amdgpu/llroundf.cpp
    A libc/src/math/amdgpu/log.cpp
    A libc/src/math/amdgpu/log10.cpp
    A libc/src/math/amdgpu/log10f.cpp
    A libc/src/math/amdgpu/log1p.cpp
    A libc/src/math/amdgpu/log1pf.cpp
    A libc/src/math/amdgpu/log2.cpp
    A libc/src/math/amdgpu/log2f.cpp
    A libc/src/math/amdgpu/logb.cpp
    A libc/src/math/amdgpu/logbf.cpp
    A libc/src/math/amdgpu/logf.cpp
    A libc/src/math/amdgpu/lrint.cpp
    A libc/src/math/amdgpu/lrintf.cpp
    A libc/src/math/amdgpu/lround.cpp
    A libc/src/math/amdgpu/lroundf.cpp
    A libc/src/math/amdgpu/modf.cpp
    A libc/src/math/amdgpu/modff.cpp
    A libc/src/math/amdgpu/nearbyint.cpp
    A libc/src/math/amdgpu/nearbyintf.cpp
    A libc/src/math/amdgpu/nextafter.cpp
    A libc/src/math/amdgpu/nextafterf.cpp
    A libc/src/math/amdgpu/platform.h
    A libc/src/math/amdgpu/pow.cpp
    A libc/src/math/amdgpu/powf.cpp
    A libc/src/math/amdgpu/remainder.cpp
    A libc/src/math/amdgpu/remainderf.cpp
    A libc/src/math/amdgpu/remquo.cpp
    A libc/src/math/amdgpu/remquof.cpp
    A libc/src/math/amdgpu/rint.cpp
    A libc/src/math/amdgpu/rintf.cpp
    A libc/src/math/amdgpu/round.cpp
    A libc/src/math/amdgpu/roundf.cpp
    A libc/src/math/amdgpu/scalbn.cpp
    A libc/src/math/amdgpu/scalbnf.cpp
    A libc/src/math/amdgpu/sin.cpp
    A libc/src/math/amdgpu/sincos.cpp
    A libc/src/math/amdgpu/sincosf.cpp
    A libc/src/math/amdgpu/sinf.cpp
    A libc/src/math/amdgpu/sinh.cpp
    A libc/src/math/amdgpu/sinhf.cpp
    A libc/src/math/amdgpu/sqrt.cpp
    A libc/src/math/amdgpu/sqrtf.cpp
    A libc/src/math/amdgpu/tan.cpp
    A libc/src/math/amdgpu/tanf.cpp
    A libc/src/math/amdgpu/tanh.cpp
    A libc/src/math/amdgpu/tanhf.cpp
    A libc/src/math/amdgpu/tgamma.cpp
    A libc/src/math/amdgpu/tgammaf.cpp
    A libc/src/math/amdgpu/trunc.cpp
    A libc/src/math/amdgpu/truncf.cpp
    R libc/src/math/gpu/CMakeLists.txt
    R libc/src/math/gpu/ceil.cpp
    R libc/src/math/gpu/ceilf.cpp
    R libc/src/math/gpu/copysign.cpp
    R libc/src/math/gpu/copysignf.cpp
    R libc/src/math/gpu/fabs.cpp
    R libc/src/math/gpu/fabsf.cpp
    R libc/src/math/gpu/floor.cpp
    R libc/src/math/gpu/floorf.cpp
    R libc/src/math/gpu/fma.cpp
    R libc/src/math/gpu/fmaf.cpp
    R libc/src/math/gpu/fmax.cpp
    R libc/src/math/gpu/fmaxf.cpp
    R libc/src/math/gpu/fmin.cpp
    R libc/src/math/gpu/fminf.cpp
    R libc/src/math/gpu/fmod.cpp
    R libc/src/math/gpu/fmodf.cpp
    R libc/src/math/gpu/llround.cpp
    R libc/src/math/gpu/llroundf.cpp
    R libc/src/math/gpu/lround.cpp
    R libc/src/math/gpu/lroundf.cpp
    R libc/src/math/gpu/modf.cpp
    R libc/src/math/gpu/modff.cpp
    R libc/src/math/gpu/nearbyint.cpp
    R libc/src/math/gpu/nearbyintf.cpp
    R libc/src/math/gpu/remainder.cpp
    R libc/src/math/gpu/remainderf.cpp
    R libc/src/math/gpu/rint.cpp
    R libc/src/math/gpu/rintf.cpp
    R libc/src/math/gpu/round.cpp
    R libc/src/math/gpu/roundf.cpp
    R libc/src/math/gpu/sinh.cpp
    R libc/src/math/gpu/sqrt.cpp
    R libc/src/math/gpu/sqrtf.cpp
    R libc/src/math/gpu/tan.cpp
    R libc/src/math/gpu/tanh.cpp
    R libc/src/math/gpu/trunc.cpp
    R libc/src/math/gpu/truncf.cpp
    R libc/src/math/gpu/vendor/CMakeLists.txt
    R libc/src/math/gpu/vendor/acos.cpp
    R libc/src/math/gpu/vendor/acosf.cpp
    R libc/src/math/gpu/vendor/acosh.cpp
    R libc/src/math/gpu/vendor/acoshf.cpp
    R libc/src/math/gpu/vendor/amdgpu/amdgpu.h
    R libc/src/math/gpu/vendor/amdgpu/declarations.h
    R libc/src/math/gpu/vendor/amdgpu/platform.h
    R libc/src/math/gpu/vendor/asin.cpp
    R libc/src/math/gpu/vendor/asinf.cpp
    R libc/src/math/gpu/vendor/asinh.cpp
    R libc/src/math/gpu/vendor/asinhf.cpp
    R libc/src/math/gpu/vendor/atan.cpp
    R libc/src/math/gpu/vendor/atan2.cpp
    R libc/src/math/gpu/vendor/atan2f.cpp
    R libc/src/math/gpu/vendor/atanf.cpp
    R libc/src/math/gpu/vendor/atanh.cpp
    R libc/src/math/gpu/vendor/atanhf.cpp
    R libc/src/math/gpu/vendor/common.h
    R libc/src/math/gpu/vendor/cos.cpp
    R libc/src/math/gpu/vendor/cosf.cpp
    R libc/src/math/gpu/vendor/cosh.cpp
    R libc/src/math/gpu/vendor/coshf.cpp
    R libc/src/math/gpu/vendor/erf.cpp
    R libc/src/math/gpu/vendor/erff.cpp
    R libc/src/math/gpu/vendor/exp.cpp
    R libc/src/math/gpu/vendor/exp10.cpp
    R libc/src/math/gpu/vendor/exp10f.cpp
    R libc/src/math/gpu/vendor/exp2.cpp
    R libc/src/math/gpu/vendor/exp2f.cpp
    R libc/src/math/gpu/vendor/expf.cpp
    R libc/src/math/gpu/vendor/expm1.cpp
    R libc/src/math/gpu/vendor/expm1f.cpp
    R libc/src/math/gpu/vendor/fdim.cpp
    R libc/src/math/gpu/vendor/fdimf.cpp
    R libc/src/math/gpu/vendor/frexp.cpp
    R libc/src/math/gpu/vendor/frexpf.cpp
    R libc/src/math/gpu/vendor/hypot.cpp
    R libc/src/math/gpu/vendor/hypotf.cpp
    R libc/src/math/gpu/vendor/ilogb.cpp
    R libc/src/math/gpu/vendor/ilogbf.cpp
    R libc/src/math/gpu/vendor/ldexp.cpp
    R libc/src/math/gpu/vendor/ldexpf.cpp
    R libc/src/math/gpu/vendor/llrint.cpp
    R libc/src/math/gpu/vendor/llrintf.cpp
    R libc/src/math/gpu/vendor/log.cpp
    R libc/src/math/gpu/vendor/log10.cpp
    R libc/src/math/gpu/vendor/log10f.cpp
    R libc/src/math/gpu/vendor/log1p.cpp
    R libc/src/math/gpu/vendor/log1pf.cpp
    R libc/src/math/gpu/vendor/log2.cpp
    R libc/src/math/gpu/vendor/log2f.cpp
    R libc/src/math/gpu/vendor/logb.cpp
    R libc/src/math/gpu/vendor/logbf.cpp
    R libc/src/math/gpu/vendor/logf.cpp
    R libc/src/math/gpu/vendor/lrint.cpp
    R libc/src/math/gpu/vendor/lrintf.cpp
    R libc/src/math/gpu/vendor/nextafter.cpp
    R libc/src/math/gpu/vendor/nextafterf.cpp
    R libc/src/math/gpu/vendor/nvptx/declarations.h
    R libc/src/math/gpu/vendor/nvptx/nvptx.h
    R libc/src/math/gpu/vendor/pow.cpp
    R libc/src/math/gpu/vendor/powf.cpp
    R libc/src/math/gpu/vendor/remquo.cpp
    R libc/src/math/gpu/vendor/remquof.cpp
    R libc/src/math/gpu/vendor/scalbn.cpp
    R libc/src/math/gpu/vendor/scalbnf.cpp
    R libc/src/math/gpu/vendor/sin.cpp
    R libc/src/math/gpu/vendor/sincos.cpp
    R libc/src/math/gpu/vendor/sincosf.cpp
    R libc/src/math/gpu/vendor/sinf.cpp
    R libc/src/math/gpu/vendor/sinh.cpp
    R libc/src/math/gpu/vendor/sinhf.cpp
    R libc/src/math/gpu/vendor/tan.cpp
    R libc/src/math/gpu/vendor/tanf.cpp
    R libc/src/math/gpu/vendor/tanh.cpp
    R libc/src/math/gpu/vendor/tanhf.cpp
    R libc/src/math/gpu/vendor/tgamma.cpp
    R libc/src/math/gpu/vendor/tgammaf.cpp
    A libc/src/math/nvptx/CMakeLists.txt
    A libc/src/math/nvptx/acos.cpp
    A libc/src/math/nvptx/acosf.cpp
    A libc/src/math/nvptx/acosh.cpp
    A libc/src/math/nvptx/acoshf.cpp
    A libc/src/math/nvptx/asin.cpp
    A libc/src/math/nvptx/asinf.cpp
    A libc/src/math/nvptx/asinh.cpp
    A libc/src/math/nvptx/asinhf.cpp
    A libc/src/math/nvptx/atan.cpp
    A libc/src/math/nvptx/atan2.cpp
    A libc/src/math/nvptx/atan2f.cpp
    A libc/src/math/nvptx/atanf.cpp
    A libc/src/math/nvptx/atanh.cpp
    A libc/src/math/nvptx/atanhf.cpp
    A libc/src/math/nvptx/ceil.cpp
    A libc/src/math/nvptx/ceilf.cpp
    A libc/src/math/nvptx/copysign.cpp
    A libc/src/math/nvptx/copysignf.cpp
    A libc/src/math/nvptx/cos.cpp
    A libc/src/math/nvptx/cosf.cpp
    A libc/src/math/nvptx/cosh.cpp
    A libc/src/math/nvptx/coshf.cpp
    A libc/src/math/nvptx/declarations.h
    A libc/src/math/nvptx/erf.cpp
    A libc/src/math/nvptx/erff.cpp
    A libc/src/math/nvptx/exp.cpp
    A libc/src/math/nvptx/exp10.cpp
    A libc/src/math/nvptx/exp10f.cpp
    A libc/src/math/nvptx/exp2.cpp
    A libc/src/math/nvptx/exp2f.cpp
    A libc/src/math/nvptx/expf.cpp
    A libc/src/math/nvptx/expm1.cpp
    A libc/src/math/nvptx/expm1f.cpp
    A libc/src/math/nvptx/fabs.cpp
    A libc/src/math/nvptx/fabsf.cpp
    A libc/src/math/nvptx/fdim.cpp
    A libc/src/math/nvptx/fdimf.cpp
    A libc/src/math/nvptx/floor.cpp
    A libc/src/math/nvptx/floorf.cpp
    A libc/src/math/nvptx/fma.cpp
    A libc/src/math/nvptx/fmaf.cpp
    A libc/src/math/nvptx/fmax.cpp
    A libc/src/math/nvptx/fmaxf.cpp
    A libc/src/math/nvptx/fmin.cpp
    A libc/src/math/nvptx/fminf.cpp
    A libc/src/math/nvptx/fmod.cpp
    A libc/src/math/nvptx/fmodf.cpp
    A libc/src/math/nvptx/frexp.cpp
    A libc/src/math/nvptx/frexpf.cpp
    A libc/src/math/nvptx/hypot.cpp
    A libc/src/math/nvptx/hypotf.cpp
    A libc/src/math/nvptx/ilogb.cpp
    A libc/src/math/nvptx/ilogbf.cpp
    A libc/src/math/nvptx/ldexp.cpp
    A libc/src/math/nvptx/ldexpf.cpp
    A libc/src/math/nvptx/llrint.cpp
    A libc/src/math/nvptx/llrintf.cpp
    A libc/src/math/nvptx/llround.cpp
    A libc/src/math/nvptx/llroundf.cpp
    A libc/src/math/nvptx/log.cpp
    A libc/src/math/nvptx/log10.cpp
    A libc/src/math/nvptx/log10f.cpp
    A libc/src/math/nvptx/log1p.cpp
    A libc/src/math/nvptx/log1pf.cpp
    A libc/src/math/nvptx/log2.cpp
    A libc/src/math/nvptx/log2f.cpp
    A libc/src/math/nvptx/logb.cpp
    A libc/src/math/nvptx/logbf.cpp
    A libc/src/math/nvptx/logf.cpp
    A libc/src/math/nvptx/lrint.cpp
    A libc/src/math/nvptx/lrintf.cpp
    A libc/src/math/nvptx/lround.cpp
    A libc/src/math/nvptx/lroundf.cpp
    A libc/src/math/nvptx/modf.cpp
    A libc/src/math/nvptx/modff.cpp
    A libc/src/math/nvptx/nearbyint.cpp
    A libc/src/math/nvptx/nearbyintf.cpp
    A libc/src/math/nvptx/nextafter.cpp
    A libc/src/math/nvptx/nextafterf.cpp
    A libc/src/math/nvptx/nvptx.h
    A libc/src/math/nvptx/pow.cpp
    A libc/src/math/nvptx/powf.cpp
    A libc/src/math/nvptx/remainder.cpp
    A libc/src/math/nvptx/remainderf.cpp
    A libc/src/math/nvptx/remquo.cpp
    A libc/src/math/nvptx/remquof.cpp
    A libc/src/math/nvptx/rint.cpp
    A libc/src/math/nvptx/rintf.cpp
    A libc/src/math/nvptx/round.cpp
    A libc/src/math/nvptx/roundf.cpp
    A libc/src/math/nvptx/scalbn.cpp
    A libc/src/math/nvptx/scalbnf.cpp
    A libc/src/math/nvptx/sin.cpp
    A libc/src/math/nvptx/sincos.cpp
    A libc/src/math/nvptx/sincosf.cpp
    A libc/src/math/nvptx/sinf.cpp
    A libc/src/math/nvptx/sinh.cpp
    A libc/src/math/nvptx/sinhf.cpp
    A libc/src/math/nvptx/sqrt.cpp
    A libc/src/math/nvptx/sqrtf.cpp
    A libc/src/math/nvptx/tan.cpp
    A libc/src/math/nvptx/tanf.cpp
    A libc/src/math/nvptx/tanh.cpp
    A libc/src/math/nvptx/tanhf.cpp
    A libc/src/math/nvptx/tgamma.cpp
    A libc/src/math/nvptx/tgammaf.cpp
    A libc/src/math/nvptx/trunc.cpp
    A libc/src/math/nvptx/truncf.cpp

  Log Message:
  -----------
  [libc] Clean up GPU math implementations (#83133)

Summary:
The math directory likes to do architecture specific implementations of
these math functions. For the GPU case it was complicated by the fact
that both NVPTX and AMDGPU had to go through the same code paths. Since
reworking the GPU target this is no longer the case and we can simply
use the same scheme. This patch moves all the old code into two separate
directories. This likely results in a net increase in code, but it's
easier to reason with.


  Commit: ae94354721d546eb20fc64384bfdaeb87a08564d
      https://github.com/llvm/llvm-project/commit/ae94354721d546eb20fc64384bfdaeb87a08564d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LLVM][LangRef] Remove bogus ':' from vector constant text.


  Commit: 9d9c01243038487402c366787f749349b76473ba
      https://github.com/llvm/llvm-project/commit/9d9c01243038487402c366787f749349b76473ba
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M flang/runtime/Float128Math/CMakeLists.txt
    M flang/runtime/Float128Math/math-entries.h

  Log Message:
  -----------
  [flang][runtime] Added F128 wrappers for LDBL_MANT_DIG == 113 targets. (#83102)

We can use 'long double' variants of the math functions in this case.
I used the callees from STD namespace, except for the Bessel's
functions.
The new code can be enabled with -DFLANG_RUNTIME_F128_MATH_LIB=libm.
Support for complex data types is pending.


  Commit: c95febcb4008c40a2b514bd6e2b56e0aa17457a3
      https://github.com/llvm/llvm-project/commit/c95febcb4008c40a2b514bd6e2b56e0aa17457a3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [X86] LowerBITREVERSE - add handling for all legal 128/256/512-bit vector types, not just vXi8

Move the BITREVERSE(BSWAP(X)) expansion into LowerBITREVERSE to help simplify #81764


  Commit: f7cf1f6236ee299d65c2b33429c1d3b729f54c32
      https://github.com/llvm/llvm-project/commit/f7cf1f6236ee299d65c2b33429c1d3b729f54c32
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
    M llvm/lib/CodeGen/MachineScheduler.cpp

  Log Message:
  -----------
  [CodeGen][MISched] dumpSched direction depends on field in DAG.

This is a precommit to supporting post reg-alloc bottom up scheduling.
We'd like to have post-ra scheduling direction that can be different from
pre-ra direction. The current dumpSchedule function is changed in this
patch to support the fact that the post-ra and pre-ra directions will
depend on different command line options.


  Commit: 9106b58ce4e8dada167eec50178a9e154342e4ba
      https://github.com/llvm/llvm-project/commit/9106b58ce4e8dada167eec50178a9e154342e4ba
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    A llvm/test/CodeGen/RISCV/misched-postra-direction.mir

  Log Message:
  -----------
  [CodeGen][MISched] Add misched post-regalloc bottom-up scheduling

There is the possibility that the bottom-up direction will lead to
performance improvements on certain targets, as this is certainly the case for
the pre-regalloc GenericScheduler. This patch will give people the
opportunity to experiment for their sub-targets. However, this patch
keeps the top-down approach as the default for the PostGenericScheduler
since that is what subtargets expect today.


  Commit: 770694539bde0f1b706c70d87dd70777c94f178f
      https://github.com/llvm/llvm-project/commit/770694539bde0f1b706c70d87dd70777c94f178f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/src/math/amdgpu/fmax.cpp
    M libc/src/math/amdgpu/fmaxf.cpp
    M libc/src/math/amdgpu/fmin.cpp
    M libc/src/math/amdgpu/fminf.cpp
    M libc/src/math/nvptx/fmax.cpp
    M libc/src/math/nvptx/fmaxf.cpp
    M libc/src/math/nvptx/fmin.cpp
    M libc/src/math/nvptx/fminf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt

  Log Message:
  -----------
  [libc] Work around incorrect fmin/fmax results for +/-x (#83158)

Summary:
The IEEE 754 standard as of the 2019 revision states that for fmin -0.0
is always less than 0.0 and for fmax 0.0 is always greater than 0.0.
These are currently not respected by the builtin value and thus cause
the tests to fail. This patch works around it in the implementation for
now by explicitly modifying the sign bit.


  Commit: f4fad827ca2060ebf31b7e26b5ff6604bd18015b
      https://github.com/llvm/llvm-project/commit/f4fad827ca2060ebf31b7e26b5ff6604bd18015b
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/test/Target/LLVMIR/erase-dangling-constants.mlir

  Log Message:
  -----------
  [NFC] Add REQUIRES: asserts to limit the test to debug only. (#83145)


  Commit: 335ac4108dda907e152ac22e03b53c30860157a8
      https://github.com/llvm/llvm-project/commit/335ac4108dda907e152ac22e03b53c30860157a8
  Author: DeanSturtevant1 <dsturtevant at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/allow-shlib-undefined.s
    M lld/test/ELF/unresolved-symbols.s
    M lld/test/ELF/wrap-shlib-undefined.s

  Log Message:
  -----------
  Improve readability of "undefined reference" message (#82671)

The current message implies a command line flag caused an undefined
reference. This of course is wrong and causes confusion. The message now
more accurately reflects the true state of affairs.


  Commit: 12df1cfdd130d8d2648881b62061153a2732bee4
      https://github.com/llvm/llvm-project/commit/12df1cfdd130d8d2648881b62061153a2732bee4
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h

  Log Message:
  -----------
  [LLVM] Remove bogus whitespace from AArch64TargetParser.h


  Commit: 0ef66fcc858cc8abb978d83d48b3e7a8b23742c9
      https://github.com/llvm/llvm-project/commit/0ef66fcc858cc8abb978d83d48b3e7a8b23742c9
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/Options.h
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

  Log Message:
  -----------
  [lldb] Use CreateOptionParsingError in CommandObjectBreakpoint (#83086)

This updates the remaining SetOptionValue methods in
CommandObjectBreakpoint to use CreateOptionParsingError.

I found a few minor bugs that were fixed during this refactor (e.g.
using the wrong flag in an error message). That is one of the benefits
of centralizing error message creation.

I also found some option parsing code that is written incorrectly. I do
not make an attempt to update those here because this PR is primarily
about changing existing error handling code, not adding new error
handling code.


  Commit: abc693fb4051dfb3a49ba2dcdbc2d164c53f2a51
      https://github.com/llvm/llvm-project/commit/abc693fb4051dfb3a49ba2dcdbc2d164c53f2a51
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll

  Log Message:
  -----------
  [AArch64] Skip over shadow space for ARM64EC entry thunk variadic calls (#80994)

When in an entry thunk the x64 SP is passed in x4 but this cannot be
directly passed through since x64 varargs calls have a 32 byte shadow
store at SP followed by the in-stack parameters. ARM64EC varargs calls
on the other hand expect x4 to point to the first in-stack parameter.


  Commit: 2d704f4bf2edb0f9343dac818ab4d29442be9968
      https://github.com/llvm/llvm-project/commit/2d704f4bf2edb0f9343dac818ab4d29442be9968
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/source/Commands/CommandObjectApropos.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Commands/CommandObjectLog.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectPlugin.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectQuit.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Commands/CommandObjectSettings.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectThreadUtil.cpp
    M lldb/source/Commands/CommandObjectTrace.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  Start to clean up the process of defining command arguments. (#83097)

Partly, there's just a lot of unnecessary boiler plate. It's also
possible to define combinations of arguments that make no sense (e.g.
eArgRepeatPlus followed by eArgRepeatPlain...) but these are never
checked since we just push_back directly into the argument definitions.

This commit is step 1 of this cleanup - do the obvious stuff. In it, all
the simple homogenous argument lists and the breakpoint/watchpoint
ID/Range types, are set with common functions. This is an NFC change, it
just centralizes boiler plate. There's no checking yet because you can't
get a single argument wrong.

The end goal is that all argument definition goes through functions and
m_arguments is hidden so that you can't define inconsistent argument
sets.


  Commit: 7b11e2ec39ae01f53d53250551e207583bd51e80
      https://github.com/llvm/llvm-project/commit/7b11e2ec39ae01f53d53250551e207583bd51e80
  Author: AMS21 <AMS21.github at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp

  Log Message:
  -----------
  [clang-tidy] Fix `cppcoreguidelines-missing-std-forward` false positive for deleted functions (#83055)

Improved check by no longer giving false positives for deleted functions.


  Commit: 563f414e049dc06dcb955f565fcff3c663982ee4
      https://github.com/llvm/llvm-project/commit/563f414e049dc06dcb955f565fcff3c663982ee4
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Set uniform-work-group-size=true by default (#79077)

GPU kernels generated via typical MLIR mechanisms make the assumption
that all workgroups are of uniform size, and so, as in OpenMP, it is
appropriate to set the "uniform-work-group-size"="true" attribute on
these functions by default. This commit makes that choice.

In the event it is needed, this commit adds
`rocdl.uniform_work_group_size` as an attribute to be set on LLVM
functions that can be used to override the default.

In addition, add proper failure messages to translation


  Commit: e427e934f677567f8184ff900cb4cbdb8cf21a21
      https://github.com/llvm/llvm-project/commit/e427e934f677567f8184ff900cb4cbdb8cf21a21
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/tools/lldb-dap/LLDBUtils.cpp

  Log Message:
  -----------
  [lldb][dap] Avoid concurrent `HandleCommand` calls (#83162)

The `EventThreadFunction` can end up calling `HandleCommand`
concurrently with the main request processing thread. The underlying API
does not appear to be thread safe, so add a narrowly scoped mutex lock
to prevent calling it in this place from more than one thread.

Fixes #81686. Prior to this, TestDAP_launch.py is 4% flaky. After, it
passes in 1000 runs.


  Commit: f44c3faccaa4bcc9b8b7739a76a52d328fbb8d91
      https://github.com/llvm/llvm-project/commit/f44c3faccaa4bcc9b8b7739a76a52d328fbb8d91
  Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
    R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
    R llvm/test/CodeGen/Hexagon/post_inc_store.mir
    R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
    R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
    R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir

  Log Message:
  -----------
  Revert "[Hexagon] Optimize post-increment load and stores in loops. (… (#83151)

…#82418)"

This reverts commit d62ca8def395ac165f253fdde1d93725394a4d53.


  Commit: 13fd4bf4e53391aab3cdfd922e9ceb4ad1225d1e
      https://github.com/llvm/llvm-project/commit/13fd4bf4e53391aab3cdfd922e9ceb4ad1225d1e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M llvm/docs/CommandGuide/llvm-ar.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Object/Archive.h
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  [llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (#82888)


  Commit: 8e3b60540c81354b321018a47bf159ca9b52d776
      https://github.com/llvm/llvm-project/commit/8e3b60540c81354b321018a47bf159ca9b52d776
  Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/config/config.json
    M libc/docs/configure.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/fuzzing/stdio/CMakeLists.txt
    A libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter_atlas.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    A libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_config.h
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add fixed point support to printf (#82707)

This patch adds the r, R, k, and K conversion specifiers to printf, with
accompanying tests. They are guarded behind the
LIBC_COPT_PRINTF_DISABLE_FIXED_POINT flag as well as automatic fixed
point support detection.


  Commit: 16e74fd48988ac95551d0f64e1b36f78a82a89a2
      https://github.com/llvm/llvm-project/commit/16e74fd48988ac95551d0f64e1b36f78a82a89a2
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
    M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/test/profile/instrprof-write-buffer-internal.c
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/Instrumentation/InstrProfiling/coverage.ll
    M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/Transforms/PGOProfile/comdat_internal.ll
    M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
    M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
    A llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/tools/llvm-profdata/binary-ids-padding.test
    M llvm/test/tools/llvm-profdata/large-binary-id-size.test
    M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
    M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
    M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
    M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
    M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-two-profiles.test

  Log Message:
  -----------
  Reland "[TypeProf][InstrPGO] Introduce raw and instr profile format change for type profiling." (#82711)

New change on top of [reviewed
patch](https://github.com/llvm/llvm-project/pull/81691) are [in commits
after this
one](https://github.com/llvm/llvm-project/pull/82711/commits/d0757f46b3e3865b5f7c552bc0744309a363e0ac).
Previous commits are restored from the remote branch with timestamps.

1. Fix build breakage for non-ELF platforms, by defining the missing
functions {`__llvm_profile_begin_vtables`, `__llvm_profile_end_vtables`,
`__llvm_profile_begin_vtabnames `, `__llvm_profile_end_vtabnames`}
everywhere.
* Tested on mac laptop (for darwins) and Windows. Specifically,
functions in `InstrProfilingPlatformWindows.c` returns `NULL` to make it
more explicit that type prof isn't supported; see comments for the
reason.
* For the rest (AIX, other), mostly follow existing examples (like this
[one](https://github.com/llvm/llvm-project/commit/f95b2f1acf1171abb0d00089fd4c9238753847e3))
   
2. Rename `__llvm_prf_vtabnames` -> `__llvm_prf_vns` for shorter section
name, and make returned pointers
[const](https://github.com/llvm/llvm-project/pull/82711/commits/a825d2a4ec00f07772a373091a702f149c3b0c34#diff-4de780ce726d76b7abc9d3353aef95013e7b21e7bda01be8940cc6574fb0b5ffR120-R121)

**Original Description**

* Raw profile format
- Header: records the byte size of compressed vtable names, and the
number of profiled vtable entries (call it `VTableProfData`). Header
also records padded bytes of each section.
- Payload: adds a section for compressed vtable names, and a section to
store `VTableProfData`. Both sections are padded so the size is a
multiple of 8.
* Indexed profile format
  - Header: records the byte offset of compressed vtable names.
- Payload: adds a section to store compressed vtable names. This section
is used by `llvm-profdata` to show the list of vtables profiled for an
instrumented site.
  
[The originally reviewed
patch](https://github.com/llvm/llvm-project/pull/66825) will have
profile reader/write change and llvm-profdata change.
- To ensure this PR has all the necessary profile format change along
with profile version bump, created a copy of the originally reviewed
patch in https://github.com/llvm/llvm-project/pull/80761. The copy
doesn't have profile format change, but it has the set of tests which
covers type profile generation, profile read and profile merge. Tests
pass there.
  
rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600

---------

Co-authored-by: modiking <modiking213 at gmail.com>


  Commit: 40ba1f60e9f4b186d71272d4bc23b5af6204244d
      https://github.com/llvm/llvm-project/commit/40ba1f60e9f4b186d71272d4bc23b5af6204244d
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/FormatString.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/FormatString.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    A clang/test/Sema/format-fixed-point.c

  Log Message:
  -----------
  [clang] Update -Wformat warnings for fixed-point format specifiers (#82855)

ISO/IEC TR 18037 defines %r, %R, %k, and %K for fixed point format
specifiers. -Wformat should not warn on these when they are provided.


  Commit: 19181f24e516ce1cb58cd5ba27515eb968ae22d9
      https://github.com/llvm/llvm-project/commit/19181f24e516ce1cb58cd5ba27515eb968ae22d9
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [compiler-rt] Add missing include to sanitizer_stackdepot_test.cpp

Without this change I am seeing build failures due to missing
std::next_permutation since my standard library does implicitly pull
in <algorithm> anymore.


  Commit: 9ca8db352d22444feabd859380252f13826a8aff
      https://github.com/llvm/llvm-project/commit/9ca8db352d22444feabd859380252f13826a8aff
  Author: Micah Weston <micahsweston at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objdump.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Support/BlockFrequency.h
    M llvm/lib/Analysis/BlockFrequencyInfo.cpp
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
    M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
    M llvm/lib/Support/BlockFrequency.cpp
    M llvm/test/tools/llvm-objdump/X86/elf-pgoanalysismap.yaml
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-pgo-analysis-map.test
    M llvm/tools/llvm-objdump/ObjdumpOpts.td
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.h
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp

  Log Message:
  -----------
  [SHT_LLVM_BB_ADDR_MAP] Adds pretty printing of BFI and BPI for PGO Analysis Map in tools. (#82292)

Primary change is to add a flag `--pretty-pgo-analysis-map` to
llvm-readobj and llvm-objdump that prints block frequencies and branch
probabilities in the same manner as BFI and BPI respectively. This can
be helpful if you are manually inspecting the outputs from the tools.

In order to print, I moved the `printBlockFreqImpl` function from
Analysis to Support and renamed it to `printRelativeBlockFreq`.


  Commit: d23ef9ef3685eb42ebf719bc28cfe2e4651932fc
      https://github.com/llvm/llvm-project/commit/d23ef9ef3685eb42ebf719bc28cfe2e4651932fc
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/SemaCXX/gh53815.cpp

  Log Message:
  -----------
  [Clang] [Sema] Handle placeholders in '.*' expressions (#83103)

When analysing whether we should handle a binary expression as an
overloaded operator call or a builtin operator, we were calling
`checkPlaceholderForOverload()`, which takes care of any placeholders
that are not overload sets—which would usually make sense since those
need to be handled as part of overload resolution.

Unfortunately, we were also doing that for `.*`, which is not
overloadable, and then proceeding to create a builtin operator anyway,
which would crash if the RHS happened to be an unresolved overload set
(due hitting an assertion in `CreateBuiltinBinOp()`—specifically, in one
of its callees—in the `.*` case that makes sure its arguments aren’t
placeholders).

This pr instead makes it so we check for *all* placeholders early if the
operator is `.*`.

It’s worth noting that,
1. In the `.*` case, we now additionally also check for *any*
placeholders (not just non-overload-sets) in the LHS; this shouldn’t
make a difference, however—at least I couldn’t think of a way to trigger
the assertion with an overload set as the LHS of `.*`; it is worth
noting that the assertion in question would also complain if the LHS
happened to be of placeholder type, though.
2. There is another case in which we also don’t perform overload
resolution—namely `=` if the LHS is not of class or enumeration type
after handling non-overload-set placeholders—as in the `.*` case, but
similarly to 1., I first couldn’t think of a way of getting this case to
crash, and secondly, `CreateBuiltinBinOp()` doesn’t seem to care about
placeholders in the LHS or RHS in the `=` case (from what I can tell,
it, or rather one of its callees, only checks that the LHS is not a
pseudo-object type, but those will have already been handled by the call
to `checkPlaceholderForOverload()` by the time we get to this function),
so I don’t think this case suffers from the same problem.

This fixes #53815.

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: b3189b13b274a3411f939574aa573a7656bf372b
      https://github.com/llvm/llvm-project/commit/b3189b13b274a3411f939574aa573a7656bf372b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf

  Log Message:
  -----------
  [flang][cuda] CUF kernel loop directive (#82836)

This patch introduces a new operation to represent the CUDA Fortran
kernel loop directive. This operation is modeled as a LoopLikeOp
operation in a similar way to acc.loop.

The CUFKernelDoConstruct parse tree node is also placed correctly in the
PFTBuilder to be available in PFT evaluations.

Lowering from the flang parse-tree to MLIR is also done.


  Commit: f42e321b9fb54300c4450e699cd3cc453e994b58
      https://github.com/llvm/llvm-project/commit/f42e321b9fb54300c4450e699cd3cc453e994b58
  Author: David Green <david.green at arm.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Use FMOVDr for clearing upper bits (#83107)

This adds some tablegen patterns for generating FMOVDr from concat(X,
zeroes), as the FMOV will implicitly zero the upper bits of the
register. An extra AArch64MIPeepholeOpt is needed to make sure we can
remove the FMOV in the same way we would remove the insert code.


  Commit: fd4204464905be198b158a0f30e5c06cc4ce3686
      https://github.com/llvm/llvm-project/commit/fd4204464905be198b158a0f30e5c06cc4ce3686
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/time/CMakeLists.txt

  Log Message:
  -----------
  [libc] Re-Enable GPU tests and fix math exception handling (#83172)

Summary:
A lot of these tests failed previously and were disabled. However we
have fixed some things since then and many of these seem to pass.
Additionally, the last remaining math tests that failed seemed to be due
to the exception handling. For now we just set it to be 'errno'.

These pass locally when tested on a gfx1030, gfx90a, and sm_89
architecture. Hopefully these pass correctly on the sm_60 bot as I've
had things fail on that one only before.


  Commit: a76c524adc57220253b34e166f59ed19634e28f5
      https://github.com/llvm/llvm-project/commit/a76c524adc57220253b34e166f59ed19634e28f5
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

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


  Commit: 0d1f95760b07a31293ccc82086306833326b70a4
      https://github.com/llvm/llvm-project/commit/0d1f95760b07a31293ccc82086306833326b70a4
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir

  Log Message:
  -----------
  [mlir][sparse] support type conversion from batched sparse tensors to… (#83163)

… memrefs.


  Commit: d2a9df2c8ffd21fd52fbd8199a191d10078f41af
      https://github.com/llvm/llvm-project/commit/d2a9df2c8ffd21fd52fbd8199a191d10078f41af
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/test/CodeGen/tbaa-struct.cpp

  Log Message:
  -----------
  [TBAA] Handle bitfields when generating !tbaa.struct metadata. (#82922)

At the moment, clang generates what I believe are incorrect !tbaa.struct
fields for named bitfields. At the moment, the base type size is used
for named bifields (e.g. sizeof(int)) instead of the bifield width per
field. This results in overalpping fields in !tbaa.struct metadata.

This causes incorrect results when extracting individual copied fields
from !tbaa.struct as in added in dc85719d5.

This patch fixes that by skipping by combining adjacent bitfields
in fields with correct sizes.

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


  Commit: 0e0bee26e7f33c065eebef9a674b2f19bb156414
      https://github.com/llvm/llvm-project/commit/0e0bee26e7f33c065eebef9a674b2f19bb156414
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/test/barrier/llvm-issue-80664.c

  Log Message:
  -----------
  [OpenMP] Fix distributed barrier hang for OMP_WAIT_POLICY=passive (#83058)

The resume thread logic inside __kmp_free_team() is faulty. Only
checking b_go for sleep status doesn't wake up distributed barrier.
Change to generic check for th_sleep_loc and calling
__kmp_null_resume_wrapper().

Fixes: #80664


  Commit: e5ed7b6e2fd368b722b6359556cd0125881e7638
      https://github.com/llvm/llvm-project/commit/e5ed7b6e2fd368b722b6359556cd0125881e7638
  Author: rohit-rao <rohitrao at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetOSMacros.def
    M clang/test/Driver/fdefine-target-os-macros.c

  Log Message:
  -----------
  [clang] Extend define-target-os-macros to support XROS. (#82833)

Updates the extension feature `define-target-os-macros` to support the
recently-added XROS target (TARGET_OS_VISION).


  Commit: 1d1186de34c55149be336068bf312e8f755dca37
      https://github.com/llvm/llvm-project/commit/1d1186de34c55149be336068bf312e8f755dca37
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    A llvm/test/tools/llvm-exegesis/X86/latency/loop-register.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Add loop-register snippet annotation (#82873)

This patch adds a LLVM-EXEGESIS-LOOP-REGISTER snippet annotation which
allows a user to specify the register to use for the loop counter in the
loop repetition mode. This allows for executing snippets that don't work
with the default value (currently R8 on X86).


  Commit: b0bae445176d30a3fa577d30c21f36dad61003b8
      https://github.com/llvm/llvm-project/commit/b0bae445176d30a3fa577d30c21f36dad61003b8
  Author: rohit-rao <rohitrao at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/test/MachO/lc-build-version.s
    M lld/test/MachO/platform-version.s

  Log Message:
  -----------
  [lld] Adds support for xros. (#83031)


  Commit: 3250330997cf214293a20a1d532b617d72bafb09
      https://github.com/llvm/llvm-project/commit/3250330997cf214293a20a1d532b617d72bafb09
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/do-not-instrument-globals-windows.ll

  Log Message:
  -----------
  [asan] Disable instrumentation for available_externally global with COFF (#81109)

For COFF, available_externally global will be instrumented because of
the lack of filtering, and will trigger the Verifier pass assertion and
crash the compilation. This patch will filter out the
available_externally global for COFF.

For non-COFF, `!G->hasExactDefinition()` in line 1954 will filter out
the available_externally globals.

There is a related bug reported in
https://bugs.llvm.org/show_bug.cgi?id=47950 /
https://github.com/llvm/llvm-project/issues/47294. I tried the
reproducer posted on the page and this will fix the problem.

Reproducer:
```
#include <locale>

void grouping_impl() {
  std::use_facet<std::numpunct<char>>(std::locale());
}

// clang -fsanitize=address -D_DLL -std=c++14 -c format.cc
```


  Commit: 5e31e82698d9f1d3f1dd881c87b8c5399d790772
      https://github.com/llvm/llvm-project/commit/5e31e82698d9f1d3f1dd881c87b8c5399d790772
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Use locally configured llvm-lit for standalone builds (#83178)

When building a standalone build with
`-DLLVM_CMAKE_DIR=$HOME/output/llvm-install
-DCOMPILER_RT_INCLUDE_TESTS=ON`, the current code will attempt to use
`LLVM_DEFAULT_EXTERNAL_LIT` which is set to
`$HOME/output/llvm-install/bin/llvm-lit` inside `LLVMConfig.cmake` even
though it is not actually installed. If we are adding the llvm-lit
subdirectory, we can use `get_llvm_lit_path()` immediately afterwards to
set LLVM_EXTERNAL_LIT so that subsequent calls within
`add_lit_testsuite()` use llvm-lit from the current build directory
instead of the nonexistant one.


  Commit: c6fa71cdd0b85a8edb612e326ea275eb23aab032
      https://github.com/llvm/llvm-project/commit/c6fa71cdd0b85a8edb612e326ea275eb23aab032
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc][NFC] Add `-Wno-multi-gpu` everywhere for the GPU build (#83173)

Summary:
This warning is intended to indicate if `-march=native` returns
different values in a single compilation sense. As it stands we don't
care and it absolutely spams the test output if you run it on a machine
with more than one GPU like any cluster machine. Disable these warnings
everywhere we compile.


  Commit: f7a99664681390f4bb0211a52f0d89c70aa96762
      https://github.com/llvm/llvm-project/commit/f7a99664681390f4bb0211a52f0d89c70aa96762
  Author: Janeczko Jakub <kuba at ev1.pl>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/include/mlir/IR/Value.h

  Log Message:
  -----------
  Fix typo in mlir::Value doxygen comment (#83150)

Fix #82900


  Commit: d82e93e7f129d9e8b72570efdf4a15d6ec3d4336
      https://github.com/llvm/llvm-project/commit/d82e93e7f129d9e8b72570efdf4a15d6ec3d4336
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  [mlir][sparse] add merger support on Batch LevelType. (#83186)


  Commit: 06bcd9da1670b1d62e08b9fdd58b3a64368da87b
      https://github.com/llvm/llvm-project/commit/06bcd9da1670b1d62e08b9fdd58b3a64368da87b
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_has_single_bit_uc.cpp
    A libc/src/stdbit/stdc_has_single_bit_uc.h
    A libc/src/stdbit/stdc_has_single_bit_ui.cpp
    A libc/src/stdbit/stdc_has_single_bit_ui.h
    A libc/src/stdbit/stdc_has_single_bit_ul.cpp
    A libc/src/stdbit/stdc_has_single_bit_ul.h
    A libc/src/stdbit/stdc_has_single_bit_ull.cpp
    A libc/src/stdbit/stdc_has_single_bit_ull.h
    A libc/src/stdbit/stdc_has_single_bit_us.cpp
    A libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ui_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ul_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ull_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_has_single_bit (C23) (#83168)


  Commit: 70a7b1e8df7222557cadec4e6d007850ce64f8ed
      https://github.com/llvm/llvm-project/commit/70a7b1e8df7222557cadec4e6d007850ce64f8ed
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    R mlir/test/Target/LLVMIR/erase-dangling-constants.mlir

  Log Message:
  -----------
  Remove test since no test on --debug output. (#83189)


  Commit: d4cdb516eee49ecaf36380af4d8f923cc475e1d7
      https://github.com/llvm/llvm-project/commit/d4cdb516eee49ecaf36380af4d8f923cc475e1d7
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    A llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    A llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll

  Log Message:
  -----------
  [WebAssembly] Add RefTypeMem2Local pass (#81965)

This adds `WebAssemblyRefTypeMem2Local` pass, which changes the address
spaces of reference type `alloca`s to `addrspace(1)`. This in turn
changes the address spaces of all `load` and `store` instructions that
use the `alloca`s.

`addrspace(1)` is `WASM_ADDRESS_SPACE_VAR`, and loads and stores to this
address space become `local.get`s and `local.set`s, thanks to the Wasm
local IR support added in

https://github.com/llvm/llvm-project/commit/82f92e35c6464e23859c29422956caaceb623967.

In a follow-up PR, I am planning to replace the usage of mem2reg pass
with this to solve the reference type `alloca` problems described in
#81575.


  Commit: 5964f4bcf012deb8b8dadcc403644c754a6b15e0
      https://github.com/llvm/llvm-project/commit/5964f4bcf012deb8b8dadcc403644c754a6b15e0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

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


  Commit: 3761ad01e125e3b38ed2d6f40b3cbcbac13611a5
      https://github.com/llvm/llvm-project/commit/3761ad01e125e3b38ed2d6f40b3cbcbac13611a5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__atomic/aliases.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_ATOMIC_ONLY_USE_BUILTINS (#82000)

As discussed in #76647, _LIBCPP_ATOMIC_ONLY_USE_BUILTINS is a
questionable configuration option. It makes our implementation of
std::atomic even more complicated than it already is for a limited
benefit.

Indeed, the original goal of that setting was to decouple libc++ from
libraries like compiler-rt and libatomic in Freestanding mode. We didn't
have a clear understanding of goals and non-goals of Freestanding back
then, but nowadays we do have a better understanding that removing all
dependencies of libc++ in Freestanding is a non-goal. We should still be
able to depend on builtins like those defined in compiler-rt for
implementing our atomic operations in Freestanding. Freestanding means
that there is no underlying operating system, not that there is no
toolchain available.

This patch removes the configuration option. This should have a very
limited fallout since that configuration was only enabled with
-ffreestanding, and libc++ basically doesn't work out of the box on
Freestanding platforms today.

The benefits are a slightly simpler implementation of std::atomic,
getting rid of one of the ABI-incompatible representations of
std::atomic, and clearing the way for proper Freestanding support to
eventually land in the library.

Fixes #81286


  Commit: 78647116d85b30c9b8b31a4690758c33f50c0550
      https://github.com/llvm/llvm-project/commit/78647116d85b30c9b8b31a4690758c33f50c0550
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/test/profile/instrprof-basic.c

  Log Message:
  -----------
  [nfc][compiler-rt]Remove round-up in __llvm_profile_get_num_data (#83194)

- Update instrprof-basic.c as a regression test.


  Commit: 001e18c816736602e3ad1c5dc6259143455610ea
      https://github.com/llvm/llvm-project/commit/001e18c816736602e3ad1c5dc6259143455610ea
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  [NFC] clang-format SROA.cpp


  Commit: a3748d60ff18f612cd26a0b4ca7f05f2fbef264d
      https://github.com/llvm/llvm-project/commit/a3748d60ff18f612cd26a0b4ca7f05f2fbef264d
  Author: Iman Hosseini <hosseini.iman at yahoo.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/docs/Dialects/GPU.md

  Log Message:
  -----------
  [MLIR] Update GPU.md: add gpu kernel outlining to doc example. (#83141)

gpu-kernel-outlining is needed for this example to work.


  Commit: 9d0acb872a5063f570366cd0e94b069d286cc71f
      https://github.com/llvm/llvm-project/commit/9d0acb872a5063f570366cd0e94b069d286cc71f
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir

  Log Message:
  -----------
  [mlir][Vector] Add support for trunci to narrow type emulation (#82565)

This PR add support for `arith.trunci` to vector narrow type emulation for iX -> i4 truncations, for X >= 8. For now, the pattern only works for 1D vectors and is based on `vector.shuffle` ops. We would need `vector.deinterleave` to add n-D vector support.


  Commit: 0e84e2748b40eb757a5c52a983c87dd4f25a1587
      https://github.com/llvm/llvm-project/commit/0e84e2748b40eb757a5c52a983c87dd4f25a1587
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    A bolt/test/runtime/X86/instrument-wrong-target.s
    R bolt/test/runtime/instrument-wrong-target.s

  Log Message:
  -----------
  [BOLT] Move test under X86 target. NFCI (#83202)

instrument-wrong-target.s test requires X86 host. Move it under
runtime/X86.


  Commit: 04e8653f189bf3d65680c7fb3b3033ad82903ee9
      https://github.com/llvm/llvm-project/commit/04e8653f189bf3d65680c7fb3b3033ad82903ee9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M libc/benchmarks/automemcpy/lib/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/compiler_features/check_fixed_point.cpp
    M libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
    M libc/include/llvm-libc-types/float128.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/macros/properties/float.h
    M libc/src/stdfix/abshk.h
    M libc/src/stdfix/abshr.h
    M libc/src/stdfix/absk.h
    M libc/src/stdfix/abslk.h
    M libc/src/stdfix/abslr.h
    M libc/src/stdfix/absr.h
    M libc/src/stdfix/roundhk.h
    M libc/src/stdfix/roundhr.h
    M libc/src/stdfix/roundk.h
    M libc/src/stdfix/roundlk.h
    M libc/src/stdfix/roundlr.h
    M libc/src/stdfix/roundr.h
    M libc/src/stdfix/rounduhk.h
    M libc/src/stdfix/rounduhr.h
    M libc/src/stdfix/rounduk.h
    M libc/src/stdfix/roundulk.h
    M libc/src/stdfix/roundulr.h
    M libc/src/stdfix/roundur.h
    M libc/src/stdfix/sqrtuhk.h
    M libc/src/stdfix/sqrtuhr.h
    M libc/src/stdfix/sqrtuk.h
    M libc/src/stdfix/sqrtulr.h
    M libc/src/stdfix/sqrtur.h
    M libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/sys/epoll/epoll_pwait.h
    M libc/src/sys/epoll/epoll_pwait2.h
    M libc/src/sys/epoll/epoll_wait.h
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/stdckdint_test.cpp
    M libc/test/integration/startup/CMakeLists.txt
    M libc/test/integration/startup/gpu/rpc_interface_test.cpp
    M libc/test/integration/startup/gpu/rpc_stream_test.cpp
    M libc/test/integration/startup/gpu/rpc_test.cpp
    M libc/test/src/__support/fixed_point/fx_bits_test.cpp
    M libc/test/src/math/differential_testing/CMakeLists.txt
    M libc/utils/LibcTableGenUtil/CMakeLists.txt
    M libc/utils/gpu/loader/Loader.h

  Log Message:
  -----------
  [libc] Add "include/" to the LLVM include directories (#83199)

Summary:
Recent changes added an include path in the float128 type that used the
internal `libc` path to find the macro. This doesn't work once it's
installed because we need to search from the root of the install dir.
This patch adds "include/" to the include path so that our inclusion
of installed headers always match the internal use.


  Commit: d699d9d609a24d80809df15efe47ac539da90e93
      https://github.com/llvm/llvm-project/commit/d699d9d609a24d80809df15efe47ac539da90e93
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M flang/include/flang/Common/float128.h
    M flang/include/flang/Runtime/reduction.h
    M flang/runtime/Float128Math/cabs.cpp
    M flang/runtime/Float128Math/math-entries.h
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/product.cpp
    M flang/runtime/sum.cpp

  Log Message:
  -----------
  [flang][runtime] Support SUM/PRODUCT/DOT_PRODUCT reductions for REAL(16). (#83169)

The reductions implementations rely on trivial operations that
are supported by the build compiler runtime, so they can be enabled
whenever the build compiler provides 128-bit float support.

std::conj used by DOT_PRODUCT is a template implementation
in most environments, so it should not introduce a dependency
on any 128-bit float support library. I am not goind to
test it in all the build environments before merging.
If it fails for someone, I will deal with it.


  Commit: 062cfada643c1aa48a1bb81894e2920d390fe8cf
      https://github.com/llvm/llvm-project/commit/062cfada643c1aa48a1bb81894e2920d390fe8cf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/test/builtins/Unit/ctor_dtor.c

  Log Message:
  -----------
  [builtins] Disable COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY by default (#83201)

Most of GCC's Linux targets have a link spec
`%{!static|static-pie:--eh-frame-hdr}` that doesn't pass --eh-frame-hdr
for `-static` links. `-static` links are supposed to utilize
`__register_frame_info` (called by `crtbeginT.o`, not by crtbegin.o or
crtbeginS.o) as a replacement.

compiler-rt crtbegin (not used with GCC) has some ehframe code, which is
not utilized because Clang driver unconditionally passes --eh-frame-hdr
for Linux targets, even for -static. In addition, LLVM libunwind
implements `__register_frame_info` as an empty stub.

Furthermore, in a non-static link, the `__register_frame_info`
references can cause an undesired weak dynamic symbol.

For now, just disable the config by default.


  Commit: 8506a63bf7cbe593c0707f995fbd0b8f820d0d62
      https://github.com/llvm/llvm-project/commit/8506a63bf7cbe593c0707f995fbd0b8f820d0d62
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Disable multivalue emission temporarily (#82714)"

This reverts commit 6e6bf9f81756ba6655b4eea8dc45469a47f89b39.

It turned out the multivalue feature had active outside users and it
could cause some disruptions to them, so I'd like to investigate more
about the workarounds before doing this.


  Commit: f20ea05f3b2218a7103612e5e367398b0b27bb27
      https://github.com/llvm/llvm-project/commit/f20ea05f3b2218a7103612e5e367398b0b27bb27
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M flang/include/flang/Common/float128.h
    M flang/runtime/complex-reduction.c

  Log Message:
  -----------
  [flang][runtime] Fixed aarach buildbots after #83169.


  Commit: bcbce807d76a30388b366d14051c5f80e9724dab
      https://github.com/llvm/llvm-project/commit/bcbce807d76a30388b366d14051c5f80e9724dab
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

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

  Log Message:
  -----------
  Revert "[HIP] fix host min/max in header (#82956)"

This reverts commit 55783bd0f9cfc30aa93c718919dab5419d86a2c6.

Due to regressions in hipCUB.

hipCUB/hipcub/include/hipcub/backend/rocprim/device/device_spmv.hpp:142:33: error: call to 'min' is ambiguous

https://github.com/ROCm/hipCUB/blob/develop/hipcub/include/hipcub/backend/rocprim/device/device_spmv.hpp#L142

The ambuguity seems due to missing min(int, unsigned int).

Previously, there is only min(int, int). After the change,
there are min(int, int) and min(unsigned int, unsigned int),
therefore there is ambiguity.


  Commit: dba2dd2c487d7bed7ad3b76a67fdfce464f0edbf
      https://github.com/llvm/llvm-project/commit/dba2dd2c487d7bed7ad3b76a67fdfce464f0edbf
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/split-debug.c

  Log Message:
  -----------
  Revert "[CLANG][DWARF] Do not emit -ggnu-pubnames for split dwarf version 5." (#83214)

Reverts llvm/llvm-project#82840


  Commit: e9e7aeadaf0ce9d66ff352856fd2d1005b0f7d74
      https://github.com/llvm/llvm-project/commit/e9e7aeadaf0ce9d66ff352856fd2d1005b0f7d74
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/basic-block-address-map.c

  Log Message:
  -----------
  [Driver] Allow -fbasic-block-address-map for AArch64 ELF (#82662)

Emitting the basic block address map with
`-fbasic-block-sections=labels` is allowed for AArch64 ELF since
7eaf94fefa1250fc8a46982cea8ce99abacae11f. Allow doing so with
`-fbasic-block-address-map`.


  Commit: 50136ca11f62050b34876a920fcd87d2aefccfdb
      https://github.com/llvm/llvm-project/commit/50136ca11f62050b34876a920fcd87d2aefccfdb
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  [DirectX][NFC] Rename ShaderFlag to SHADER_FEATURE_FLAG. (#82700)

This is preparation for add ShaderFlag in DXIL.

For #57925


  Commit: cf1c97b2d29c51d6c2e79454f6ec3d1f8f98e672
      https://github.com/llvm/llvm-project/commit/cf1c97b2d29c51d6c2e79454f6ec3d1f8f98e672
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll

  Log Message:
  -----------
  [AMDGPU] Do not attempt to fallback to default mutations (#83208)

IGLP itself will be in SavedMutations via mutations added during
Scheduler creation, thus falling back results in reapplying IGLP.

In PostRA scheduling, if we have multiple regions with IGLP
instructions, then we may have infinite loop.

Disable the feature for now.


  Commit: 91d23370cd4608f84f5209e445579a3b24ae3545
      https://github.com/llvm/llvm-project/commit/91d23370cd4608f84f5209e445579a3b24ae3545
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll

  Log Message:
  -----------
  [RISCV] Use a tail agnostic vslideup if possible for scalable insert_subvector (#83146)

If we know that an insert_subvector inserting a fixed subvector will
overwrite the entire tail of the vector, we use a tail agnostic
vslideup. This was added in https://reviews.llvm.org/D147347, but we can
do the same thing for scalable vectors too.

The `Policy` variable is defined in a slightly weird place but this is
to mirror the fixed length subvector code path as closely as possible. I
think we may be able to deduplicate them in future.


  Commit: 1f2a1a72ae6615ce80fcd6f1185d1cde607377d2
      https://github.com/llvm/llvm-project/commit/1f2a1a72ae6615ce80fcd6f1185d1cde607377d2
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M flang/include/flang/Common/float128.h
    M flang/runtime/Float128Math/cabs.cpp
    M flang/runtime/Float128Math/math-entries.h

  Log Message:
  -----------
  [flang][runtime] Fixed flang+Werror buildbots after #83169.


  Commit: 7c206c7812408f152baffa3c73f765b7d9ffdf18
      https://github.com/llvm/llvm-project/commit/7c206c7812408f152baffa3c73f765b7d9ffdf18
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT] Refactor interface for instruction labels. NFCI (#83209)

To avoid accidentally setting the label twice for the same instruction,
which can lead to a "lost" label, introduce getOrSetInstLabel()
function. Rename existing functions to getInstLabel()/setInstLabel() to
make it explicit that they operate on instruction labels. Add an
assertion in setInstLabel() that the instruction did not have a prior
label set.


  Commit: 9d56be010cf30054313f5b3fea82331491c58cdb
      https://github.com/llvm/llvm-project/commit/9d56be010cf30054313f5b3fea82331491c58cdb
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-private.mlir

  Log Message:
  -----------
   [MLIR][OpenMP] Support basic materialization for `omp.private` ops (#81715)

Adds basic support for materializing delayed privatization. So far, the
restrictions on the implementation are:
- Only `private` clauses are supported (`firstprivate` support will be
  added in a later PR).


  Commit: 87c0260f45e5a02cb07722d089dae3f0f84c7b3d
      https://github.com/llvm/llvm-project/commit/87c0260f45e5a02cb07722d089dae3f0f84c7b3d
  Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
    M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir

  Log Message:
  -----------
  [AMDGPU] Add parameterization for optimized shared memory variables (#82508)

- This PR adds parameterization for shared memory variables that are
used for optimization: `sharedMemoryLineSizeBytes` and
`defaultVectorSizeBits.`
- The default values are set to 128 for both variables since it gives
zero bank conflicts.


  Commit: c2b952926fe8707527cf1b8bab211dc4c7ab9aee
      https://github.com/llvm/llvm-project/commit/c2b952926fe8707527cf1b8bab211dc4c7ab9aee
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Fix n-d transfer write distribution (#83215)

Currently n-d transfer write distribution can be inconsistent with
distribution of reductions if a value has multiple users, one of which
is a transfer_write with a non-standard distribution map, and the other
of which is a vector.reduction.

We may want to consider removing the distribution map functionality in
the future for this reason.


  Commit: 267beb10f2812107734a1cd2172b46e928af76b7
      https://github.com/llvm/llvm-project/commit/267beb10f2812107734a1cd2172b46e928af76b7
  Author: mlevesquedion <mlevesquedion at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M mlir/docs/PassManagement.md
    M mlir/docs/PatternRewriter.md

  Log Message:
  -----------
  [MLIR] Fix a few links to passes in the documentation (#83221)

I double checked the links by building [the
website](https://github.com/llvm/mlir-www):

```
$ mlir-www-helper.sh --install-docs ../llvm-project website
$ cd website && hugo serve
```


  Commit: 4d04a40adb68f284350831911a658715134c66d8
      https://github.com/llvm/llvm-project/commit/4d04a40adb68f284350831911a658715134c66d8
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Allow a variable declaration in a trivial function. (#82291)


  Commit: 8eea478f57e79b6fad065d023355907bc2098206
      https://github.com/llvm/llvm-project/commit/8eea478f57e79b6fad065d023355907bc2098206
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2024-02-27 (Tue, 27 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [ItaniumDemangle] reject A-F in FP literals (#83061)

Sync this change to the copy of ItaniumDemangle.h in "llvm":

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

The Itanium C++ ABI specifies that FP literals are encoded using a
lowercase hexadecimal string. Previously, libc++abi allowed uppercase
A-F characters but decoded them by subtracting 'a' from them, producing
negative digit values. It is especially confusing to accept an 'E' digit
because 'E' marks the end of the FP literal.


  Commit: 28c29fbec3057692a7985819d799a9e5d47eb2d1
      https://github.com/llvm/llvm-project/commit/28c29fbec3057692a7985819d799a9e5d47eb2d1
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll

  Log Message:
  -----------
  [RISCV] Add exact VLEN RUNs for insert_subvector and concat_vector tests. NFC

Also update the RUNs in the extract_subvector tests to be consistent.
Using the term VLS/VLA here as it's more succinct than KNOWNVLEN/UNKNOWNVLEN.


  Commit: f81d5e549f0e02e1bfc5ccaf6341ad35d4ea8e98
      https://github.com/llvm/llvm-project/commit/f81d5e549f0e02e1bfc5ccaf6341ad35d4ea8e98
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    A flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90

  Log Message:
  -----------
  [flang] Handle OPTIONAL polymorphic captured in internal procedures (#82042)

The current code was doing an unconditional `fir.store %optional_box to
%host_link` which caused a crash when %optional_box is absent because is
is attempting to copy a descriptor from a null address.

Add code to conditionally do the copy at runtime.

The polymorphic array case with lower bounds can be handled with the
array case that already deals with descriptor argument with a few
modifications, just use that.


  Commit: 9617da88ab961145047076c45bb2bb1ac4513634
      https://github.com/llvm/llvm-project/commit/9617da88ab961145047076c45bb2bb1ac4513634
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll

  Log Message:
  -----------
  [RISCV] Use a ta vslideup if inserting over end of InterSubVT (#83230)

The description in #83146 is slightly inaccurate: it relaxes a tail
undisturbed vslideup to tail agnostic if we are inserting over the
entire tail of the vector **and** we didn't shrink the LMUL of the
vector being inserted into.

This handles the case where we did shrink down the LMUL via InterSubVT
by checking if we inserted over the entire tail of InterSubVT, the
actual type that we're performing the vslideup on, not VecVT.


  Commit: 2b545108ffcb188b69d1a5e37081494d231e1456
      https://github.com/llvm/llvm-project/commit/2b545108ffcb188b69d1a5e37081494d231e1456
  Author: David Green <david.green at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [GlobalISel] Add a TargetLowering variable to IRTranslator. NFC (#83009)

This prevents us from getting the variable multiple times.


  Commit: a4fff36b6cf64d0afa965a8ef4927145c5558124
      https://github.com/llvm/llvm-project/commit/a4fff36b6cf64d0afa965a8ef4927145c5558124
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [bazel] Add "include/" for libc includes

for 04e8653f189bf3d65680c7fb3b3033ad82903ee9 #83199


  Commit: 619ee20b3911f9a481a75a64704c80aef16af9d0
      https://github.com/llvm/llvm-project/commit/619ee20b3911f9a481a75a64704c80aef16af9d0
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/examples/CMakeLists.txt
    A mlir/examples/transform-opt/CMakeLists.txt
    A mlir/examples/transform-opt/README.md
    A mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/test/CMakeLists.txt
    A mlir/test/Examples/transform-opt/empty.mlir
    A mlir/test/Examples/transform-opt/external-decl.mlir
    A mlir/test/Examples/transform-opt/external-def.mlir
    A mlir/test/Examples/transform-opt/pass.mlir
    A mlir/test/Examples/transform-opt/self-contained.mlir
    A mlir/test/Examples/transform-opt/syntax-error.mlir
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] add an example of using transform dialect standalone (#82623)

Transform dialect interpreter is designed to be usable outside of the
pass pipeline, as the main program transformation driver, e.g., for
languages with explicit schedules. Provide an example of such usage with
a couple of tests.


  Commit: 49c399c2d113df1654b09c9b5afa38924829a8fe
      https://github.com/llvm/llvm-project/commit/49c399c2d113df1654b09c9b5afa38924829a8fe
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/test/AST/Interp/cxx20.cpp

  Log Message:
  -----------
  [clang][Interp] Toplevel destructors may fail

We used to run them, but not check if they failed. If they do,
the expression is invalid, even if we already have a result.

I do have a suspicion that we need to manually call destroyLocals()
in more places (everywhere basically?), but I'll wait with that
until I have a reproducer at hand.


  Commit: 9f99eda1208787364b1a381b2d4e146fc4868cd5
      https://github.com/llvm/llvm-project/commit/9f99eda1208787364b1a381b2d4e146fc4868cd5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test to verify=expected,both style


  Commit: 1d61709f7718d2dc2aee1c27d02043a748e8e6d7
      https://github.com/llvm/llvm-project/commit/1d61709f7718d2dc2aee1c27d02043a748e8e6d7
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [flang] fix warning after #82042


  Commit: 26b8be201e2d15867bb327a8008fffb3e34d42a5
      https://github.com/llvm/llvm-project/commit/26b8be201e2d15867bb327a8008fffb3e34d42a5
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    A flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    A flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    A flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-private.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction.f90

  Log Message:
  -----------
   [flang][OpenMP][MLIR] Basic support for delayed privatization code-gen (#81833)

Adds basic support for emitting delayed privatizers from flang. So far,
only types of symbols are supported (i.e. scalars), support for more
complicated types will be added later. This also makes sure that
reduction and delayed privatization work properly together by merging
the
body-gen callbacks for both in case both clauses are present on the
parallel construct.


  Commit: 6008cd40b7bbdc66555550c2e38648d5ce99cc78
      https://github.com/llvm/llvm-project/commit/6008cd40b7bbdc66555550c2e38648d5ce99cc78
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Assert when accessing erased ops (#83132)

The dialect conversion maintains sets of "ignored" and "replaced" ops.
This change simplifies the two sets, such that all nested ops are
included. (This was previously not the case and sometimes only the
parent op was included.)

This change allows for more aggressive assertions to prevent incorrect
rewriter API usage. E.g., accessing ops/blocks/regions within an erased
op.

A concrete example: I have seen conversion patterns in downstream
projects where an op is replaced with a new op, and the region of the
old op is afterwards inlined into the newly created op. This is invalid
rewriter API usage: ops that were replaced/erased should not be
accessed. Nested ops will be considered "ignored", even if they are
moved to a different region after the region's parent op was erased
(which is illegal API usage). Instead, create a new op, inline the
regions, then replace the old op with the new op.


  Commit: 6e41d60a717132fadac74abe61ac6a9b1ca98778
      https://github.com/llvm/llvm-project/commit/6e41d60a717132fadac74abe61ac6a9b1ca98778
  Author: David Green <david.green at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp

  Log Message:
  -----------
  [SelectionDAG] Change computeAliasing signature from optional<uint64> to LocationSize. (#83017)

This is another smaller step of #70452, changing the signature of
computeAliasing() from optional<uint64_t> to LocationSize, and follow-up
changes in DAGCombiner::mayAlias(). There are some test change due to
the previous AA->isNoAlias call incorrectly using an unknown size
(~UINT64_T(0)). This should then be improved again in #70452 when the
types are known to be scalable.


  Commit: ba692301f1697183d1665cc0f410d4235b3036db
      https://github.com/llvm/llvm-project/commit/ba692301f1697183d1665cc0f410d4235b3036db
  Author: Tuan Chuong Goh <chuong.goh at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Pre-Commit Test for G_STORE v4s8 (#82498)


  Commit: 3fa91021257ec89ccbfa8aae80312700c2de9d11
      https://github.com/llvm/llvm-project/commit/3fa91021257ec89ccbfa8aae80312700c2de9d11
  Author: jkorous-apple <jkorous at apple.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage][NFC] clang-format UnsafeBufferUsage.cpp (#82027)


  Commit: 5468f8841353cd56350a6ebe6898d2563e5c34b0
      https://github.com/llvm/llvm-project/commit/5468f8841353cd56350a6ebe6898d2563e5c34b0
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/Transforms/Passes.td
    M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
    M mlir/test/Dialect/Transform/include/test-interpreter-external-concurrent-source.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-source.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-ops.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-params.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-values.mlir
    M mlir/test/Dialect/Transform/test-interpreter-debug.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external-concurrent.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/Dialect/Transform/test-pass-application.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Transform/test-pdl-extension.mlir
    M mlir/test/Dialect/Transform/transform-state-extension.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-contraction.mlir

  Log Message:
  -----------
  [mlir] update remaining transform tests to main pass (#81279)

Use the main transform interpreter pass instead of the test pass. The
only tests that are not updated are specific to the operation of the
test pass.


  Commit: 686ec7c2e9638d5b96d922886827a532d339856d
      https://github.com/llvm/llvm-project/commit/686ec7c2e9638d5b96d922886827a532d339856d
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/store.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize G_STORE for v4s8 vector (#82498)

Lowers `G_STORE v4s8, ptr` into

`s32 = G_BITCAST v4s8`
`G_STORE s32, ptr`


  Commit: 41427b0e8eeed9891d4e98ea9ac6a812682fd507
      https://github.com/llvm/llvm-project/commit/41427b0e8eeed9891d4e98ea9ac6a812682fd507
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll

  Log Message:
  -----------
  [AArch64] Disable FastISel/GlobalISel for ZT0 state (#82768)

For __arm_new("zt0") we need to have special setup code in the prologue.
For calls that don't preserve zt0, we need to emit code preserve ZT0
around the call.
This is only emitted by SelectionDAG ISel at the moment.


  Commit: fd336c33b6c94ab1f4cfd7e13ce4ab0e6ddda92e
      https://github.com/llvm/llvm-project/commit/fd336c33b6c94ab1f4cfd7e13ce4ab0e6ddda92e
  Author: Tuan Chuong Goh <chuong.goh at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Pre-Commit Test for Legalize G_LOAD v4i8 (#82989)


  Commit: 37daff028fcec27f2be1bb990df77e19c0244ccf
      https://github.com/llvm/llvm-project/commit/37daff028fcec27f2be1bb990df77e19c0244ccf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/setcc-lowering.ll

  Log Message:
  -----------
  [X86] setcc-lowering.ll - regenerate with AVX2 test coverage

Added while triaging a regression from #82290


  Commit: ffe7049b543adb9739261d28a60d4a47a00aa2e0
      https://github.com/llvm/llvm-project/commit/ffe7049b543adb9739261d28a60d4a47a00aa2e0
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
    M clang/test/Analysis/Inputs/system-header-simulator-for-valist.h
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] StreamChecker: Model getc, vfscanf, putc, vfprintf (#82476)

Model `getc` and `putc` as equivalent to `fgetc` and `fputc` respectively.

Model `vfscanf` and `vfprintf` as `fscanf` and `fprintf`, except that
`vfscanf` can not invalidate the parameters due to the indirection via a
`va_list`. Nevertheless, we can still track EOF and errors as for `fscanf`.


  Commit: fe97a59a7be51dfc7e92619536963051604d155a
      https://github.com/llvm/llvm-project/commit/fe97a59a7be51dfc7e92619536963051604d155a
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/ASTMatchers/ASTMatchers.h

  Log Message:
  -----------
  [clang] remove (clang::)ast_matchers:: namespace from AST matcher args for docs (#81437)

When parsing the ASTMatchers.h file, a matcher could specify an argument
that is a matcher using the not needed namespace
`(clang::)ast_matchers::`.
Change the argument parsing in dump_ast_matchers.py to remove those
namespaces such that when parameters with these namespaces slip through,
the namespaces will be not be shown in the matchers reference, like it
is done with the `internal` namespace.
Additionally, remove the not needed namespaces from arguments in
ASTMatchers.h.


  Commit: 3d454d2895820cd1e6caa92f1e82ba468b5b5f09
      https://github.com/llvm/llvm-project/commit/3d454d2895820cd1e6caa92f1e82ba468b5b5f09
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/unittests/Support/TypeSizeTest.cpp

  Log Message:
  -----------
  [LLVM][TypeSize] Remove default constructor. (#82810)


  Commit: 2703f7ec4fb603a7c38288409c9ac919a47cca2a
      https://github.com/llvm/llvm-project/commit/2703f7ec4fb603a7c38288409c9ac919a47cca2a
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [flang] Fix linker error for debug builds. (#83250)

PR #81833 introduced some changes to broke some debug builds. This
happened due to an indirectly included file referencing an `operator <<`
function which is defined in a `.cpp` file that not linked with `tco`
and `fir-opt`.


  Commit: 6287b7b9e9b729afde4aef7d41609d9b4efaecda
      https://github.com/llvm/llvm-project/commit/6287b7b9e9b729afde4aef7d41609d9b4efaecda
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/kshift.ll
    M llvm/test/CodeGen/X86/pr46455.ll
    M llvm/test/CodeGen/X86/setcc-lowering.ll

  Log Message:
  -----------
  [X86] combineEXTRACT_SUBVECTOR - extract 256-bit comparisons if only one subvector is required

If only one subvector extraction will be necessary (i.e. because the other is constant etc.) then extract the source operands and perform as a 128-bit comparison

Ideally DAGCombiner's narrowExtractedVectorBinOp would handle this but its tricky to confirm when a target opcode can be safely extracted and performed as a different vector type

Partially improves an outstanding regression in #82290


  Commit: 0a54b36d5e6d941e25c60520a7317d75355aeae5
      https://github.com/llvm/llvm-project/commit/0a54b36d5e6d941e25c60520a7317d75355aeae5
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/X86/x86-32-intrcc.ll
    M llvm/test/CodeGen/X86/x86-64-intrcc-uintr.ll
    M llvm/test/CodeGen/X86/x86-64-intrcc.ll

  Log Message:
  -----------
  [X86] Resolve FIXME: Create cld only when needed (#82415)

Only use cld when we also have rep instructions, are calling a function, or contain inline asm.


  Commit: 07d8a457ad8bb9a14974b9cb47072746c7f5e489
      https://github.com/llvm/llvm-project/commit/07d8a457ad8bb9a14974b9cb47072746c7f5e489
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    A llvm/test/tools/llvm-objcopy/ELF/set-symbol-visibility.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td

  Log Message:
  -----------
  [llvm-objcopy] Add --set-symbol-visibility and --set-symbols-visibility options (#80872)

Add options --set-symbol-visibility and --set-symbols-visibility to
manually change the visibility of symbols.

There is already an option to set the visibility of newly added symbols
via --add-symbol and --new-symbol-visibility. This option will allow to
change the visibility of already existing symbols.


  Commit: 27b297bf21b6637047c1ac403f983351b9a3fc64
      https://github.com/llvm/llvm-project/commit/27b297bf21b6637047c1ac403f983351b9a3fc64
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in CGCall.cpp (NFC)

llvm-project/clang/lib/CodeGen/CGCall.cpp:3226:24:
error: unused variable 'StructSize' [-Werror,-Wunused-variable]
        llvm::TypeSize StructSize = CGM.getDataLayout().getTypeAllocSize(STy);
                       ^
llvm-project/clang/lib/CodeGen/CGCall.cpp:3227:24:
error: unused variable 'PtrElementSize' [-Werror,-Wunused-variable]
        llvm::TypeSize PtrElementSize =
                       ^
llvm-project/clang/lib/CodeGen/CGCall.cpp:5313:24:
error: unused variable 'SrcTypeSize' [-Werror,-Wunused-variable]
        llvm::TypeSize SrcTypeSize =
                       ^
llvm-project/clang/lib/CodeGen/CGCall.cpp:5315:24:
error: unused variable 'DstTypeSize' [-Werror,-Wunused-variable]
        llvm::TypeSize DstTypeSize = CGM.getDataLayout().getTypeAllocSize(STy);
                       ^
4 errors generated.


  Commit: 1f74f5f48bc9e1091602163ac925c807d70706e1
      https://github.com/llvm/llvm-project/commit/1f74f5f48bc9e1091602163ac925c807d70706e1
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp

  Log Message:
  -----------
  [flang] Fix flang build after #83132 (#83253)

This fix is a temporary workaround. `LowerHLFIRIntrinsics.cpp` should be
using the greedy pattern rewriter or a manual IR traversal. All patterns
in this file are rewrite patterns. The test failure was caused by
`replaceAllUsesWith`, which is not supported by the dialect conversion;
additional asserts were added recently to prevent incorrect API usage.
These trigger now.

Alternatively, turning the patterns into conversion patterns and
specifying a type converter may work.

Failing test case:
`Fortran/gfortran/regression/gfortran-regression-compile-regression__inline_matmul_14_f90.test`


  Commit: 570bc5d291f92e19f6264262b02ddff1a2f2e09b
      https://github.com/llvm/llvm-project/commit/570bc5d291f92e19f6264262b02ddff1a2f2e09b
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
    M clang/test/Analysis/Inputs/system-header-simulator-for-valist.h
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  Revert "[clang][analyzer] StreamChecker: Model getc, vfscanf, putc, vfprintf (#82476)"

This reverts commit ffe7049b543adb9739261d28a60d4a47a00aa2e0.

This commit breaks on e.g. arm:
Example:
https://lab.llvm.org/buildbot/#/builders/245/builds/21177/steps/5/logs/FAIL__Clang__stream_c

```
******************** TEST 'Clang :: Analysis/stream.c' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/19/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,alpha.unix.Stream,debug.ExprInspection -verify /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/19/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,alpha.unix.Stream,debug.ExprInspection -verify /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c
error: 'expected-warning' diagnostics expected but not seen:
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 147: Stream pointer might be NULL
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 153: Stream pointer might be NULL
error: 'expected-warning' diagnostics seen but not expected:
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 148: Stream pointer might be NULL [alpha.unix.Stream]
  File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Analysis/stream.c Line 154: Stream pointer might be NULL [alpha.unix.Stream]
4 errors generated.
--
********************
```


  Commit: 8a5d51b039c52c3e429390966670b0ab21cf257c
      https://github.com/llvm/llvm-project/commit/8a5d51b039c52c3e429390966670b0ab21cf257c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/zext-for-per-formula-reasoning.ll

  Log Message:
  -----------
  [ConstraintElim] Use default depth for most calls of isNonNegative.

Helps to improve resuls in some cases, while being overall neutral with
respect to compile-time,
https://llvm-compile-time-tracker.com/compare.php?from=2c9b6c1b36b8185299de083c3058e0c1e7760442&to=5984b1649dc12741308089de235647cf036df95f&stat=instructions:u


  Commit: 15d9d0fa8f55936625882a28759f0ec0033cb6de
      https://github.com/llvm/llvm-project/commit/15d9d0fa8f55936625882a28759f0ec0033cb6de
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    A llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Also print final VPlan directly before codegen/execute. (#82269)

Some optimizations are apply after UF and VF have been chosen. This
patch adds an extra print of the final VPlan just before
codegen/execution.

In the future, there will be additional transforms that are applied
later (interleaving for example).

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


  Commit: 0e42289236d44408e50a710dace629ebad2812b6
      https://github.com/llvm/llvm-project/commit/0e42289236d44408e50a710dace629ebad2812b6
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h

  Log Message:
  -----------
  [flang] Fix build failure (NFC)

llvm-project/flang/include/flang/Lower/SymbolMap.h:52:1:
error: 'SymbolBox' defined as a struct here but previously declared as a class;
this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
struct SymbolBox : public fir::details::matcher<SymbolBox> {
^
llvm-project/flang/include/flang/Lower/AbstractConverter.h:56:1: note: did you mean struct here?
class SymbolBox;
^~~~~
struct


  Commit: 926a19bf0b7ea0aa34f2685534b5f4a339f8b409
      https://github.com/llvm/llvm-project/commit/926a19bf0b7ea0aa34f2685534b5f4a339f8b409
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Remove `SplitBlockRewrite` (#82777)

When splitting a block during a dialect conversion, a
`SplitBlockRewrite` object is stored in the dialect conversion state.
This commit removes `SplitBlockRewrite`. Instead, a combination of
`CreateBlockRewrite` and multiple `MoveOperationRewrite` is used.

This change simplifies the internal state of the dialect conversion and
is also needed to properly support listeners.

`RewriteBase::splitBlock` is now no longer virtual. All necessary
information for committing/rolling back a split block rewrite can be
deduced from `Listener::notifyBlockInserted` and
`Listener::notifyOperationInserted` (which is also called when moving an
operation).


  Commit: a2efb68906ec2bf7b55b464060c3713e395e68e5
      https://github.com/llvm/llvm-project/commit/a2efb68906ec2bf7b55b464060c3713e395e68e5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/cxx11.cpp

  Log Message:
  -----------
  [clang][Interp] Remove now faulty assertion

We can call getBase() for pointers where Base != Offset as well,
for example when we've added a constant to the Offset.


  Commit: 915fce040271c77df1ff9b2c8797c441cec0d18d
      https://github.com/llvm/llvm-project/commit/915fce040271c77df1ff9b2c8797c441cec0d18d
  Author: Rishabh Bali <rishabhsbali at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
    M mlir/test/Conversion/AffineToStandard/lower-affine.mlir

  Log Message:
  -----------
  [mlir][affine] Enable ConvertAffineToStandard pass to handle affine.delinearize_index Op. (#82189)

This PR, aims to enable the `ConvertAffineToStandard` to handle
`affine.dilinearize_index` Operation.

Fixes #78458


  Commit: 06f775a82f6f562f8de75053f62c9c0dbeaa67d2
      https://github.com/llvm/llvm-project/commit/06f775a82f6f562f8de75053f62c9c0dbeaa67d2
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
    M flang/test/Lower/HLFIR/bindc_internal_proc.f90
    M flang/test/Lower/HLFIR/internal-procedures-2.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    M flang/test/Lower/Intrinsics/random.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/OpenACC/acc-routine04.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/PowerPC/ppc-vector-types.f90
    M flang/test/Lower/array-temp.f90
    M flang/test/Lower/dummy-arguments.f90
    M flang/test/Lower/dummy-procedure-character.f90
    M flang/test/Lower/equivalence-with-host-assoc.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/forall/character-1.f90
    M flang/test/Lower/global-initialization.f90
    M flang/test/Lower/host-associated-functions.f90
    M flang/test/Lower/host-associated-globals.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/module-and-internal-proc.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/program-units-fir-mangling.f90

  Log Message:
  -----------
  [flang] Give internal linkage to internal procedures (#81929)

Internal procedures cannot be called directly from outside the host
procedure, so there is no point giving them external linkage. The only
reason flang did is because it is the default in MLIR.

Giving external linkage to them:
- prevents deleting them when not used/inlined by LLVM
- causes bugs with shared libraries (at least on linux x86-64) because
the call to the internal function could lead to a dynamic loader call
that would overwrite r10 register (the static chain pointer) due to
system calls and did not restore (it seems it does not expect r10 to be
used for PLT calls).

This patch gives internal linkage to internal procedures:

Note: the llvm.linkage attribute name cannot be obtained via a
getLinkageAttrName since it is not the same name as the one used in the
LLVM dialect. It is just a placeholder defined in
mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp until the func dialect
gets a real linkage model. So simply avoid hard coding it too many times
in lowering.


  Commit: e39e30e95237bee53346acf16d197de8fdf4825e
      https://github.com/llvm/llvm-project/commit/e39e30e95237bee53346acf16d197de8fdf4825e
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir

  Log Message:
  -----------
  [mlir][llvm] Fix access group translation (#83257)

This commit fixes the translation of access group metadata to LLVM IR.
Previously, it did not use a temporary metadata node to model the
placeholder of the self-referencing access group nodes. This is
dangerous since, the translation may produce a metadata list with a null
entry that is later on changed changed with a self reference. At the
same time, for example the debug info translation may create the same
uniqued node, which after setting the self-reference the suddenly
references the access group metadata. The commit avoids such breakages.


  Commit: ce0687e2df59ff6681c5800f076716f4665c5ec3
      https://github.com/llvm/llvm-project/commit/ce0687e2df59ff6681c5800f076716f4665c5ec3
  Author: Niwin Anto <niwinantop at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll

  Log Message:
  -----------
  [LV] Add test for tail fold by masking with external IV users. (#82329)

Test case for https://github.com/llvm/llvm-project/issues/76069


  Commit: a845ea3878f18878b6bbc91ff5fee2dd51a794f3
      https://github.com/llvm/llvm-project/commit/a845ea3878f18878b6bbc91ff5fee2dd51a794f3
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir

  Log Message:
  -----------
  [AMDGPU] Fix SDWA 'preserve' transformation for instructions in different basic blocks. (#82406)

This fixes crash when operand sources for V_OR instruction reside in
different basic blocks.


  Commit: 5f2097dbeda0dfb21bc9dec27f4c8ff2ad42cef2
      https://github.com/llvm/llvm-project/commit/5f2097dbeda0dfb21bc9dec27f4c8ff2ad42cef2
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/include/mlir/Config/mlir-config.h.cmake
    M mlir/include/mlir/InitAllPasses.h
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir] Expose MLIR_CUDA_CONVERSIONS_ENABLED in mlir-config.h. (#83004)

That macro was not defined in some cases and thus yielded warnings if
compiled with `-Wundef`. In particular, they were not defined in the
BUILD files, so the GPU targets were broken when built with Bazel. This
commit exposes mentioned CMake variable through mlir-config.h and uses
the macro that is introduced with the same name. This replaces the macro
MLIR_CUDA_CONVERSIONS_ENABLED, which the CMake files previously defined
manually.


  Commit: bb0ff1541092b54f81296350ce0e8a397673a105
      https://github.com/llvm/llvm-project/commit/bb0ff1541092b54f81296350ce0e8a397673a105
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:

  Log Message:
  -----------
  [flang] fix one more compilation issue on aarch64. (#83258)

I used `class` instead of `struct` for `SymbolMap`.


  Commit: 8e51b22ce21b01ae0be8267c5da3703ffd3b2c5b
      https://github.com/llvm/llvm-project/commit/8e51b22ce21b01ae0be8267c5da3703ffd3b2c5b
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/load.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize G_LOAD for v4s8 Vector (#82989)

Lowers `v4s8 = G_LOAD %ptr ptr` into

`s32 = G_LOAD %ptr ptr`
`v4s8 = G_BITCAST s32`


  Commit: 9e1432069555d70e1f0148742e565b31d3ba8695
      https://github.com/llvm/llvm-project/commit/9e1432069555d70e1f0148742e565b31d3ba8695
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Fix breakage from 915fce040271c77df1ff9b2c8797c441cec0d18d.

That commit (from #82189) introduces a new dependency but does not
declare it in the BUILD files.


  Commit: a8364c9e17b46ec339e97cc00877c58a7bdf6089
      https://github.com/llvm/llvm-project/commit/a8364c9e17b46ec339e97cc00877c58a7bdf6089
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix shared builds. NFC


  Commit: c89d51112d329a4a37ff6dbcda7002853847c8a3
      https://github.com/llvm/llvm-project/commit/c89d51112d329a4a37ff6dbcda7002853847c8a3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

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

  Log Message:
  -----------
  [SLP]Use It->second.first for BWSz, NFC.


  Commit: 680c780a367bfe1c0cdf786250fd7f565ef6d23d
      https://github.com/llvm/llvm-project/commit/680c780a367bfe1c0cdf786250fd7f565ef6d23d
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/MC/AMDGPU/gfx1011_err.s
    M llvm/test/MC/AMDGPU/gfx1030_err.s
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx940_asm_features.s
    M llvm/test/MC/AMDGPU/gfx940_err.s
    M llvm/test/MC/AMDGPU/sopk-err.s
    M llvm/test/MC/AMDGPU/sopk.s

  Log Message:
  -----------
  [AMDGPU][AsmParser] Support structured HWREG operands. (#82805)

Symbolic values are to be supported separately.


  Commit: 460b9c030cc55b235ad88317c8e235d415237126
      https://github.com/llvm/llvm-project/commit/460b9c030cc55b235ad88317c8e235d415237126
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-windows.sh
    M .github/new-prs-labeler.yml
    M .github/workflows/release-tasks.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    A bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/CMakeLists.txt
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    A bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/AArch64/exclusive-instrument.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-main.s
    A bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names.test
    A bolt/test/X86/dwarf5-df-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-df-types-debug-names.test
    A bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-types-debug-names.test
    A bolt/test/X86/dwarf5-types-one-cu-debug-names.test
    A bolt/test/runtime/X86/instrument-wrong-target.s
    R bolt/test/runtime/instrument-wrong-target.s
    M bolt/unittests/Core/BinaryContext.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    A clang/docs/HLSL/ExpectedDifferences.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/TargetOSMacros.def
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    R clang/include/clang/Frontend/InstallAPIOptions.h
    M clang/include/clang/InstallAPI/Context.h
    A clang/include/clang/InstallAPI/FileList.h
    A clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/FormatString.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    A clang/lib/AST/Interp/InterpShared.cpp
    A clang/lib/AST/Interp/InterpShared.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Interp/Program.h
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/MCDCState.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
    M clang/lib/Driver/ToolChains/RISCVToolchain.h
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    R clang/lib/Frontend/InstallAPIConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/InstallAPI/CMakeLists.txt
    R clang/lib/InstallAPI/Context.cpp
    A clang/lib/InstallAPI/FileList.cpp
    A clang/lib/InstallAPI/HeaderFile.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/Scope.cpp
    A clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/Interp/atomic.c
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/complex.cpp
    M clang/test/AST/Interp/cxx11.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/functions.cpp
    A clang/test/AST/Interp/nullable.cpp
    A clang/test/AST/Interp/pointer-addition.c
    A clang/test/AST/Interp/spaceship.cpp
    M clang/test/AST/ast-dump-using.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/out-of-bounds.c
    M clang/test/Analysis/std-c-library-functions-path-notes.c
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-error.c
    A clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream-noopen.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
    M clang/test/CXX/drs/dr17xx.cpp
    M clang/test/CXX/drs/dr27xx.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    A clang/test/CXX/except/except.spec/p13.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
    A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/test/ClangScanDeps/optimize-vfs-pch.m
    A clang/test/CodeGen/Mips/inline-asm-constraints.c
    A clang/test/CodeGen/aarch64-cpu-supports-target.c
    A clang/test/CodeGen/aarch64-cpu-supports.c
    A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    A clang/test/CodeGen/aix-builtin-cpu-is.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/integer-overflow.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/tbaa-struct.cpp
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/host-used-device-var.cu
    A clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
    M clang/test/CodeGenSYCL/address-space-conversions.cpp
    A clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
    A clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp
    A clang/test/CoverageMapping/single-byte-counters.cpp
    A clang/test/Driver/Inputs/hip.h
    A clang/test/Driver/Inputs/resource_dir/lib/aarch64-unknown-linux/libclang_rt.hwasan.a
    A clang/test/Driver/Inputs/resource_dir/lib/aarch64-unknown-linux/libclang_rt.hwasan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/i386-unknown-linux/libclang_rt.asan.a
    A clang/test/Driver/Inputs/resource_dir/lib/i386-unknown-linux/libclang_rt.asan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/i686-unknown-linux/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir/lib/i686-unknown-linux/clang_rt.crtend.o
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.asan-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.asan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.hwasan-aarch64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.hwasan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.msan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.msan_cxx-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.tsan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.tsan_cxx-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan_cxx-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan_cxx-x86_64.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.asan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.asan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.hwasan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.hwasan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan_cxx.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan_cxx.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan_cxx.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan_cxx.a.syms
    M clang/test/Driver/arch-specific-libdir.c
    M clang/test/Driver/arm-alignment.c
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/basic-block-address-map.c
    M clang/test/Driver/clang-offload-bundler.c
    M clang/test/Driver/compiler-rt-unwind.c
    M clang/test/Driver/coverage-ld.c
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/fdefine-target-os-macros.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/gpu-libc-headers.c
    A clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    R clang/test/Driver/installapi.h
    M clang/test/Driver/instrprof-ld.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/print-libgcc-file-name-clangrt.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/Frontend/fixed_point_declarations.c
    A clang/test/InstallAPI/basic.test
    A clang/test/InstallAPI/driver-invalid-options.test
    R clang/test/InstallAPI/installapi-basic.test
    M clang/test/Misc/warning-flags.c
    A clang/test/Modules/compile-pcm-with-pic.cppm
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/openmp_offload_registration.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_codegen.cpp
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_codegen_registration.cpp
    M clang/test/OpenMP/target_depend_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M clang/test/Parser/cxx-concepts-requires-clause.cpp
    M clang/test/Preprocessor/has_builtin_cpuid.c
    M clang/test/Profile/c-mcdc-class.cpp
    M clang/test/Profile/c-mcdc-logicalop-ternary.c
    M clang/test/Profile/c-mcdc-nested-ternary.c
    M clang/test/Profile/c-mcdc-not.c
    M clang/test/Profile/c-mcdc.c
    A clang/test/Sema/aarch64-cpu-supports.c
    A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c
    A clang/test/Sema/aarch64-sme2p1-diagnostics.c
    A clang/test/Sema/aix-builtin-cpu-unsupports.c
    M clang/test/Sema/attr-nonnull.c
    M clang/test/Sema/builtin-cpu-supports.c
    A clang/test/Sema/builtin-popcountg.c
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/Sema/enum.c
    A clang/test/Sema/format-fixed-point.c
    A clang/test/Sema/inline-asm-validate-mips.c
    A clang/test/Sema/warn-compare-enum-types-mismatch.c
    R clang/test/Sema/warn-conditional-emum-types-mismatch.c
    A clang/test/Sema/warn-conditional-enum-types-mismatch.c
    M clang/test/Sema/warn-overlap.c
    M clang/test/SemaCUDA/float16.cu
    M clang/test/SemaCXX/PR20334-std_initializer_list_diagnosis_assertion.cpp
    M clang/test/SemaCXX/PR68542.cpp
    M clang/test/SemaCXX/attr-nonnull.cpp
    M clang/test/SemaCXX/compare-modules-cxx2a.cpp
    M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
    M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    A clang/test/SemaCXX/gh53815.cpp
    M clang/test/SemaCXX/type-traits.cpp
    A clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    A clang/test/SemaOpenACC/no-branch-in-out.c
    A clang/test/SemaOpenACC/no-branch-in-out.cpp
    M clang/test/SemaTemplate/class-template-noexcept.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/test/lit.cfg.py
    M clang/tools/CMakeLists.txt
    M clang/tools/c-index-test/core_main.cpp
    A clang/tools/clang-installapi/CMakeLists.txt
    A clang/tools/clang-installapi/ClangInstallAPI.cpp
    A clang/tools/clang-installapi/Options.cpp
    A clang/tools/clang-installapi/Options.h
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestMacroExpansion.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    A clang/unittests/InstallAPI/CMakeLists.txt
    A clang/unittests/InstallAPI/FileListTest.cpp
    A clang/unittests/InstallAPI/HeaderFileTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/CMakeLists.txt
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M compiler-rt/lib/builtins/divtc3.c
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h
    M compiler-rt/lib/builtins/multc3.c
    M compiler-rt/lib/builtins/os_version_check.c
    M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
    M compiler-rt/lib/hwasan/hwasan.cpp
    M compiler-rt/lib/hwasan/hwasan_report.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.h
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
    M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
    M compiler-rt/lib/scudo/standalone/combined.h
    A compiler-rt/test/builtins/Unit/aarch64_cpu_features_test.c
    M compiler-rt/test/builtins/Unit/cpu_model_test.c
    M compiler-rt/test/builtins/Unit/ctor_dtor.c
    M compiler-rt/test/profile/instrprof-basic.c
    M compiler-rt/test/profile/instrprof-write-buffer-internal.c
    M flang/CMakeLists.txt
    M flang/docs/FortranLLVMTestSuite.md
    M flang/include/flang/Common/float128.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Runtime/reduction.h
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/Mangler.cpp
    M flang/lib/Lower/OpenACC.cpp
    R flang/lib/Lower/OpenMP.cpp
    A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    A flang/lib/Lower/OpenMP/ClauseProcessor.h
    A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/lib/Lower/OpenMP/DataSharingProcessor.h
    A flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    A flang/lib/Lower/OpenMP/ReductionProcessor.h
    A flang/lib/Lower/OpenMP/Utils.cpp
    A flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/preprocessor.h
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/runtime/CMakeLists.txt
    A flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/acos.cpp
    A flang/runtime/Float128Math/acosh.cpp
    A flang/runtime/Float128Math/asin.cpp
    A flang/runtime/Float128Math/asinh.cpp
    A flang/runtime/Float128Math/atan.cpp
    A flang/runtime/Float128Math/atan2.cpp
    A flang/runtime/Float128Math/atanh.cpp
    A flang/runtime/Float128Math/cabs.cpp
    A flang/runtime/Float128Math/ceil.cpp
    A flang/runtime/Float128Math/cos.cpp
    A flang/runtime/Float128Math/cosh.cpp
    A flang/runtime/Float128Math/erf.cpp
    A flang/runtime/Float128Math/erfc.cpp
    A flang/runtime/Float128Math/exp.cpp
    A flang/runtime/Float128Math/floor.cpp
    A flang/runtime/Float128Math/hypot.cpp
    A flang/runtime/Float128Math/j0.cpp
    A flang/runtime/Float128Math/j1.cpp
    A flang/runtime/Float128Math/jn.cpp
    A flang/runtime/Float128Math/lgamma.cpp
    A flang/runtime/Float128Math/llround.cpp
    A flang/runtime/Float128Math/log.cpp
    A flang/runtime/Float128Math/log10.cpp
    A flang/runtime/Float128Math/lround.cpp
    A flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/pow.cpp
    A flang/runtime/Float128Math/round.cpp
    A flang/runtime/Float128Math/sin.cpp
    A flang/runtime/Float128Math/sinh.cpp
    A flang/runtime/Float128Math/sqrt.cpp
    A flang/runtime/Float128Math/tan.cpp
    A flang/runtime/Float128Math/tanh.cpp
    A flang/runtime/Float128Math/tgamma.cpp
    A flang/runtime/Float128Math/trunc.cpp
    A flang/runtime/Float128Math/y0.cpp
    A flang/runtime/Float128Math/y1.cpp
    A flang/runtime/Float128Math/yn.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/product.cpp
    M flang/runtime/sum.cpp
    M flang/runtime/unit.cpp
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    A flang/test/Integration/iso-fortran-binding.cpp
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    A flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    A flang/test/Lower/CUDA/cuda-mod.cuf
    A flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
    M flang/test/Lower/HLFIR/bindc_internal_proc.f90
    A flang/test/Lower/HLFIR/block_bindc_pocs.f90
    M flang/test/Lower/HLFIR/internal-procedures-2.f90
    A flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    A flang/test/Lower/Intrinsics/acos_real16.f90
    A flang/test/Lower/Intrinsics/acosh_real16.f90
    A flang/test/Lower/Intrinsics/aint_real16.f90
    A flang/test/Lower/Intrinsics/anint_real16.f90
    A flang/test/Lower/Intrinsics/asin_real16.f90
    A flang/test/Lower/Intrinsics/asinh_real16.f90
    A flang/test/Lower/Intrinsics/atan2_real16.f90
    A flang/test/Lower/Intrinsics/atan_real16.f90
    A flang/test/Lower/Intrinsics/atanh_real16.f90
    A flang/test/Lower/Intrinsics/bessel_j0_real16.f90
    A flang/test/Lower/Intrinsics/bessel_j1_real16.f90
    A flang/test/Lower/Intrinsics/bessel_jn_real16.f90
    A flang/test/Lower/Intrinsics/bessel_y0_real16.f90
    A flang/test/Lower/Intrinsics/bessel_y1_real16.f90
    A flang/test/Lower/Intrinsics/bessel_yn_real16.f90
    A flang/test/Lower/Intrinsics/cabs_real16.f90
    A flang/test/Lower/Intrinsics/ceiling_real16.f90
    A flang/test/Lower/Intrinsics/cos_real16.f90
    A flang/test/Lower/Intrinsics/cosh_real16.f90
    A flang/test/Lower/Intrinsics/erf_real16.f90
    A flang/test/Lower/Intrinsics/erfc_real16.f90
    A flang/test/Lower/Intrinsics/exp_real16.f90
    A flang/test/Lower/Intrinsics/floor_real16.f90
    A flang/test/Lower/Intrinsics/gamma_real16.f90
    A flang/test/Lower/Intrinsics/hypot_real16.f90
    A flang/test/Lower/Intrinsics/log10_real16.f90
    A flang/test/Lower/Intrinsics/log_gamma_real16.f90
    A flang/test/Lower/Intrinsics/log_real16.f90
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    A flang/test/Lower/Intrinsics/nint_real16.f90
    A flang/test/Lower/Intrinsics/pow_real16.f90
    A flang/test/Lower/Intrinsics/powi_real16.f90
    M flang/test/Lower/Intrinsics/random.f90
    A flang/test/Lower/Intrinsics/sin_real16.f90
    A flang/test/Lower/Intrinsics/sinh_real16.f90
    A flang/test/Lower/Intrinsics/sqrt_real16.f90
    A flang/test/Lower/Intrinsics/tan_real16.f90
    A flang/test/Lower/Intrinsics/tanh_real16.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/OpenACC/acc-routine04.f90
    A flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    A flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    R flang/test/Lower/OpenMP/Todo/copyprivate.f90
    A flang/test/Lower/OpenMP/copyprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-private.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/PowerPC/ppc-vector-types.f90
    M flang/test/Lower/array-temp.f90
    M flang/test/Lower/dummy-arguments.f90
    M flang/test/Lower/dummy-procedure-character.f90
    M flang/test/Lower/equivalence-with-host-assoc.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/forall/character-1.f90
    M flang/test/Lower/global-initialization.f90
    M flang/test/Lower/host-associated-functions.f90
    M flang/test/Lower/host-associated-globals.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/module-and-internal-proc.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/program-units-fir-mangling.f90
    M flang/test/Preprocessing/pp005.F
    M flang/test/Preprocessing/pp006.F
    M flang/test/Preprocessing/pp105.F90
    M flang/test/Preprocessing/pp106.F90
    M flang/test/Preprocessing/pp134.F90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    A flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/cuf03.cuf
    M flang/test/Semantics/namelist01.f90
    M flang/test/Semantics/resolve17.f90
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/bbc.cpp
    M flang/tools/flang-driver/driver.cpp
    M libc/AOR_v20.02/string/arm/memchr.S
    M libc/CMakeLists.txt
    M libc/benchmarks/automemcpy/README.md
    M libc/benchmarks/automemcpy/lib/CMakeLists.txt
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/compiler_features/check_fixed_point.cpp
    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/x86_64/entrypoints.txt
    M libc/config/gpu/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/linux/x86_64/exclude.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/contributing.rst
    M libc/docs/date_and_time.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/config_options.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/full_cross_build.rst
    M libc/docs/gpu/motivation.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/gpu/testing.rst
    M libc/docs/gpu/using.rst
    M libc/docs/libc_search.rst
    M libc/docs/math/index.rst
    M libc/docs/math/log.rst
    M libc/docs/math/stdfix.rst
    M libc/docs/porting.rst
    M libc/docs/stdbit.rst
    M libc/docs/stdio.rst
    M libc/docs/strings.rst
    M libc/fuzzing/stdio/CMakeLists.txt
    A libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/fcntl.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/include/llvm-libc-types/float128.h
    M libc/include/sched.h.def
    M libc/include/spawn.h.def
    M libc/lib/CMakeLists.txt
    M libc/spec/bsd_ext.td
    M libc/spec/gnu_ext.td
    M libc/spec/llvm_libc_ext.td
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/spec/stdc_ext.td
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/GPU/CMakeLists.txt
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/OSUtil/CMakeLists.txt
    M libc/src/__support/RPC/CMakeLists.txt
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    A libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/macros/properties/float.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/sleep.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/amdgpu/CMakeLists.txt
    A libc/src/math/amdgpu/acos.cpp
    A libc/src/math/amdgpu/acosf.cpp
    A libc/src/math/amdgpu/acosh.cpp
    A libc/src/math/amdgpu/acoshf.cpp
    A libc/src/math/amdgpu/asin.cpp
    A libc/src/math/amdgpu/asinf.cpp
    A libc/src/math/amdgpu/asinh.cpp
    A libc/src/math/amdgpu/asinhf.cpp
    A libc/src/math/amdgpu/atan.cpp
    A libc/src/math/amdgpu/atan2.cpp
    A libc/src/math/amdgpu/atan2f.cpp
    A libc/src/math/amdgpu/atanf.cpp
    A libc/src/math/amdgpu/atanh.cpp
    A libc/src/math/amdgpu/atanhf.cpp
    A libc/src/math/amdgpu/ceil.cpp
    A libc/src/math/amdgpu/ceilf.cpp
    A libc/src/math/amdgpu/copysign.cpp
    A libc/src/math/amdgpu/copysignf.cpp
    A libc/src/math/amdgpu/cos.cpp
    A libc/src/math/amdgpu/cosf.cpp
    A libc/src/math/amdgpu/cosh.cpp
    A libc/src/math/amdgpu/coshf.cpp
    A libc/src/math/amdgpu/declarations.h
    A libc/src/math/amdgpu/erf.cpp
    A libc/src/math/amdgpu/erff.cpp
    A libc/src/math/amdgpu/exp.cpp
    A libc/src/math/amdgpu/exp10.cpp
    A libc/src/math/amdgpu/exp10f.cpp
    A libc/src/math/amdgpu/exp2.cpp
    A libc/src/math/amdgpu/exp2f.cpp
    A libc/src/math/amdgpu/expf.cpp
    A libc/src/math/amdgpu/expm1.cpp
    A libc/src/math/amdgpu/expm1f.cpp
    A libc/src/math/amdgpu/fabs.cpp
    A libc/src/math/amdgpu/fabsf.cpp
    A libc/src/math/amdgpu/fdim.cpp
    A libc/src/math/amdgpu/fdimf.cpp
    A libc/src/math/amdgpu/floor.cpp
    A libc/src/math/amdgpu/floorf.cpp
    A libc/src/math/amdgpu/fma.cpp
    A libc/src/math/amdgpu/fmaf.cpp
    A libc/src/math/amdgpu/fmax.cpp
    A libc/src/math/amdgpu/fmaxf.cpp
    A libc/src/math/amdgpu/fmin.cpp
    A libc/src/math/amdgpu/fminf.cpp
    A libc/src/math/amdgpu/fmod.cpp
    A libc/src/math/amdgpu/fmodf.cpp
    A libc/src/math/amdgpu/frexp.cpp
    A libc/src/math/amdgpu/frexpf.cpp
    A libc/src/math/amdgpu/hypot.cpp
    A libc/src/math/amdgpu/hypotf.cpp
    A libc/src/math/amdgpu/ilogb.cpp
    A libc/src/math/amdgpu/ilogbf.cpp
    A libc/src/math/amdgpu/ldexp.cpp
    A libc/src/math/amdgpu/ldexpf.cpp
    A libc/src/math/amdgpu/llrint.cpp
    A libc/src/math/amdgpu/llrintf.cpp
    A libc/src/math/amdgpu/llround.cpp
    A libc/src/math/amdgpu/llroundf.cpp
    A libc/src/math/amdgpu/log.cpp
    A libc/src/math/amdgpu/log10.cpp
    A libc/src/math/amdgpu/log10f.cpp
    A libc/src/math/amdgpu/log1p.cpp
    A libc/src/math/amdgpu/log1pf.cpp
    A libc/src/math/amdgpu/log2.cpp
    A libc/src/math/amdgpu/log2f.cpp
    A libc/src/math/amdgpu/logb.cpp
    A libc/src/math/amdgpu/logbf.cpp
    A libc/src/math/amdgpu/logf.cpp
    A libc/src/math/amdgpu/lrint.cpp
    A libc/src/math/amdgpu/lrintf.cpp
    A libc/src/math/amdgpu/lround.cpp
    A libc/src/math/amdgpu/lroundf.cpp
    A libc/src/math/amdgpu/modf.cpp
    A libc/src/math/amdgpu/modff.cpp
    A libc/src/math/amdgpu/nearbyint.cpp
    A libc/src/math/amdgpu/nearbyintf.cpp
    A libc/src/math/amdgpu/nextafter.cpp
    A libc/src/math/amdgpu/nextafterf.cpp
    A libc/src/math/amdgpu/platform.h
    A libc/src/math/amdgpu/pow.cpp
    A libc/src/math/amdgpu/powf.cpp
    A libc/src/math/amdgpu/remainder.cpp
    A libc/src/math/amdgpu/remainderf.cpp
    A libc/src/math/amdgpu/remquo.cpp
    A libc/src/math/amdgpu/remquof.cpp
    A libc/src/math/amdgpu/rint.cpp
    A libc/src/math/amdgpu/rintf.cpp
    A libc/src/math/amdgpu/round.cpp
    A libc/src/math/amdgpu/roundf.cpp
    A libc/src/math/amdgpu/scalbn.cpp
    A libc/src/math/amdgpu/scalbnf.cpp
    A libc/src/math/amdgpu/sin.cpp
    A libc/src/math/amdgpu/sincos.cpp
    A libc/src/math/amdgpu/sincosf.cpp
    A libc/src/math/amdgpu/sinf.cpp
    A libc/src/math/amdgpu/sinh.cpp
    A libc/src/math/amdgpu/sinhf.cpp
    A libc/src/math/amdgpu/sqrt.cpp
    A libc/src/math/amdgpu/sqrtf.cpp
    A libc/src/math/amdgpu/tan.cpp
    A libc/src/math/amdgpu/tanf.cpp
    A libc/src/math/amdgpu/tanh.cpp
    A libc/src/math/amdgpu/tanhf.cpp
    A libc/src/math/amdgpu/tgamma.cpp
    A libc/src/math/amdgpu/tgammaf.cpp
    A libc/src/math/amdgpu/trunc.cpp
    A libc/src/math/amdgpu/truncf.cpp
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    A libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbl.cpp
    A libc/src/math/generic/llogb.cpp
    A libc/src/math/generic/llogbf.cpp
    A libc/src/math/generic/llogbf128.cpp
    A libc/src/math/generic/llogbl.cpp
    M libc/src/math/generic/logbf.cpp
    A libc/src/math/generic/logbf128.cpp
    R libc/src/math/gpu/CMakeLists.txt
    R libc/src/math/gpu/ceil.cpp
    R libc/src/math/gpu/ceilf.cpp
    R libc/src/math/gpu/copysign.cpp
    R libc/src/math/gpu/copysignf.cpp
    R libc/src/math/gpu/fabs.cpp
    R libc/src/math/gpu/fabsf.cpp
    R libc/src/math/gpu/floor.cpp
    R libc/src/math/gpu/floorf.cpp
    R libc/src/math/gpu/fma.cpp
    R libc/src/math/gpu/fmaf.cpp
    R libc/src/math/gpu/fmax.cpp
    R libc/src/math/gpu/fmaxf.cpp
    R libc/src/math/gpu/fmin.cpp
    R libc/src/math/gpu/fminf.cpp
    R libc/src/math/gpu/fmod.cpp
    R libc/src/math/gpu/fmodf.cpp
    R libc/src/math/gpu/llround.cpp
    R libc/src/math/gpu/llroundf.cpp
    R libc/src/math/gpu/lround.cpp
    R libc/src/math/gpu/lroundf.cpp
    R libc/src/math/gpu/modf.cpp
    R libc/src/math/gpu/modff.cpp
    R libc/src/math/gpu/nearbyint.cpp
    R libc/src/math/gpu/nearbyintf.cpp
    R libc/src/math/gpu/remainder.cpp
    R libc/src/math/gpu/remainderf.cpp
    R libc/src/math/gpu/rint.cpp
    R libc/src/math/gpu/rintf.cpp
    R libc/src/math/gpu/round.cpp
    R libc/src/math/gpu/roundf.cpp
    R libc/src/math/gpu/sinh.cpp
    R libc/src/math/gpu/sqrt.cpp
    R libc/src/math/gpu/sqrtf.cpp
    R libc/src/math/gpu/tan.cpp
    R libc/src/math/gpu/tanh.cpp
    R libc/src/math/gpu/trunc.cpp
    R libc/src/math/gpu/truncf.cpp
    R libc/src/math/gpu/vendor/CMakeLists.txt
    R libc/src/math/gpu/vendor/acos.cpp
    R libc/src/math/gpu/vendor/acosf.cpp
    R libc/src/math/gpu/vendor/acosh.cpp
    R libc/src/math/gpu/vendor/acoshf.cpp
    R libc/src/math/gpu/vendor/amdgpu/amdgpu.h
    R libc/src/math/gpu/vendor/amdgpu/declarations.h
    R libc/src/math/gpu/vendor/amdgpu/platform.h
    R libc/src/math/gpu/vendor/asin.cpp
    R libc/src/math/gpu/vendor/asinf.cpp
    R libc/src/math/gpu/vendor/asinh.cpp
    R libc/src/math/gpu/vendor/asinhf.cpp
    R libc/src/math/gpu/vendor/atan.cpp
    R libc/src/math/gpu/vendor/atan2.cpp
    R libc/src/math/gpu/vendor/atan2f.cpp
    R libc/src/math/gpu/vendor/atanf.cpp
    R libc/src/math/gpu/vendor/atanh.cpp
    R libc/src/math/gpu/vendor/atanhf.cpp
    R libc/src/math/gpu/vendor/common.h
    R libc/src/math/gpu/vendor/cos.cpp
    R libc/src/math/gpu/vendor/cosf.cpp
    R libc/src/math/gpu/vendor/cosh.cpp
    R libc/src/math/gpu/vendor/coshf.cpp
    R libc/src/math/gpu/vendor/erf.cpp
    R libc/src/math/gpu/vendor/erff.cpp
    R libc/src/math/gpu/vendor/exp.cpp
    R libc/src/math/gpu/vendor/exp10.cpp
    R libc/src/math/gpu/vendor/exp10f.cpp
    R libc/src/math/gpu/vendor/exp2.cpp
    R libc/src/math/gpu/vendor/exp2f.cpp
    R libc/src/math/gpu/vendor/expf.cpp
    R libc/src/math/gpu/vendor/expm1.cpp
    R libc/src/math/gpu/vendor/expm1f.cpp
    R libc/src/math/gpu/vendor/fdim.cpp
    R libc/src/math/gpu/vendor/fdimf.cpp
    R libc/src/math/gpu/vendor/frexp.cpp
    R libc/src/math/gpu/vendor/frexpf.cpp
    R libc/src/math/gpu/vendor/hypot.cpp
    R libc/src/math/gpu/vendor/hypotf.cpp
    R libc/src/math/gpu/vendor/ilogb.cpp
    R libc/src/math/gpu/vendor/ilogbf.cpp
    R libc/src/math/gpu/vendor/ldexp.cpp
    R libc/src/math/gpu/vendor/ldexpf.cpp
    R libc/src/math/gpu/vendor/llrint.cpp
    R libc/src/math/gpu/vendor/llrintf.cpp
    R libc/src/math/gpu/vendor/log.cpp
    R libc/src/math/gpu/vendor/log10.cpp
    R libc/src/math/gpu/vendor/log10f.cpp
    R libc/src/math/gpu/vendor/log1p.cpp
    R libc/src/math/gpu/vendor/log1pf.cpp
    R libc/src/math/gpu/vendor/log2.cpp
    R libc/src/math/gpu/vendor/log2f.cpp
    R libc/src/math/gpu/vendor/logb.cpp
    R libc/src/math/gpu/vendor/logbf.cpp
    R libc/src/math/gpu/vendor/logf.cpp
    R libc/src/math/gpu/vendor/lrint.cpp
    R libc/src/math/gpu/vendor/lrintf.cpp
    R libc/src/math/gpu/vendor/nextafter.cpp
    R libc/src/math/gpu/vendor/nextafterf.cpp
    R libc/src/math/gpu/vendor/nvptx/declarations.h
    R libc/src/math/gpu/vendor/nvptx/nvptx.h
    R libc/src/math/gpu/vendor/pow.cpp
    R libc/src/math/gpu/vendor/powf.cpp
    R libc/src/math/gpu/vendor/remquo.cpp
    R libc/src/math/gpu/vendor/remquof.cpp
    R libc/src/math/gpu/vendor/scalbn.cpp
    R libc/src/math/gpu/vendor/scalbnf.cpp
    R libc/src/math/gpu/vendor/sin.cpp
    R libc/src/math/gpu/vendor/sincos.cpp
    R libc/src/math/gpu/vendor/sincosf.cpp
    R libc/src/math/gpu/vendor/sinf.cpp
    R libc/src/math/gpu/vendor/sinh.cpp
    R libc/src/math/gpu/vendor/sinhf.cpp
    R libc/src/math/gpu/vendor/tan.cpp
    R libc/src/math/gpu/vendor/tanf.cpp
    R libc/src/math/gpu/vendor/tanh.cpp
    R libc/src/math/gpu/vendor/tanhf.cpp
    R libc/src/math/gpu/vendor/tgamma.cpp
    R libc/src/math/gpu/vendor/tgammaf.cpp
    A libc/src/math/ilogbf128.h
    A libc/src/math/llogb.h
    A libc/src/math/llogbf.h
    A libc/src/math/llogbf128.h
    A libc/src/math/llogbl.h
    A libc/src/math/logbf128.h
    A libc/src/math/nvptx/CMakeLists.txt
    A libc/src/math/nvptx/acos.cpp
    A libc/src/math/nvptx/acosf.cpp
    A libc/src/math/nvptx/acosh.cpp
    A libc/src/math/nvptx/acoshf.cpp
    A libc/src/math/nvptx/asin.cpp
    A libc/src/math/nvptx/asinf.cpp
    A libc/src/math/nvptx/asinh.cpp
    A libc/src/math/nvptx/asinhf.cpp
    A libc/src/math/nvptx/atan.cpp
    A libc/src/math/nvptx/atan2.cpp
    A libc/src/math/nvptx/atan2f.cpp
    A libc/src/math/nvptx/atanf.cpp
    A libc/src/math/nvptx/atanh.cpp
    A libc/src/math/nvptx/atanhf.cpp
    A libc/src/math/nvptx/ceil.cpp
    A libc/src/math/nvptx/ceilf.cpp
    A libc/src/math/nvptx/copysign.cpp
    A libc/src/math/nvptx/copysignf.cpp
    A libc/src/math/nvptx/cos.cpp
    A libc/src/math/nvptx/cosf.cpp
    A libc/src/math/nvptx/cosh.cpp
    A libc/src/math/nvptx/coshf.cpp
    A libc/src/math/nvptx/declarations.h
    A libc/src/math/nvptx/erf.cpp
    A libc/src/math/nvptx/erff.cpp
    A libc/src/math/nvptx/exp.cpp
    A libc/src/math/nvptx/exp10.cpp
    A libc/src/math/nvptx/exp10f.cpp
    A libc/src/math/nvptx/exp2.cpp
    A libc/src/math/nvptx/exp2f.cpp
    A libc/src/math/nvptx/expf.cpp
    A libc/src/math/nvptx/expm1.cpp
    A libc/src/math/nvptx/expm1f.cpp
    A libc/src/math/nvptx/fabs.cpp
    A libc/src/math/nvptx/fabsf.cpp
    A libc/src/math/nvptx/fdim.cpp
    A libc/src/math/nvptx/fdimf.cpp
    A libc/src/math/nvptx/floor.cpp
    A libc/src/math/nvptx/floorf.cpp
    A libc/src/math/nvptx/fma.cpp
    A libc/src/math/nvptx/fmaf.cpp
    A libc/src/math/nvptx/fmax.cpp
    A libc/src/math/nvptx/fmaxf.cpp
    A libc/src/math/nvptx/fmin.cpp
    A libc/src/math/nvptx/fminf.cpp
    A libc/src/math/nvptx/fmod.cpp
    A libc/src/math/nvptx/fmodf.cpp
    A libc/src/math/nvptx/frexp.cpp
    A libc/src/math/nvptx/frexpf.cpp
    A libc/src/math/nvptx/hypot.cpp
    A libc/src/math/nvptx/hypotf.cpp
    A libc/src/math/nvptx/ilogb.cpp
    A libc/src/math/nvptx/ilogbf.cpp
    A libc/src/math/nvptx/ldexp.cpp
    A libc/src/math/nvptx/ldexpf.cpp
    A libc/src/math/nvptx/llrint.cpp
    A libc/src/math/nvptx/llrintf.cpp
    A libc/src/math/nvptx/llround.cpp
    A libc/src/math/nvptx/llroundf.cpp
    A libc/src/math/nvptx/log.cpp
    A libc/src/math/nvptx/log10.cpp
    A libc/src/math/nvptx/log10f.cpp
    A libc/src/math/nvptx/log1p.cpp
    A libc/src/math/nvptx/log1pf.cpp
    A libc/src/math/nvptx/log2.cpp
    A libc/src/math/nvptx/log2f.cpp
    A libc/src/math/nvptx/logb.cpp
    A libc/src/math/nvptx/logbf.cpp
    A libc/src/math/nvptx/logf.cpp
    A libc/src/math/nvptx/lrint.cpp
    A libc/src/math/nvptx/lrintf.cpp
    A libc/src/math/nvptx/lround.cpp
    A libc/src/math/nvptx/lroundf.cpp
    A libc/src/math/nvptx/modf.cpp
    A libc/src/math/nvptx/modff.cpp
    A libc/src/math/nvptx/nearbyint.cpp
    A libc/src/math/nvptx/nearbyintf.cpp
    A libc/src/math/nvptx/nextafter.cpp
    A libc/src/math/nvptx/nextafterf.cpp
    A libc/src/math/nvptx/nvptx.h
    A libc/src/math/nvptx/pow.cpp
    A libc/src/math/nvptx/powf.cpp
    A libc/src/math/nvptx/remainder.cpp
    A libc/src/math/nvptx/remainderf.cpp
    A libc/src/math/nvptx/remquo.cpp
    A libc/src/math/nvptx/remquof.cpp
    A libc/src/math/nvptx/rint.cpp
    A libc/src/math/nvptx/rintf.cpp
    A libc/src/math/nvptx/round.cpp
    A libc/src/math/nvptx/roundf.cpp
    A libc/src/math/nvptx/scalbn.cpp
    A libc/src/math/nvptx/scalbnf.cpp
    A libc/src/math/nvptx/sin.cpp
    A libc/src/math/nvptx/sincos.cpp
    A libc/src/math/nvptx/sincosf.cpp
    A libc/src/math/nvptx/sinf.cpp
    A libc/src/math/nvptx/sinh.cpp
    A libc/src/math/nvptx/sinhf.cpp
    A libc/src/math/nvptx/sqrt.cpp
    A libc/src/math/nvptx/sqrtf.cpp
    A libc/src/math/nvptx/tan.cpp
    A libc/src/math/nvptx/tanf.cpp
    A libc/src/math/nvptx/tanh.cpp
    A libc/src/math/nvptx/tanhf.cpp
    A libc/src/math/nvptx/tgamma.cpp
    A libc/src/math/nvptx/tgammaf.cpp
    A libc/src/math/nvptx/trunc.cpp
    A libc/src/math/nvptx/truncf.cpp
    M libc/src/search/hsearch/CMakeLists.txt
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_count_ones_uc.cpp
    A libc/src/stdbit/stdc_count_ones_uc.h
    A libc/src/stdbit/stdc_count_ones_ui.cpp
    A libc/src/stdbit/stdc_count_ones_ui.h
    A libc/src/stdbit/stdc_count_ones_ul.cpp
    A libc/src/stdbit/stdc_count_ones_ul.h
    A libc/src/stdbit/stdc_count_ones_ull.cpp
    A libc/src/stdbit/stdc_count_ones_ull.h
    A libc/src/stdbit/stdc_count_ones_us.cpp
    A libc/src/stdbit/stdc_count_ones_us.h
    A libc/src/stdbit/stdc_count_zeros_uc.cpp
    A libc/src/stdbit/stdc_count_zeros_uc.h
    A libc/src/stdbit/stdc_count_zeros_ui.cpp
    A libc/src/stdbit/stdc_count_zeros_ui.h
    A libc/src/stdbit/stdc_count_zeros_ul.cpp
    A libc/src/stdbit/stdc_count_zeros_ul.h
    A libc/src/stdbit/stdc_count_zeros_ull.cpp
    A libc/src/stdbit/stdc_count_zeros_ull.h
    A libc/src/stdbit/stdc_count_zeros_us.cpp
    A libc/src/stdbit/stdc_count_zeros_us.h
    A libc/src/stdbit/stdc_has_single_bit_uc.cpp
    A libc/src/stdbit/stdc_has_single_bit_uc.h
    A libc/src/stdbit/stdc_has_single_bit_ui.cpp
    A libc/src/stdbit/stdc_has_single_bit_ui.h
    A libc/src/stdbit/stdc_has_single_bit_ul.cpp
    A libc/src/stdbit/stdc_has_single_bit_ul.h
    A libc/src/stdbit/stdc_has_single_bit_ull.cpp
    A libc/src/stdbit/stdc_has_single_bit_ull.h
    A libc/src/stdbit/stdc_has_single_bit_us.cpp
    A libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/src/stdfix/CMakeLists.txt
    M libc/src/stdfix/abshk.h
    M libc/src/stdfix/abshr.h
    M libc/src/stdfix/absk.h
    M libc/src/stdfix/abslk.h
    M libc/src/stdfix/abslr.h
    M libc/src/stdfix/absr.h
    M libc/src/stdfix/roundhk.h
    M libc/src/stdfix/roundhr.h
    M libc/src/stdfix/roundk.h
    M libc/src/stdfix/roundlk.h
    M libc/src/stdfix/roundlr.h
    M libc/src/stdfix/roundr.h
    M libc/src/stdfix/rounduhk.h
    M libc/src/stdfix/rounduhr.h
    M libc/src/stdfix/rounduk.h
    M libc/src/stdfix/roundulk.h
    M libc/src/stdfix/roundulr.h
    M libc/src/stdfix/roundur.h
    A libc/src/stdfix/sqrtuhk.cpp
    A libc/src/stdfix/sqrtuhk.h
    A libc/src/stdfix/sqrtuhr.cpp
    A libc/src/stdfix/sqrtuhr.h
    A libc/src/stdfix/sqrtuk.cpp
    A libc/src/stdfix/sqrtuk.h
    A libc/src/stdfix/sqrtulr.cpp
    A libc/src/stdfix/sqrtulr.h
    A libc/src/stdfix/sqrtur.cpp
    A libc/src/stdfix/sqrtur.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter_atlas.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    A libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_config.h
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/atexit.cpp
    M libc/src/string/CMakeLists.txt
    M libc/src/sys/epoll/epoll_pwait.h
    M libc/src/sys/epoll/epoll_pwait2.h
    M libc/src/sys/epoll/epoll_wait.h
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/wchar/CMakeLists.txt
    M libc/startup/gpu/CMakeLists.txt
    M libc/startup/gpu/amdgpu/CMakeLists.txt
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/gpu/nvptx/CMakeLists.txt
    M libc/startup/linux/CMakeLists.txt
    M libc/test/CMakeLists.txt
    M libc/test/IntegrationTest/CMakeLists.txt
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/stdckdint_test.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libc/test/integration/startup/CMakeLists.txt
    M libc/test/integration/startup/gpu/rpc_interface_test.cpp
    M libc/test/integration/startup/gpu/rpc_stream_test.cpp
    M libc/test/integration/startup/gpu/rpc_test.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/CMakeLists.txt
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/File/CMakeLists.txt
    A libc/test/src/__support/fixed_point/CMakeLists.txt
    A libc/test/src/__support/fixed_point/fx_bits_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/errno/CMakeLists.txt
    M libc/test/src/fenv/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/differential_testing/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ilogb_test.cpp
    A libc/test/src/math/smoke/ilogbf128_test.cpp
    M libc/test/src/math/smoke/ilogbf_test.cpp
    M libc/test/src/math/smoke/ilogbl_test.cpp
    A libc/test/src/math/smoke/llogb_test.cpp
    A libc/test/src/math/smoke/llogbf128_test.cpp
    A libc/test/src/math/smoke/llogbf_test.cpp
    A libc/test/src/math/smoke/llogbl_test.cpp
    A libc/test/src/math/smoke/logbf128_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_count_ones_uc_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ui_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ul_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ull_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_us_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_uc_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ui_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ul_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ull_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_us_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ui_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ul_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ull_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/SqrtTest.h
    A libc/test/src/stdfix/sqrtuhk_test.cpp
    A libc/test/src/stdfix/sqrtuhr_test.cpp
    A libc/test/src/stdfix/sqrtuk_test.cpp
    A libc/test/src/stdfix/sqrtulr_test.cpp
    A libc/test/src/stdfix/sqrtur_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/time/CMakeLists.txt
    M libc/test/utils/UnitTest/CMakeLists.txt
    M libc/utils/CMakeLists.txt
    M libc/utils/LibcTableGenUtil/CMakeLists.txt
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/gpu/CMakeLists.txt
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    M libc/utils/gpu/loader/nvptx/CMakeLists.txt
    M libc/utils/gpu/server/CMakeLists.txt
    A libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    R libc/utils/gpu/server/rpc_server.h
    M libc/utils/mathtools/GenerateHPDConstants.py
    M libc/utils/mathtools/ryu_tablegen.py
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/atomic_wait.bench.cpp
    A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    M libcxx/cmake/caches/AndroidNDK.cmake
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__atomic/aliases.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    M libcxx/include/__availability
    M libcxx/include/__config
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/scoped_allocator
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    R libcxx/lib/libc++abi.exp
    M libcxx/modules/modules.json.in
    M libcxx/modules/std/atomic.inc
    M libcxx/src/CMakeLists.txt
    M libcxx/test/CMakeLists.txt
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
    M libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
    M libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.rtti/type.info/type_info.equal.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp
    A libcxx/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
    M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
    M libcxx/utils/ci/run-buildbot
    A libcxxabi/lib/cxxabiv1.exp
    R libcxxabi/lib/exceptions.exp
    A libcxxabi/lib/fundamental-types.exp
    M libcxxabi/lib/itanium-base.exp
    A libcxxabi/lib/itanium-exceptions.exp
    M libcxxabi/lib/new-delete.exp
    A libcxxabi/lib/std-exceptions.exp
    A libcxxabi/lib/std-misc.exp
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/CMakeLists.txt
    M libcxxabi/test/test_demangle.pass.cpp
    M libcxxabi/test/uncaught_exception.pass.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    A lld/docs/ELF/large_section_layout_nopic.png
    A lld/docs/ELF/large_section_layout_pic.png
    A lld/docs/ELF/large_sections.rst
    A lld/docs/ELF/section_layout.png
    M lld/docs/WebAssembly.rst
    M lld/docs/index.rst
    M lld/docs/ld.lld.1
    M lld/test/ELF/allow-shlib-undefined.s
    M lld/test/ELF/eh-frame-pcrel-overflow.s
    M lld/test/ELF/lto/codemodel.ll
    M lld/test/ELF/mips-pc-relocs.s
    M lld/test/ELF/unresolved-symbols.s
    M lld/test/ELF/wrap-shlib-undefined.s
    M lld/test/ELF/x86-64-section-layout.s
    M lld/test/MachO/lc-build-version.s
    M lld/test/MachO/platform-version.s
    M lld/test/wasm/data-layout.s
    A lld/test/wasm/no-strip-segment.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/MarkLive.cpp
    M lld/wasm/Options.td
    M lld/wasm/Writer.cpp
    M lldb/bindings/interface/SBTargetExtensions.i
    M lldb/docs/resources/test.rst
    M lldb/docs/testsuite/a-detailed-walkthrough.txt
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Interpreter/Options.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/README-TestSuite
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/Commands/CommandObjectApropos.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.h
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Commands/CommandObjectLog.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectPlugin.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectQuit.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Commands/CommandObjectSettings.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectThreadUtil.cpp
    M lldb/source/Commands/CommandObjectTrace.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/OptionValueUInt64.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
    M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
    M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
    M lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
    M lldb/test/API/commands/expression/fixits/TestFixIts.py
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
    M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/commands/settings/TestSettings.py
    M lldb/test/API/commands/statistics/basic/TestStats.py
    M lldb/test/API/commands/trace/TestTraceExport.py
    M lldb/test/API/commands/trace/TestTraceSave.py
    M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
    M lldb/test/API/functionalities/archives/TestBSDArchives.py
    M lldb/test/API/functionalities/asan/TestMemoryHistory.py
    M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
    M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
    M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
    M lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
    M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
    M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
    M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py
    M lldb/test/API/functionalities/return-value/TestReturnValue.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    M lldb/test/API/functionalities/signal/TestSendSignal.py
    M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
    M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
    M lldb/test/API/functionalities/signal/raise/TestRaise.py
    M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
    M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
    M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
    M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
    M lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
    M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
    M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
    M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
    M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
    M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py
    M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
    M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
    M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
    M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
    M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
    M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
    M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
    M lldb/test/API/lang/cpp/namespace/TestNamespace.py
    M lldb/test/API/lang/cpp/stl/TestSTL.py
    M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
    M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
    M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
    M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
    M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
    M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
    M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
    M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
    M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
    M lldb/test/API/lldbtest.py
    M lldb/test/API/lua_api/TestLuaAPI.py
    M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
    A lldb/test/API/macosx/arm64e-attach/Makefile
    A lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
    A lldb/test/API/macosx/arm64e-attach/main.c
    M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
    M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
    M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
    M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
    M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
    M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
    M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
    M lldb/test/API/macosx/queues/TestQueues.py
    M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
    M lldb/test/API/macosx/universal/TestUniversal.py
    M lldb/test/API/python_api/event/TestEvents.py
    M lldb/test/API/python_api/file_handle/TestFileHandle.py
    M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
    M lldb/test/API/python_api/format/TestFormat.py
    M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
    M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
    M lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py
    M lldb/test/API/python_api/module_section/TestModuleAndSection.py
    M lldb/test/API/python_api/process/TestProcessAPI.py
    M lldb/test/API/python_api/process/io/TestProcessIO.py
    M lldb/test/API/python_api/sbdata/TestSBData.py
    M lldb/test/API/python_api/sbmodule/TestSBModule.py
    M lldb/test/API/python_api/target/TestTargetAPI.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
    M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
    M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
    M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
    M lldb/test/API/source-manager/TestSourceManager.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    A lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    A lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
    M lldb/test/API/tools/lldb-server/TestNonStop.py
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
    M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
    R lldb/third_party/Python/module/progress/progress.py
    R lldb/third_party/Python/module/unittest2/unittest2/__init__.py
    R lldb/third_party/Python/module/unittest2/unittest2/__main__.py
    R lldb/third_party/Python/module/unittest2/unittest2/case.py
    R lldb/third_party/Python/module/unittest2/unittest2/collector.py
    R lldb/third_party/Python/module/unittest2/unittest2/compatibility.py
    R lldb/third_party/Python/module/unittest2/unittest2/loader.py
    R lldb/third_party/Python/module/unittest2/unittest2/main.py
    R lldb/third_party/Python/module/unittest2/unittest2/result.py
    R lldb/third_party/Python/module/unittest2/unittest2/runner.py
    R lldb/third_party/Python/module/unittest2/unittest2/signals.py
    R lldb/third_party/Python/module/unittest2/unittest2/suite.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/__init__.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/dummy.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/support.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_assertions.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_break.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_case.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_discovery.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_functiontestcase.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_loader.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_new_tests.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_program.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_result.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_runner.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_setups.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_skipping.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_suite.py
    R lldb/third_party/Python/module/unittest2/unittest2/test/test_unittest2_with.py
    R lldb/third_party/Python/module/unittest2/unittest2/util.py
    M lldb/tools/debugserver/source/CMakeLists.txt
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    M lldb/tools/lldb-dap/LLDBUtils.cpp
    A lldb/tools/lldb-dap/Watchpoint.cpp
    A lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Interpreter/CMakeLists.txt
    A lldb/unittests/Interpreter/TestOptions.cpp
    M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/CommandGuide/llvm-ar.rst
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/CommandGuide/llvm-objdump.rst
    M llvm/docs/CommandGuide/llvm-readelf.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/LangRef.rst
    R llvm/docs/Packaging.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ADT/StringSet.h
    M llvm/include/llvm/ADT/iterator_range.h
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/Analysis.h
    A llvm/include/llvm/CodeGen/AtomicExpand.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineLoopInfo.h
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/Passes.h
    A llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.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/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LTO/Config.h
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/include/llvm/Object/Archive.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/Support/BlockFrequency.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Target/TargetPfmCounters.td
    M llvm/include/llvm/Target/TargetSchedule.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/PPCTargetParser.def
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Analysis/BlockFrequencyInfo.cpp
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
    M llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/Analysis.cpp
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.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/Utils.cpp
    A llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachinePassManager.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineSSAUpdater.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/ReplaceWithVeclib.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/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/lib/CodeGen/SelectionDAG/MatchContext.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/WasmAsmParser.cpp
    M llvm/lib/MC/MCSectionWasm.cpp
    M llvm/lib/MC/MCTargetOptions.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/Object/SymbolSize.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Support/BlockFrequency.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
    M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARC/ARCTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.h
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    A llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
    M llvm/lib/Target/M68k/M68kTargetMachine.cpp
    M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
    R llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Target/VE/VETargetMachine.cpp
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    A llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Target/X86/X86TargetMachine.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/FlattenCFG.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
    M llvm/test/Analysis/CostModel/AArch64/ext-rhadd.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
    M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
    M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
    M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/icmp.ll
    A llvm/test/Analysis/CostModel/X86/icmp0.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll
    A llvm/test/Bitcode/constant-splat.ll
    A llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/addsub.ll
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
    A llvm/test/CodeGen/AArch64/arm64-fpenv.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
    M llvm/test/CodeGen/AArch64/cmp-chains.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
    A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
    A llvm/test/CodeGen/AArch64/load.ll
    A llvm/test/CodeGen/AArch64/overflow.ll
    M llvm/test/CodeGen/AArch64/preserve.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
    A llvm/test/CodeGen/AArch64/store.ll
    M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-expand-div.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
    M llvm/test/CodeGen/AArch64/sve-hadd.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-knownbits.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
    M llvm/test/CodeGen/AArch64/sve-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-splat-sext.ll
    M llvm/test/CodeGen/AArch64/sve-srem-combine-loop.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-combine-rshrnb.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-vector.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-no-rtn.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fdiv-sqrt-to-rsq.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constrained-fp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2darraymsaa.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.3d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.g16.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.g16.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.dispatch.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-propagation.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-sgpr-no-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/agpr-to-agpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/blender-coalescer-verifier-error-empty-subrange.mir
    M llvm/test/CodeGen/AMDGPU/block-should-not-be-in-alive-blocks.mir
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/coalesce-identity-copies-undef-subregs.mir
    M llvm/test/CodeGen/AMDGPU/coalesce-into-dead-subreg-copies.mir
    M llvm/test/CodeGen/AMDGPU/coalesce-liveout-undef-copy.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-remat-dead-use.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-removepartial-extend-undef-subrange.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-prune-kill-copy.mir
    M llvm/test/CodeGen/AMDGPU/coalescing-subreg-was-undef-but-became-def.mir
    M llvm/test/CodeGen/AMDGPU/coalescing_makes_lanes_undef.mir
    M llvm/test/CodeGen/AMDGPU/collapse-endcf2.mir
    M llvm/test/CodeGen/AMDGPU/combine-sreg64-inits.mir
    M llvm/test/CodeGen/AMDGPU/commute-vop3.mir
    A llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
    M llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
    M llvm/test/CodeGen/AMDGPU/couldnt-join-subrange-3.mir
    M llvm/test/CodeGen/AMDGPU/dbg-value-ends-sched-region.mir
    M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
    M llvm/test/CodeGen/AMDGPU/debug-value-scheduler-crash.mir
    M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
    M llvm/test/CodeGen/AMDGPU/fdiv-nofpexcept.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/greedy-instruction-split-subrange.mir
    M llvm/test/CodeGen/AMDGPU/gws-hazards.mir
    M llvm/test/CodeGen/AMDGPU/high-bits-zeroed-16-bit-ops.mir
    M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
    A llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/liveout-implicit-def-subreg-redef-blender-verifier-error.mir
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/loop_header_nopred.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/machine-sink-ignorable-exec-use.mir
    M llvm/test/CodeGen/AMDGPU/merge-s-load.mir
    M llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
    M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-lshlrev.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
    M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
    M llvm/test/CodeGen/AMDGPU/no-remat-indirect-mov.mir
    M llvm/test/CodeGen/AMDGPU/opt-exec-masking-pre-ra-update-liveness-wave32.mir
    M llvm/test/CodeGen/AMDGPU/opt-exec-masking-pre-ra-update-liveness.mir
    M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-loop-phi.mir
    M llvm/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
    M llvm/test/CodeGen/AMDGPU/partial-forwarding-hazards.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-partial-agpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/regalloc-fast-dont-drop-subreg-index-issue61134.mir
    M llvm/test/CodeGen/AMDGPU/regcoalesce-cannot-join-failures.mir
    M llvm/test/CodeGen/AMDGPU/regcoalesce-keep-valid-lanes-implicit-def-bug39602.mir
    M llvm/test/CodeGen/AMDGPU/regcoalescer-resolve-lane-conflict-by-subranges.mir
    M llvm/test/CodeGen/AMDGPU/remat-dead-subreg.mir
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
    M llvm/test/CodeGen/AMDGPU/sched-assert-onlydbg-value-empty-region.mir
    M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
    M llvm/test/CodeGen/AMDGPU/schedule-barrier-fpmode.mir
    M llvm/test/CodeGen/AMDGPU/schedule-barrier.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
    M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
    M llvm/test/CodeGen/AMDGPU/shrink-instructions-flags.mir
    M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
    M llvm/test/CodeGen/AMDGPU/si-fold-aligned-vgprs.mir
    A llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
    M llvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-empty-live-interval.mir
    A llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
    M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
    M llvm/test/CodeGen/AMDGPU/split-mbb-lis-subrange.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
    M llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
    M llvm/test/CodeGen/AMDGPU/trans-forwarding-hazards.mir
    M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
    M llvm/test/CodeGen/AMDGPU/twoaddr-constrain.ll
    M llvm/test/CodeGen/AMDGPU/twoaddr-regsequence.mir
    M llvm/test/CodeGen/AMDGPU/undef-subreg-use-after-coalesce.mir
    M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-remat.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-vinterp.mir
    M llvm/test/CodeGen/AMDGPU/wqm-terminators.mir
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    A llvm/test/CodeGen/ARM/ldst-opt-lr-restored.ll
    M llvm/test/CodeGen/Generic/expand-vp-load-store.ll
    M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
    A llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
    M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
    A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
    A llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
    M llvm/test/CodeGen/Hexagon/reg-by-name.ll
    A llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
    A llvm/test/CodeGen/Hexagon/tfr-slotindex.ll
    A llvm/test/CodeGen/LoongArch/addrspacecast.ll
    A llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
    M llvm/test/CodeGen/LoongArch/lasx/intrinsic-permi.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    A llvm/test/CodeGen/Mips/inlineasm-constraints-softfloat.ll
    A llvm/test/CodeGen/Mips/llvm-ir/forbidden-slot-ir.ll
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/param-load-store.ll
    A llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    A llvm/test/CodeGen/RISCV/cm_mvas_mvsa.mir
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/make-compressible.mir
    A llvm/test/CodeGen/RISCV/misched-postra-direction.mir
    M llvm/test/CodeGen/RISCV/pr51206.ll
    A llvm/test/CodeGen/RISCV/readsteadycounter.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/get_vector_length.ll
    M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
    M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
    A llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/pr61561.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63459.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    A llvm/test/CodeGen/RISCV/rvv/strided-vpload-vpstore-output.ll
    M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
    M llvm/test/CodeGen/RISCV/rvv/vandn-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vnmsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vror-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/select.ll
    M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
    M llvm/test/CodeGen/RISCV/split-offsets.ll
    M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
    A llvm/test/CodeGen/SPIRV/freeze.ll
    R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
    A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
    A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
    A llvm/test/CodeGen/SPIRV/switch-no-jump-table.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll
    A llvm/test/CodeGen/SystemZ/frame-29.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-vmull-splat.ll
    A llvm/test/CodeGen/WebAssembly/no-strip.ll
    A llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
    A llvm/test/CodeGen/X86/GlobalISel/calllowering-tailcall.ll
    M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/ctpop-mask.ll
    M llvm/test/CodeGen/X86/extract-concat.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/kshift.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/test/CodeGen/X86/pr46455.ll
    M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
    M llvm/test/CodeGen/X86/sadd_sat_vec.ll
    M llvm/test/CodeGen/X86/setcc-lowering.ll
    M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
    M llvm/test/CodeGen/X86/ssub_sat_vec.ll
    M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
    M llvm/test/CodeGen/X86/vec_anyext.ll
    M llvm/test/CodeGen/X86/vec_cast.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/CodeGen/X86/x86-32-intrcc.ll
    M llvm/test/CodeGen/X86/x86-64-intrcc-uintr.ll
    M llvm/test/CodeGen/X86/x86-64-intrcc.ll
    M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    A llvm/test/DebugInfo/fixed-point.ll
    A llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
    A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    A llvm/test/Instrumentation/AddressSanitizer/do-not-instrument-globals-windows.ll
    M llvm/test/Instrumentation/InstrProfiling/coverage.ll
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll
    M llvm/test/MC/AArch64/SVE/cntb-diagnostics.s
    M llvm/test/MC/AArch64/SVE/ptrue-diagnostics.s
    M llvm/test/MC/AArch64/armv9.4a-gcs.s
    M llvm/test/MC/AMDGPU/gfx1011_err.s
    M llvm/test/MC/AMDGPU/gfx1030_err.s
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopk_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vflat_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp8.s
    M llvm/test/MC/AMDGPU/gfx940_asm_features.s
    M llvm/test/MC/AMDGPU/gfx940_err.s
    M llvm/test/MC/AMDGPU/sopk-err.s
    M llvm/test/MC/AMDGPU/sopk.s
    A llvm/test/MC/ARM/fdpic.s
    M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/X86/x86-64-err.txt
    M llvm/test/MC/Mips/cpsetup.s
    A llvm/test/MC/Mips/forbidden-slot.s
    M llvm/test/MC/Mips/mips32r6/relocations.s
    M llvm/test/MC/Mips/mips64r6/relocations.s
    M llvm/test/MC/Mips/relocation.s
    M llvm/test/MC/WebAssembly/no-dead-strip.ll
    A llvm/test/TableGen/HwModeEncodeDecode2.td
    A llvm/test/TableGen/ReadAdvanceInvalidWrite.td
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-nand.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-simplify-cfg-CAS-block.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v7.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomic-expansion-v8.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
    M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/LoongArch/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/cfence-double.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/cfence-float.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/cmpxchg.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/issue55983.ll
    M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-initial-load.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/minmax.ll
    A llvm/test/Transforms/ConstraintElimination/sext-signed-predicates.ll
    A llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
    R llvm/test/Transforms/ConstraintElimination/sext.ll
    M llvm/test/Transforms/ConstraintElimination/zext-for-per-formula-reasoning.ll
    M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
    M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
    M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
    R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
    M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
    M llvm/test/Transforms/Coroutines/coro-async.ll
    M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
    M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
    A llvm/test/Transforms/GVN/pr82884.ll
    M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
    M llvm/test/Transforms/HotColdSplit/eh-pads.ll
    M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
    A llvm/test/Transforms/HotColdSplit/outline-inner-region.ll
    A llvm/test/Transforms/HotColdSplit/outline-outer-region.ll
    M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
    A llvm/test/Transforms/InferAddressSpaces/AMDGPU/multiple-uses-of-val.ll
    A llvm/test/Transforms/Inline/inline-sign-return-address.ll
    M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
    M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
    M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
    M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
    M llvm/test/Transforms/InstCombine/AArch64/VectorUtils_heuristics.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/bitcast.ll
    M llvm/test/Transforms/InstCombine/dependent-ivs.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/fpextend.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/intrinsics.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/load-store-forward.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
    A llvm/test/Transforms/InstCombine/math-odd-even-parity.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/not.ll
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/select_meta.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    A llvm/test/Transforms/InstCombine/sub-xor-cmp.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
    M llvm/test/Transforms/InstSimplify/cmp-vec-fast-path.ll
    M llvm/test/Transforms/InstSimplify/fp-nan.ll
    M llvm/test/Transforms/InstSimplify/shift.ll
    M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/vscale.ll
    M llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
    M llvm/test/Transforms/LoopIdiom/pr82337.ll
    M llvm/test/Transforms/LoopRotate/coroutine.ll
    A llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll
    A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    A llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    A llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    A llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
    A llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll
    A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
    A llvm/test/Transforms/OpenMP/deduplication_soundness.ll
    M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/Transforms/PGOProfile/comdat_internal.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
    A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
    M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
    M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
    M llvm/test/Transforms/Util/flatten-cfg.ll
    A llvm/test/Transforms/VectorCombine/RISCV/load-widening.ll
    M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in
    M llvm/test/tools/llc/new-pm/pipeline.mir
    M llvm/test/tools/llc/new-pm/start-stop.ll
    M llvm/test/tools/llvm-cov/Inputs/mcdc-const.o
    M llvm/test/tools/llvm-cov/Inputs/mcdc-general.o
    M llvm/test/tools/llvm-cov/Inputs/mcdc-macro.o
    M llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
    M llvm/test/tools/llvm-cov/mcdc-macro.test
    M llvm/test/tools/llvm-cov/mcdc-maxbs.test
    A llvm/test/tools/llvm-exegesis/X86/latency/loop-register.s
    M llvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
    A llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
    A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
    A llvm/test/tools/llvm-objcopy/ELF/set-symbol-visibility.test
    M llvm/test/tools/llvm-objdump/X86/elf-pgoanalysismap.yaml
    M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
    M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
    A llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
    M llvm/test/tools/llvm-profdata/binary-ids-padding.test
    M llvm/test/tools/llvm-profdata/large-binary-id-size.test
    M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
    M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
    M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
    M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
    M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
    M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
    M llvm/test/tools/llvm-profdata/raw-two-profiles.test
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-pgo-analysis-map.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
    A llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test
    M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
    M llvm/test/tools/llvm-symbolizer/wasm-basic.s
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/tools/llc/NewPMDriver.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp
    M llvm/tools/llvm-exegesis/README.md
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h
    M llvm/tools/llvm-exegesis/lib/Target.h
    A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
    A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-objcopy/CommonOpts.td
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td
    M llvm/tools/llvm-objdump/ObjdumpOpts.td
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.h
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-shlib/CMakeLists.txt
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
    M llvm/tools/opt/optdriver.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
    A llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/VPIntrinsicTest.cpp
    M llvm/unittests/MIR/CMakeLists.txt
    M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/unittests/Support/TypeSizeTest.cpp
    M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp
    M llvm/utils/TableGen/Attributes.cpp
    M llvm/utils/TableGen/CodeGenHwModes.h
    M llvm/utils/TableGen/CodeGenInstruction.h
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/gn/secondary/bolt/lib/Core/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
    M llvm/utils/lldbDataFormatters.py
    M llvm/utils/release/build_llvm_release.bat
    M llvm/utils/release/github-upload-release.py
    M mlir/CMakeLists.txt
    M mlir/docs/Dialects/GPU.md
    M mlir/docs/Dialects/OpenACCDialect.md
    M mlir/docs/PassManagement.md
    M mlir/docs/Passes.md
    M mlir/docs/PatternRewriter.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/examples/CMakeLists.txt
    A mlir/examples/transform-opt/CMakeLists.txt
    A mlir/examples/transform-opt/README.md
    A mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/include/mlir/Config/mlir-config.h.cmake
    M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/Passes.h
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/Dialect/Transform/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    R mlir/include/mlir/ExecutionEngine/SparseTensor/ErrorHandling.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/InitAllPasses.h
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    A mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
    M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
    M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
    M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
    M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/lib/Dialect/Async/IR/Async.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    R mlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/SPIRV/IR/AtomicOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/IntegerDotProductOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.h
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
    M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
    M mlir/lib/Dialect/Utils/IndexingUtils.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
    M mlir/python/mlir/dialects/_ods_common.py
    M mlir/python/mlir/dialects/arith.py
    A mlir/python/mlir/dialects/transform/interpreter/__init__.py
    M mlir/test/CAPI/CMakeLists.txt
    M mlir/test/CAPI/llvm.c
    M mlir/test/CAPI/sparse_tensor.c
    A mlir/test/CAPI/transform_interpreter.c
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
    M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/external.mlir
    M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-concurrent-source.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-source.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-ops.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-params.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-values.mlir
    M mlir/test/Dialect/Transform/test-interpreter-debug.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external-concurrent.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/Dialect/Transform/test-pass-application.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Transform/test-pdl-extension.mlir
    M mlir/test/Dialect/Transform/transform-state-extension.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
    M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
    A mlir/test/Examples/transform-opt/empty.mlir
    A mlir/test/Examples/transform-opt/external-decl.mlir
    A mlir/test/Examples/transform-opt/external-def.mlir
    A mlir/test/Examples/transform-opt/pass.mlir
    A mlir/test/Examples/transform-opt/self-contained.mlir
    A mlir/test/Examples/transform-opt/syntax-error.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-multi-tile-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f16f16f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-i8i8i32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-contraction.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
    A mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    A mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M mlir/test/Target/SPIRV/decorations.mlir
    M mlir/test/Target/SPIRV/function-decorations.mlir
    M mlir/test/Target/SPIRV/global-variable.mlir
    M mlir/test/Transforms/parametric-tiling.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    A mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    A mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
    M mlir/test/lib/Dialect/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/lit.cfg.py
    M mlir/test/mlir-tblgen/op-python-bindings.td
    M mlir/test/python/dialects/sparse_tensor/dialect.py
    A mlir/test/python/dialects/transform_interpreter.py
    M mlir/test/python/ir/value.py
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/unittests/Bytecode/BytecodeTest.cpp
    M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
    M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
    M openmp/libompd/src/CMakeLists.txt
    M openmp/libompd/src/omp-icv.cpp
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/src/State.cpp
    M openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/Shared/APITypes.h
    M openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/include/Shared/SourceInfo.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/src/OffloadRTL.cpp
    M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/exports
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/test/lit.cfg
    M openmp/libomptarget/test/offloading/requires.c
    A openmp/libomptarget/test/offloading/runtime_init.c
    M openmp/libomptarget/test/ompt/callbacks.h
    M openmp/libomptarget/test/ompt/target_memcpy.c
    A openmp/libomptarget/test/ompt/target_memcpy_emi.c
    M openmp/runtime/cmake/LibompHandleFlags.cmake
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/z_AIX_asm.S
    M openmp/runtime/src/z_Linux_util.cpp
    A openmp/runtime/test/barrier/llvm-issue-80664.c
    M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
    M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
    R utils/bazel/crash-f7dbdb2b330aad91f520099159e736e91bb9ddbf
    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/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

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

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/4430fe4b87b5...460b9c030cc5

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