[all-commits] [llvm/llvm-project] cde54d: Add support for PSV EntryFunctionName (#84409)

Vitaly Buka via All-commits all-commits at lists.llvm.org
Tue Apr 2 14:24:15 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/main.clangcodegen-remove-simplifycfgpass-preceding-removetrapspass
  Home:   https://github.com/llvm/llvm-project
  Commit: cde54df39cab3a1d60a3e1862ab341609bee3cc3
      https://github.com/llvm/llvm-project/commit/cde54df39cab3a1d60a3e1862ab341609bee3cc3
  Author: Cooper Partin <coopp at microsoft.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/MC/DXContainerPSVInfo.h
    M llvm/include/llvm/MC/StringTableBuilder.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerPSVInfo.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  Add support for PSV EntryFunctionName (#84409)

This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.

Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.

Fixes #80175

---------

Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>


  Commit: b19bf3e888f95c35bf641cd0eee18a8da702f6fe
      https://github.com/llvm/llvm-project/commit/b19bf3e888f95c35bf641cd0eee18a8da702f6fe
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/unsupported-option-gpu.c

  Log Message:
  -----------
  [clang][SPIRV] Don't warn on -mcmodel (#86039)

The code model doesn't affect the sub-compilation, so don't check it.

Followup to #70740.


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

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld-macho][NFC] Refactor insertions into inputSections (#85692)

Before this change, after `InputSection` objects are created, they need
to be added to the appropriate container for tracking.
The logic for selecting the appropriate container lives in `Driver.cpp`
/ `gatherInputSections`, where the `InputSection` is added to the
matching container depending on the input config and the type of
`InputSection`.

Also, multiple other locations also insert directly into `inputSections`
array - assuming that that is the appropriate container for the
`InputSection`'s they create. Currently this is the correct assumption,
however an upcoming feature will change this.

For an upcoming feature (relative method lists), we need to route
`InputSection`'s either to `inputSections` array or to a synthetic
section, depending on weather the relative method list optimization is
enabled or not.

We can achieve the above either by duplicating some of the logic or
refactoring the routing and `InputSection`'s and reusing that.

The refactoring & code sharing approach seems the correct way to go - as
such this diff performs the refactoring while not introducing any
functional changes. Later on we can just call `addInputSection` and not
have to worry about routing logic.

---------


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

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  [lld][macho] Fix gcc category merging warning (#86091)

Fixing gcc warning regarding creating non-null-terminated string:
```
../../lld/MachO/ObjC.cpp:1226:10: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
 1226 |   strncpy(strData, str, len);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~
../../lld/MachO/ObjC.cpp: In member function 'void {anonymous}::ObjcCategoryMerger::emitAndLinkPointerList(lld::macho::Defined*, uint32_t, const {anonymous}::ObjcCategoryMerger::ClassExtensionInfo&, const {anonymous}::ObjcCategoryMerger::PointerListInfo&)':
../../lld/MachO/ObjC.cpp:1223:24: note: length computed here
 1223 |   uint32_t len = strlen(str);
      |                  ~~~~~~^~~~~
```
This is not actually a bug, as `newSectionData` returns a
zero-initialized memory region, so the null terminator will be there.


  Commit: e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
      https://github.com/llvm/llvm-project/commit/e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/test/InstallAPI/diagnostics-cpp.test
    A clang/test/InstallAPI/linker-symbols.test
    A clang/test/InstallAPI/mismatching-objc-class-symbols.test
    A clang/test/InstallAPI/symbol-flags.test
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp

  Log Message:
  -----------
  [InstallAPI] Report exports discovered in binary but not in interface (#86025)

This patch completes the classes of errors installapi can detect.


  Commit: b8e53630f899ddb8a2ec0d37bcb86608d58c4960
      https://github.com/llvm/llvm-project/commit/b8e53630f899ddb8a2ec0d37bcb86608d58c4960
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h

  Log Message:
  -----------
  [compiler-rt] Avoid pulling in __cxa_pure_virtual

When building optimized versions of the runtime libraries the compiler
is generally able to elide these references, but when building them
for maximum debug info (with -O0), these references remain which causes
the test suite to fail for tests that do not pull in the C++ standard
library.

Reviewed By: vitalybuka

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


  Commit: c56211b2430cf63ba3a469a4ae89cf2e829e9332
      https://github.com/llvm/llvm-project/commit/c56211b2430cf63ba3a469a4ae89cf2e829e9332
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

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

  Log Message:
  -----------
  [libc] Make math-macros.h C++-friendly (#86206)

The isfinite, isnan, and isinf "functions" are specified by C99..C23 to
be macros that act as type-generic functions. Defining them as their
__builtin_* counterparts works fine for this. However, in C++ the
identifiers need to be usable in different contexts, such as being
declared inside a C++ namespace. So define inline constexpr template
functions for them under `#ifdef __cplusplus`.


  Commit: 00f3454bbe04ae8cf0eeda981c439e7f97390bd4
      https://github.com/llvm/llvm-project/commit/00f3454bbe04ae8cf0eeda981c439e7f97390bd4
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    A flang/runtime/external-unit.cpp
    M flang/runtime/io-stmt.cpp
    M flang/runtime/lock.h
    A flang/runtime/pseudo-unit.cpp
    M flang/runtime/tools.h
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h

  Log Message:
  -----------
  [flang][runtime] Added pseudo file unit for simplified PRINT. (#86134)

A file unit is emulated via a temporary buffer that accumulates
the output, which is printed out via std::printf at the end
of the IO statement. This implementation will be used for the offload
devices.


  Commit: 6f9297fc4da9df776aef7ee9a18ac426053aaed4
      https://github.com/llvm/llvm-project/commit/6f9297fc4da9df776aef7ee9a18ac426053aaed4
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/lib/msan/tests/CMakeLists.txt
    M compiler-rt/lib/tsan/tests/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Fix build race with COMPILER_RT_TEST_STANDALONE_BUILD_LIBS

Since this standalone build configuration uses the runtime libraries that
are being built just now, we need to ensure that e.g. the TSan unit tests
depend on the tsan runtime library. Also fix TSAN_DEPS being overridden
to not include the tsan runtime (commit .....).
This change fixes a build race seen in the CI checks for
TsanRtlTest-x86_64-Test in https://github.com/llvm/llvm-project/pull/83088.

Reviewed By: vitalybuka

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


  Commit: 8d1affb87181b9636b87e04a245bcde06f8a7d47
      https://github.com/llvm/llvm-project/commit/8d1affb87181b9636b87e04a245bcde06f8a7d47
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Update @dcaballe in CODEOWNERS (#86177)

It fixes a few rules that don't seem to be working and adding myself to a few paths where I've been contributing and can offer my review. Also minor sorting changes.


  Commit: 1538b82fd395a2fba90842b8a8010b8dcc919499
      https://github.com/llvm/llvm-project/commit/1538b82fd395a2fba90842b8a8010b8dcc919499
  Author: Cooper Partin <coopp at microsoft.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/MC/DXContainerPSVInfo.h
    M llvm/include/llvm/MC/StringTableBuilder.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerPSVInfo.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    R llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  Revert "Add support for PSV EntryFunctionName (#84409)" (#86211)

This reverts commit cde54df39cab3a1d60a3e1862ab341609bee3cc3.

Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>


  Commit: dc74bf7a5412df82223f7062d9a6b814abbfca45
      https://github.com/llvm/llvm-project/commit/dc74bf7a5412df82223f7062d9a6b814abbfca45
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Add myself as codeowner for InstallAPI & TextAPI


  Commit: 06d245242e3e24cd4558f545fb5ceba0582c4f03
      https://github.com/llvm/llvm-project/commit/06d245242e3e24cd4558f545fb5ceba0582c4f03
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll

  Log Message:
  -----------
  [RISCV] Recursively split concat_vector into smaller LMULs when lowering (#85825)

This is a reimplementation of the combine added in #83035 but as a
lowering instead of a combine, so we don't regress the test case added
in e59f120e3a14ccdc55fcb7be996efaa768daabe0 by interfering with the
strided load combine

Previously the combine had to concatenate the split vectors with
insert_subvector instead of concat_vectors to prevent an infinite
combine loop. And the reasoning behind keeping it as a combine was
because if we emitted the insert_subvector during lowering then we
didn't fold away inserts of undef subvectors.

However it turns out we can avoid this if we just do this in lowering
and select a concat_vector directly, since we get the undef folding for
free with `DAG.getNode(ISD::CONCAT_VECTOR, ...)` via foldCONCAT_VECTORS.


  Commit: 51d5b6581912c8495360a09a0e6be978e0374d90
      https://github.com/llvm/llvm-project/commit/51d5b6581912c8495360a09a0e6be978e0374d90
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] Handle scalable ops with < EEW / 2 narrow types in combineBinOp_VLToVWBinOp_VL (#84158)

We can remove the restriction that the narrow type needs to be exactly
EEW / 2 for scalable ISD::{ADD,SUB,MUL} nodes. This allows us to perform
the combine even if we can't fully fold the extend into the widening op.

VP intrinsics already do this, since they are lowered to _VL nodes which
don't have this restriction.

The "exactly EEW / 2" narrow type restriction prevented us from emitting
V{S,Z}EXT_VL nodes with i1 element types which crash when we try to
select them, since no other legal type is double the size of i1, see the
test case added in this PR `i1_zext`. So to preserve this, this adds a
check for i1 narrow types instead.


  Commit: d22cf4365ca58ccf1db21341d63ac49921f1c47a
      https://github.com/llvm/llvm-project/commit/d22cf4365ca58ccf1db21341d63ac49921f1c47a
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/tools/CMakeLists.txt

  Log Message:
  -----------
  [cmake] Place clang behind mlir in the liist of external projects

In preparation for the initial ClangIR upstreaming process, move clang
behind MLIR in the list of external projects. Otherwise, cmake will
attempt to build clang before MLIR.

reland of https://github.com/llvm/llvm-project/pull/86050

Reviewers: 

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


  Commit: e66b670f3bf9312f696e66c31152ae535207d6bb
      https://github.com/llvm/llvm-project/commit/e66b670f3bf9312f696e66c31152ae535207d6bb
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Driver/Types.def
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/FrontendOptions.cpp

  Log Message:
  -----------
  [CIR][Basic][NFC] Add the CIR language to the Language enum

Add the CIR language to the Language enum and the standard usages of it.

commit-id:fd12b2c2

Reviewers: bcardosolopes, AaronBallman, erichkeane

Reviewed By: AaronBallman, bcardosolopes

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll

  Log Message:
  -----------
  [SLP]Fix a crash if the argument of call was affected by minbitwidt
analysis.

Need to support proper type conversion for function arguments to avoid
compiler crash.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
    M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
    M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
    M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
    M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
    M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/X86/callbr-asm-kill.mir
    M llvm/test/CodeGen/X86/late-remat-update.mir
    M llvm/test/CodeGen/X86/limit-split-cost.mir
    M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
    M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
    M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
    M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
    M llvm/test/DebugInfo/MIR/InstrRef/survives-livedebugvars.mir
    M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
    M llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
    A llvm/test/MachineVerifier/test_adjustsstack.mir

  Log Message:
  -----------
  Reapply "Move assertion for AdjustsStack from PEI to MachineVerifier (#85698)"

- The check is now actually done in both PEI and the MachineVerifier.
- More .mir tests trivially updated with "adjustsStack: true" as needed.


  Commit: 8cb2d436ca50117026a8dc901c8039d9bd39b507
      https://github.com/llvm/llvm-project/commit/8cb2d436ca50117026a8dc901c8039d9bd39b507
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [Passes] Expose parseSinglePassOption (#86117)

BPF and some machine function passes need it.


  Commit: a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
      https://github.com/llvm/llvm-project/commit/a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll

  Log Message:
  -----------
  [NewPM][AMDGPU] Add AMDGPUPassRegistry.def (#86095)

Move the pass registry to a separate file, prepare for porting dag-isel.


  Commit: 3e4caa9da4356247444e973eb470a25adae083b0
      https://github.com/llvm/llvm-project/commit/3e4caa9da4356247444e973eb470a25adae083b0
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/test/CodeGen/X86/apx/domain-reassignment.mir

  Log Message:
  -----------
  [X86] Support DomainReassignment for APX NDD instructions (#85737)


  Commit: 8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
      https://github.com/llvm/llvm-project/commit/8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  Revert "[Passes] Expose parseSinglePassOption" (#86225)

Reverts llvm/llvm-project#86117


  Commit: 718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
      https://github.com/llvm/llvm-project/commit/718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Kill process that recieve a signal (#86069)

Before this patch, llvm-exegesis would leave processes lingering that
experienced signals like segmentation faults. They would up in a
signal-delivery-stop state under the ptrace and never exit. This does
not cause problems (or at least many) in llvm-exegesis as they are
cleaned up after the main process exits, which usually happens quickly.
However, in downstream use, when many blocks are being executed (many of
which run into signals) within a single process, these processes stay
around and can easily exhaust the process limit on some systems.

This patch cleans them up by sending SIGKILL after information about the
signal that was sent has been gathered.


  Commit: 4d7f28a2c4b187f0bef3877081100786156defc7
      https://github.com/llvm/llvm-project/commit/4d7f28a2c4b187f0bef3877081100786156defc7
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [Passes] Expose parseSinglePassOption (#86226)

Reland #86225, adjust the name space.


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

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [lldb] Handle clang::Language::CIR (#86234)

commit e66b670f3bf9312f696e66c31152ae535207d6bb
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   Thu Mar 21 19:53:48 2024 -0400

triggers:

  lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:478:16:
  error: enumeration value 'CIR' not handled in switch
  [-Werror,-Wswitch]

This patch teaches lldb to handle clang::Language::CIR the same way as
clang::Language::LLVM_IR.


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

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT] Fix unused variable warnings

This patch fixes:

  bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1664:20: error: unused
  variable 'TargetAddress' [-Werror,-Wunused-variable]

  bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1666:20: error: unused
  variable 'KeyAddress' [-Werror,-Wunused-variable]


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll

  Log Message:
  -----------
  [SelectionDAG][RISCV] Use TypeSize version of ComputeValueVTs in TargetLowering::LowerCallTo. (#86166)

This is needed to support non-intrinsic functions returning tuple types
which are represented as structs with scalable vector types in IR.

I suspect this may have been broken since
https://reviews.llvm.org/D158115


  Commit: e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
      https://github.com/llvm/llvm-project/commit/e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
  Author: Pravin Jagtap <prjagtap at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  [AMDGPU] Support double type in atomic optimizer. (#84307)

Presently the atomic optimizer supports only 32-bit operations. Plan is
to extend the atomic optimizer for 64-bit operations for compute and
graphics. This patch extends support for double type for `uniform
values` only. Going forward, will extend the support for divergent
values. Adding support for divergent values requires
extending/legalizing readfirstlane, readlane, writelane, etc ops for
64-bit operations to avoid `bitcast` noise that we have currently.

---------

Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


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

  Changed paths:
    M llvm/utils/TableGen/InfoByHwMode.cpp
    M llvm/utils/TableGen/InfoByHwMode.h

  Log Message:
  -----------
  [TableGen] Remove unused CodeGenHwModes argument from RegSizeInfo constructor. NFC


  Commit: 90454a609894ab278a87be2b9f5c49714caba8df
      https://github.com/llvm/llvm-project/commit/90454a609894ab278a87be2b9f5c49714caba8df
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect-explicitsect.ll

  Log Message:
  -----------
  [PowerPC][AIX] support explicit sections for -ffunction-sections (#85351)

Fix crashes in https://godbolt.org/z/6voEa1o6Y


  Commit: 0289ae51aa375fd297f1d03d27ff517223e5e998
      https://github.com/llvm/llvm-project/commit/0289ae51aa375fd297f1d03d27ff517223e5e998
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir
    M mlir/test/Dialect/LLVMIR/type-consistency.mlir

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Support incorrectly typed memory accesses (#85813)

This commit relaxes the assumption of type consistency for LLVM dialect
load and store operations in SROA. Instead, there is now a check that
loads and stores are in the bounds specified by the sub-slot they
access.

This commit additionally removes the corresponding patterns from the
type consistency pass, as they are no longer necessary.

Note: It will be necessary to extend Mem2Reg with the logic for
differently sized accesses as well. This is non-the-less a strict
upgrade for productive flows, as the type consistency pass can produce
invalid IR for some odd cases.


  Commit: c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
      https://github.com/llvm/llvm-project/commit/c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [reland][libc] Add reverse_iterator comparisons (#86188)

This is a reland of #86147 but with a proper `base()` function.

https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp


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

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][vector] Add support for masks in castAwayContractionLeadingOneDim (#81906)

Updates `castAwayContractionLeadingOneDim` to inherit from
`MaskableOpRewritePattern` so that this pattern can support masking.

Builds on top of #83827


  Commit: 99d8c25b3104fc07f46532bd681515c5f3c71133
      https://github.com/llvm/llvm-project/commit/99d8c25b3104fc07f46532bd681515c5f3c71133
  Author: David Green <david.green at arm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/insert-subvector.ll

  Log Message:
  -----------
  [AArch64] Extra tests for v2i8 concat loads. NFC


  Commit: 465ea0bfa69aa48afef58666b084467a1c96c81b
      https://github.com/llvm/llvm-project/commit/465ea0bfa69aa48afef58666b084467a1c96c81b
  Author: Crefeda Rodrigues <65665931+cfRod at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [mlir][vector] Propagate scalability in TransferWriteNonPermutationLowering (#85632)

Updates `extendVectorRank` so that scalability in patterns
that use it (in particular, `TransferWriteNonPermutationLowering`),
is correctly propagated.


Closed related previous PR
https://github.com/llvm/llvm-project/pull/85270

---------

Signed-off-by: Crefeda Rodrigues <crefeda.rodrigues at arm.com>
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>


  Commit: de7a50fb88faa1dafee33f10149561936214062b
      https://github.com/llvm/llvm-project/commit/de7a50fb88faa1dafee33f10149561936214062b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/cray-pointer.f90

  Log Message:
  -----------
  [flang] Fix lowering of host associated cray pointee symbols (#86121)

Cray pointee symbols can be host associated from a module or host
procedure while the related cray pointer is not explicitly associated.
This caused the "not yet implemented: lowering symbol to HLFIR" to fire
when lowering a reference to the cray pointee and fetching the cray
pointer.

This patch:
- Ensures cray pointers are always instantiated when instantiating a
cray pointee.
- Fix internal procedure lowering to deal with cray pointee host
association like it does for pointers (the lowering strategy for cray
pointee is to create a pointer that is updated with the cray pointer
value before being fetched).

This should fix the bug reported in
https://github.com/llvm/llvm-project/issues/85420.


  Commit: 66f88de80599ec4461b0fdac3d1e396b6e83052d
      https://github.com/llvm/llvm-project/commit/66f88de80599ec4461b0fdac3d1e396b6e83052d
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    A clang/test/Driver/riscv-profiles.c
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Support RISC-V Profiles in -march option (#76357)

This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.

Currently, we replace specified profile in `-march` with standard
arch string.


  Commit: cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
      https://github.com/llvm/llvm-project/commit/cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/addcarry.ll

  Log Message:
  -----------
  [SelectionDAG] Prevent combination on inconsistent type in `combineCarryDiamond` (#84888)

Fixes #84831
When matching carry pattern with `getAsCarry`, it may produce different
type of carryout. This patch checks such case and does early exit.

I'm new to DAG, any suggestion is appreciated.


  Commit: 6e755c51a916dc521ffe89738bcab47a5442ad06
      https://github.com/llvm/llvm-project/commit/6e755c51a916dc521ffe89738bcab47a5442ad06
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    R clang/test/Driver/riscv-profiles.c
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  Revert "[RISCV] Support RISC-V Profiles in -march option (#76357)"

This reverts commit 66f88de80599ec4461b0fdac3d1e396b6e83052d as
there are some failures.


  Commit: a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
      https://github.com/llvm/llvm-project/commit/a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp

  Log Message:
  -----------
  [clang][analyzer][NFC] UnixAPIMisuseChecker inherits from Checker<check::PreCall> (#83027)


  Commit: 730ca47a0cc7380def6df1d25b30c1378fd8bf14
      https://github.com/llvm/llvm-project/commit/730ca47a0cc7380def6df1d25b30c1378fd8bf14
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
    A clang/test/Analysis/getline-unixapi.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Model getline/getdelim preconditions and evaluation (#83027)

According to POSIX 2018.

1. lineptr, n and stream can not be NULL.
2. If *n is non-zero, *lineptr must point to a region of at least *n
   bytes, or be a NULL pointer.

Additionally, if *lineptr is not NULL, *n must not be undefined.


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

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/abs-vec.ll
    A llvm/test/CodeGen/DirectX/abs.ll
    A llvm/test/CodeGen/DirectX/fabs.ll

  Log Message:
  -----------
  [DXIL] Complete abs lowering (#86158)

This change completes #86155
- `DXIL.td` - lowering `fabs` intrinsic to the float dxil op.
- `DXILIntrinsicExpansion.cpp` - Add intrinsic expansion for the abs
case.


  Commit: 79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
      https://github.com/llvm/llvm-project/commit/79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/cos.ll
    A llvm/test/CodeGen/DirectX/cos_error.ll
    A llvm/test/CodeGen/DirectX/floor.ll
    A llvm/test/CodeGen/DirectX/floor_error.ll

  Log Message:
  -----------
  [DXIL] Add lowerings for cosine and floor (#86173)

Completes #86170
Completes #86172
- `DXIL.td` - Add changes to lower the cosine and floor intrinsics to
dxilOps.


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

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  CODEOWNERS: extend scope of MLIR transform dialect

There are a bunch of related directories in another dialects.


  Commit: e925968e7815ac3810fdb54bb884b8a8bed02eb5
      https://github.com/llvm/llvm-project/commit/e925968e7815ac3810fdb54bb884b8a8bed02eb5
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    A clang/test/Analysis/cxx23-static-operator.cpp

  Log Message:
  -----------
  [analyzer] Support C++23 static operator calls (#84972)

Made by following:
https://github.com/llvm/llvm-project/pull/83585#issuecomment-1980340866

Thanks for the details Tomek!

CPP-5080


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll

  Log Message:
  -----------
  [X86] Add shuffle tests from Issue #86076

SLP should be doing a better job, but both shuffles lower to poorer codegen than necessary


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

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

  Log Message:
  -----------
  [DAG] Fix some missing formatting when I rewrote the SUB(MAX,MIN) -> ABD patterns. NFC.


  Commit: c41286af3f30e099556c6edbef0001466afaefcb
      https://github.com/llvm/llvm-project/commit/c41286af3f30e099556c6edbef0001466afaefcb
  Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir

  Log Message:
  -----------
  [mlir][linalg] Emit a warning when tile_using_forall generates non thread-safe code (#80813)

**Description**

The documentation of `transform.structured.tile_using_forall` says:

_"It is the user’s responsibility to ensure that num_threads/tile_sizes
is a valid tiling specification (i.e. that only tiles parallel
dimensions, e.g. in the Linalg case)."_

In other words, tiling a non-parallel dimension would generate code with
data races which is not safe to parallelize. For example, consider this
example (included in the tests in this PR):

```
func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
  %0 = scf.forall (%arg2) in (8) shared_outs(%arg3 = %arg1) -> (tensor<300x8xf32>) {
    %1 = affine.min #map(%arg2)
    %2 = affine.max #map1(%1)
    %3 = affine.apply #map2(%arg2)
    %extracted_slice = tensor.extract_slice %arg0[%3, 0, 0] [%2, 300, 8] [1, 1, 1] : tensor<100x300x8xf32> to tensor<?x300x8xf32>
    %4 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["reduction", "parallel", "parallel"]} ins(%extracted_slice : tensor<?x300x8xf32>) outs(%arg3 : tensor<300x8xf32>) {
    ^bb0(%in: f32, %out: f32):
      %5 = arith.addf %in, %out : f32
      linalg.yield %5 : f32
    } -> tensor<300x8xf32>
    scf.forall.in_parallel {
      tensor.parallel_insert_slice %4 into %arg3[0, 0] [300, 8] [1, 1] : tensor<300x8xf32> into tensor<300x8xf32>
    }
  }
  return %0 : tensor<300x8xf32>
}
```

We can easily see that this is not safe to parallelize because all
threads would be writing to the same position in `%arg3` (in the
`scf.forall.in_parallel`.

This PR detects wether it's safe to `tile_using_forall` and emits a
warning in the case it is not.

**Brief explanation**
It first generates a vector of affine expressions representing the tile
values and stores it in `dimExprs`. These affine expressions are
compared with the affine expressions coming from the results of the
affine map of each output in the linalg op. So going back to the
previous example, the original transform is:

```
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map1 = affine_map<(d0, d1, d2) -> (d1, d2)>

func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
  // expected-warning at +1 {{tiling is not thread safe at axis #0}}
  %0 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["reduction", "parallel", "parallel"]} ins(%arg0 : tensor<100x300x8xf32>) outs(%arg1 : tensor<300x8xf32>) {
  ^bb0(%in: f32, %out: f32):
    %1 = arith.addf %in, %out : f32
    linalg.yield %1 : f32
  } -> tensor<300x8xf32>
  return %0 : tensor<300x8xf32>
}

module attributes {transform.with_named_sequence} {
  transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) {
    %0 = transform.structured.match ops{["linalg.generic"]} in %arg0 : (!transform.any_op) -> !transform.any_op
    %forall, %tiled_generic = transform.structured.tile_using_forall %0 num_threads [8]
          : (!transform.any_op) -> (!transform.any_op, !transform.any_op)
    transform.yield
  }
}
```

The `num_threads` attribute would be represented as `(d0)`. Because the
linalg op has only one output (`arg1`) it would only check against the
results of `#map1`, which are `(d1, d2)`. The idea is to check that all
affine expressions in `dimExprs` are present in the output affine map.
In this example, `d0` is not in `(d1, d2)`, so tiling that axis is
considered not thread safe.


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

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

  Log Message:
  -----------
  [Clang] Make '-frtlib-add-rpath' include the standard library directory (#86217)

Summary:
The original intention of the `openmp-add-rpath` option was to add the
rpath to the language runtime directory. However, the current
implementation only adds it to the compiler's resource directory. This
patch adds support for appending the `-rpath` to the compiler's standard
library directory as well. Currently this is `<exe>/../lib/<triple>`.


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

  Changed paths:
    M llvm/docs/DirectX/DXILArchitecture.rst

  Log Message:
  -----------
  [DirectX][Docs] Add DXILIntrinsicExpansion  Pass to DXILArchitecture.rst (#86198)

Completes #84839

---------

Co-authored-by: Farzon Lotfi <farzon at farzon.com>


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

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  NFC Rename LoadBitcodeIntoNewDbgInforFormat to LoadBitcodeIntoNewDbgInfoFormat

(drop additional 'r' before Format)


  Commit: e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
      https://github.com/llvm/llvm-project/commit/e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h

  Log Message:
  -----------
  [mlir] Remove unused and untested `shouldSplitInputFile`. (#85622)

This was changed by #84765 but turned out to be buggy. Since it isn't
used and isn't tested, it is probably best to remove it.


  Commit: 83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
      https://github.com/llvm/llvm-project/commit/83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/test/mlir-opt/split-markers.mlir
    M mlir/test/mlir-pdll/split-markers.pdll

  Log Message:
  -----------
  [mlir] Extend split marker tests of `mlir-opt` and `mlir-pdll`. (#85620)

Recently #84765 made the split markers of various tools configurable but
did not test *not* using the split markers for two of them. This PR adds
those tests.


  Commit: 04a6e0f1634f9a53120c27a30250d26dff4ada1c
      https://github.com/llvm/llvm-project/commit/04a6e0f1634f9a53120c27a30250d26dff4ada1c
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/xmmintrin.h

  Log Message:
  -----------
  [X86][Headers] change 'yields' to 'returns' in more places


  Commit: 31a9a4b83720af79110941824abe28fc6ff42355
      https://github.com/llvm/llvm-project/commit/31a9a4b83720af79110941824abe28fc6ff42355
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG3528 (`make_from_tuple` can perform (the equivalent of) a C-style cast) (#85263)

Implement [LWG3528](https://wg21.link/LWG3528).
Based on LWG3528(https://wg21.link/LWG3528) and
http://eel.is/c++draft/description#structure.requirements-9, the
standard allows to impose requirements, we constraint
`std::make_from_tuple` to make `std::make_from_tuple` SFINAE friendly
and also avoid worse diagnostic messages. We still keep the constraints
of `std::__make_from_tuple_impl` so that `std::__make_from_tuple_impl`
will have the same advantages when used alone.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 3b3de48fd84b8269d5f45ee0a9dc6b7448368424
      https://github.com/llvm/llvm-project/commit/3b3de48fd84b8269d5f45ee0a9dc6b7448368424
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/unsupported-option-gpu.c
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [BOLT] Add BB index to BAT (#86044)


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

  Changed paths:
    M llvm/lib/LTO/LTO.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp

  Log Message:
  -----------
  [RemoveDIs] Load into new debug info format by default in llvm-lto and llvm-lto2 (#86271)

Directly load all bitcode into the new debug info format in `llvm-lto`
and `llvm-lto2`. This means that new-mode bitcode no longer round-trips
back to old-mode after parsing, and that old-mode bitcode gets
auto-upgraded to new-mode debug info (which is the current in-memory
default in LLVM).


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86] vector-half-conversions.ll - add v4f16->v4i32 fptosi/fptoui test coverage


  Commit: f82d0187a7e581d4f8f825021dbcb08e8eb37d61
      https://github.com/llvm/llvm-project/commit/f82d0187a7e581d4f8f825021dbcb08e8eb37d61
  Author: David Green <david.green at arm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/misched-bundle.mir

  Log Message:
  -----------
  [AArch64] Add a test to show incorrect latencies into Bundle instructions. NFC


  Commit: e54af608160350baa7ae1b8069f916eb625beadd
      https://github.com/llvm/llvm-project/commit/e54af608160350baa7ae1b8069f916eb625beadd
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 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/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Added AlignConsecutiveTableGenBreakingDAGArgColons option. (#86150)

The option to specify the style of alignment of the colons inside TableGen's DAGArg.


  Commit: 46b853a82ce64e5213f8dfa2c12c6e6a950018a0
      https://github.com/llvm/llvm-project/commit/46b853a82ce64e5213f8dfa2c12c6e6a950018a0
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/test/MC/AArch64/coff-relocations.s

  Log Message:
  -----------
  [MC][COFF][AArch64] Treat ARM64EC/X as ARM64 for relocations (#86019)

Since ARM64EC/X objects use regular ARM64 relocations, any special
handling must be done for them too.


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

  Changed paths:
    A clang/test/C/C11/n1282.c
    M clang/test/C/drs/dr0xx.c
    M clang/www/c_dr_status.html
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Add test & update status of N1282 and DR087

Our existing diagnostics for catching unsequenced modifications handles
test coverage for N1282, which is correcting the standard based on the
resolution of DR087.


  Commit: 8612fa0d84c730a753d04de012a8372ba5a10677
      https://github.com/llvm/llvm-project/commit/8612fa0d84c730a753d04de012a8372ba5a10677
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90

  Log Message:
  -----------
  [MLIR][OpenMP] Refactor bounds offsetting and fix to apply to all directives (#84349)

This PR refactors bounds offsetting by combining the two differing
implementations (one applying to initial derived type member map
implementation for descriptors and the other for regular arrays,
effectively allocatable array vs regular array in fortran) now that it's
a little simpler to do.

The PR also moves the utilization of createAlteredByCaptureMap into
genMapInfoOp, where it will be correctly applied to all MapInfoData,
appropriately offsetting and altering Pointer data set in the kernel
argument structure on the host. This primarily means bounds offsets will
now correctly apply to enter/exit/update map clauses as opposed to just
the Target directive that is currently the case. A few fortran runtime
tests have been added to verify this new behavior.

This PR depends on: https://github.com/llvm/llvm-project/pull/84328 and
is an extraction of the larger derived type member map PR stack (so a
requirement for it to land).


  Commit: 71db97152173a524a3e16e02b7fdc50f405c8695
      https://github.com/llvm/llvm-project/commit/71db97152173a524a3e16e02b7fdc50f405c8695
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Arith to EmitC: Handle addi, subi and muli (#86120)

Important to consider that `arith` has wrap around semantics, and in C++
signed overflow is UB.
Unless the operation guarantees that no signed overflow happens, we will
perform the arithmetic in an equivalent unsigned type.
`bool` also doesn't wrap around in C++, and is not addressed here.


  Commit: 9c0a0659d40f613e873e416833d2293365b48e06
      https://github.com/llvm/llvm-project/commit/9c0a0659d40f613e873e416833d2293365b48e06
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/small-tree-not-schedulable-bv-node.ll

  Log Message:
  -----------
  [SLP]Fix a crash for non-profitable non-schedulable single buildvector node tree, if the threshold allows its vectorization.


  Commit: 6f44bb7717897191be25aa01161831c67cdf5b84
      https://github.com/llvm/llvm-project/commit/6f44bb7717897191be25aa01161831c67cdf5b84
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [Object] Ensure header size not to underflow in `OffloadBinary::create`

Prevent potential integer underflows when header size is not valid.

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


  Commit: b44771f480385fa93ba7719a57e759e19747e709
      https://github.com/llvm/llvm-project/commit/b44771f480385fa93ba7719a57e759e19747e709
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    A clang/test/Driver/riscv-profiles.c
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Support RISC-V Profiles in -march option (#76357)

This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.

Currently, we replace specified profile in `-march` with standard
arch string.

This is recommitted as 66f88de was reverted because of failures
caused by lacking `--target` option.


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

  Changed paths:
    M libc/include/arpa/inet.h.def
    M libc/include/assert.h.def
    M libc/include/ctype.h.def
    M libc/include/dirent.h.def
    M libc/include/errno.h.def
    M libc/include/fcntl.h.def
    M libc/include/features.h.def
    M libc/include/fenv.h.def
    M libc/include/float.h.def
    M libc/include/gpu/rpc.h.def
    M libc/include/inttypes.h.def
    M libc/include/limits.h.def
    M libc/include/llvm-libc-macros/containerof-macro.h
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/include/llvm-libc-types/__mutex_type.h
    M libc/include/llvm-libc-types/cookie_io_functions_t.h
    M libc/include/llvm-libc-types/fd_set.h
    M libc/include/llvm-libc-types/mtx_t.h
    M libc/include/llvm-libc-types/once_flag.h
    M libc/include/llvm-libc-types/pthread_attr_t.h
    M libc/include/llvm-libc-types/pthread_mutex_t.h
    M libc/include/llvm-libc-types/pthread_once_t.h
    M libc/include/llvm-libc-types/pthread_t.h
    M libc/include/llvm-libc-types/siginfo_t.h
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/stack_t.h
    M libc/include/llvm-libc-types/struct_dirent.h
    M libc/include/llvm-libc-types/struct_epoll_event.h
    M libc/include/llvm-libc-types/struct_rlimit.h
    M libc/include/llvm-libc-types/struct_rusage.h
    M libc/include/llvm-libc-types/struct_sched_param.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/llvm-libc-types/struct_sockaddr.h
    M libc/include/llvm-libc-types/struct_sockaddr_un.h
    M libc/include/llvm-libc-types/struct_stat.h
    M libc/include/llvm-libc-types/struct_termios.h
    M libc/include/llvm-libc-types/struct_timespec.h
    M libc/include/llvm-libc-types/struct_timeval.h
    M libc/include/llvm-libc-types/thrd_t.h
    M libc/include/math.h.def
    M libc/include/pthread.h.def
    M libc/include/sched.h.def
    M libc/include/search.h.def
    M libc/include/setjmp.h.def
    M libc/include/signal.h.def
    M libc/include/spawn.h.def
    M libc/include/stdbit.h.def
    M libc/include/stdckdint.h.def
    M libc/include/stdfix.h.def
    M libc/include/stdint.h.def
    M libc/include/stdio.h.def
    M libc/include/stdlib.h.def
    M libc/include/string.h.def
    M libc/include/strings.h.def
    M libc/include/sys/auxv.h.def
    M libc/include/sys/epoll.h.def
    M libc/include/sys/ioctl.h.def
    M libc/include/sys/mman.h.def
    M libc/include/sys/prctl.h.def
    M libc/include/sys/queue.h
    M libc/include/sys/random.h.def
    M libc/include/sys/resource.h.def
    M libc/include/sys/select.h.def
    M libc/include/sys/sendfile.h.def
    M libc/include/sys/socket.h.def
    M libc/include/sys/stat.h.def
    M libc/include/sys/time.h.def
    M libc/include/sys/types.h.def
    M libc/include/sys/utsname.h.def
    M libc/include/sys/wait.h.def
    M libc/include/termios.h.def
    M libc/include/threads.h.def
    M libc/include/time.h.def
    M libc/include/uchar.h.def
    M libc/include/unistd.h.def
    M libc/include/wchar.h.def

  Log Message:
  -----------
  [libc] fix up the use of angle includes in include/ (#86027)

Performed en-masse via:

    $ grep -rn "#include <ll" libc/include -l | \
      xargs perl -pi -e 's/#include <ll(.*)>/#include "ll$1"/'
    $ grep -rn "#include <__" libc/include -l | \
      xargs perl -pi -e 's/#include <__(.*)>/#include "__$1"/'

Link: #83463
Link: #83210


  Commit: 4318f7e5301fb737a7abaacb3b43b6a9289055f3
      https://github.com/llvm/llvm-project/commit/4318f7e5301fb737a7abaacb3b43b6a9289055f3
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/exit.cpp

  Log Message:
  -----------
  [libc][stdlib] initial support for __cxa_finalize (#85865)

I'm trying to break up the pieces of supporting __cxa_finalize into smaller
commits. Provide this symbol first, and make use of it from exit.

Next will be to store __dso_handle, then finally to only run callbacks that
were registered from a specific dso.

Link: #85651
Link: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#dso-dtor


  Commit: 6e28ecd79995a72a8dbde8f16a1afc18309442a1
      https://github.com/llvm/llvm-project/commit/6e28ecd79995a72a8dbde8f16a1afc18309442a1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [Object][ELF] Ensure offset to locate dyn section does not go past size

Validate `p_offset` in `dynamicEntries` before computing the entry offset.

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


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

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/unsupported-option-gpu.c
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  Revert "[BOLT] Add BB index to BAT (#86044)"

This reverts commit 3b3de48fd84b8269d5f45ee0a9dc6b7448368424.


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

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT] Add BB index to BAT

Add input basic block index to BAT metadata. This addresses the case
where some basic blocks are eliminated, and output index is not equal
to the input block index. These indices are used in non-stale-matching
mode.

Increases BAT section size to:
- large binary: 39521512 bytes (1.02x original),
- medium binary: 3799988 bytes (0.64x),
- small binary: 920 bytes (0.64x).

Test Plan:
Updated bolt-address-translation{,-yaml}.test

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


  Commit: cb300c33059c1d14f72392ce5dffcf050ad7567d
      https://github.com/llvm/llvm-project/commit/cb300c33059c1d14f72392ce5dffcf050ad7567d
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Fix pointer escape through stores bug (#86291)

This commit resolves a SROA bug caused by not properly checking if a
llvm store operation writes the pointer to memory or not. Now, we do no
longer consider stores that use a slot pointer as a value to store as
fixable.


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

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Add number of basic blocks to BAT

YAML profile reader checks the number of basic blocks in regular,
no-stale-matching mode. Add it to BAT.

This increases the size of BAT section to:
- large binary: 39583080 bytes (1.02x of the original),
- medium binary: 3816492 bytes (0.64x),
- small binary: 920 bytes (0.64x, no change due to alignment).

Test Plan: Updated bolt-address-translation-yaml.test

Reviewers: rafaelauler, ayermolo, maksfb, dcci

Reviewed By: rafaelauler

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


  Commit: 2091c74796b1dac68e622284c63a870b88b7554f
      https://github.com/llvm/llvm-project/commit/2091c74796b1dac68e622284c63a870b88b7554f
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  [RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)

Follow on from #84915 which adds the DbgRecord function variants.

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

    LLVMDIBuilderInsertDeclareBefore
    LLVMDIBuilderInsertDeclareAtEnd
    LLVMDIBuilderInsertDbgValueBefore
    LLVMDIBuilderInsertDbgValueAtEnd

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

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

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


  Commit: 3054d0dae7a813c493d2bb8e969aa2321145a83b
      https://github.com/llvm/llvm-project/commit/3054d0dae7a813c493d2bb8e969aa2321145a83b
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl

  Log Message:
  -----------
  AMDGPU: Rename and add bf16 support for global_load_tr builtins (#86202)

Make the name of a clang builtin as close to the mnemonic instruction
name as possible. The data type suffix may not be enough to tell what
instruction the builtin is going to produce.
  This patch also add the bf16 support for global_load_tr_b128 builtins.


  Commit: 631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
      https://github.com/llvm/llvm-project/commit/631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
  Author: long.chen <lipracer at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/test/Dialect/Arith/expand-ops.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
    M mlir/test/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] fix wrong floordivsi fold (#83248)

Fixs https://github.com/llvm/llvm-project/issues/83079


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

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir

  Log Message:
  -----------
  [mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)

Follow-up for https://github.com/llvm/llvm-project/pull/81625


  Commit: ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
      https://github.com/llvm/llvm-project/commit/ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion

  Log Message:
  -----------
  [bazel] Update to 7.x (#86297)


  Commit: 26857582e5ee7980a71133ef8f8f579bcd90bdc8
      https://github.com/llvm/llvm-project/commit/26857582e5ee7980a71133ef8f8f579bcd90bdc8
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  Revert "[RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)"

This reverts commit 2091c74796b1dac68e622284c63a870b88b7554f.

Builtbot failure: https://lab.llvm.org/buildbot/#/builders/16/builds/63080


  Commit: 8155ec13968b6457c61b8507f2ae8ba3ac3b748b
      https://github.com/llvm/llvm-project/commit/8155ec13968b6457c61b8507f2ae8ba3ac3b748b
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [HIP][NFC] Refactor managed var codegen (#85976)

Refactor managed variable handling in codegen so that the transformation
is done separately from registration.

This will allow the new driver to register the managed var in the linker
wrapper.


  Commit: 7269570e4b2a5197201c959652c3e86804ed1eeb
      https://github.com/llvm/llvm-project/commit/7269570e4b2a5197201c959652c3e86804ed1eeb
  Author: Abhin P Jose <abhinjose at live.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M compiler-rt/lib/asan/tests/asan_noinst_test.cpp

  Log Message:
  -----------
  Fixed build breaking due to #77178 and #86131 (#86290)

Fixed a small issue of matching pthread signature, which was causing the
build to break for the compiler-rt project after adding
-Wcast-function-type-mismatch to -Wextra dignostic group
(https://github.com/llvm/llvm-project/pull/77178 &
https://github.com/llvm/llvm-project/pull/86131).


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

  Changed paths:
    A clang/test/C/drs/dr290.c
    M clang/www/c_dr_status.html

  Log Message:
  -----------
  [C99] Update status of DR290, which we do not yet implement


  Commit: 527a624205748814dd9309eda7ee308b40b2359a
      https://github.com/llvm/llvm-project/commit/527a624205748814dd9309eda7ee308b40b2359a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A clang/test/C/C11/n1365.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Update the status of N1365 on constant expression handling

This paper is about constant expression handling in the presence of
FLT_EVAL_METHOD, which we handle via insertion of implicit cast nodes
in the AST.


  Commit: 72c729f354d71697a1402720c90b57ff521b6739
      https://github.com/llvm/llvm-project/commit/72c729f354d71697a1402720c90b57ff521b6739
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add support for --incompatible_disallow_empty_glob (#85999)

This bazel flag, that should be flipped in an upcoming release
https://github.com/bazelbuild/bazel/pull/15327, fails if globs have no
matches. This helps find libraries where you are accidentally not
including files because of typos. This change removes the various globs
that were not matching anything, and uncovered some targets that were
doing nothing because their source files were deleted. There are a few
cases where globs were intentionally optional in the case of loops that
expanded to different potential options, so those now use `allow_empty =
True`. This allows downstream consumers to also flip this flags for
their own builds, where previously this would fail in LLVM instead.

The downside to this change is that if files are added in these
relatively standard locations, manual work will have to be done to add
this patterns back. If folks prefer we could instead add `allow_empty =
True` to every glob.


  Commit: 5184e6ad69b0ca69dfba6fb0982a675c595f49a2
      https://github.com/llvm/llvm-project/commit/5184e6ad69b0ca69dfba6fb0982a675c595f49a2
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/test/C/C11/n1365.c

  Log Message:
  -----------
  Removing accidental code from 527a624205748814dd9309eda7ee308b40b2359a


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

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

  Log Message:
  -----------
  [llvm-exegesis] Refactor parent code to separate function (#86232)

This patch refactors the parent code to a separate function in the
subprocess executor to make the code more clear and easy to follow.


  Commit: d2f8ba7d6dc7251815f1431cf8715053576615f4
      https://github.com/llvm/llvm-project/commit/d2f8ba7d6dc7251815f1431cf8715053576615f4
  Author: Sacha Coppey <sacha.coppey at oracle.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h

  Log Message:
  -----------
  [RISCV][NFC] Add generateMCInstSeq in RISCVMatInt (#84462)

This allows to avoid duplicating the code handling the instructions
outputted by `generateInstSeq` when emitting `MCInst`s.


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

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

  Log Message:
  -----------
  Revert "[llvm-exegesis] Refactor parent code to separate function (#86232)"

This reverts commit bd493756fa51e538575fc320aae50d75394f0567.

Causes build failures on non-X86 platforms.
https://lab.llvm.org/buildbot/#/changes/128363


  Commit: 36a6afdd2c7fa02548260ebe4c993b705c6e6e38
      https://github.com/llvm/llvm-project/commit/36a6afdd2c7fa02548260ebe4c993b705c6e6e38
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  Reland "[llvm-exegesis] Refactor parent code to separate function (#86232)"

This reverts commit c3a41aac5f32475b9a0499e6e888e713763566dc.

This relands commit bd493756fa51e538575fc320aae50d75394f0567.

Apparently I forgot to update a couple values, so this change failed on
every builder that builds those sections (should be every Linux
platform) rather than something architecture specific like originally
thought. I swore I updated the values and ran check-llvm before merging.
Wondering If I forgot to push those changes...


  Commit: bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
      https://github.com/llvm/llvm-project/commit/bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
  Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    A mlir/test/Dialect/Linalg/flatten-unsupported.mlir

  Log Message:
  -----------
  [mlir][transform] Emit error message with `emitSilenceableFailure` (#86146)

The previous implementation used a `notifyMatchFailure` to emit failure
message inappropriately and then used the
`emitDefaultSilenceableFailure`. This patch changes this to use the more
appropriate `emitSilenceableFailure` with error message. Additionally a
failure test has been added.


  Commit: cd8286a667d568c4319b09baa63ba899e3101a19
      https://github.com/llvm/llvm-project/commit/cd8286a667d568c4319b09baa63ba899e3101a19
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [GitHub] Allow shortcut for "introductory issue" and request linking to issue in PR (#84635)

The answer to many requests in issues to be assigned to users is often
"just create a pull request". That's in contradiction to the
"introductory issue" instructions posted by the GitHub bot.

This change updates the instructions, mentioning the shortcut of "just
creating a PR". Moreover, it now explains linking PRs to issues in order
to close them automatically upon merge.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [Target] Move SubRegIdxRanges from MCSubtargetInfo to TargetInfo. (#86245)

I'm planning to add HwMode support to SubRegIdxRanges for RISC-V GPR
pairs. The MC layer is currently unaware of the HwMode for registers and
I'd like to keep it that way.

This information is not used by the MC layer so I think it is safe to
move it.


  Commit: b1575f9082071702bd6aaa2600ce9fe011a091e9
      https://github.com/llvm/llvm-project/commit/b1575f9082071702bd6aaa2600ce9fe011a091e9
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp

  Log Message:
  -----------
  Missed a null-ptr check in previous PR for Debuginfod testing (#86292)

@GeorgeHuyubo noticed an unchecked shared pointer result in
https://github.com/llvm/llvm-project/pull/85693/. This is the fix for
that issue.

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: 721f149596f27f3d4c5c28ec2a2fac33340fb876
      https://github.com/llvm/llvm-project/commit/721f149596f27f3d4c5c28ec2a2fac33340fb876
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  Fix typo (#86319)

Im working on the floating point fmaximum and fminimum functions right
now in a different pr and I ran the individual tests by doing

```
ninja libc.test.src.math.smoke.<func>_test.__unit__
```


  Commit: 83e96977cdb6041196366fc01e8abdca52cadb2e
      https://github.com/llvm/llvm-project/commit/83e96977cdb6041196366fc01e8abdca52cadb2e
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/strfromd.cpp
    A libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.h
    A libc/src/stdlib/strfroml.cpp
    A libc/src/stdlib/strfroml.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/StrfromTest.h
    A libc/test/src/stdlib/strfromd_test.cpp
    M libc/test/src/stdlib/strfromf_test.cpp
    A libc/test/src/stdlib/strfroml_test.cpp

  Log Message:
  -----------
  [libc] Implement strfromd() and strfroml() (#86113)

Follow up to #85438.

Implements the functions `strfromd()` and `strfroml()` introduced in
C23, and unifies the testing framework for `strfrom*()` functions.


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

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

  Log Message:
  -----------
  [RISCV] Move the RISCVSchedule.td include after RISCVRegisterInfo.td. NFC

Registers shouldn't depend on the scheduler, but a scheduler
predicate could depend on a register.

This would make it possible to move VLDSX0Pred out of the SiFive7
scheduler model to RISCVSchedule.td if another model needed it.


  Commit: 2120f574103c487787390263b3692c4b167f6bdf
      https://github.com/llvm/llvm-project/commit/2120f574103c487787390263b3692c4b167f6bdf
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A .github/workflows/issue-write.yml
    M .github/workflows/pr-code-format.yml
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  Reapply [workflows] Split pr-code-format into two parts to make it more secure (#78215) (#80495)

Actions triggered by pull_request_target events have access to all
repository secrets, so it is unsafe to use them when executing untrusted
code. The pr-code-format workflow does not execute any untrusted code,
but it passes untrused input into clang-format. An attacker could use
this to exploit a flaw in clang-format and potentially gain access to
the repository secrets.
    
By splitting the workflow, we can use the pull_request target which is
more secure and isolate the issue write permissions in a separate job.
The pull_request target also makes it easier to test changes to the
code-format-helepr.py script, because the version of the script from the
pull request will be used rather than the version of the script from
main.
    
Fixes #77142


  Commit: 80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
      https://github.com/llvm/llvm-project/commit/80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion

  Log Message:
  -----------
  Revert "[bazel] Update to 7.x (#86297)" (#86325)

Reverting for
https://github.com/llvm/llvm-project/pull/86297#issuecomment-2015660662

This reverts commit ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39.


  Commit: 50e6218132d6d9cfc2645fa19cf72d0437a62d95
      https://github.com/llvm/llvm-project/commit/50e6218132d6d9cfc2645fa19cf72d0437a62d95
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"

This reverts commit 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883.

This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This was causing build failures on one of the ARMv8 builders. Still not
completely sure why, but relanding it to see if the failure pops up
again. If it does, the plan is to fix forward by disabling tests on ARM
temporarily as llvm-exegesis does not currently use SubprocessMemory
on ARM.


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    A llvm/test/CodeGen/SystemZ/readcyclecounter.ll

  Log Message:
  -----------
  [SystemZ] Add support for llvm.readcyclecounter

The llvm.readcyclecounter intrinsic can be implemented via the
STORE CLOCK FAST (STCKF) instruction.


  Commit: ee9fa38554f8427f5361708b28551e70ff0e1256
      https://github.com/llvm/llvm-project/commit/ee9fa38554f8427f5361708b28551e70ff0e1256
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [libc] fix missing macro dependency in bazel (#86298)

![image](https://github.com/llvm/llvm-project/assets/20108837/94cb5718-3526-4bae-8a79-f5b1d19b352d)


  Commit: d394f3a162b871668d0c8e8bf6a94922fa8698ae
      https://github.com/llvm/llvm-project/commit/d394f3a162b871668d0c8e8bf6a94922fa8698ae
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h
    M openmp/runtime/src/kmp_os.h
    M openmp/runtime/src/z_Linux_util.cpp
    M openmp/runtime/test/lit.cfg

  Log Message:
  -----------
  [OpenMP][AIX] Affinity implementation for AIX (#84984)

This patch implements `affinity` for AIX, which is quite different from
platforms such as Linux.
- Setting CPU affinity through masks and related functions are not
supported. System call `bindprocessor()` is used to bind a thread to one
CPU per call.
- There are no system routines to get the affinity info of a thread. The
implementation of `get_system_affinity()` for AIX gets the mask of all
available CPUs, to be used as the full mask only.
- Topology is not available from the file system. It is obtained through
system SRAD (Scheduler Resource Allocation Domain).

This patch has run through the libomp LIT tests successfully with
`affinity` enabled.


  Commit: dfe4ca9b7f4a422500d78280dc5eefd1979939e6
      https://github.com/llvm/llvm-project/commit/dfe4ca9b7f4a422500d78280dc5eefd1979939e6
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/riscv-tlsdesc-relax.s
    M lld/test/ELF/riscv-tlsdesc.s
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp

  Log Message:
  -----------
  [RISCV][lld] Set the type of TLSDESC relocation's referenced local symbol to STT_NOTYPE

When adding fixups for RISCV_TLSDESC_ADD_LO and RISCV_TLSDESC_LOAD_LO,
the local label added for RISCV TLSDESC relocations have STT_TLS set,
which is incorrect. Instead, these labels should have `STT_NOTYPE`.

This patch stops adding such fixups and avoid setting the STT_TLS on
these symbols. Failing to do so can cause LLD to emit an error `has an
STT_TLS symbol but doesn't have an SHF_TLS section`. We additionally,
adjust how LLD services these relocations to avoid errors with
incompatible relocation and symbol types.

Reviewers: topperc, MaskRay

Reviewed By: MaskRay

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


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

  Changed paths:
    A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp

  Log Message:
  -----------
  [flang][NFC] Extract FIROpConversion to its own files (#86213)

This PR extracts `FIROpConversion` and `FIROpAndTypeConversion`
templated base patterns to a header file. All the functions from
FIROpConversion that do not require the template argument are moved to a
base class named `ConvertFIRToLLVMPattern`.
This move is done so the `FIROpConversion` pattern and all its utility
functions can be reused outside of the codegen pass.

For the most part the code is only moved to the new files and not
modified. The only update is that addition of the PatternBenefit
argument with a default value to the constructor so it can be forwarded
to the `ConversionPattern` ctor.

This split is done in a similar way for the `ConvertOpToLLVMPattern`
base pattern that is based on the `ConvertToLLVMPattern` base class in
`mlir/include/mlir/Conversion/LLVMCommon/Pattern.h`.


  Commit: 19268ac55106834701b1c41acded4d413a3502e9
      https://github.com/llvm/llvm-project/commit/19268ac55106834701b1c41acded4d413a3502e9
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [Sanitizers][Darwin] Bump up DEFAULT_SANITIZER_MIN_OSX_VERSION (#86035)

The greendragon was recently moved and now it runs on somewhat newer
macOS
version - which breaks some sanitizers tests

rdar://125052915

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>


  Commit: 105feb9ac61243a32c84f5c13015602e5de500ff
      https://github.com/llvm/llvm-project/commit/105feb9ac61243a32c84f5c13015602e5de500ff
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/dwarf4-label-low-pc.s
    M bolt/test/X86/dwarf5-label-low-pc.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix handling of DW_TAG_label (#86182)

For DWARF5 BOLT was not retreiving address and instead was setting an
index.
Changed so that an address is used, and added DWARF4 test because it was
missing.


  Commit: f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
      https://github.com/llvm/llvm-project/commit/f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/dwarf5-debug-names-cross-cu.s

  Log Message:
  -----------
  [BOLT][DWARF] Add support for cross-cu references for debug-names (#86015)

The DW_AT_abstract_origin can be a cross-cu reference as a by-product of
LTO. On IR level for absolute references an address is stored, vs a DIE
for relative references. Added a map to keep track of cross-cu
referenced DIEs to use when we add an Entry.


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

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Unify and simplify plugin CMake (#86191)

Summary:
This patch reworks the CMake handling for building plugins. All this
does is pull a lot of shared and common logic into a single helper
function.
This also simplifies the OMPT libraries from being built separately
instead of just added.


  Commit: 215f105ca5d0b42d00bbbc315605b222d63be63a
      https://github.com/llvm/llvm-project/commit/215f105ca5d0b42d00bbbc315605b222d63be63a
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll

  Log Message:
  -----------
  [MTE] Fix test (#85875)

llc runs the stack tagging instrumentation, so if we run opt before, we
double instrument


  Commit: 14be4930c10bcc6f6c0096097350cb3cafff9661
      https://github.com/llvm/llvm-project/commit/14be4930c10bcc6f6c0096097350cb3cafff9661
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Make compiler-rt analyze on macOS (#86001)

Previously the select above would fail for non-linux platforms if you
did a `bazel build @llvm-project//...`, now this target specifies that
it's only supported on the linux platform through bazel's
`target_compatible_with` feature. This makes all targets in the tree be
ignored when building on incompatible platforms (and fail if built
directly)


  Commit: 85af772f3b4067fce703b33cee0e2cdafc74a6d6
      https://github.com/llvm/llvm-project/commit/85af772f3b4067fce703b33cee0e2cdafc74a6d6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget][FIX] Fix unintentinally used PUBLIC interface

Summary:
This was supposed to be private and caused some issues with certain
configs.


  Commit: 5d0d9eb52dbb3bcf6f500c7b18d58c8bdf6659ce
      https://github.com/llvm/llvm-project/commit/5d0d9eb52dbb3bcf6f500c7b18d58c8bdf6659ce
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [NFC][BP] Remove unused parameter from function (#86333)

Remove the unused parameter `RecDepth` from `runIterations()`.


  Commit: 4652ec0e291ca4ba4ddef3fd59b202646e9a6694
      https://github.com/llvm/llvm-project/commit/4652ec0e291ca4ba4ddef3fd59b202646e9a6694
  Author: Patrick O'Neill <102189596+patrick-rivos at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll

  Log Message:
  -----------
  [SLP] Delete vectorized users when tree contains an invalid cost (#86344)


  Commit: 913e29966bac5fec08998a1acc3e793f9b7bcc12
      https://github.com/llvm/llvm-project/commit/913e29966bac5fec08998a1acc3e793f9b7bcc12
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp

  Log Message:
  -----------
  [NFC][tsan] Use the result of placement new (#86341)


  Commit: 0ba678a53d3ef7d125f38720a59875035739dc9b
      https://github.com/llvm/llvm-project/commit/0ba678a53d3ef7d125f38720a59875035739dc9b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp

  Log Message:
  -----------
  [tsan] Set `thr->is_inited` after SlotAttachAndLock (#86342)

Almost NFC.

This is symmetrical to `ThreadFinish`, which
resets the slot after `is_inited`.


  Commit: 362d26366d0175f01ffb6085eb747a6e40f01147
      https://github.com/llvm/llvm-project/commit/362d26366d0175f01ffb6085eb747a6e40f01147
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp

  Log Message:
  -----------
  [tsan] Process SIGPROF as sync signal only if thread is alive (#86343)

Otherwise it may crash too early.

This is followup to #85188


  Commit: b1e97d60bd5b1d3f994345caa4012ea11c2a0f62
      https://github.com/llvm/llvm-project/commit/b1e97d60bd5b1d3f994345caa4012ea11c2a0f62
  Author: Yeoul Na <yeoul_na at apple.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGen/attr-counted-by-debug-info.c

  Log Message:
  -----------
  Unwrap CountAttributed for debug info (#86017)

Fix crash caused by 3eb9ff30959a670559bcba03d149d4c51bf7c9c9


  Commit: 56197d732e5d5d158fce2f2dfddf3d0bf0d12525
      https://github.com/llvm/llvm-project/commit/56197d732e5d5d158fce2f2dfddf3d0bf0d12525
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT] Skip functions with unsupported Linux kernel features (#86345)

Do not overwrite functions with alternative and paravirtual instructions
until a proper update support is implemented.


  Commit: 51268a57fd4d7f67fe9fdb337f63ec390fa2379a
      https://github.com/llvm/llvm-project/commit/51268a57fd4d7f67fe9fdb337f63ec390fa2379a
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/linux-alt-instruction.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-parainstructions.s

  Log Message:
  -----------
  [BOLT] Enable --keep-nops option for Linux kernel by default (#86349)

Preserve nop instructions in the Linux kernel since they could be used
for runtime patching.


  Commit: 3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b
      https://github.com/llvm/llvm-project/commit/3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/CMakeLists.txt
    A cmake/Modules/GetDarwinLinkerVersion.cmake
    M compiler-rt/CMakeLists.txt
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lit.common.configured.in

  Log Message:
  -----------
  Get the linker version and pass the it to compiler-rt tests on Darwin. (#86220)

The HOST_LINK_VERSION is a hardcoded string in Darwin clang that detects
the linker version at configure time. The driver uses this information
to build the correct set of arguments for the linker. This patch detects
the linker version again during compiler-rt configuration and passes it
to the tests. This allows a clang built on a machine with a new linker
to run compiler-rt tests on a machine with an old linker.

rdar://125198603


  Commit: 4406e4a8bd5acadd980d84356b36030cadf9a61d
      https://github.com/llvm/llvm-project/commit/4406e4a8bd5acadd980d84356b36030cadf9a61d
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp

  Log Message:
  -----------
  Revert "Missed a null-ptr check in previous PR for Debuginfod testing (#86292)"

This reverts commit b1575f9082071702bd6aaa2600ce9fe011a091e9.


  Commit: 7fc2fbb3f1961e0ad0722c2d749ddd6264195a1c
      https://github.com/llvm/llvm-project/commit/7fc2fbb3f1961e0ad0722c2d749ddd6264195a1c
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    R lldb/test/API/debuginfod/Normal/Makefile
    R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    R lldb/test/API/debuginfod/Normal/main.c
    R lldb/test/API/debuginfod/SplitDWARF/Makefile
    R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    R lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  Revert "DebugInfoD tests + fixing issues exposed by tests (#85693)"

This reverts commit 6d939a6ec69adf284cdbef2034b49fd02ba503fc.

This broke following LLDB bots:
https://lab.llvm.org/buildbot/#/builders/96/builds/54867
https://lab.llvm.org/buildbot/#/builders/17/builds/50824


  Commit: 00248754176d74aed2e0785d9982a5ea8e91a71a
      https://github.com/llvm/llvm-project/commit/00248754176d74aed2e0785d9982a5ea8e91a71a
  Author: Daniel M. Katz <katzdm at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/SemaCXX/namespace-alias.cpp

  Log Message:
  -----------
  [Clang] Raise an error on namespace aliases with qualified names. (#86122)


  Commit: 5d187898f625cc54310f51b278b36ad6a97104ee
      https://github.com/llvm/llvm-project/commit/5d187898f625cc54310f51b278b36ad6a97104ee
  Author: Fabian Tschopp <fabian.tschopp at modular.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/InlinerPass.cpp

  Log Message:
  -----------
  [mlir][inliner] Return early if the inliningThreshold is 0U or -1U. (#86287)

Computing the inlinling profitability can be costly due to walking the
graph when counting the number of operations.

This PR addresses that by returning early if the threshold is set to
never or always inline.


  Commit: b768a8c1db85b9e84fd8b356570a3a8fbe37acf6
      https://github.com/llvm/llvm-project/commit/b768a8c1db85b9e84fd8b356570a3a8fbe37acf6
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/modules-extension.c

  Log Message:
  -----------
  [clang][deps] Lazy dependency directives (#86347)

Since b4c83a13f664582015ea22924b9a0c6290d41f5b, `Preprocessor` and
`Lexer` are aware of the concept of scanning dependency directives. This
makes it possible to scan for them on-demand rather than eagerly on the
first filesystem operation (open, or even just stat).

This might improve performance, but is also necessary for the "PCH as
module" mode. Some precompiled header sources use the ".pch" file
extension, which means they were not getting scanned for dependency
directives. This was okay when the PCH was the main input file in a
separate scan step, because there we just lex the file in a
scanning-specific frontend action. But when such source gets treated as
a module implicitly loaded from a TU, it will get compiled as any other
module - with Sema - which will result in compilation errors. (See
attached test case.)

rdar://107663951


  Commit: af63c6e5d08fcaeacaeee68aa0a1cda71d9a7549
      https://github.com/llvm/llvm-project/commit/af63c6e5d08fcaeacaeee68aa0a1cda71d9a7549
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedAmpere1.td

  Log Message:
  -----------
  [AArch64] Adjust ROBsize for Ampere1/Ampere1A (NFC) (#86330)

To align more closely with common usage, we now use the size of the
reorder-buffer for MicroOpBufferSize instead of the entries of the
global micro-op scheduler.


  Commit: b621269d4a4c08269b1b2d46f277d1918d3dab62
      https://github.com/llvm/llvm-project/commit/b621269d4a4c08269b1b2d46f277d1918d3dab62
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td

  Log Message:
  -----------
  [AArch64] Adjust ROBsize for Ampere1B (NFC) (#86331)

To align more closely with common usage, we now use the size of the
reorder-buffer for MicroOpBufferSize instead of the entries of the
global micro-op scheduler.


  Commit: c3747883a0bf34d271bc89dbfc60590adf75d999
      https://github.com/llvm/llvm-project/commit/c3747883a0bf34d271bc89dbfc60590adf75d999
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__ranges/zip_view.h

  Log Message:
  -----------
  [libc++][ranges] use `static operator()` for C++23 ranges (#86052)

## Abstract

This pull request converts the `operator()` of all CPOs and niebloids
related to C++23 ranges to `static`.

## Motivation

In `libc++`, CPOs and niebloids are implemented as function objects.
Currently, the `operator()` for such a function object is a
`const`-qualified member function. This means that even if the function
object is has no data members, an extra register is used to pass in the
`this` pointer when calling `operator()`, unless the compiler can inline
the function call. Declaraing `operator()` as `static` would optimize
away the unnecessary `this` pointer passing for stateless function
objects, since there is no object instance state that needs to be
accessed.

## Reference

- [P1169R4: static `operator()`](https://wg21.link/P1169R4)


  Commit: 20e0bacd0560382a31ad0d4ecc7472bd4a99c659
      https://github.com/llvm/llvm-project/commit/20e0bacd0560382a31ad0d4ecc7472bd4a99c659
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget][Fix] Remove duplicate version script for host builds

Summary:
This causes an error on some linkers and was mistakenly kept in.


  Commit: dc43aa439ecee90a9f51c6c1e46df8be61e0457c
      https://github.com/llvm/llvm-project/commit/dc43aa439ecee90a9f51c6c1e46df8be61e0457c
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt

  Log Message:
  -----------
  [asan][windows] When compiling with clang-cl or MSVC pass /Zl (that's a little L) (#85874)

/Zl is the equivalent of -nodefaultlibs. The idea here is to make sure
that the asan runtime doesn't have any defaultlibs directives, which
makes it easier to mix an asan runtime built with the dynamic CRT with
an application built with the static CRT (or vise-versa).

This is part of the overall effort to remove the static asan runtime on
windows entirely: https://github.com/llvm/llvm-project/pull/81677

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


  Commit: b723c57f8fdb12ca8eaa6c5ee2afb820aaeb56c5
      https://github.com/llvm/llvm-project/commit/b723c57f8fdb12ca8eaa6c5ee2afb820aaeb56c5
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Update the C++ page with papers approved in Tokyo


  Commit: 2f6b1b4b30e3a719b1744baa4cd1ece504998c6e
      https://github.com/llvm/llvm-project/commit/2f6b1b4b30e3a719b1744baa4cd1ece504998c6e
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp

  Log Message:
  -----------
  [ORC] Add default visibility to required JIT functions (#86322)

If you build LLVM with `-DCMAKE_CXX_VISIBILITY_PRESET=hidden` to help
reduce binary size, these symbols end up becoming local, and getting
stripped. This forces default visibility to override the global setting
in that case.

Relevant:
https://github.com/llvm/llvm-project/issues/62815#issuecomment-1560078260


  Commit: 84e20cb0cbc64bb2d8299b30da3ce8e6421c203e
      https://github.com/llvm/llvm-project/commit/84e20cb0cbc64bb2d8299b30da3ce8e6421c203e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [TableGen] Minor cleanup in CodeGenRegBank::getConcatSubRegIndex. NFC

Mark a variable const. Capitalize a variable name.

I'm going to add HwMode support to this code and wanted to clean it
up a bit beforehand.


  Commit: 76fdb5902fbadbc08c6742156071431d8ad801ea
      https://github.com/llvm/llvm-project/commit/76fdb5902fbadbc08c6742156071431d8ad801ea
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    A llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp

  Log Message:
  -----------
  [NewPM][DirectX] Add DirectXPassRegistry.def NFCI (#86242)

Prepare migration for dag-isel


  Commit: 7ac7d418ac2b16fd44789dcf48e2b5d73de3e715
      https://github.com/llvm/llvm-project/commit/7ac7d418ac2b16fd44789dcf48e2b5d73de3e715
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    A llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp

  Log Message:
  -----------
  [NewPM][NVPTX] Add NVPTXPassRegistry.def NFCI (#86246)

Prepare for dag-isel migration.


  Commit: 2aa5bae0c03f1f857d0ae2a881b223c4a521853f
      https://github.com/llvm/llvm-project/commit/2aa5bae0c03f1f857d0ae2a881b223c4a521853f
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    A llvm/lib/Target/BPF/BPFPassRegistry.def
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp

  Log Message:
  -----------
  [NewPM][BPF] Add BPFPassRegistry.def NFCI (#86241)

Prepare migration for dag-isel.


  Commit: 635ea257eca7c8e95c6ea30ca3816a0b5584ab37
      https://github.com/llvm/llvm-project/commit/635ea257eca7c8e95c6ea30ca3816a0b5584ab37
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/lib/Target/BPF/CMakeLists.txt

  Log Message:
  -----------
  [NewPM] Fix BPF build (#86379)

Add Passes in dependency list


  Commit: 6c1932ffd82e733325180fe13ef46b24ff606eab
      https://github.com/llvm/llvm-project/commit/6c1932ffd82e733325180fe13ef46b24ff606eab
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/MC/MCStreamer.cpp

  Log Message:
  -----------
  [LLVM] Pass APInt by const reference. NFC. (#86278)

This patch adjusts argument passing for `APInt` to improve the
compile-time.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=32d6611af69bf4e76373f9bc7d9649650f760e48&stat=instructions:u


  Commit: 2f1f6b704d83f87be7ea885480caf1c86d8cfaee
      https://github.com/llvm/llvm-project/commit/2f1f6b704d83f87be7ea885480caf1c86d8cfaee
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/Transforms/Scalar/MergeICmps.cpp

  Log Message:
  -----------
  [LLVM] Use `std::move` for APInt. NFC. (#86257)

This patch adjusts argument passing for `APInt` to improve the
compile-time.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=ba3e326def3a6e5cd6d72ff5a49c74fba18de1df&stat=instructions:u


  Commit: ef57977f2aa32661a09fa6538f47ddee0a004d11
      https://github.com/llvm/llvm-project/commit/ef57977f2aa32661a09fa6538f47ddee0a004d11
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    A llvm/lib/Target/Hexagon/HexagonPassRegistry.def
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse.ll
    M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_commutative.ll
    M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_constant.ll
    M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_invalid.ll
    M llvm/test/CodeGen/Hexagon/hvx-loopidiom-memcpy.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove1.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/lcssa.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/memmove-rt-check.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/nullptr-crash.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy.ll

  Log Message:
  -----------
  [NewPM][Hexagon] Add HexagonPassRegistry.def (#86244)

Prepare for dag-isel, also migrate some test case


  Commit: 691b97c884a15a7eac641ddf67c9f2f30fb4e747
      https://github.com/llvm/llvm-project/commit/691b97c884a15a7eac641ddf67c9f2f30fb4e747
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
    M lld/test/ELF/gnu-ifunc-dyntags.s
    M lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
    M lld/test/ELF/riscv-ifunc-nonpreemptible.s

  Log Message:
  -----------
  [ELF] Remove zero-value DT_JMPREL when IPLT is present while PLT isn't

The zero-value DT_JMPREL is benign but not needed.
This is also code simplification available after https://reviews.llvm.org/D65651


  Commit: 579dc7f8441a8044b92bdfa6f0db2f91301c0eed
      https://github.com/llvm/llvm-project/commit/579dc7f8441a8044b92bdfa6f0db2f91301c0eed
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

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

  Log Message:
  -----------
  [clang-forma] Support `PointerAlignment` for pointers to members (#86253)

Fixes #85761.


  Commit: 47423e9827abfdcc6b10ce41618965861b0e69a4
      https://github.com/llvm/llvm-project/commit/47423e9827abfdcc6b10ce41618965861b0e69a4
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Clean up IsQualifiedPointerOrReference in TokenAnnotator


  Commit: f317fd266c184bc8f9f4d7e8e03c043d3406333a
      https://github.com/llvm/llvm-project/commit/f317fd266c184bc8f9f4d7e8e03c043d3406333a
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir

  Log Message:
  -----------
  Revert "[mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)"

This reverts commit 01b1b0c1f728e2c2639edc654424f50830295989.

Breaks following AArch64 SVE buildbots:
https://lab.llvm.org/buildbot/#/builders/184/builds/11363
https://lab.llvm.org/buildbot/#/builders/176/builds/9331


  Commit: d7c672834ec863b458af8ca493157e1e31aaf480
      https://github.com/llvm/llvm-project/commit/d7c672834ec863b458af8ca493157e1e31aaf480
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/and-sink.ll

  Log Message:
  -----------
  [CodeGen][NFC] Update tests in AArch64/and-sink.ll


  Commit: d365a45cb3eaa640b09874fb7984a6a69683c773
      https://github.com/llvm/llvm-project/commit/d365a45cb3eaa640b09874fb7984a6a69683c773
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unreachable.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-exceptions.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-trap.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
    A llvm/test/CodeGen/Mips/GlobalISel/instruction-select/trap.mir
    R llvm/test/CodeGen/Mips/GlobalISel/legalizer/trap.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/trap.mir
    M llvm/test/CodeGen/X86/GlobalISel/x86-select-trap.mir
    A llvm/test/CodeGen/X86/isel-traps.ll
    A llvm/test/MachineVerifier/test_g_ubsantrap.mir

  Log Message:
  -----------
  [GlobalISel] Introduce G_TRAP, G_DEBUGTRAP, G_UBSANTRAP (#84941)

Here we introduce three new GMIR instructions to cover a set of trap
intrinsics. The idea behind it is that generic intrinsics shouldn't be
used with G_INTRINSIC opcode.

These new instructions can match perfectly with existing trap ISD nodes.
It allows X86, AArch64, RISCV and Mips to reuse SelectionDAG patterns for
selection and avoid manual selection. However AMDGPU is an exception. It
selects traps during legalization regardless SelectionDAG or GlobalISel.

Since there are not many places where traps are used, this change
attempts to clean up all the usages of G_INTRINSIC with trap intrinsics. So,
there is no stage when both G_TRAP and
G_INTRINSIC_W_SIDE_EFFECTS(@llvm.trap) are allowed.


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

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Don't push and pop extensions diagnostics when using clang modules (#85917)

Clang modules take a significant compile time hit when pushing and
popping diagnostics. Since all the headers are marked as system headers
in the modulemap, we can simply disable this pushing and popping when
building with clang modules.


  Commit: 57146daeaaf366050dc913db910fcc2995a3e06d
      https://github.com/llvm/llvm-project/commit/57146daeaaf366050dc913db910fcc2995a3e06d
  Author: Harvin Iriawan <25712785+harviniriawan at users.noreply.github.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryLocation.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
    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/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll

  Log Message:
  -----------
  [CodeGen] Update for scalable MemoryType in MMO (#70452)

Remove getSizeOrUnknown call when MachineMemOperand is created.  For Scalable
TypeSize, the MemoryType created becomes a scalable_vector.

2 MMOs that have scalable memory access can then use the updated BasicAA that
understands scalable LocationSize.

Original Patch by Harvin Iriawan
Co-authored-by: David Green <david.green at arm.com>


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

  Changed paths:
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/algorithms/mismatch.bench.cpp
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/mismatch.h
    A libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp

  Log Message:
  -----------
  [libc++] Vectorize mismatch (#73255)

```
---------------------------------------------------
Benchmark                           old         new
---------------------------------------------------
bm_mismatch<char>/1           0.835 ns      2.37 ns
bm_mismatch<char>/2            1.44 ns      2.60 ns
bm_mismatch<char>/3            2.06 ns      2.83 ns
bm_mismatch<char>/4            2.60 ns      3.29 ns
bm_mismatch<char>/5            3.15 ns      3.77 ns
bm_mismatch<char>/6            3.82 ns      4.17 ns
bm_mismatch<char>/7            4.29 ns      4.52 ns
bm_mismatch<char>/8            4.78 ns      4.86 ns
bm_mismatch<char>/16           9.06 ns      7.54 ns
bm_mismatch<char>/64           31.7 ns      19.1 ns
bm_mismatch<char>/512           249 ns      8.16 ns
bm_mismatch<char>/4096         1956 ns      44.2 ns
bm_mismatch<char>/32768       15498 ns       501 ns
bm_mismatch<char>/262144     123965 ns      4479 ns
bm_mismatch<char>/1048576    495668 ns     21306 ns
bm_mismatch<short>/1          0.710 ns      2.12 ns
bm_mismatch<short>/2           1.03 ns      2.66 ns
bm_mismatch<short>/3           1.29 ns      3.56 ns
bm_mismatch<short>/4           1.68 ns      4.29 ns
bm_mismatch<short>/5           1.96 ns      5.18 ns
bm_mismatch<short>/6           2.59 ns      5.91 ns
bm_mismatch<short>/7           2.86 ns      6.63 ns
bm_mismatch<short>/8           3.19 ns      7.33 ns
bm_mismatch<short>/16          5.48 ns      13.0 ns
bm_mismatch<short>/64          16.6 ns      4.06 ns
bm_mismatch<short>/512          130 ns      13.8 ns
bm_mismatch<short>/4096         985 ns      93.8 ns
bm_mismatch<short>/32768       7846 ns      1002 ns
bm_mismatch<short>/262144     63217 ns     10637 ns
bm_mismatch<short>/1048576   251782 ns     42471 ns
bm_mismatch<int>/1            0.716 ns      1.91 ns
bm_mismatch<int>/2             1.21 ns      2.49 ns
bm_mismatch<int>/3             1.38 ns      3.46 ns
bm_mismatch<int>/4             1.71 ns      4.04 ns
bm_mismatch<int>/5             2.00 ns      4.98 ns
bm_mismatch<int>/6             2.43 ns      5.67 ns
bm_mismatch<int>/7             3.05 ns      6.38 ns
bm_mismatch<int>/8             3.22 ns      7.09 ns
bm_mismatch<int>/16            5.18 ns      12.8 ns
bm_mismatch<int>/64            16.6 ns      5.28 ns
bm_mismatch<int>/512            129 ns      25.2 ns
bm_mismatch<int>/4096          1009 ns       201 ns
bm_mismatch<int>/32768         7776 ns      2144 ns
bm_mismatch<int>/262144       62371 ns     20551 ns
bm_mismatch<int>/1048576     254750 ns     90097 ns
```


  Commit: 3f5e649ff64a92a732027ef76e33a1c8b1722d84
      https://github.com/llvm/llvm-project/commit/3f5e649ff64a92a732027ef76e33a1c8b1722d84
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Fix linking to LLVM dylib (#86397)

Use `LINK_COMPONENTS` parameter of `add_llvm_library` rather than
passing LLVM components directly to `target_link_libraries`, in order to
ensure that LLVM dylib is linked correctly when used. Otherwise, CMake
insists on linking to static libraries that aren't present on
distributions doing pure dylib installs, such as Gentoo.

This fixes a regression introduced
in dcbddc25250158469c5635ad2ae4095faef53dfd.


  Commit: d7ce6b4d96c8879f38ba4cb5fdb1cc09d5b129e5
      https://github.com/llvm/llvm-project/commit/d7ce6b4d96c8879f38ba4cb5fdb1cc09d5b129e5
  Author: Mike Rice <michael.p.rice at intel.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp

  Log Message:
  -----------
  [clang-tidy] Fix result check after overwriteChangedFiles() (#86360)

If any return from overwriteChangedFiles is true some fixes were not
applied.


  Commit: 87c7f4a12b2a1b723a78d760761ee473f52c4cee
      https://github.com/llvm/llvm-project/commit/87c7f4a12b2a1b723a78d760761ee473f52c4cee
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp

  Log Message:
  -----------
  [MC] Remove unnecessary reversal of relocations. NFC

Commit f44db24e1fd948c75c87aea017646f16553d3361 (2015) enabled this
simplication.


  Commit: 3a63f737e29a2382c8ec26c0d360bd77c01a27a1
      https://github.com/llvm/llvm-project/commit/3a63f737e29a2382c8ec26c0d360bd77c01a27a1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

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

  Log Message:
  -----------
  [MC] Refactor writeRelocations. NFC

MIPS is different and should better off use separate code.


  Commit: 39c8e87717fbc611b9e84f62edf656608ae52e5c
      https://github.com/llvm/llvm-project/commit/39c8e87717fbc611b9e84f62edf656608ae52e5c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

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

  Log Message:
  -----------
  [VPlan] Move recording of Inst->VPValue to VPRecipeBuilder (NFCI). (#84464)

Instead of keeping a mapping of Inst->VPValues (of their corresponding
recipes) in VPlan's Value2VPValue mapping, keep it in VPRecipeBuilder
instead. After recently replacing the last user of this mapping after
initial construction, this mapping is only needed for recipe
construction (to map IR operands to VPValue operands).

By moving the mapping, VPlan's VPValue tracking can be simplified and
limited only to live-ins. It also allows removing disableValue2VPValue
and associated machinery & asserts.

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


  Commit: e14c6fa31a303312d7561aa0c7219d687f3f2c75
      https://github.com/llvm/llvm-project/commit/e14c6fa31a303312d7561aa0c7219d687f3f2c75
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M clang/CMakeLists.txt

  Log Message:
  -----------
  [clang] [cmake] Add cmake module dir before using GetDarwinLinkerVersion (#86386)

Move the code adding top-level cmake/Modules directory to
CMAKE_MODULE_PATH prior to including `GetDarwinLinkerVersion`, in order
to fix standalone builds.

Fixes a regression introduced by
3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b.


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

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp

  Log Message:
  -----------
  [BOLT][NFC] Refactor BAT metadata data structures

Hide the implementations of `FuncHashes` and `BBHashMap` classes,
getting rid of `at` accessors that could throw an exception.

Test Plan: NFC

Reviewers: ayermolo, maksfb, dcci, rafaelauler

Reviewed By: rafaelauler

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


  Commit: 90a7fc366ad05a7dd0465730c055af57c80d62d9
      https://github.com/llvm/llvm-project/commit/90a7fc366ad05a7dd0465730c055af57c80d62d9
  Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
    A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll

  Log Message:
  -----------
  [PowerPC][NFC] Add base test case for small-local-dynamic-tls on AIX (#84711)


  Commit: a118769ec8dc94b8332fe50c9240fecc8065a417
      https://github.com/llvm/llvm-project/commit/a118769ec8dc94b8332fe50c9240fecc8065a417
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

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

  Log Message:
  -----------
  [gn] port 3bc71c2abf


  Commit: 8e698a1d8e6984e41d2fdf159393d01951d87c21
      https://github.com/llvm/llvm-project/commit/8e698a1d8e6984e41d2fdf159393d01951d87c21
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

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

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


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

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Emit intra-function control flow in YAMLBAT

Attach branch counters to YAML profile, covering intra-function control
flow.

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

Test Plan: Updated bolt/test/X86/bolt-address-translation-yaml.test

Reviewers: rafaelauler, dcci, ayermolo, maksfb

Reviewed By: rafaelauler

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


  Commit: 7c9b5228da94a44f5e3948814d896de537d162bb
      https://github.com/llvm/llvm-project/commit/7c9b5228da94a44f5e3948814d896de537d162bb
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    A llvm/test/CodeGen/AArch64/srem-vec-crash.ll

  Log Message:
  -----------
  Only check assertions that were meant to apply to the normal case of non-splat vector SREM expansion when we aren't hitting the special case. (#86238)

Fixes https://github.com/llvm/llvm-project/issues/84830
Introduced in https://github.com/llvm/llvm-project/pull/82706


  Commit: 74799f424063a2d751e0f9ea698db1f4efd0d8b2
      https://github.com/llvm/llvm-project/commit/74799f424063a2d751e0f9ea698db1f4efd0d8b2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/ProfileData/RawMemProfReader.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Add call stack IDs to IndexedAllocationInfo (#85888)

The indexed MemProf file has a huge amount of redundancy.  In a large
internal application, 82% of call stacks, stored in
IndexedAllocationInfo::CallStack, are duplicates.

We should work toward deduplicating call stacks by referring to them
with unique IDs with actual call stacks stored in a separate data
structure, much like we refer to memprof::Frame with memprof::FrameId.

At the same time, we need to facilitate a graceful transition from the
current version of the MemProf format to the next.  We should be able
to read (but not write) the current version of the MemProf file even
after we move onto the next one.

With those goals in mind, I propose to have an integer ID next to
CallStack in IndexedAllocationInfo to refer to a call stack in a
succinct manner.  We'll gradually increase the areas of the compiler
where IDs and call stacks have one-to-one correspondence and
eventually remove the existing CallStack field.

This patch adds call stack ID, named CSId, to IndexedAllocationInfo
and teaches the raw profile reader to compute unique call stack IDs
and store them in the new field.  It does not introduce any user of
the call stack IDs yet, except in verifyFunctionProfileData.


  Commit: a45e58af1b381cf3c0374332386b8291ec5310f4
      https://github.com/llvm/llvm-project/commit/a45e58af1b381cf3c0374332386b8291ec5310f4
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.h
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td
    M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
    A mlir/include/mlir/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    A mlir/lib/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
    A mlir/lib/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.cpp
    M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][bufferization] Add `BufferViewFlowOpInterface` (#78718)

This commit adds the `BufferViewFlowOpInterface` to the bufferization
dialect. This interface can be implemented by ops that operate on
buffers to indicate that a buffer op result and/or region entry block
argument may be the same buffer as a buffer operand (or a view thereof).
This interface is queried by the `BufferViewFlowAnalysis`.

The new interface has two interface methods:
* `populateDependencies`: Implementations use the provided callback to
declare dependencies between operands and op results/region entry block
arguments. E.g., for `%r = arith.select %c, %m1, %m2 : memref<5xf32>`,
the interface implementation should declare two dependencies: %m1 -> %r
and %m2 -> %r.
* `mayBeTerminalBuffer`: An SSA value is a terminal buffer if the buffer
view flow analysis stops at the specified value. E.g., because the value
is a newly allocated buffer or because no further information is
available about the origin of the buffer.

Ops that implement the `RegionBranchOpInterface` or `BranchOpInterface`
do not have to implement the `BufferViewFlowOpInterface`. The buffer
dependencies can be inferred from those two interfaces.

This commit makes the `BufferViewFlowAnalysis` more accurate. For
unknown ops, it conservatively used to declare all combinations of
operands and op results/region entry block arguments as dependencies
(false positives). This is no longer the case. While the analysis is
still a "maybe" analysis with false positives (e.g., when analyzing ops
such as `arith.select` or `scf.if` where the taken branch is not known
at compile time), results and region entry block arguments of unknown
ops are now marked as terminal buffers.

This commit addresses a TODO in `BufferViewFlowAnalysis.cpp`:
```
// TODO: We should have an op interface instead of a hard-coded list of
// interfaces/ops.
```
It is no longer needed to hard-code ops.


  Commit: 5d7fd6a04a6748936dece9d90481b2ba4ec97e53
      https://github.com/llvm/llvm-project/commit/5d7fd6a04a6748936dece9d90481b2ba4ec97e53
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
    M llvm/test/CodeGen/Mips/atomic-min-max.ll

  Log Message:
  -----------
  [Mips] Restore wrong deletion of instruction 'and' in unsigned min/max processing. (#85902)

Fix #61881


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/test/tsan/signal_errno.cpp
    M compiler-rt/test/tsan/signal_reset.cpp
    M compiler-rt/test/tsan/signal_sync.cpp
    M compiler-rt/test/tsan/signal_thread.cpp
    M compiler-rt/test/tsan/signal_thread2.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Also consider SIGPROF as a synchronous signal" (#86416)

Reverting #85188 with follow up patches.

This reverts commit 362d26366d0175f01ffb6085eb747a6e40f01147.
This reverts commit c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08.
This reverts commit 6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a.
This reverts commit 01fa550ff654d6724e6da54c877032baeddff14b.
This reverts commit ddcbab37ac0e5743a8d39be3dd48d967f4c85504.


  Commit: 4d69855e9d380ecb7c1f7a64c7b37258fe36f525
      https://github.com/llvm/llvm-project/commit/4d69855e9d380ecb7c1f7a64c7b37258fe36f525
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp

  Log Message:
  -----------
  [flang] Silence MSVC warning about shifts (NFC) (#83737)

Yes, 64-bit shifts are intended.


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

  Changed paths:
    M llvm/test/CodeGen/X86/known-never-zero.ll

  Log Message:
  -----------
  [X86] known-never-zero.ll - add 32-bit test coverage

Enabled vector coverage as well: i686+SSE2 and x64_64+AVX

Should improve test quality for #85722


  Commit: e8d5223ce4b2214e052b5b52b2e6453ffea0fe33
      https://github.com/llvm/llvm-project/commit/e8d5223ce4b2214e052b5b52b2e6453ffea0fe33
  Author: David Green <david.green at arm.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

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

  Log Message:
  -----------
  [AArch64] Additional GISel test coverage. NFC


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

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/scalarization.ll

  Log Message:
  -----------
  [InstCombine] Copy flags of extractelement for extelt -> icmp combine (#86366)

Fixes #86164


  Commit: 9632e1515c93453efc39752b1c9f32aedd358fbc
      https://github.com/llvm/llvm-project/commit/9632e1515c93453efc39752b1c9f32aedd358fbc
  Author: houndlord <45179481+houndlord at users.noreply.github.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/hadd-combine.ll

  Log Message:
  -----------
  Match fixed width ISD::AVGFLOORS + ISD::AVGCEILS patterns (#86222)


  Commit: 48048051323d5dd74057dc5f32df8c3c323afcd5
      https://github.com/llvm/llvm-project/commit/48048051323d5dd74057dc5f32df8c3c323afcd5
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/x86-64-gotpc-relax-too-far.s

  Log Message:
  -----------
  [lld/ELF][X86] Respect outSecOff when checking if GOTPCREL can be relaxed (#86334)

The existing implementation didn't handle when the input text section
was some offset from the output section.

This resulted in an assert in relaxGot() with an lld built with asserts
for some large binaries, or even worse, a silently broken binary with an
lld without asserts.


  Commit: d4a4585165f5c6ca8c42920b70e1b47696ff1172
      https://github.com/llvm/llvm-project/commit/d4a4585165f5c6ca8c42920b70e1b47696ff1172
  Author: Piotr Zegar <piotr.zegar at nokia.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp

  Log Message:
  -----------
  [clang-tidy] Ignore expresions in unevaluated context in bugprone-inc-dec-in-conditions (#85849)

Skip checking for references to variable in unevaluated context, like
decltype, static_assert and so on.

Closes #85838


  Commit: 909ea28ac60760a0e9b39369b2f54a4e8f1daec9
      https://github.com/llvm/llvm-project/commit/909ea28ac60760a0e9b39369b2f54a4e8f1daec9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Specificall add LLVM include dirs in plugins


  Commit: 488a18738f5c275093bcc5459da69e9b4c9de074
      https://github.com/llvm/llvm-project/commit/488a18738f5c275093bcc5459da69e9b4c9de074
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/ELF_section_start_and_stop_symbols.s

  Log Message:
  -----------
  [JITLink][ELF] Improve ELF section start/end symbol handling.

This commit adds section start and stop symbol handling to ELF/aarch64, and
fixes the section symbol prefixes (using `__start_` and `__stop_`, rather than
`__start` and `__end`). It also adds a testcase for handling of these symbols.


  Commit: 9f0321ccf118b37e5cb93cabd2acbf600c36b6ee
      https://github.com/llvm/llvm-project/commit/9f0321ccf118b37e5cb93cabd2acbf600c36b6ee
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Make plugins depend explicitly on `intrinsics_gen`

Summary:
It's possible for the OpenMP offloading plugins to be build before
tablegen is run despite the fact that we rely on it. Simply make it
depend on it currently.


  Commit: 81e2693c1202d6c4e48dbf2d985153b03cfccb79
      https://github.com/llvm/llvm-project/commit/81e2693c1202d6c4e48dbf2d985153b03cfccb79
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fix race condition in condition_variable_any tests (#84788)

Some tests in `condition_variable_any` use two `shared_lock` to guard,
which does not work.
The fix is to make the writer to use `unique_lock`


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll

  Log Message:
  -----------
  [VPlan] Generate CalculateTripCountMinusVF for Part 0 only. (NFCI).

The value produced by CalculateTripCountMinusVF VPInstructions is
independent of the part. Only compute it for part 0 and use that for
other parts.


  Commit: 18a49f03aa2b6bfeb073648b9eb75277a2386fc4
      https://github.com/llvm/llvm-project/commit/18a49f03aa2b6bfeb073648b9eb75277a2386fc4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/aarch64-gnu-ifunc.s
    M lld/test/ELF/arm-gnu-ifunc.s
    M lld/test/ELF/gnu-ifunc-i386.s
    M lld/test/ELF/systemz-ifunc-nonpreemptible.s

  Log Message:
  -----------
  [ELF] Merge relaIplt into relaDyn

`relaIplt` was added so that IRELATIVE relocations are placed at the end
of .rela.dyn (since https://reviews.llvm.org/D65651) or .rela.plt
(--pack-dyn-relocs=android[+relr]). Unfortunately, handling `relaIplt`
requires special cases all over the code base. We can extend
partitionRels/computeRels to partition both RELATIVE and IRELATIVE
relocations, rendering `relaIplt` unneeded.

The change allows IRELATIVE relocations in the DT_ANDROID_REL[A] table
(untested?!), which may be processed before other types of relocations.
This seems acceptable for Bionic's DEFINE_IFUNC_FOR use cases.

In addition, this change simplies changing .rel[a].dyn to a compact
relocation format (CREL).

SHF_INFO_LINK is removed from .rel[a].dyn with IRELATIVE relocations.
(See https://reviews.llvm.org/D89828).


  Commit: 67f2267ae006f35edfdf36567646403e61527d1b
      https://github.com/llvm/llvm-project/commit/67f2267ae006f35edfdf36567646403e61527d1b
  Author: Min Hsu <min at myhsu.dev>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kISelLowering.cpp

  Log Message:
  -----------
  [M68k][NFC] Suppress warning on an unused variable when assertion is disabled

NFC.


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

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

  Log Message:
  -----------
  [clang-format] Fix a crash with AlignArrayOfStructures option (#86420)

Fixes #86109.


  Commit: 230b1895c493c511c11541af3b5bc819887c82a8
      https://github.com/llvm/llvm-project/commit/230b1895c493c511c11541af3b5bc819887c82a8
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-03-24 (Sun, 24 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add folding for [S|U|LessThan[Equal] (#85435)

Add missing constant propogation folder for [S|U]LessThan[Equal].

Implement additional folding when the operands are equal for all ops.

Allows for constant folding in the IndexToSPIRV pass.

Part of work #70704


  Commit: 7d2d8e2a7245e4e64da22cb3c422ea3be5a0bf0a
      https://github.com/llvm/llvm-project/commit/7d2d8e2a7245e4e64da22cb3c422ea3be5a0bf0a
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  [mlir][complex] Fastmath flag for the trigonometric ops in complex (#85563)

Support Fastmath flag to convert trigonometric ops in the complex
dialect.

See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981


  Commit: 2e4e04c59043a645572cf548de5d9c333a5d6641
      https://github.com/llvm/llvm-project/commit/2e4e04c59043a645572cf548de5d9c333a5d6641
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/pr86305.ll

  Log Message:
  -----------
  [X86][BF16] Do not lower to VCVTNEPS2BF16 without AVX512VL (#86395)

Fixes: #86305


  Commit: 5e5b6561029665e69e033cff4216fecb78302259
      https://github.com/llvm/llvm-project/commit/5e5b6561029665e69e033cff4216fecb78302259
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/X86/AsmParser/X86Operand.h
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [MC] Make `MCParsedAsmOperand::getReg()` return `MCRegister` (#86444)


  Commit: 6af6416e89de1f4656a145c4843226b468718434
      https://github.com/llvm/llvm-project/commit/6af6416e89de1f4656a145c4843226b468718434
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    A llvm/test/CodeGen/RISCV/strip-w-suffix.ll

  Log Message:
  -----------
  [RISCV] Add a tune feature to disable stripping W suffix (#86255)

We have a hidden option to disable it, but I'd like to make it a
tune feature.

For some implementations, instructions with W suffix would be less
costly as they only perform on 32 bits data. Though we may lose some
chances to compress.


  Commit: d9746a6a5d523e21eee2c1b50c2f08aa19396965
      https://github.com/llvm/llvm-project/commit/d9746a6a5d523e21eee2c1b50c2f08aa19396965
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Pass LMUL to copyPhysRegVector

The opcode will be determined by LMUL.

Reviewers: preames, lukel97, topperc

Reviewed By: lukel97, topperc

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


  Commit: 373e77b4c0ad9b0bf370f0e5a32a4100a5459d82
      https://github.com/llvm/llvm-project/commit/373e77b4c0ad9b0bf370f0e5a32a4100a5459d82
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Generalize (sub zext, zext) -> (sext (sub zext, zext)) to add (#86248)

This generalizes the combine added in #82455 to other binary ops,
beginning with adds in this patch.

Because the two zext operands are always +ve when treated as signed, and
we don't get any overflow since the add is carried out in at least N * 2
bits of the narrow type, the result of the add will always be +ve. So we
can use a zext for the outer extend, unlike sub which may produce a -ve
result from two +ve operands.

Although we could still use sext for add, I plan to add support for
other binary ops like mul in a later patch, but mul requires zext to be
correct (because the maximum value will take up the full N * 2 bits). So
I've opted to use zext here too for consistency.

Alive2 proof: https://alive2.llvm.org/ce/z/PRNsUM


  Commit: babbdad15b8049a6a78087d15a163d897f07d320
      https://github.com/llvm/llvm-project/commit/babbdad15b8049a6a78087d15a163d897f07d320
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir

  Log Message:
  -----------
  [AMDGPU] Handle non-register operands for S_SUB/ADD_U64_PSEUDO (#86104)

This pseudo uses SSrc_b64 so it allows both an immediate or a register,
but the lowering crashed on immediate operands.


  Commit: fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
      https://github.com/llvm/llvm-project/commit/fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/unittests/TableGen/CMakeLists.txt
    M llvm/unittests/TableGen/CodeExpanderTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/AsmWriterEmitter.cpp
    R llvm/utils/TableGen/AsmWriterInst.cpp
    R llvm/utils/TableGen/AsmWriterInst.h
    A llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    A llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    A llvm/utils/TableGen/Basic/SDNodeProperties.cpp
    A llvm/utils/TableGen/Basic/SDNodeProperties.h
    A llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    R llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    R llvm/utils/TableGen/CodeGenDAGPatterns.h
    R llvm/utils/TableGen/CodeGenHwModes.cpp
    R llvm/utils/TableGen/CodeGenHwModes.h
    R llvm/utils/TableGen/CodeGenInstAlias.cpp
    R llvm/utils/TableGen/CodeGenInstAlias.h
    R llvm/utils/TableGen/CodeGenInstruction.cpp
    R llvm/utils/TableGen/CodeGenInstruction.h
    R llvm/utils/TableGen/CodeGenIntrinsics.cpp
    R llvm/utils/TableGen/CodeGenIntrinsics.h
    M llvm/utils/TableGen/CodeGenMapTable.cpp
    R llvm/utils/TableGen/CodeGenRegisters.cpp
    R llvm/utils/TableGen/CodeGenRegisters.h
    R llvm/utils/TableGen/CodeGenSchedule.cpp
    R llvm/utils/TableGen/CodeGenSchedule.h
    R llvm/utils/TableGen/CodeGenTarget.cpp
    R llvm/utils/TableGen/CodeGenTarget.h
    A llvm/utils/TableGen/Common/AsmWriterInst.cpp
    A llvm/utils/TableGen/Common/AsmWriterInst.h
    A llvm/utils/TableGen/Common/CMakeLists.txt
    A llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    A llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    A llvm/utils/TableGen/Common/CodeGenHwModes.cpp
    A llvm/utils/TableGen/Common/CodeGenHwModes.h
    A llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    A llvm/utils/TableGen/Common/CodeGenInstAlias.h
    A llvm/utils/TableGen/Common/CodeGenInstruction.cpp
    A llvm/utils/TableGen/Common/CodeGenInstruction.h
    A llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    A llvm/utils/TableGen/Common/CodeGenRegisters.h
    A llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    A llvm/utils/TableGen/Common/CodeGenSchedule.h
    A llvm/utils/TableGen/Common/CodeGenTarget.cpp
    A llvm/utils/TableGen/Common/CodeGenTarget.h
    A llvm/utils/TableGen/Common/DAGISelMatcher.cpp
    A llvm/utils/TableGen/Common/DAGISelMatcher.h
    A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.cpp
    A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
    A llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
    A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
    A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    A llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    A llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    A llvm/utils/TableGen/Common/InfoByHwMode.cpp
    A llvm/utils/TableGen/Common/InfoByHwMode.h
    A llvm/utils/TableGen/Common/OptEmitter.cpp
    A llvm/utils/TableGen/Common/OptEmitter.h
    A llvm/utils/TableGen/Common/PredicateExpander.cpp
    A llvm/utils/TableGen/Common/PredicateExpander.h
    A llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
    A llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
    A llvm/utils/TableGen/Common/Types.cpp
    A llvm/utils/TableGen/Common/Types.h
    A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
    A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
    M llvm/utils/TableGen/CompressInstEmitter.cpp
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    R llvm/utils/TableGen/DAGISelMatcher.cpp
    R llvm/utils/TableGen/DAGISelMatcher.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/DFAEmitter.cpp
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    R llvm/utils/TableGen/GlobalISel/CMakeLists.txt
    R llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
    R llvm/utils/TableGen/GlobalISel/CXXPredicates.h
    R llvm/utils/TableGen/GlobalISel/CodeExpander.cpp
    R llvm/utils/TableGen/GlobalISel/CodeExpander.h
    R llvm/utils/TableGen/GlobalISel/CodeExpansions.h
    R llvm/utils/TableGen/GlobalISel/CombinerUtils.h
    R llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
    R llvm/utils/TableGen/GlobalISel/Patterns.cpp
    R llvm/utils/TableGen/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    R llvm/utils/TableGen/GlobalISelMatchTable.cpp
    R llvm/utils/TableGen/GlobalISelMatchTable.h
    R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp
    R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/InfoByHwMode.cpp
    R llvm/utils/TableGen/InfoByHwMode.h
    M llvm/utils/TableGen/InstrDocsEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
    R llvm/utils/TableGen/OptEmitter.cpp
    R llvm/utils/TableGen/OptEmitter.h
    M llvm/utils/TableGen/OptParserEmitter.cpp
    M llvm/utils/TableGen/OptRSTEmitter.cpp
    R llvm/utils/TableGen/PredicateExpander.cpp
    R llvm/utils/TableGen/PredicateExpander.h
    M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
    M llvm/utils/TableGen/RegisterBankEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    R llvm/utils/TableGen/SDNodeProperties.cpp
    R llvm/utils/TableGen/SDNodeProperties.h
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    R llvm/utils/TableGen/SequenceToOffsetTable.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    R llvm/utils/TableGen/SubtargetFeatureInfo.cpp
    R llvm/utils/TableGen/SubtargetFeatureInfo.h
    R llvm/utils/TableGen/Types.cpp
    R llvm/utils/TableGen/Types.h
    R llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
    R llvm/utils/TableGen/VarLenCodeEmitterGen.h
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
    M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
    M llvm/utils/TableGen/X86MnemonicTables.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [RFC][TableGen] Restructure TableGen Source (#80847)

Refactor of the llvm-tblgen source into:
- a "Basic" library, which contains the bare minimum utilities to build
`llvm-min-tablegen`
- a "Common" library which contains all of the helpers for TableGen
backends. Such helpers can be shared by more than one backend, and even
unit tested (e.g. CodeExpander is, maybe we can add more over time)

Fixes #80647


  Commit: aa962d67ee896f416e285a9298e45fc08ff95eef
      https://github.com/llvm/llvm-project/commit/aa962d67ee896f416e285a9298e45fc08ff95eef
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Value.h
    M clang/unittests/Interpreter/InterpreterTest.cpp

  Log Message:
  -----------
  [clang-repl] Fix Value for platforms where unqualified char is unsigned (#86118)

Signedness of unqualified `char` is unspecified and varies between
platforms. This patch adds `Char_U` in `REPL_BUILTIN_TYPES` to account
for platforms that default to `unsigned char`.


  Commit: 0cf4788d9d0df60980cb48d28aafe7a86aa15a14
      https://github.com/llvm/llvm-project/commit/0cf4788d9d0df60980cb48d28aafe7a86aa15a14
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Factor out CreateJITBuilder() and allow specialization in derived classes (#84461)

The LLJITBuilder interface provides a very convenient way to configure
the ORCv2 JIT engine. IncrementalExecutor already used it internally to
construct the JIT, but didn't provide external access. This patch lifts
control of the creation process to the Interpreter and allows injection
of a custom instance through the extended interface. The Interpreter's
default behavior remains unchanged and the IncrementalExecutor remains
an implementation detail.


  Commit: 75e528fdd9594ecb6fdb5d9e7bee1506f7e43be0
      https://github.com/llvm/llvm-project/commit/75e528fdd9594ecb6fdb5d9e7bee1506f7e43be0
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll

  Log Message:
  -----------
  [AMDGPU] Extend zero initialization of return values for TFE (#85759)

buffer_load instructions that use TFE also need to zero initialize
return values similar to how the image instructions currently work. Add
support for this with standard zero init of all results + zero init of
just TFE flag when enable-prt-strict-null subtarget feature is disabled.


  Commit: 99c40f6ba60ea6e5dbd3f015956c7d2f6e25e54c
      https://github.com/llvm/llvm-project/commit/99c40f6ba60ea6e5dbd3f015956c7d2f6e25e54c
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll

  Log Message:
  -----------
  [SPIR-V] Introduce a command line option to support compatibility with Khronos SPIRV Translator (#86101)

SPIRV-LLVM-Translator project
(https://github.com/KhronosGroup/SPIRV-LLVM-Translator) from Khronos
Group is a tool and a library for bi-directional translation between
SPIR-V and LLVM IR. In its backward translation from SPIR-V to LLVM IR
SPIRV-LLVM-Translator isn't necessarily able to cover the same SPIR-V
patterns/instructions set that SPIRV Backend produces, even if we target
the same SPIR-V version in both SPIRV-LLVM-Translator and SPIRV Backend
projects.

To improve interoperability and ability to apply SPIRV Backend output in
different products this PR introduces a notion of a mode of SPIR-V
output that is compatible with a subset of SPIR-V supported by
SPIRV-LLVM-Translator. This includes a new command line option that
doesn't influence default behavior of SPIRV Backend and one test case
that demonstrates how this command line option may be used to get a
practical benefit of producing that one of two possible and similar
output options that can be understood by SPIRV-LLVM-Translator.


  Commit: 1d250d9099a9ba8b53add7eb7db6827e8fc0c8fd
      https://github.com/llvm/llvm-project/commit/1d250d9099a9ba8b53add7eb7db6827e8fc0c8fd
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll

  Log Message:
  -----------
  [SPIR-V] Improve type inference in SPIR-V Backend for opaque pointers (#86283)

This PR improves type inference in SPIR-V Backend for opaque pointers,
accounting or a case when there is a chain of function calls that allows
to deduce formal parameter types from actual arguments. The attached
test demonstrates the case.


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll

  Log Message:
  -----------
  [SPIR-V] Fix illegal OpConstantComposite instruction with non-const constituents in SPIR-V Backend (#86352)

This PR fixes illegal use of OpConstantComposite with non-constant
constituents. The test attached to the PR is able now to satisfy
`spirv-val` check. Before the fix SPIR-V Backend produced for the
attached test case a pattern like
```
%a = OpVariable %_ptr_CrossWorkgroup_uint CrossWorkgroup %uint_123
%11 = OpConstantComposite %_struct_6 %a %a
```
so that `spirv-val` complained with
```
error: line 25: OpConstantComposite Constituent <id> '10[%a]' is not a constant or undef.
  %11 = OpConstantComposite %_struct_6 %a %a
```


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

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

  Log Message:
  -----------
  [RemoveDIs] Enable direct-to-bitcode writing by default

Follow on from #83251. This patch simply enables the behaviour by default in
order to provide an easily revertible capstone.


  Commit: 3cb024198f6a028089779c0a3cb4d8e753e87c73
      https://github.com/llvm/llvm-project/commit/3cb024198f6a028089779c0a3cb4d8e753e87c73
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll

  Log Message:
  -----------
  [RISCV][CostModel] Estimate cost of llvm.vector.reduce.fmaximum/fminimum (#80697)

The ‘llvm.vector.reduce.fmaximum/fminimum.*’ intrinsics propagate NaNs
if any element of the vector is a NaN.
Following #79402, the patch adds the cost for NaN check (vmfne + vcpop)


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

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

  Log Message:
  -----------
  [RemoveDIs] Load into new debug info format by default in llvm-dis (#86276)

Directly load all bitcode into the new debug info format in llvm-dis.
This means that new-mode bitcode no longer round-trips back to old-mode
after parsing, and that old-mode bitcode gets auto-upgraded to new-mode
debug info (which is the current in-memory default in LLVM).


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

  Changed paths:
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  [RemoveDIs] Do not load into new debug info format from bitcode by default (#86268)

This is NFC right now, as the global default behaviour is also "do not
load into the new debug info format by default", but we want to change
that soon.

Additionally unconditionally convert from the new debug info format into
if we've loaded into it (e.g., if the bitcode file loaded was already in
the new format).

The latter change is needed because verify-uselistorder doesn't yet
understand DbgRecords (it doesn't know how to map them).

The former change is needed because if we load from an old debug format
bitcode file but load directly into the new format _and then convert
back to the old mode after_, the use-lists of the debug intrinsic
functions (the functions' global value uses) change.


  Commit: 8263a883342d9925a4a1fd9752efc8deda5840fc
      https://github.com/llvm/llvm-project/commit/8263a883342d9925a4a1fd9752efc8deda5840fc
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RemoveDIs] Load into new debug info format by default in llvm-link (#86274)

Directly load all bitcode into the new debug info format in llvm-link.
This means that new-mode bitcode no longer round-trips back to old-mode
after parsing, and that old-mode bitcode gets auto-upgraded to new-mode
debug info (which is the current in-memory default in LLVM).


  Commit: 772e316457ef94759804d9f4da0af70d8d2ca4d4
      https://github.com/llvm/llvm-project/commit/772e316457ef94759804d9f4da0af70d8d2ca4d4
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/Sema/attr-target-version.c
    M clang/test/SemaCXX/attr-target-version.cpp

  Log Message:
  -----------
  [FMV] Allow multi versioning without default declaration. (#85454)

This was a limitation which has now been lifted. Please read the
thread below for more details:

https://github.com/llvm/llvm-project/pull/84405#discussion_r1525583647

Basically it allows to separate versioned implementations across
different TUs without having to share private header files which
contain the default declaration.

The ACLE spec has been updated accordingly to make this explicit:
"Each version declaration should be visible at the translation
 unit in which the corresponding function version resides."

https://github.com/ARM-software/acle/pull/310

If a resolver is required (because there is a caller in the TU),
then a default declaration is implicitly generated.


  Commit: 7434a6b96c68b6835a6de6e98199dcfc35981dd5
      https://github.com/llvm/llvm-project/commit/7434a6b96c68b6835a6de6e98199dcfc35981dd5
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/Common/CMakeLists.txt

  Log Message:
  -----------
  [TableGen] Fix Linker Errors

Fix linker errors after landing fa3d789df15bd1f58fb8ba4ea3be909218cf7f03


  Commit: 336bdf1a255571f8d894e8befe4be7e9141f7541
      https://github.com/llvm/llvm-project/commit/336bdf1a255571f8d894e8befe4be7e9141f7541
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  [verify-uselistorder] Fix a typo, fix linking

This fixes a typo from 2ef612050844355906e4b67d892a00bbb58c41d6,
which broke the build with errors like:

    ld.lld: error: undefined symbol: LoadBitcodeIntoNewDbgInforFormat
    >>> referenced by verify-uselistorder.cpp
    >>>               tools/verify-uselistorder/CMakeFiles/verify-uselistorder.dir/verify-uselistorder.cpp.o:(main)
    >>> did you mean: LoadBitcodeIntoNewDbgInfoFormat
    >>> defined in: lib/libLLVMBitReader.a(BitcodeReader.cpp.o)
    collect2: error: ld returned 1 exit status


  Commit: dbfc38ed6b3f2a9be0b1a86b2a074aad69eb58a6
      https://github.com/llvm/llvm-project/commit/dbfc38ed6b3f2a9be0b1a86b2a074aad69eb58a6
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
    M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
    A mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-loops.mlir
    M mlir/test/Dialect/Bufferization/Transforms/buffer-deallocation-simplification.mlir

  Log Message:
  -----------
  [mlir][bufferization] Add `BufferOriginAnalysis` (#86461)

This commit adds the `BufferOriginAnalysis`, which can be queried to
check if two buffer SSA values originate from the same allocation. This
new analysis is used in the buffer deallocation pass to fold away or
simplify `bufferization.dealloc` ops more aggressively.

The `BufferOriginAnalysis` is based on the `BufferViewFlowAnalysis`,
which collects buffer SSA value "same buffer" dependencies. E.g., given
IR such as:
```
%0 = memref.alloc()
%1 = memref.subview %0
%2 = memref.subview %1
```
The `BufferViewFlowAnalysis` will report the following "reverse"
dependencies (`resolveReverse`) for `%2`: {`%2`, `%1`, `%0`}. I.e., all
buffer SSA values in the reverse use-def chain that originate from the
same allocation as `%2`. The `BufferOriginAnalysis` is built on top of
that. It handles only simple cases at the moment and may conservatively
return "unknown" around certain IR with branches, memref globals and
function arguments.

This analysis enables additional simplifications during
`-buffer-deallocation-simplification`. In particular, "regular" scf.for
loop nests, that yield buffers (or reallocations thereof) in the same
order as they appear in the iter_args, are now handled much more
efficiently. Such IR patterns are generated by the sparse compiler.


  Commit: 94a550dab26c4b30a187dd8e3ce431e0f915923b
      https://github.com/llvm/llvm-project/commit/94a550dab26c4b30a187dd8e3ce431e0f915923b
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Rename Feature GFX11FullVGPRs to 1_5xVGPRs (#86468)


  Commit: 37785fedabd8fa752129ef5bac3462311af91c35
      https://github.com/llvm/llvm-project/commit/37785fedabd8fa752129ef5bac3462311af91c35
  Author: Discookie <viktor.cseh at ericsson.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/test/Analysis/ArrayDelete.cpp
    M clang/www/analyzer/alpha_checks.html
    M clang/www/analyzer/available_checks.html

  Log Message:
  -----------
  [clang][analyzer] Bring cplusplus.ArrayDelete out of alpha (#83985)

The checker finds a type of undefined behavior, where if the type of a
pointer to an object-array is different from the objects' underlying
type, calling `delete[]` is undefined, as the size of the two objects
might be different.

The checker has been in alpha for a while now, it is a simple checker
that causes no crashes, and considering the severity of the issue, it
has a low result-count on open-source projects (in my last test-run on
my usual projects, it had 0 results).

This commit cleans up the documentation and adds docs for the limitation
related to tracking through references, in addition to moving it to
`cplusplus`.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Co-authored-by: whisperity <whisperity at gmail.com>


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

  Changed paths:
    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/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
    M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll

  Log Message:
  -----------
  [SPIR-V] Add WaveGetLaneIndex() intrinsic support (#85979)

Add support to generate valid SPIR-V for the WaveGetLaneIndex() HLSL
builtin.

To implement this, I had to fix a few small issues in the backend, like
the i8* pointer type being emitted, even if we have the type information
elsewhere.

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


  Commit: a0e9a8da45402eea0db71976ab78d195a7287222
      https://github.com/llvm/llvm-project/commit/a0e9a8da45402eea0db71976ab78d195a7287222
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/test/Fir/boxproc-2.fir

  Log Message:
  -----------
  [flang][NFC] speedup BoxedProcedure for derived types with many components (#86144)

This patch speeds up the compilation time of the example in
https://github.com/llvm/llvm-project/issues/76478#issuecomment-2011023289
from 2 minutes with my builds to about 2 seconds.

MLIR timers showed more than 98% of the time was spend in BoxedProcedure
trying to figure out if a type needs to be converted.

This is because walking the fir.type members is very expansive for types
containing many components and/or components with many sub-components.

Increase the caching time of visited types from "the type being visited"
to "the whole pass". Use DenseMap since it is not ok anymore to assume
this container will only have a few elements.


  Commit: f5a067bb9002afeedfd6d94722af1cef698979e3
      https://github.com/llvm/llvm-project/commit/f5a067bb9002afeedfd6d94722af1cef698979e3
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/known-never-zero.ll

  Log Message:
  -----------
  [SelectionDAG]: Deduce KnownNeverZero from SMIN and SMAX (#85722)


  Commit: 13078cbc3eeb0ae91c370ce0f604f7165b26e0c8
      https://github.com/llvm/llvm-project/commit/13078cbc3eeb0ae91c370ce0f604f7165b26e0c8
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Skip cross-JIT tests if specified target is not available (#84461)


  Commit: aeeb7d566c9047d4e64b5fc7ea8930b93e80def9
      https://github.com/llvm/llvm-project/commit/aeeb7d566c9047d4e64b5fc7ea8930b93e80def9
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Make subprogram flags optional (#86433)

This revision makes the subprogramFlags field in the DISubprogrammAttr
optional. This is necessary since the DISubprogram attached to a
declaration may have none of the subprogram flags set.


  Commit: 4e29c6acd3683973e86d46bc124c78e338f1510a
      https://github.com/llvm/llvm-project/commit/4e29c6acd3683973e86d46bc124c78e338f1510a
  Author: David Green <david.green at arm.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s

  Log Message:
  -----------
  [AArch64] Correct Neoverse V1 SVE 16-bit sdot/udot schedule pipelines. (#86142)

Fixes #86102


  Commit: 1081d3a0a7aeee795b11947d850cecc9c63a187a
      https://github.com/llvm/llvm-project/commit/1081d3a0a7aeee795b11947d850cecc9c63a187a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll

  Log Message:
  -----------
  [VPlan] Mark CanonicalIVIncrementForPart as only using part 0 of IV.

CanonicalIVIncrementForPart uses VPIteration(0, 0) of the IV (first
operand), mark it as only using part 0.

This avoids generating redundant IV increments per part.


  Commit: e1d4ddb0c68f69001d7de43d9c678f4d73c1ecba
      https://github.com/llvm/llvm-project/commit/e1d4ddb0c68f69001d7de43d9c678f4d73c1ecba
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    A clang/test/Analysis/getline-cpp.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Reapply "[analyzer] Accept C library functions from the `std` namespace" again (#85791)

This reapplies 80ab8234ac309418637488b97e0a62d8377b2ecf again, after
fixing a name collision warning in the unit tests (see the revert commit
13ccaf9b9d4400bb128b35ff4ac733e4afc3ad1c for details).

In addition to the previously applied changes, this commit also clarifies the
code in MallocChecker that distinguishes POSIX "getline()" and C++ standard
library "std::getline()" (which are two completely different functions). Note
that "std::getline()" was (accidentally) handled correctly even without this
clarification; but it's better to explicitly handle and test this corner case.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 6b8bb29c26765ab085cd0986168407f5586f620e
      https://github.com/llvm/llvm-project/commit/6b8bb29c26765ab085cd0986168407f5586f620e
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [llvm][bazel] Update BUILD file after fa3d789df15bd1f58fb8ba4ea3be909218cf7f03.


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

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

  Log Message:
  -----------
  [flang][OpenMP] Allow loop iteration variables in DSA clauses (#86194)

Iteration variables of non-associated loops may be listed in DSA
clauses.

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


  Commit: 684ca6a25ae0a4b8d015ed321f7e99cb7153951e
      https://github.com/llvm/llvm-project/commit/684ca6a25ae0a4b8d015ed321f7e99cb7153951e
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl

  Log Message:
  -----------
  [bazel] Format defs.bzl


  Commit: 46a737cef2a709d5c121ab616fc80088ce2eed46
      https://github.com/llvm/llvm-project/commit/46a737cef2a709d5c121ab616fc80088ce2eed46
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CMakeLists.txt

  Log Message:
  -----------
  [LLVM] Fix linking object library in tablegen

Summary:
The patch https://github.com/llvm/llvm-project/pull/80847 introduced
some changes to how we build tablegen. Some files weren't build included
properly on my build. We don't need to fish out the objects directly
from an object library build, we can simply add it to the link libraries
and CMake will include them for you. This fixed the issue of missings
defs for me and is more canonical.


  Commit: 4bb9f918ff4e2a932ce1e3da5f14103778b04136
      https://github.com/llvm/llvm-project/commit/4bb9f918ff4e2a932ce1e3da5f14103778b04136
  Author: Jianbang Yang <yangjianbang112 at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] fix out-of-bound index in tensor.dim (#85901)

fix a crash when fold tensor.dim with out-of-bound index.

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


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

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

  Log Message:
  -----------
  [clang][dataflow] Bail out if input is Objective-C++. (#86479)

We only ever intended to support C++, but the condition we were testing
allowed
Objective-C++ code by mistake.


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

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp

  Log Message:
  -----------
  [lld-macho][NFC] Refactor ObjCSelRefsSection => ObjCSelRefsHelper (#86456)

In a previous PR: https://github.com/llvm/llvm-project/pull/83878, the
intent was to make no functional changes, just refactor out the code for
reuse.
However, by creating `ObjCSelRefsSection` as a `SyntheticSection` - this
slightly changed the functionality of the application as the
`SyntheticSection` constructor registers the `SyntheticSection` as a
functional one - with an associated `SyntheticInputSection`.

With this change we remove this unintended consequence by making the
code not use a `SyntheticSection` as base, but just by having it be a
static helper.


  Commit: b33166472c17b51b0b70a72424c2387e95f11b2d
      https://github.com/llvm/llvm-project/commit/b33166472c17b51b0b70a72424c2387e95f11b2d
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp

  Log Message:
  -----------
  [flang] Fix -Wunused-variable in BoxedProcedure.cpp (NFC)

llvm-project/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp:157:12:
error: unused variable 'it' [-Werror,-Wunused-variable]
      auto it = convertedTypes.try_emplace(ty, rec);
           ^
1 error generated.


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

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir

  Log Message:
  -----------
  [mlir][SVE] Fix memory leaks in integration tests (#86488)

Buffers are no longer deallocated by One-Shot Bufferize - this is now
done by a separate buffer deallocation pass.

In order to see the leaks in SVE integration tests, use the following
CMake flags (enables the address sanitizer and SVE integration tests):

    -DLLVM_USE_SANITIZER="Address"
    -DMLIR_INCLUDE_INTEGRATION_TESTS=On
    -DMLIR_RUN_ARM_SVE_TESTS=On

Follow-up for #85366


  Commit: 865294b2e67d91d6e6a123db1b71a175e015a210
      https://github.com/llvm/llvm-project/commit/865294b2e67d91d6e6a123db1b71a175e015a210
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/test/CodeGen/RISCV/misched-postra-direction.mir

  Log Message:
  -----------
  [CodeGen][MISched] Add misched post-regalloc bidirectional scheduling (#77138)

This PR is stacked on #76186.

This PR keeps the default strategy as top-down since that is what
existing targets expect. It can be enabled using
`-misched-postra-direction=bidirectional`.

It is up to targets to decide whether they would like to enable this
option for themselves.


  Commit: ded6252dfd96ee8904b6d2250bc9e4841ca5c802
      https://github.com/llvm/llvm-project/commit/ded6252dfd96ee8904b6d2250bc9e4841ca5c802
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [CMake][HLSL] Add SPIRV to target list for build (#86323)

This change just enables the SPIR-V target by default in the HLSL build
configurations. Since SPIR-V support is something we expect from the
full HLSL compiler releases for pairity with DXC we should enable it in
the default developer workflow.


  Commit: 32b828306e346bc8e86c0b763f3514329de60ed1
      https://github.com/llvm/llvm-project/commit/32b828306e346bc8e86c0b763f3514329de60ed1
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/test/Analysis/analyzer-display-progress.cpp
    M clang/test/Analysis/analyzer-display-progress.m
    A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp

  Log Message:
  -----------
  [analyzer] Set and display CSA analysis entry points as notes on debugging (#84823)

When debugging CSA issues, sometimes it would be useful to have a
dedicated note for the analysis entry point, aka. the function name you
would need to pass as "-analyze-function=XYZ" to reproduce a specific
issue.
One way we use (or will use) this downstream is to provide tooling on
top of creduce to enhance to supercharge productivity by automatically
reduce cases on crashes for example.

This will be added only if the "-analyzer-note-analysis-entry-points" is
set or the "analyzer-display-progress" is on.

This additional entry point marker will be the first "note" if enabled,
with the following message: "[debug] analyzing from XYZ". They are
prefixed by "[debug]" to remind the CSA developer that this is only
 meant to be visible for them, for debugging purposes.

CPP-5012


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

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/math/index.rst
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/fromfp.h
    A libc/src/math/fromfpf.h
    A libc/src/math/fromfpf128.h
    A libc/src/math/fromfpl.h
    A libc/src/math/fromfpx.h
    A libc/src/math/fromfpxf.h
    A libc/src/math/fromfpxf128.h
    A libc/src/math/fromfpxl.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/fromfp.cpp
    A libc/src/math/generic/fromfpf.cpp
    A libc/src/math/generic/fromfpf128.cpp
    A libc/src/math/generic/fromfpl.cpp
    A libc/src/math/generic/fromfpx.cpp
    A libc/src/math/generic/fromfpxf.cpp
    A libc/src/math/generic/fromfpxf128.cpp
    A libc/src/math/generic/fromfpxl.cpp
    A libc/src/math/generic/ufromfp.cpp
    A libc/src/math/generic/ufromfpf.cpp
    A libc/src/math/generic/ufromfpf128.cpp
    A libc/src/math/generic/ufromfpl.cpp
    A libc/src/math/generic/ufromfpx.cpp
    A libc/src/math/generic/ufromfpxf.cpp
    A libc/src/math/generic/ufromfpxf128.cpp
    A libc/src/math/generic/ufromfpxl.cpp
    A libc/src/math/ufromfp.h
    A libc/src/math/ufromfpf.h
    A libc/src/math/ufromfpf128.h
    A libc/src/math/ufromfpl.h
    A libc/src/math/ufromfpx.h
    A libc/src/math/ufromfpxf.h
    A libc/src/math/ufromfpxf128.h
    A libc/src/math/ufromfpxl.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/FromfpTest.h
    A libc/test/src/math/smoke/FromfpxTest.h
    A libc/test/src/math/smoke/UfromfpTest.h
    A libc/test/src/math/smoke/UfromfpxTest.h
    A libc/test/src/math/smoke/fromfp_test.cpp
    A libc/test/src/math/smoke/fromfpf128_test.cpp
    A libc/test/src/math/smoke/fromfpf_test.cpp
    A libc/test/src/math/smoke/fromfpl_test.cpp
    A libc/test/src/math/smoke/fromfpx_test.cpp
    A libc/test/src/math/smoke/fromfpxf128_test.cpp
    A libc/test/src/math/smoke/fromfpxf_test.cpp
    A libc/test/src/math/smoke/fromfpxl_test.cpp
    A libc/test/src/math/smoke/ufromfp_test.cpp
    A libc/test/src/math/smoke/ufromfpf128_test.cpp
    A libc/test/src/math/smoke/ufromfpf_test.cpp
    A libc/test/src/math/smoke/ufromfpl_test.cpp
    A libc/test/src/math/smoke/ufromfpx_test.cpp
    A libc/test/src/math/smoke/ufromfpxf128_test.cpp
    A libc/test/src/math/smoke/ufromfpxf_test.cpp
    A libc/test/src/math/smoke/ufromfpxl_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [libc][math][c23] Add {,u}fromfp{,x}{,f,l,f128} functions (#86003)

Fixes #85279.

cc @lntue


  Commit: bea17ff652bc49b2de8d6be04f77d28170a78be9
      https://github.com/llvm/llvm-project/commit/bea17ff652bc49b2de8d6be04f77d28170a78be9
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/test/CodeGenCXX/mangle-ms-back-references.cpp

  Log Message:
  -----------
  [clang] Correct Microsoft mangling of lifetime extended temporary objects. (#85529)

Lifetime extended temporary objects that are bound to references with
static storage duration may have external linkage and therefore require
mangled symbol names. Clang uses an extension of the Microsoft ABI to
give these symbols an implicit name of '$RT' followed by a discriminator
and then mangles them similarly to the variable they are bound to.
Clang's mangling scheme differs from the one used by MSVC.

Previously, the `$RT<discriminator>` portion of the name was not
registered as a back reference candidate and this resulted in incorrect
back references for enclosing class and/or namespace scopes that might
be referenced in the type of the object.

This is an ABI change and has the potential to cause backward
compatibility issues with previous Clang releases. Since MSVC uses a
different mangling scheme, this change does not affect compatibility
with MSVC.

This fixes one of the name mangling concerns reported in #85423.


  Commit: 06cfbe3cfd44cd2ca9eb970b8c0e5f4911468440
      https://github.com/llvm/llvm-project/commit/06cfbe3cfd44cd2ca9eb970b8c0e5f4911468440
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    A llvm/test/CodeGen/AMDGPU/merge-buffer-gfx12.mir
    A llvm/test/CodeGen/AMDGPU/merge-buffer.mir
    M llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir

  Log Message:
  -----------
  [AMDPU] Add support for idxen and bothen buffer load/store merging in SILoadStoreOptimizer (#86285)

Added more buffer instruction merging support


  Commit: 564035edb0e67a177fd911fc779cd64300a9b5ef
      https://github.com/llvm/llvm-project/commit/564035edb0e67a177fd911fc779cd64300a9b5ef
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Organize `genOMP` functions in OpenMP.cpp, NFC (#86309)

Put all of the genOMP functions together, organize them in two groups:
for declarative constructs and for other (executable) constructs.

Replace visit functions for OpenMPDeclarativeConstruct and
OpenMPConstruct from listing individual visitors for each variant
alternative to using a single generic visitor. Essentially, going from
```
  std::visit(
    [](foo x) { genOMP(foo); }
    [](bar x) { TODO }
    [](baz x) { genOMP(baz); }
  )
```
to
```
void genOMP(bar x) {  // Separate visitor for an unhandled case
  TODO
}

[...]
  std::visit([&](auto &&s) { genOMP(s); })  // generic
```

This doesn't change any functionality, just reorganizes the functions a
bit. The intent here is to improve the readability of this file.


  Commit: 0bdb883e7c6ae836c68c3bd09cbe1305b3f656ec
      https://github.com/llvm/llvm-project/commit/0bdb883e7c6ae836c68c3bd09cbe1305b3f656ec
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir

  Log Message:
  -----------
  [mlir][SVE] Add e2e for 1D depthwise WC convolution

Follow-up for #81625

Relands #85225 with a minor update to the RUN line to fix buildbot
failures:
```diff
-// RUN: %{compile} | %{run} | FileCheck %s
+// RUN: rm -f %t && %{compile} && %{run} | FileCheck %s
```

Failing buildbots after landing #85225:
 * https://lab.llvm.org/buildbot/#/builders/184/builds/11363
 * https://lab.llvm.org/buildbot/#/builders/176/builds/9331


  Commit: fb394562a3cf3522ac17a1436234ef5b926636fb
      https://github.com/llvm/llvm-project/commit/fb394562a3cf3522ac17a1436234ef5b926636fb
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    A llvm/test/CodeGen/X86/GlobalISel/legalize-icmp-vec.mir

  Log Message:
  -----------
  [X86][GlobalISel] Fix referencing nonexistent operand in G_ICMP (#86221)

Fixes #86203


  Commit: 2b351a3b76b8e58414fb51ff52978c79904ab331
      https://github.com/llvm/llvm-project/commit/2b351a3b76b8e58414fb51ff52978c79904ab331
  Author: Robin Caloudis <robin.caloudis at gmx.de>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/pow.hlsl

  Log Message:
  -----------
  [HLSL] Remove double pow intrinsics (#86407)

Currently, the HLSL community is re-implementing its HLSL compiler, the
DirectX Shader Compiler (DXC), in LLVM/main piece by piece. This change
removes the pow intrinsics with parameters of type double as it is not
available in DXC.

Introduced in
https://github.com/llvm/llvm-project/commit/df5137e984a607248cd31ed67aa3822e8ac2a083.

Documentation for HLSL pow function is available here:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-pow#parameters

Closes https://github.com/llvm/llvm-project/issues/86181


  Commit: 6fd3677fb4f4e806f2efa43bfa814aaf063c506c
      https://github.com/llvm/llvm-project/commit/6fd3677fb4f4e806f2efa43bfa814aaf063c506c
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  Fixing a think-o with swapped information


  Commit: 7ee1007eddcfc4efe582512b78704038f17fa5a3
      https://github.com/llvm/llvm-project/commit/7ee1007eddcfc4efe582512b78704038f17fa5a3
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim full support for WG14 N772

No tests are added because existing tests cover this. The thrust of the
paper is that an implementation needs to support including a header
file whose name is eight character or less and contains only letters
and numbers; we definitely manage this.


  Commit: 002f7808c93ee28db77383de7e802ef3beab47bd
      https://github.com/llvm/llvm-project/commit/002f7808c93ee28db77383de7e802ef3beab47bd
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    A llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
    A llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
    R llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [gn] port fa3d789df15b (tblgen restructure)


  Commit: 8ef451072a532a9cbc1c128468fba70bbf9a38b9
      https://github.com/llvm/llvm-project/commit/8ef451072a532a9cbc1c128468fba70bbf9a38b9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp

  Log Message:
  -----------
  [JITLink][ELF][AArch64] Make include order consistent with other JITLink files.

Coding my way home: 8.98112N, 79.52094W


  Commit: c15218bccb570316e4971c4b70e879a4bd6a8de9
      https://github.com/llvm/llvm-project/commit/c15218bccb570316e4971c4b70e879a4bd6a8de9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp

  Log Message:
  -----------
  [JITLink] Dump weak-ref status for external symbols in LinkGraphs.

Coding my way home: 8.98112N, 79.52094W


  Commit: 94bbc18bb6469b29dc471c4af879c2ee64d62180
      https://github.com/llvm/llvm-project/commit/94bbc18bb6469b29dc471c4af879c2ee64d62180
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp

  Log Message:
  -----------
  [ORC] Add some debug logging to EPCDynamicLibrarySearchGenerator.

Coding my way home: 8.98112N, 79.52094W


  Commit: c4d58815506ece1a5e5e001fadbaf34b0266fd37
      https://github.com/llvm/llvm-project/commit/c4d58815506ece1a5e5e001fadbaf34b0266fd37
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_section_start_and_stop_symbols.s

  Log Message:
  -----------
  [JITLink][MachO] Handle MachO section start/end symbols.

Transform section$start$<section-name> and section$end$<section-name> external
symbols into defined symbols when a section named <section-name> is present.

rdar://125357048

Coding my way home: 8.98112N, 79.52094W


  Commit: 20392687d38169c7f7de484050e734cb72630b2f
      https://github.com/llvm/llvm-project/commit/20392687d38169c7f7de484050e734cb72630b2f
  Author: Andrii Levitskiy <107996072+aabysswalker at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h

  Log Message:
  -----------
  [HLSL] remove double impelementation of log, sin, trunc intrinsics (#86440)

This change removes the log, log2, log10, sin, trunc intrinsics with
parameters of type double as it is not available in the DXC compiler.


https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log

https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log2

https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log10

https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-sin

https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-trunc

Closes #86189


  Commit: a83ed0423dcafd4fecb15994a5c5c8b85a56f59b
      https://github.com/llvm/llvm-project/commit/a83ed0423dcafd4fecb15994a5c5c8b85a56f59b
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/DXILABI.h
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Follow naming conventions for enumerators in DXILABI.h. NFC (#86237)

These all-caps names differ from the llvm naming conventions for no good
reason, and `VOID` in all caps can cause problems in windows
environments (see [1]). Rename them to UpperCamelCase.

[1]: https://github.com/clangd/clangd/issues/1983


  Commit: 7b3e943dfc6355488a57a7feaa125f4879ba7537
      https://github.com/llvm/llvm-project/commit/7b3e943dfc6355488a57a7feaa125f4879ba7537
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/Float2Int.h
    M llvm/lib/Transforms/Scalar/Float2Int.cpp
    M llvm/test/Transforms/Float2Int/basic.ll
    M llvm/test/Transforms/Float2Int/pr79158.ll

  Log Message:
  -----------
  Reapply: [Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#86337)

Originally reverted because of a bug in Range that is now fixed
(#86041), we can reland this commit. Tests have been added to ensure the
miscompile that caused the revert does not happen again.


  Commit: a9d1fead961440d415f931bc22c160dec88e03fd
      https://github.com/llvm/llvm-project/commit/a9d1fead961440d415f931bc22c160dec88e03fd
  Author: Vivian <zhyuhang88 at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
    M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir

  Log Message:
  -----------
  Fix the condition for peeling the first iteration (#86350)

This PR fixes the condition used in loop peeling of the first iteration.
Using ceilDiv instead of floorDiv when calculating the loop counts, so
that the first iteration gets peeled as needed.


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

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

  Log Message:
  -----------
  [C99] Claim conformance to WG14 N631 and WG14 N696

Both of these relate to handling of standard pragmas. N631 is about
various STDC pragmas being included in the standard at all, and N696
is about whether macros are expanded in standard pragmas (they're not).


  Commit: 96819daa3d095cf9f662e0229dc82eaaa25480e8
      https://github.com/llvm/llvm-project/commit/96819daa3d095cf9f662e0229dc82eaaa25480e8
  Author: David Green <david.green at arm.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/insert-subvector.ll

  Log Message:
  -----------
  [AArch64] Handle v2i16 and v2i8 in concat load combine. (#86264)

This extends the concat load patch from
https://reviews.llvm.org/D121400, which was later moved to a combine, to
handle v2i8 and v2i16 concat loads too.


  Commit: 5ef09540e16dfc81643eaf866d4ada0b52cf27b8
      https://github.com/llvm/llvm-project/commit/5ef09540e16dfc81643eaf866d4ada0b52cf27b8
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [gn] port 4fb0805c6525b

That's an old commit, but it suddenly became load-bearing, maybe
due to 0cf4788d9d0df609


  Commit: c62c74639ad6eb0988861077b7123fa2b2c17cc5
      https://github.com/llvm/llvm-project/commit/c62c74639ad6eb0988861077b7123fa2b2c17cc5
  Author: Cooper Partin <coopp at microsoft.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/MC/DXContainerPSVInfo.h
    M llvm/include/llvm/MC/StringTableBuilder.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerPSVInfo.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  Add support for PSV EntryFunctionName (#86296)

This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.

Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.

Fixes #80175

---------

Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>


  Commit: 33cf27b0a3f307f4c57e868fedb72f4d65ba72d9
      https://github.com/llvm/llvm-project/commit/33cf27b0a3f307f4c57e868fedb72f4d65ba72d9
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISEL][NFC] Add typeIsLegalBoolVec and typeIsLegalIntOrFPVec helpers


  Commit: ea798a79000f5df53b469ecb491d7d21479d6f24
      https://github.com/llvm/llvm-project/commit/ea798a79000f5df53b469ecb491d7d21479d6f24
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-implicit-def.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/implicit-def.mir

  Log Message:
  -----------
  [RISCV][GISEL] Legalize and regbankselect vector typed G_IMPLICIT_DEF


  Commit: f3f594c6b569a1b126f390c28ec0ca3704f39e93
      https://github.com/llvm/llvm-project/commit/f3f594c6b569a1b126f390c28ec0ca3704f39e93
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h

  Log Message:
  -----------
  [NFC][lld] Pass `sym` as const reference to `GotSection`'s methods (#86481)


  Commit: 2745f72a81aa73517cf43e8e4ddc4c91a1739a6a
      https://github.com/llvm/llvm-project/commit/2745f72a81aa73517cf43e8e4ddc4c91a1739a6a
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M libc/src/__support/File/file.h

  Log Message:
  -----------
  [libc][NFC] fix typo (#86540)


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

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/width_estimation_table.h
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_width_estimation_table.py

  Log Message:
  -----------
  [libc++][format] Adds ABI tags to inline constexpr variables. (#86293)

This uses the macro on record types and inline constexpr variables. The
tagged declarations are very likely to change in future versions of
libc++:
- __fields are internal types used to control the formatter's parse
functions which fields to expect. Newer formatters may add new fields.
For example the filesystem::path formatter accepted in the recent Tokyo
meeting added a new 'g' flag, which differs from the 'g' type.
- The Unicode tables. The number of entries in these table likely differ
between Unicode versions. The tables contain only a part of all Unicode
properties. Typically they are stored in a 32-bit entry where some bits
contain the properties and other bits the size of the range. Changes in
the Unicode or C++ algorithms may require more properties to be
available in C++. This may affect the number of bits available in the
range. If needed, other declarations get the macro. This is mainly a
first time to review this approach.

This was originally https://reviews.llvm.org/D143494 where a new macro
_LIBCPP_HIDE_FROM_ABI_TYPE was defined. Testing revealed the existing
macro _LIBCPP_HIDE_FROM_ABI could be used. The "parts" of the macro that
do not affect records are not harmful. Based on this information the
existing macro was used and additional documentation was written.


  Commit: 8c51ac9ddb026ca247b25b08b1d08e32b1ed58ec
      https://github.com/llvm/llvm-project/commit/8c51ac9ddb026ca247b25b08b1d08e32b1ed58ec
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV][GISEL] Legalize G_SELECT for scalable vectors


  Commit: 973e9dbd57bcdfcc3e0deef37d1c37fc4fbbb856
      https://github.com/llvm/llvm-project/commit/973e9dbd57bcdfcc3e0deef37d1c37fc4fbbb856
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/select.mir

  Log Message:
  -----------
  [RISCV][GISEL] Regbank select for scalable G_SELECT


  Commit: 05840c8714d798c8f2873c205aeac146b4993ae5
      https://github.com/llvm/llvm-project/commit/05840c8714d798c8f2873c205aeac146b4993ae5
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir

  Log Message:
  -----------
  [RISCV][GISEL] Instruction select for scalable G_SELECT

SelectionDAG has SELECT and VSELECT

SELECT restricts the condition operand to an i1 and the true and false operands
can be vectors. The result of a SELECT has the same type as the true and
false operands.

VSELECT has a vector condition operand and the true and false operands
must be vectors. The result of a VSELECT has a vector result.

GlobalISel has G_SELECT which has condition operand that is an i1 if the
true and false operands are scalar and a vector type with i1 elements if
the true and false operands are vector.

A G_SELECT acts like a ISD::SELECT when the operands are all scalar, and
an ISD::VSELECT when the operands are are scalar. A G_SELECT cannot act
like a ISD::SELECT with an i1 condition and vector operands because the
type system.

In this patch, we would like to take advantage of the patterns written
for SELECT and VSELECT, so we mark G_SELECT equivalent to both SELECT
and VSELECT to reuse the patterns. Since we cannot write a `G_SELECT (s1),
(vector-ty), (vector-ty)`, we don't have to worry about accidently
matching the SDAG patterns of that nature.

We will probably need a way to represent an i1 condition with vector
true and false operands in the future. That can be the topic of another
patch.


  Commit: 05dc5d927bc5f0eeadd277a5e31b04399415f9d0
      https://github.com/llvm/llvm-project/commit/05dc5d927bc5f0eeadd277a5e31b04399415f9d0
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/fsblkcnt_t.h
    A libc/include/llvm-libc-types/fsfilcnt_t.h
    A libc/include/llvm-libc-types/struct_statvfs.h
    A libc/include/sys/statvfs.h.def
    M libc/spec/posix.td
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/statvfs/CMakeLists.txt
    A libc/src/sys/statvfs/fstatvfs.h
    A libc/src/sys/statvfs/linux/CMakeLists.txt
    A libc/src/sys/statvfs/linux/fstatvfs.cpp
    A libc/src/sys/statvfs/linux/statfs_utils.h
    A libc/src/sys/statvfs/linux/statvfs.cpp
    A libc/src/sys/statvfs/statvfs.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/statvfs/CMakeLists.txt
    A libc/test/src/sys/statvfs/linux/CMakeLists.txt
    A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
    A libc/test/src/sys/statvfs/linux/statvfs_test.cpp

  Log Message:
  -----------
  [libc] add statvfs/fstatvfs (#86169)

fixes #86449


  Commit: 47681506ded30fada68f180b5e80f740bc76abcd
      https://github.com/llvm/llvm-project/commit/47681506ded30fada68f180b5e80f740bc76abcd
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrGISel.td
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir

  Log Message:
  -----------
  [RISCV][GISEL] Legalize G_VSCALE

G_VSCALE should be lowered using VLENB.


  Commit: a2476c99b745381380eab245fc9499a4ecf0b39e
      https://github.com/llvm/llvm-project/commit/a2476c99b745381380eab245fc9499a4ecf0b39e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir

  Log Message:
  -----------
  [RISCV][GISEL] Add regbankselect tests for G_VSCALE


  Commit: c00a5ab8c4be14f63735ec61c5c9245c233cbcfc
      https://github.com/llvm/llvm-project/commit/c00a5ab8c4be14f63735ec61c5c9245c233cbcfc
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir

  Log Message:
  -----------
  [RISCV][GISEL] Add instruction select tests for G_VSCALE


  Commit: 6187f271d107c11574c8d8db9d64a83095a9072c
      https://github.com/llvm/llvm-project/commit/6187f271d107c11574c8d8db9d64a83095a9072c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [gn] port fa3d789df15b more (tblgen restructure)

I had missed that both tblgens still both need a bunch of identical
cpp files. Let's just reintroduce the source_set() for them, even
though the CMake build removed the object library for them in favor
of duplicating the file list for some reason.


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

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to "additional predefined macro names"

This feature is listed in the C99 front matter as one of the changes to
C99, but there was no associated document with that title (or anything
close to it).

I eventually tracked this down to a new requirement in C99 that
implementations defining their own pedefined macros should not name
them with a __STDC_ prefix. Clang does not do this, but there's no
tests that would demonstrate we properly "implement" this feature. So
claiming full conformance without additional test coverage.


  Commit: 3305f5a980363d7e224094bc42bcbebcf162618e
      https://github.com/llvm/llvm-project/commit/3305f5a980363d7e224094bc42bcbebcf162618e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISEL] Check for legal element count in typeIsLegalBoolVec

https://github.com/llvm/llvm-project/pull/84553 added
typeIsLegalBoolVec but it was missing a check for minimum element count.
This patch adds that.


  Commit: 32466e55b19586880199347744fc1b76d6b04cfb
      https://github.com/llvm/llvm-project/commit/32466e55b19586880199347744fc1b76d6b04cfb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/test/C/C99/n696.c

  Log Message:
  -----------
  Add a triple to this test

Amends d99cfa053998483e7283e91ff204fbe117345685

This should address a failure found by post commit CI:
https://lab.llvm.org/buildbot/#/builders/245/builds/22321


  Commit: 3cf169ca160eaf5464503fbd93d73ee1d8597936
      https://github.com/llvm/llvm-project/commit/3cf169ca160eaf5464503fbd93d73ee1d8597936
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/Dockerfile

  Log Message:
  -----------
  [libc++][CI] Updates the documentation. (#85264)

The documentation mentions manually pushing Docker images to the CI. The
preferred way is to use the proper GitHub action. This updates the
documentation.

---------

Co-authored-by: Will Hawkins <whh8b at obs.cr>


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll

  Log Message:
  -----------
  [RISCV] Add integer RISCVISD::SELECT_CC to canCreateUndefOrPoison and isGuaranteedNotToBeUndefOrPoison. (#84693)

Integer RISCVISD::SELECT_CC doesn't create poison. If none of the,
operands are poison, the result is not poison.

This allows ISD::FREEZE to be hoisted above RISCVISD::SELECT_CC.


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

  Changed paths:
    A clang/test/C/C99/block-scopes.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to "new block scopes for selection and iteration statements"

I was unable to definitively locate a document number for this, but it
is potentially WG14 N759 based on the description in the C99 rationale
document.

We do implement the C89 and C99 scope rules for iteration and selection
statements, so claiming conformance here.


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedBroadwell.td
    M llvm/lib/Target/X86/X86SchedHaswell.td
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s

  Log Message:
  -----------
  [X86] HSW/BDW - vector splat shifts don't use Port5 when loading the shift amount

Noticed while trying to compare splat vs per-element shift perf stats for #39424

Confirmed with uops.info


  Commit: bc547028dc3551dc5b78bbebd3413c0129215c59
      https://github.com/llvm/llvm-project/commit/bc547028dc3551dc5b78bbebd3413c0129215c59
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test

  Log Message:
  -----------
  [llvm-readobj,test] Test R_AARCH64_AUTH_{ABS64,RELATIVE} (#86511)

Add missing tests for AUTH relocs defined in #74874


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

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix spelling mistakes (#86013)


  Commit: 6ac54105ad5a217c0cf587824dbdffde5eba4e97
      https://github.com/llvm/llvm-project/commit/6ac54105ad5a217c0cf587824dbdffde5eba4e97
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/test/tools/dxil-dis/debug-info.ll

  Log Message:
  -----------
  [DirectX] disable experimental debuginfo iterators in debug-info test (#86538)

We'll need to address this differently long term, but for now just
revert to the old behaviour to keep this test from failing.

Fixes #85884


  Commit: 9056ce88042616b431f988758fff73b82fa58a08
      https://github.com/llvm/llvm-project/commit/9056ce88042616b431f988758fff73b82fa58a08
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrGISel.td
    R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir

  Log Message:
  -----------
  Revert "[RISCV][GISEL] Legalize G_VSCALE"

This reverts commit 47681506ded30fada68f180b5e80f740bc76abcd. It is not
consistent with SelectionDAG.


  Commit: 668687f8a8ccba847e4847597d13124bd9bfdf4a
      https://github.com/llvm/llvm-project/commit/668687f8a8ccba847e4847597d13124bd9bfdf4a
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir

  Log Message:
  -----------
  Revert "[RISCV][GISEL] Add regbankselect tests for G_VSCALE"

This reverts commit a2476c99b745381380eab245fc9499a4ecf0b39e. It is not
consistent with SelectionDAG


  Commit: 8b9c3b57b158beeedf69810c2a546ab350a91e57
      https://github.com/llvm/llvm-project/commit/8b9c3b57b158beeedf69810c2a546ab350a91e57
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir

  Log Message:
  -----------
  Revert "[RISCV][GISEL] Add instruction select tests for G_VSCALE"

This reverts commit c00a5ab8c4be14f63735ec61c5c9245c233cbcfc. It is not
consistent with SelectionDAG.


  Commit: 4e6745cc4db309c0e1b5e41d4598f67763f4c096
      https://github.com/llvm/llvm-project/commit/4e6745cc4db309c0e1b5e41d4598f67763f4c096
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    A flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Lower simple host to device data transfer (#85960)

In CUDA Fortran data transfer can be done via assignment statements
between host and device variables.

This patch introduces a `fir.cuda_data_transfer` operation that
materialized the data transfer between two memory references.

Simple transfer not involving descriptors from host to device are also
lowered in this patch. When the rhs is an expression that required an
evaluation, a temporary is created. The evaluation is done on the host
and then the transfer is initiated.

Implicit transfer when device symbol are present on the rhs is not part
of this patch. Transfer from device to host is not part of this patch.


  Commit: 3e3f0c3175a8b83a8c51bef5712dbc384385db8b
      https://github.com/llvm/llvm-project/commit/3e3f0c3175a8b83a8c51bef5712dbc384385db8b
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/fmaximum.h
    A libc/src/math/fmaximum_mag.h
    A libc/src/math/fmaximum_mag_num.h
    A libc/src/math/fmaximum_mag_numf.h
    A libc/src/math/fmaximum_mag_numf128.h
    A libc/src/math/fmaximum_mag_numl.h
    A libc/src/math/fmaximum_magf.h
    A libc/src/math/fmaximum_magf128.h
    A libc/src/math/fmaximum_magl.h
    A libc/src/math/fmaximum_num.h
    A libc/src/math/fmaximum_numf.h
    A libc/src/math/fmaximum_numf128.h
    A libc/src/math/fmaximum_numl.h
    A libc/src/math/fmaximumf.h
    A libc/src/math/fmaximumf128.h
    A libc/src/math/fmaximuml.h
    A libc/src/math/fminimum.h
    A libc/src/math/fminimum_mag.h
    A libc/src/math/fminimum_mag_num.h
    A libc/src/math/fminimum_mag_numf.h
    A libc/src/math/fminimum_mag_numf128.h
    A libc/src/math/fminimum_mag_numl.h
    A libc/src/math/fminimum_magf.h
    A libc/src/math/fminimum_magf128.h
    A libc/src/math/fminimum_magl.h
    A libc/src/math/fminimum_num.h
    A libc/src/math/fminimum_numf.h
    A libc/src/math/fminimum_numf128.h
    A libc/src/math/fminimum_numl.h
    A libc/src/math/fminimumf.h
    A libc/src/math/fminimumf128.h
    A libc/src/math/fminimuml.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/fmaximum.cpp
    A libc/src/math/generic/fmaximum_mag.cpp
    A libc/src/math/generic/fmaximum_mag_num.cpp
    A libc/src/math/generic/fmaximum_mag_numf.cpp
    A libc/src/math/generic/fmaximum_mag_numf128.cpp
    A libc/src/math/generic/fmaximum_mag_numl.cpp
    A libc/src/math/generic/fmaximum_magf.cpp
    A libc/src/math/generic/fmaximum_magf128.cpp
    A libc/src/math/generic/fmaximum_magl.cpp
    A libc/src/math/generic/fmaximum_num.cpp
    A libc/src/math/generic/fmaximum_numf.cpp
    A libc/src/math/generic/fmaximum_numf128.cpp
    A libc/src/math/generic/fmaximum_numl.cpp
    A libc/src/math/generic/fmaximumf.cpp
    A libc/src/math/generic/fmaximumf128.cpp
    A libc/src/math/generic/fmaximuml.cpp
    A libc/src/math/generic/fminimum.cpp
    A libc/src/math/generic/fminimum_mag.cpp
    A libc/src/math/generic/fminimum_mag_num.cpp
    A libc/src/math/generic/fminimum_mag_numf.cpp
    A libc/src/math/generic/fminimum_mag_numf128.cpp
    A libc/src/math/generic/fminimum_mag_numl.cpp
    A libc/src/math/generic/fminimum_magf.cpp
    A libc/src/math/generic/fminimum_magf128.cpp
    A libc/src/math/generic/fminimum_magl.cpp
    A libc/src/math/generic/fminimum_num.cpp
    A libc/src/math/generic/fminimum_numf.cpp
    A libc/src/math/generic/fminimum_numf128.cpp
    A libc/src/math/generic/fminimum_numl.cpp
    A libc/src/math/generic/fminimumf.cpp
    A libc/src/math/generic/fminimumf128.cpp
    A libc/src/math/generic/fminimuml.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/FMaximumMagNumTest.h
    A libc/test/src/math/smoke/FMaximumMagTest.h
    A libc/test/src/math/smoke/FMaximumNumTest.h
    A libc/test/src/math/smoke/FMaximumTest.h
    A libc/test/src/math/smoke/FMinimumMagNumTest.h
    A libc/test/src/math/smoke/FMinimumMagTest.h
    A libc/test/src/math/smoke/FMinimumNumTest.h
    A libc/test/src/math/smoke/FMinimumTest.h
    A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_test.cpp
    A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
    A libc/test/src/math/smoke/fmaximum_magf_test.cpp
    A libc/test/src/math/smoke/fmaximum_magl_test.cpp
    A libc/test/src/math/smoke/fmaximum_num_test.cpp
    A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
    A libc/test/src/math/smoke/fmaximum_numf_test.cpp
    A libc/test/src/math/smoke/fmaximum_numl_test.cpp
    A libc/test/src/math/smoke/fmaximum_test.cpp
    A libc/test/src/math/smoke/fmaximumf128_test.cpp
    A libc/test/src/math/smoke/fmaximumf_test.cpp
    A libc/test/src/math/smoke/fmaximuml_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_test.cpp
    A libc/test/src/math/smoke/fminimum_magf128_test.cpp
    A libc/test/src/math/smoke/fminimum_magf_test.cpp
    A libc/test/src/math/smoke/fminimum_magl_test.cpp
    A libc/test/src/math/smoke/fminimum_num_test.cpp
    A libc/test/src/math/smoke/fminimum_numf128_test.cpp
    A libc/test/src/math/smoke/fminimum_numf_test.cpp
    A libc/test/src/math/smoke/fminimum_numl_test.cpp
    A libc/test/src/math/smoke/fminimum_test.cpp
    A libc/test/src/math/smoke/fminimumf128_test.cpp
    A libc/test/src/math/smoke/fminimumf_test.cpp
    A libc/test/src/math/smoke/fminimuml_test.cpp

  Log Message:
  -----------
  [libc][math][c23] add c23 floating point fmaximum and fminimum functions. (#86016)

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

---------

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


  Commit: 2d40f179124f874aca4cf1145fdbc42fb8fb17f3
      https://github.com/llvm/llvm-project/commit/2d40f179124f874aca4cf1145fdbc42fb8fb17f3
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/HeaderFile.cpp
    A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
    A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
    A clang/test/InstallAPI/extra-exclude-headers.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/include/llvm/TextAPI/Utils.h
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)

InstallAPI takes a json list of headers that is typically generated from
a build system like Xcode based on a project's attributes. Sometimes,
maintainers may want to alter this for tapi input. Using e.g.
`--extra-public-headers`, users can manipulate what headers will be used
for TBD file generation.


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

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

  Log Message:
  -----------
  [RISCV] Fix indentation and 80 columns in RISCVInstrInfoZvk.td. NFC

I didn't fix all the 80 column errors just the ones in template
arguments.


  Commit: f530eee4484e1b1e840238dbbd609ecac92d7c1e
      https://github.com/llvm/llvm-project/commit/f530eee4484e1b1e840238dbbd609ecac92d7c1e
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Fix minor buildifier warnings (NFC) (#86566)


  Commit: b7d8c6188986f62573b9516fe27fdd0c7df1aaf9
      https://github.com/llvm/llvm-project/commit/b7d8c6188986f62573b9516fe27fdd0c7df1aaf9
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/include/llvm/TextAPI/Utils.h
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [TextAPI] Add missing include for Expected type


  Commit: 540bbe15e617991f40fcf7033f0635bd3400bf5c
      https://github.com/llvm/llvm-project/commit/540bbe15e617991f40fcf7033f0635bd3400bf5c
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Add td_library target for OptParser.td (#86363)

This allows downstream consumers to depend on this file. Without this
target the include paths to this are mangled by bazel.


  Commit: 2eb010ddce2a8e7813a8e289004102011b1138db
      https://github.com/llvm/llvm-project/commit/2eb010ddce2a8e7813a8e289004102011b1138db
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Restrict libpfm to linux (#86565)

This target doesn't build on macOS (even with the upstream make based
build system) so this encodes that in the build without requiring
non-linux users to disable it manually with the starlark flag. The flag
is still respected for linux users.


  Commit: 6ee39fb4c180c1425d865b2f360a09aa115549d1
      https://github.com/llvm/llvm-project/commit/6ee39fb4c180c1425d865b2f360a09aa115549d1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unused forceMergeOpRead from SchedTernary class. NFC

Ternary operations cannot have a merge op in addition to their 3 sources
so there is no need for this option.


  Commit: 2d7df3167b12e3f3330a6b6e2f83715f8bbad67e
      https://github.com/llvm/llvm-project/commit/2d7df3167b12e3f3330a6b6e2f83715f8bbad67e
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/HeaderFile.cpp
    R clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
    R clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
    R clang/test/InstallAPI/Inputs/Simple/Simple.yaml
    R clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
    R clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
    R clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
    R clang/test/InstallAPI/extra-exclude-headers.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/include/llvm/TextAPI/Utils.h
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  Revert "[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)"

This reverts commit b7d8c6188986f62573b9516fe27fdd0c7df1aaf9. And
This reverts commit 2d40f179124f874aca4cf1145fdbc42fb8fb17f3.

It caused a build failure i'll need to reproduce.
` error: could not convert ‘Rule’ from ‘llvm::Regex’ to ‘llvm::Expected<llvm::Regex>’`


  Commit: cce18e40c0f1ca382e7b83ad2860430736dbf8c8
      https://github.com/llvm/llvm-project/commit/cce18e40c0f1ca382e7b83ad2860430736dbf8c8
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M utils/bazel/third_party_build/pfm.BUILD

  Log Message:
  -----------
  [bazel] Fix BUILD after 2eb010ddce2a8e7813a8e289004102011b1138db.


  Commit: b7611370491873722e08e4ce9374312d0c936af1
      https://github.com/llvm/llvm-project/commit/b7611370491873722e08e4ce9374312d0c936af1
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir

  Log Message:
  -----------
  [AMDGPU] Use correct VGPR threshold for flagging ExcessRP regions in unified register file case (#85860)

`ST.getMaxNumVGPRs(MF)` lowers to `AMDGPUBaseInfo.cpp:getTotalNumVGPRs`
which returns 512 for gfx90a. This is subsequently limited by
`AMDGPUBaseInfo:getAddressableNumVGPRs()`, which also returns 512 for
gfx90a. The ISA states we can have a total of 512 registers, but a
maximum of only 256 of each of AGPR and VGPR (gfx90a 3.6.4).

Therefore, in unified register file case, `ST.getMaxNumVGPRs(MF)`
calculates the maximum number of combined VGPR + AGPR. But, it is
currently used as the limit for accvgpr and as the limit for archvgpr.

This patch uses it as the combined limit, and accounts for the maximum addressable arch/acc VGPRs when calculating the per RegClass limits.

It is not unreasonable to think other clients of getTotalNumVGPRs are
using it in the wrong way.


  Commit: 2cad43c1ba7d9c83ae8fb809e60a57d347e09370
      https://github.com/llvm/llvm-project/commit/2cad43c1ba7d9c83ae8fb809e60a57d347e09370
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp

  Log Message:
  -----------
  [Libomptarget] Factor functions out of 'Plugin' interface (#86528)

Summary:
This patch factors common functions out of the `Plugin` interface prior
to its removal in a future patch. This simply temporarily renames it to
`PluginTy` so that we could re-use `Plugin::check` internally as this
needs to be defined statically per plugin now. We can refactor this
later.

The future patch will delete `PluginTy` and `PluginTy::get` entirely.
This simply tries to minimize a few changes to make it easier to land.


  Commit: 4b941ff4b4d4c2522a12298624e2847e62a3fd7e
      https://github.com/llvm/llvm-project/commit/4b941ff4b4d4c2522a12298624e2847e62a3fd7e
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/abd.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll

  Log Message:
  -----------
  [RISCV] Add coverage for abdu and abds (absolute difference)

Test copied from aarch64 with minimal adaption.  We likely need addition
coverage, but this is a reasonable starting point.


  Commit: 07ee9bd215d35260c6a56b83ea95b6543db0dd64
      https://github.com/llvm/llvm-project/commit/07ee9bd215d35260c6a56b83ea95b6543db0dd64
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll

  Log Message:
  -----------
  [RISCV] Add fixed vector coverage for sum-absolute-difference (sad) pattern

This builds on the previously added absolute difference cases, and adds
the reduction at the end.  This is mostly interesting for examining
impact of extend placement when changing the abdu lowering.


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

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

  Log Message:
  -----------
  [RISCV] Remove unused tablegen class. NFC


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

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp

  Log Message:
  -----------
  [GlobalISel] Fold G_CTTZ if possible (#86224)

This patch tries to fold `G_CTTZ` if possible.


  Commit: 5f1f9cfaa42a8dee59c9f3a354f973fd8cb003d7
      https://github.com/llvm/llvm-project/commit/5f1f9cfaa42a8dee59c9f3a354f973fd8cb003d7
  Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix an assertion on failing cast in vector-transfer-flatten-patterns (#86030)

When the result is not a vectorType, there is an assert. This patch will
do the check and bail when the result is not a VectorType.


  Commit: 36713a47c8fea0732bcb798ffba4e7c5d22d19f3
      https://github.com/llvm/llvm-project/commit/36713a47c8fea0732bcb798ffba4e7c5d22d19f3
  Author: Justin Fargnoli <justinfargnoli at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/utils/bisect-skip-count

  Log Message:
  -----------
  [utils] Use Python3 for `bisect-skip-count` (#84979)


  Commit: a9d8bf41bf9538154bcc3afcef55bdf309890c6f
      https://github.com/llvm/llvm-project/commit/a9d8bf41bf9538154bcc3afcef55bdf309890c6f
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [InstallAPI] Silence unused variable warning, NFC


  Commit: 6646fe884c0bba531893549c5bc1b17103faef64
      https://github.com/llvm/llvm-project/commit/6646fe884c0bba531893549c5bc1b17103faef64
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [memprof] Compute CallStackId when deserializing IndexedAllocationInfo (#86421)

There are two ways to create in-memory instances of
IndexedAllocationInfo -- deserialization of the raw MemProf data and
that of the indexed MemProf data.

With:

  commit 74799f424063a2d751e0f9ea698db1f4efd0d8b2
  Author: Kazu Hirata <kazu at google.com>
  Date:   Sat Mar 23 19:50:15 2024 -0700

we compute CallStackId for each call stack in IndexedAllocationInfo
while deserializing the raw MemProf data.

This patch does the same while deserilizing the indexed MemProf data.

As with the patch above, this patch does not add any use of
CallStackId yet.


  Commit: 7c8f7544560879dd7879657b0c0b245c00ed0158
      https://github.com/llvm/llvm-project/commit/7c8f7544560879dd7879657b0c0b245c00ed0158
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def

  Log Message:
  -----------
  Fix failing tests after #86242 (#86572)

PR #86242 introduced a copy-paste error that caused some tests to fail
by mapping the wrong pass name to a pass. This resolves the issue and
fixes the failing tests.


  Commit: 487720fc137ac7e97b15ca50ca2fc4a42430a6be
      https://github.com/llvm/llvm-project/commit/487720fc137ac7e97b15ca50ca2fc4a42430a6be
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/HeaderFile.cpp
    A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
    A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
    A clang/test/InstallAPI/extra-exclude-headers.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/include/llvm/TextAPI/Utils.h
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  Reapply "[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)" (#86574)


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

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

  Log Message:
  -----------
  [RISCV] Remove unused Constraint template parameter from RISCVInstrInfoZvk.td. NFC


  Commit: 1880e41a4cd0bdd5abec955134ddd49d2b016f89
      https://github.com/llvm/llvm-project/commit/1880e41a4cd0bdd5abec955134ddd49d2b016f89
  Author: Eric <eric at efcs.ca>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/oss-fuzz.sh

  Log Message:
  -----------
  Fix the OSS fuzz build. (#86562)

The OSS fuzz build has been broken for a while because of changes
to the cmake configuration. This patch fixes the issues by defaulting to
libunwind as the default runtime


  Commit: 9855134d079a193e5c17259f024082d6bb5396bf
      https://github.com/llvm/llvm-project/commit/9855134d079a193e5c17259f024082d6bb5396bf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfReader.cpp

  Log Message:
  -----------
  [memprof] Use #ifdef EXPENSIVE_CHECKS (#86585)

This patch replaces:

  #if EXPENSIVE_CHECKS

with:

  #ifdef EXPENSIVE_CHECKS

to follow the existing conventions.


  Commit: bce17034157fdfe4d898d30366c1eeca3442fa3d
      https://github.com/llvm/llvm-project/commit/bce17034157fdfe4d898d30366c1eeca3442fa3d
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [ODS][NFC] Cast range.size() to int32_t in accumulation (#85629)

Using range.size() "as is" means we accumulate 'size_t' values into
'int32_t' variable. This may produce narrowing conversion warnings
(particularly, on MSVC). The surrounding code seems to cast <x>.size()
to 'int32_t' so following this practice seems safe enough.

Co-authored-by: Ovidiu Pintican <ovidiu.pintican at intel.com>


  Commit: 930f64689c1fb487714c3836ffa43e49e46aa488
      https://github.com/llvm/llvm-project/commit/930f64689c1fb487714c3836ffa43e49e46aa488
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/Core/Progress.cpp
    M lldb/source/Initialization/SystemInitializerCommon.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  [lldb] Implement coalescing of disjoint progress events (#84854)

This implements coalescing of progress events using a timeout, as
discussed in the RFC on Discourse [1]. This PR consists of two commits
which, depending on the feedback, I may split up into two PRs. For now,
I think it's easier to review this as a whole.

1. The first commit introduces a new generic `Alarm` class. The class
lets you to schedule a function (callback) to be executed after a given
timeout expires. You can cancel and reset a callback before its
corresponding timeout expires. It achieves this with the help of a
worker thread that sleeps until the next timeout expires. The only
guarantee it provides is that your function is called no sooner than the
requested timeout. Because the callback is called directly from the
worker thread, a long running callback could potentially block the
worker thread. I intentionally kept the implementation as simple as
possible while addressing the needs for the `ProgressManager` use case.
If we want to rely on this somewhere else, we can reassess whether we
need to address those limitations.

2. The second commit uses the Alarm class to coalesce progress events.
To recap the Discourse discussion, when multiple progress events with
the same title execute in close succession, they get broadcast as one to
`eBroadcastBitProgressCategory`. The `ProgressManager` keeps track of
the in-flight progress events and when the refcount hits zero, the Alarm
class is used to schedule broadcasting the event. If a new progress
event comes in before the alarm fires, the alarm is reset (and the
process repeats when the new progress event ends). If no new event comes
in before the timeout expires, the progress event is broadcast.

[1]
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/


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

  Changed paths:
    M clang/unittests/Interpreter/CMakeLists.txt

  Log Message:
  -----------
  Fix build with shared libraries

/usr/bin/ld: CMakeFiles/ClangReplInterpreterTests.dir/InterpreterExtensi
onsTest.cpp.o: undefined reference to symbol '_ZN4llvm14TargetRegistry12
lookupTargetENS_9StringRefERNSt7__cxx1112basic_stringIcSt11char_traitsIc
ESaIcEEE'
/usr/bin/ld: /work/kparzysz/git/llvm.org/b/x86/lib/libLLVMMC.so.19.0git:
 error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

The missing symbol is `llvm::TargetRegistry::lookupTarget`, which
interestingly enough is in MC.

Add `MC` to the list of LLVM dependencies.


  Commit: 765d4c402fe2ff614a15a762bb7cefe7289663b4
      https://github.com/llvm/llvm-project/commit/765d4c402fe2ff614a15a762bb7cefe7289663b4
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h

  Log Message:
  -----------
  [lldb] [ObjectFileMachO] LLVM_COV is not mapped into firmware memory (#86359)

It is possible to gather code coverage in a firmware environment, where
the __LLVM_COV segment will not be mapped in memory but does exist in
the binary, see

https://llvm.org/devmtg/2020-09/slides/PhippsAlan_EmbeddedCodeCoverage_LLVM_Conf_Talk_final.pdf

The __LLVM_COV segment in the binary happens to be at the same address
as the __DATA segment, so if lldb treats this segment as loaded, it
shadows the __DATA segment and address->symbol resolution can fail.

For these non-userland code cases, we need to mark __LLVM_COV as not a
loadable segment.

rdar://124475661


  Commit: 060df78cdbbf70d5a6dfff3af1d435a5a811b886
      https://github.com/llvm/llvm-project/commit/060df78cdbbf70d5a6dfff3af1d435a5a811b886
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/dot2_error.ll
    A llvm/test/CodeGen/DirectX/dot3_error.ll
    A llvm/test/CodeGen/DirectX/dot4_error.ll
    A llvm/test/CodeGen/DirectX/fdot.ll

  Log Message:
  -----------
  [DXIL] Add Float `Dot` Intrinsic Lowering (#86071)

Completes #83626
- `CGBuiltin.cpp` - modify `getDotProductIntrinsic` to be able to emit
`dot2`, `dot3`, and `dot4` intrinsics based on element count
- `IntrinsicsDirectX.td` - for floating point add `dot2`, `dot3`, and
`dot4` inntrinsics -`DXIL.td` add dxilop intrinsic lowering for `dot2`,
`dot3`, & `dot4`.
- `DXILOpLowering.cpp` - add vector arg flattening for dot product. 
- `DXILOpBuilder.h` - modify `createDXILOpCall` to take a smallVector
instead of an iterator
- `DXILOpBuilder.cpp` - modify `createDXILOpCall` by moving the small
vector up to the calling function in `DXILOpLowering.cpp`.
- Moving one function up gives us access to the `CallInst` and
`Function` which were needed to distinguish the dot product intrinsics
and get the operands without using the iterator.


  Commit: 4cea2d049f511d16cbc4605f7ecc908c851e169e
      https://github.com/llvm/llvm-project/commit/4cea2d049f511d16cbc4605f7ecc908c851e169e
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/sqrt.ll
    A llvm/test/CodeGen/DirectX/sqrt_error.ll

  Log Message:
  -----------
  [HLSL][DXIL] implement `sqrt` intrinsic (#86560)

completes #86187
- fix hlsl_intrinsic to cover the correct cases
- move to using `__builtin_elementwise_sqrt`
- add lowering of `Intrinsic::sqrt` to dxilop 24.


  Commit: de917dc20ece9f23eaefe5354bbc9ca194ce7555
      https://github.com/llvm/llvm-project/commit/de917dc20ece9f23eaefe5354bbc9ca194ce7555
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M .github/workflows/pr-code-format.yml
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
   [workflow] Don't add a comment when the first run of the formatter passes (#86335)

This was inadvertently changed in
2120f574103c487787390263b3692c4b167f6bdf.


  Commit: da385e82518618524d4efc56755662e982bfff68
      https://github.com/llvm/llvm-project/commit/da385e82518618524d4efc56755662e982bfff68
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp

  Log Message:
  -----------
  [aarch64] Unguard GEPOpt from O3

This chunk of code currently runs only if the optimization mode is O3
AND the EnableGEPOpt flag is set. Given that this is the only use case
for the EnableGEPOpt flag, the guarding against O3 is kinda pointless.
IF the user wants to enable it then the flag should be sufficient.

Reviewers: TNorthover, aeubanks

Reviewed By: aeubanks

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


  Commit: 1b763f230a83a15b3d055295b2b7113c5c2647d4
      https://github.com/llvm/llvm-project/commit/1b763f230a83a15b3d055295b2b7113c5c2647d4
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT] Add secondary entry points to BAT

Provide secondary entry points for `EntryDiscriminator` call info field
in YAML profile.

Increases BAT section size to:
- large binary: 39655300 bytes (1.03x the original),
- medium binary: 3834328 bytes (0.65x),
- small binary: 924 bytes (0.64x).

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

Test Plan:
- Updated bolt-address-translation{,-yaml}.test
- Added openssl test: https://github.com/rafaelauler/bolt-tests/pull/30

Reviewers: dcci, rafaelauler, maksfb, ayermolo

Reviewed By: rafaelauler

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


  Commit: 8e625db1539b0b8c30b41cd587a11064243da6da
      https://github.com/llvm/llvm-project/commit/8e625db1539b0b8c30b41cd587a11064243da6da
  Author: Eric <eric at efcs.ca>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:

  Log Message:
  -----------
  Revert "Actually disable the module generation tests." (#84527)

This reverts commit 0bbada93a559b604797fe57978f3eca5e41edaeb.

The update of Clang in the CI broke due to the new LLVM version naming.
It needs to look for the clang 18.1 package instead of 18. Since it
couldn't find 18 it used 17 as fallback. This gives ODR violations which
caused the output for the module test to be wrong. (It didn't crash
which would be a lot more obvious to debug.)

The clang-tidy selection was fixed by
https://github.com/llvm/llvm-project/pull/81362. That patch also makes
clang-19 work with clang-tidy-19 out of the box.

The time-out have not been addressed; that is a CI issue and not an
issue with this test. They run in 200-ish s so they are slow but far
below the 1500s threshold. (Due to a dependency in this test it can't be
split in multiple tests.)


  Commit: 2c76e88e9eb284d17cf409851fb01f1d583bb22a
      https://github.com/llvm/llvm-project/commit/2c76e88e9eb284d17cf409851fb01f1d583bb22a
  Author: jimingham <jingham at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lldb/source/Interpreter/OptionArgParser.cpp
    A lldb/test/API/commands/target/modules/lookup/Makefile
    A lldb/test/API/commands/target/modules/lookup/TestImageLookupPCExpression.py
    A lldb/test/API/commands/target/modules/lookup/main.c

  Log Message:
  -----------
  Add register lookup as another fallback computation for address-expressions (#85492)

The idea behind the address-expression is that it handles all the common
expressions that produce addresses. It handles actual valid expressions
that return a scalar, and it handles useful cases that the various
source languages don't support. At present, the fallback handles:

<symbol_name>{+-}<offset>

which isn't valid C but is very handy.

This patch adds handling of:

$<reg_name>

and

$<reg_name>{+-}<offset>

That's kind of pointless in C because the C expression parser handles
that expression already. But some languages don't have a straightforward
way to represent register values like this (swift) so having this
fallback is quite a quality of life improvement.

I added a test which tests that I didn't mess up either of these
fallbacks, though it doesn't test the actually handling of registers
that I added, since the expression parser for C succeeds in that case
and returns before this code gets run.

I will add a test on the swift fork for that checks that this works the
same way for a swift frame after this check.


  Commit: 6708beb35792b5ccd6b2143b3396bf261acce676
      https://github.com/llvm/llvm-project/commit/6708beb35792b5ccd6b2143b3396bf261acce676
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Remove more unneeded template parameters from RISCVInstrInfoZvk.td. NFC


  Commit: 4dcb1db44f9dbfa09c220703a1b097f51d20a2a5
      https://github.com/llvm/llvm-project/commit/4dcb1db44f9dbfa09c220703a1b097f51d20a2a5
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/Core/Progress.cpp
    M lldb/source/Initialization/SystemInitializerCommon.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  Revert "[lldb] Implement coalescing of disjoint progress events (#84854)"

This reverts commit 930f64689c1fb487714c3836ffa43e49e46aa488 as it's
failing on the Linux bots.


  Commit: 8551454313233ecc70a329de0eb0064ecb675d50
      https://github.com/llvm/llvm-project/commit/8551454313233ecc70a329de0eb0064ecb675d50
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Rename $merge to $rd in Zvk* pseudoinstructions and patterns.

These instructions use the destination operand as a source, not
only as a passthru for mask/tail.


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

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

  Log Message:
  -----------
  [ELF] Simplify parseArmCMSEImportLib. NFC


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

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

  Log Message:
  -----------
  [RISCV] Remove ', vm' from comment for instruction that doesn't have mask. NFC


  Commit: bc02c0825ae3cca078654ba5f8cd373b8266492e
      https://github.com/llvm/llvm-project/commit/bc02c0825ae3cca078654ba5f8cd373b8266492e
  Author: Iman Hosseini <hosseini.iman at yahoo.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/docs/DataLayout.md

  Log Message:
  -----------
  [documentation] [mlir] DataLayout.md: fix broken link to DLTI dialect (#86524)

The link to DLTI dialect was broken.


  Commit: 8ebf741136c66f51053315bf4f0ef828c6f66094
      https://github.com/llvm/llvm-project/commit/8ebf741136c66f51053315bf4f0ef828c6f66094
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    A flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Common/optional.h
    M flang/include/flang/Common/real.h
    M flang/include/flang/Common/reference-wrapper.h
    M flang/include/flang/Common/restorer.h
    M flang/include/flang/Common/uint128.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Decimal/decimal.h
    M flang/include/flang/ISO_Fortran_binding_wrapper.h
    R flang/include/flang/Runtime/api-attrs.h
    M flang/include/flang/Runtime/entry-names.h
    M flang/include/flang/Runtime/io-api.h
    M flang/include/flang/Runtime/iostat.h
    M flang/include/flang/Runtime/memory.h
    M flang/include/flang/Runtime/type-code.h
    M flang/runtime/CMakeLists.txt
    M flang/runtime/buffer.cpp
    M flang/runtime/buffer.h
    M flang/runtime/connection.cpp
    M flang/runtime/connection.h
    M flang/runtime/derived.h
    M flang/runtime/descriptor-io.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/edit-input.cpp
    M flang/runtime/edit-input.h
    M flang/runtime/edit-output.cpp
    M flang/runtime/edit-output.h
    M flang/runtime/emit-encoded.h
    M flang/runtime/environment.h
    M flang/runtime/external-unit.cpp
    M flang/runtime/file.cpp
    M flang/runtime/file.h
    M flang/runtime/format-implementation.h
    M flang/runtime/format.cpp
    M flang/runtime/format.h
    M flang/runtime/freestanding-tools.h
    M flang/runtime/internal-unit.cpp
    M flang/runtime/internal-unit.h
    M flang/runtime/io-api.cpp
    M flang/runtime/io-error.cpp
    M flang/runtime/io-error.h
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/iostat.cpp
    M flang/runtime/lock.h
    M flang/runtime/memory.cpp
    M flang/runtime/namelist.cpp
    M flang/runtime/namelist.h
    M flang/runtime/non-tbp-dio.h
    M flang/runtime/numeric-templates.h
    M flang/runtime/pointer.cpp
    M flang/runtime/pseudo-unit.cpp
    M flang/runtime/stat.h
    M flang/runtime/terminator.h
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h
    M flang/runtime/utf.cpp
    M flang/runtime/utf.h

  Log Message:
  -----------
  [flang][runtime] Prepare enabling PRINT of integer32 for device. (#86247)

This commit adds required files into the offload build closure,
which means adding RT_API_ATTRS and other markers.

The implementation does not work for CUDA yet, because of
std::variant,swap,reverse usage. These issues will be resolved
separately (e.g. by using libcudacxx header files).


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

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

  Log Message:
  -----------
  [ELF] Move parse files from Driver.cpp to InputFiles.cpp. NFC

Fixes: 36146d2b6be53e5e98dee3c1fce8699db9615728

When `doParseFile template defintion` in InputFiles.cpp is optimized
out, we will get a link failure. Actually, we can move the file parsing
loop from Driver.too to InputFiles.cpp and merge it with
parseArmCMSEImportLib.


  Commit: b6dfaf4c291ee186481f6c1dcab03874d931c307
      https://github.com/llvm/llvm-project/commit/b6dfaf4c291ee186481f6c1dcab03874d931c307
  Author: jimingham <jingham at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lldb/docs/use/python-reference.rst

  Log Message:
  -----------
  Make the correct (5 argument) form of the command definition be the primary one suggested in the docs (#86593)

This has been available for years now, so it should be safe to always
use it.


  Commit: ebb326a51fec37b5a47e5702e8ea157cd4f835cd
      https://github.com/llvm/llvm-project/commit/ebb326a51fec37b5a47e5702e8ea157cd4f835cd
  Author: Parth Arora <quic_partaror at quicinc.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h
    A lld/test/ELF/gc-sections-with-provide.s
    M lld/test/ELF/linkerscript/symbolreferenced.s

  Log Message:
  -----------
  [ELF] Fix unnecessary inclusion of unreferenced provide symbols

Previously, linker was unnecessarily including a PROVIDE symbol which
was referenced by another unused PROVIDE symbol. For example, if a
linker script contained the below code and 'not_used_sym' provide symbol
is not included, then linker was still unnecessarily including 'foo' PROVIDE
symbol because it was referenced by 'not_used_sym'. This commit fixes
this behavior.

PROVIDE(not_used_sym = foo)
PROVIDE(foo = 0x1000)

This commit fixes this behavior by using dfs-like algorithm to find
all the symbols referenced in provide expressions of included provide
symbols.

This commit also fixes the issue of unused section not being garbage-collected
if a symbol of the section is referenced by an unused PROVIDE symbol.

Closes #74771
Closes #84730

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: 4fc8df9c6afa5ddcaaab91aad87bf713c592545d
      https://github.com/llvm/llvm-project/commit/4fc8df9c6afa5ddcaaab91aad87bf713c592545d
  Author: Ed Maste <emaste at freebsd.org>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [libc++] Switch FreeBSD CI job to Clang 17 (#86320)

libc++ will drop support for Clang 16 before long.


  Commit: 213eda157a5ffb0985d7da56a9c78aa0c345d84d
      https://github.com/llvm/llvm-project/commit/213eda157a5ffb0985d7da56a9c78aa0c345d84d
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Add CallSiteInfo entries in YAMLBAT (#76896)

Attach call counters to YAML profile, covering inter-function control
flow.

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

Test Plan: 
Updated bolt/test/X86/bolt-address-translation-yaml.test


  Commit: 8f86c6bf9524a5f8c9ae26a6599678008d8c9386
      https://github.com/llvm/llvm-project/commit/8f86c6bf9524a5f8c9ae26a6599678008d8c9386
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp

  Log Message:
  -----------
  compiler-rt: Fix variadic macro warnings [-Wc++20-extensions]

They began complaining since #84520.


  Commit: 350bda4419e15e5d68a87667988458546fa2e0c2
      https://github.com/llvm/llvm-project/commit/350bda4419e15e5d68a87667988458546fa2e0c2
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll

  Log Message:
  -----------
  AMDGPU: Rename intrinsics and remove f16/bf16 versions for load transpose (#86313)

Rename the intrinsics to close to the instruction mnemonic names:
Use global_load_tr_b64 and global_load_tr_b128 instead of
global_load_tr.

This patch also removes f16/bf16 versions of builtins/intrinsics. To
simplify the design, we should avoid enumerating all possible types in
implementing builtins. We can always use bitcast.


  Commit: 366592b4eb54d807ebecee122b7dd06031c5f4f9
      https://github.com/llvm/llvm-project/commit/366592b4eb54d807ebecee122b7dd06031c5f4f9
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl

  Log Message:
  -----------
  [HLSL] prevent generation of double intrinsics via the builtins (#86555)

fixes #86551
closes #86552

Thanks to #86440 and #86407 it makes more sense for us to do type checks
early via Sema to prevent the generation of invalid intrinsics.


  Commit: c48aa781a31c76b27cadcd1b78022393c450824b
      https://github.com/llvm/llvm-project/commit/c48aa781a31c76b27cadcd1b78022393c450824b
  Author: Thomas Köppe <tkoeppe at google.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Matrix.h

  Log Message:
  -----------
  Add missing declarations of explicit template instantiations. (#86591)

Found with `-Wundefined-func-template`.


  Commit: 83eb8aee4bf9d518b3a2b485640207e7717805b4
      https://github.com/llvm/llvm-project/commit/83eb8aee4bf9d518b3a2b485640207e7717805b4
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  Use timeTraceAsyncProfilerBegin for Source span (#83961)

This fixes incorrect trace for https://github.com/llvm/llvm-project/issues/56554.

This shows trace like

https://ui.perfetto.dev/#!/?s=aa809778dc50f2b155b062317fa18bbe2bb2fb9175e6282add8121c7c178214e
for the case shown in https://github.com/llvm/llvm-project/issues/83236.

https://github.com/llvm/llvm-project/pull/83778 is preparing PR.

Fix #56554


  Commit: 8bd1f9116aab879183f34707e6d21c7051d083b6
      https://github.com/llvm/llvm-project/commit/8bd1f9116aab879183f34707e6d21c7051d083b6
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

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

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

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

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


  Commit: 6420f379268e9178f9f938cef223194ad3daae4e
      https://github.com/llvm/llvm-project/commit/6420f379268e9178f9f938cef223194ad3daae4e
  Author: YAMAMOTO Takashi <yamamoto at midokura.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [WebAssembly] Implement an alternative translation for -wasm-enable-sjlj (#84137)

Instead of maintaining per-function-invocation malloc()'ed tables to track which functions each label belongs to, store the equivalent info in jump buffers (jmp_buf) themselves.

Also, use a less emscripten-looking ABI symbols:
```
    saveSetjmp     -> __wasm_setjmp
    testSetjmp      -> __wasm_setjmp_test
    getTempRet0    -> (removed)
    __wasm_longjmp  -> (no change)
```

While I want to use this for WASI, it should work for emscripten as well.

An example runtime and a few tests:
https://github.com/yamt/garbage/tree/wasm-sjlj-alt2/wasm/longjmp

wasi-libc version of the runtime:
https://github.com/WebAssembly/wasi-libc/pull/483

emscripten version of the runtime:
https://github.com/emscripten-core/emscripten/pull/21502

Discussion:
https://docs.google.com/document/d/1ZvTPT36K5jjiedF8MCXbEmYjULJjI723aOAks1IdLLg/edit


  Commit: 9c8dd5e6f6bd93deb95de9642632223f54a18a11
      https://github.com/llvm/llvm-project/commit/9c8dd5e6f6bd93deb95de9642632223f54a18a11
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/test/CodeGen/X86/x86_64-vaarg.c
    M clang/test/CodeGenCXX/x86_64-vaarg.cpp

  Log Message:
  -----------
  [X86_64] fix SSE type error in vaarg. (#86377)

tweak the position of the ++neededSSE when Lo is NoClass and Hi is SSE.
Fix #86371.


  Commit: ce73b1672a6053d5974dc2342881aac02efe2dbb
      https://github.com/llvm/llvm-project/commit/ce73b1672a6053d5974dc2342881aac02efe2dbb
  Author: dong jianqiang <dongjianqiang2 at huawei.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp

  Log Message:
  -----------
  [CodeExtractor] Resolving the Inconsistency of Compiled Binary Files (#86497)

When the compiler enables ALSR by default, binary inconsistency occurs
when the extractCodeRegion function is called. The reason is that the
sequence of traversing ExitBlocks containers of the SmallPtrSet type is
changed due to randomization of BasicBlock pointers.
This fixes https://github.com/llvm/llvm-project/issues/86427


  Commit: 3e664ac9cd83a2f466e40d1167c08c71a719500e
      https://github.com/llvm/llvm-project/commit/3e664ac9cd83a2f466e40d1167c08c71a719500e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Use inheritance instead of instantiating multiclasses inside another multiclass. NFC


  Commit: 93f9fb2c825dba48db64d5f726b54bcbd4766009
      https://github.com/llvm/llvm-project/commit/93f9fb2c825dba48db64d5f726b54bcbd4766009
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Rename Binary->Ternary and Unary->Binary for some cases in RISCVInstrInfoZvk.td. NFC

For instructions that use vd as an input and not just a merge, we
weren't including it in the operand count for the naming.


  Commit: cc3b6f94952e1184df44c2b039d21665116151ed
      https://github.com/llvm/llvm-project/commit/cc3b6f94952e1184df44c2b039d21665116151ed
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add folding for [S|U|GreaterThan[Equal] (#85434)

Add missing constant propogation folder for [S|U]GreaterThan[Equal].

Implement additional folding when the operands are equal for all ops.

Allows for constant folding in the IndexToSPIRV pass.

Part of work #70704


  Commit: a6b870db091830844431f77eb47aa30fc1d70bed
      https://github.com/llvm/llvm-project/commit/a6b870db091830844431f77eb47aa30fc1d70bed
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/abd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll

  Log Message:
  -----------
  [RISCV] Enable sub(max, min) lowering for ABDS and ABDU (#86592)

We have the ISD nodes for representing signed and unsigned absolute
difference. For RISCV, we have vector min/max in the base vector
extension, so we can expand to the sub(max,min) lowering.

We could almost use the default expansion, but since fixed length
min/max are custom (not legal), the default expansion doesn't cover the
fixed vector cases. The expansion here is just a copy of the generic
code specialized to allow the custom min/max nodes to be created so they
can in turn be legalized to the _vl variants.

Existing DAG combines handle the recognition of absolute difference
idioms and conversion into the respective ISD::ABDS and ISD::ABDU nodes.

This change does have the net effect of potentially pushing a free
floating zero/sign extend after the expansion, and we don't do a great
job of folding that into later expressions. However, since in general
narrowing can reduce required work (by reducing LMUL) this seems like
the right general tradeoff.


  Commit: bc31be7949a3d5382be0e15e3957fa957da9de45
      https://github.com/llvm/llvm-project/commit/bc31be7949a3d5382be0e15e3957fa957da9de45
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.cpp

  Log Message:
  -----------
  [clang][CodeComplete] Handle deref operator in getApproximateType (#86466)

This allows completing after `(*this).` in a dependent context.

Fixes https://github.com/clangd/clangd/issues/1952


  Commit: 7196518f1f32d4d294bcf050790a2ba26b819645
      https://github.com/llvm/llvm-project/commit/7196518f1f32d4d294bcf050790a2ba26b819645
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lld/test/ELF/driver.test

  Log Message:
  -----------
  [ELF,test] Improve -r incompatibility tests


  Commit: 3e046ee0c944b5a55f30b3ce0153791d91dbb134
      https://github.com/llvm/llvm-project/commit/3e046ee0c944b5a55f30b3ce0153791d91dbb134
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [lld][ELF] Add `--why-extract` for bitcode libcalls (#78781)

The Wasm linker already records these and its seems useful to do so.


  Commit: 08a321e1b7ffdd72154ae808821d20fe511c83b6
      https://github.com/llvm/llvm-project/commit/08a321e1b7ffdd72154ae808821d20fe511c83b6
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
    M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
    M mlir/test/Dialect/Complex/canonicalize.mlir

  Log Message:
  -----------
  [mlir][complex] Canonicalize complex.div by one (#85513)

We can canonicalize the complex.div if the divisor is one (real = 1.0,
imag = 0.0) with the input number itself.

Ref: https://www.cuemath.com/numbers/division-of-complex-numbers/


  Commit: 64a71147024ebcc58655adc28a17c9f17a517aed
      https://github.com/llvm/llvm-project/commit/64a71147024ebcc58655adc28a17c9f17a517aed
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Simplify SMInstruction definitions, NFC (#86613)

Copy OtherPredicates from Pseudo to Real. Real should inherit predicates
from the corresponding Pseudo


  Commit: c6a65e4b0c80245d766ae2f2f7305b5371d096f5
      https://github.com/llvm/llvm-project/commit/c6a65e4b0c80245d766ae2f2f7305b5371d096f5
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/test/inlayHints.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp

  Log Message:
  -----------
  [clangd] Support go-to-definition on type hints. The protocol part (#85497)

This is in preparation for implementing go-to-definition support on type
inlay hints, switching the `label` field within the InlayHint protocol from a
string to an array of `InlayHintLabelPart`.


  Commit: 817f453aa576286aaca0a6b0244e6ab08516b80c
      https://github.com/llvm/llvm-project/commit/817f453aa576286aaca0a6b0244e6ab08516b80c
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [RISCV][TTI] Refactor getCastInstrCost to exit early (#86619)

To reduce the indentation by using early returns, this patch hoist the
return for illegal type and non vector type earlier.

It should mostly be an NFC.


  Commit: 5dc0c75aabb9811e03cc8025905fed6dc2dd7bda
      https://github.com/llvm/llvm-project/commit/5dc0c75aabb9811e03cc8025905fed6dc2dd7bda
  Author: ShihPo Hung <shihpo.hung at sifive.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

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

  Log Message:
  -----------
  [RISCV][TTI] Fix missing return in the end of function


  Commit: 5c663aa9ae4656c46d09914994859118759b426b
      https://github.com/llvm/llvm-project/commit/5c663aa9ae4656c46d09914994859118759b426b
  Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
    M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/experimental/simd/test_utils.h

  Log Message:
  -----------
  [libc++] <experimental/simd> Reduce types for template parameter U in tests (#83781)


  Commit: 6ff61914a1ef2c05702ba73cf31ffdeed59c1740
      https://github.com/llvm/llvm-project/commit/6ff61914a1ef2c05702ba73cf31ffdeed59c1740
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [Driver] Reject -fptrauth-intrinsics on non-AArch64 targets

And add a driver test missing from the original patch #65996.


  Commit: 6a6f9bf38e65ec45b32da4b578e2830341a9b364
      https://github.com/llvm/llvm-project/commit/6a6f9bf38e65ec45b32da4b578e2830341a9b364
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [clang] Fix assertion failure when printing atomic apvalues (#85259)

When printing an `_Atomic(some struct type)`, we would later run into an
assertion because we do a `Ty->castAs<RecordType>()`, which doesn't work
with an `AtomicType`.


  Commit: 14c30189fb8782535ac9a5a52160e3fc62e7e78c
      https://github.com/llvm/llvm-project/commit/14c30189fb8782535ac9a5a52160e3fc62e7e78c
  Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll

  Log Message:
  -----------
  [ExpandLargeFpConvert] Fix incorrect values in fp-to-int conversion. (#86514)

The IR for a double-to-i129 conversion looks like this in one of the
blocks in compiler-rt:

  %cmp5.i = icmp ult i16 %3, -129, !dbg !24

But in ExpandLargeFpConvert, it looks like:

  %13 = icmp ult i129 %12, 4294967167, !dbg !19

ExpandLargeFpConvert is wrong; the value should have been
signed before negating, but instead we get a very large
unsigned value. Another value in the same pass also has this
issue.


  Commit: 4d315ff382de912e5129b417c997116851088d4b
      https://github.com/llvm/llvm-project/commit/4d315ff382de912e5129b417c997116851088d4b
  Author: David Green <david.green at arm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir

  Log Message:
  -----------
  [GlobalISel] Add CTLZ known bits. (#86436)

Replicated from SDAG.


  Commit: eb70b485a91361eee83d3744d1bd3e4c3a23692f
      https://github.com/llvm/llvm-project/commit/eb70b485a91361eee83d3744d1bd3e4c3a23692f
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] Export more headers by a single target only. (#86637)

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


  Commit: 3f8431ec66ffcfaf1bd864261f425b12ab1b59b8
      https://github.com/llvm/llvm-project/commit/3f8431ec66ffcfaf1bd864261f425b12ab1b59b8
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SCCIterator.h

  Log Message:
  -----------
  [SCCIterator] Union MST node by rank correctly (#86389)

Fixes #85975


  Commit: 4fa736ba41fce885047bd5a242230b216ea85c70
      https://github.com/llvm/llvm-project/commit/4fa736ba41fce885047bd5a242230b216ea85c70
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/SyncScope.h

  Log Message:
  -----------
  [Clang] NFC Silence compiler warning spam (#86532)

This non-functional change eliminates the compiler warning
```
/repo/llvm-project/clang/include/clang/Basic/SyncScope.h: In member function ‘virtual bool clang::AtomicScopeGenericModel::isValid(unsigned int) const’:
/repo/llvm-project/clang/include/clang/Basic/SyncScope.h:255:14: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
     return S >= static_cast<unsigned>(System) &&
            ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
which was appearing repeatedly, as this header is included into very
many source files (through various chains of 6-7 header files).


  Commit: fbc247367a86e8a711584801586ec9616268d889
      https://github.com/llvm/llvm-project/commit/fbc247367a86e8a711584801586ec9616268d889
  Author: David Green <david.green at arm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/shift.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalization for small anyext/sext/zext (#86438)

Similar to #85625, some of the codegen is still far from optimal but
this helps fix quite a few fallback cases.


  Commit: 256343a0e919bc09f65a8ee26751b561fa2dbfc1
      https://github.com/llvm/llvm-project/commit/256343a0e919bc09f65a8ee26751b561fa2dbfc1
  Author: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
    M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll

  Log Message:
  -----------
  Revert "Update amdgpu_gfx functions to use s0-s3 for inreg SGPR arguments on targets using scratch instructions for stack #78226" (#86273)

Reverts llvm/llvm-project#81394

This reverts commit 3ac243bc0d7922d083af2cf025247b5698556062.
It is not handling RSrc registers s0-s3 correctly. This leads to a
broken test, where it expects s0-s3 as function argument and uses it as
RSrc register as well.
We need to re-visit the patch, but apparently we only want to have s0-s3
as
argument registers if we don't need them as RSrc registers.


  Commit: 77cbc9bf601861ed92e36f7833422e31c22dd159
      https://github.com/llvm/llvm-project/commit/77cbc9bf601861ed92e36f7833422e31c22dd159
  Author: Victor Perez <victor.perez at codeplay.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp

  Log Message:
  -----------
  [MLIR][LLVM] Add `llvm.experimental.constrained.fptrunc` operation (#86260)

Add operation mapping to the LLVM
`llvm.experimental.constrained.fptrunc.*` intrinsic.

The new operation implements the new
`LLVM::FPExceptionBehaviorOpInterface` and
`LLVM::RoundingModeOpInterface` interfaces.

---------

Signed-off-by: Victor Perez <victor.perez at codeplay.com>


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll

  Log Message:
  -----------
  [DAG] Fold insert_subvector(N0, extract_subvector(N0, N2), N2) --> N0 (#86487)

Handle the case where we've ended up inserting back into the source vector we extracted the subvector from.


  Commit: d06ba376833553f38b5cbc606e479ed7936e5f5b
      https://github.com/llvm/llvm-project/commit/d06ba376833553f38b5cbc606e479ed7936e5f5b
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    A llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    A llvm/lib/Target/SPIRV/SPIRVCommandLine.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
    M llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
    M llvm/test/CodeGen/SPIRV/assume.ll
    M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
    M llvm/test/CodeGen/SPIRV/expect.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_integers.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative1.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative2.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative3.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative4.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
    A llvm/test/CodeGen/SPIRV/extensions/both-allowed-disallowed-extension-error.ll
    A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
    A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
    A llvm/test/CodeGen/SPIRV/extensions/invalid-extension-list-format.ll
    A llvm/test/CodeGen/SPIRV/extensions/unknown-extension-name.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/add.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/and.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fadd.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmax.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmaximum.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmin.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fminimum.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmul.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/mul.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/or.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smax.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smin.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umax.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umin.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/xor.ll
    M llvm/test/CodeGen/SPIRV/transcoding/NoSignedUnsignedWrap.ll

  Log Message:
  -----------
  [SPIR-V] Support extension toggling and enabling all (#85503)


  Commit: f5e1cd5625bccef71b7c914b39fcc5d547ebb610
      https://github.com/llvm/llvm-project/commit/f5e1cd5625bccef71b7c914b39fcc5d547ebb610
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst

  Log Message:
  -----------
  [SPIR-V] Extend SPIRVUsage.rst document (#84744)


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s

  Log Message:
  -----------
  [X86] ICX - vector XMM splat use Port 1 or 5 when boradcasting the shift amount

Noticed while trying to compare splat vs per-element shift perf stats for #39424

Confirmed with uops.info


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/avgceilu.ll

  Log Message:
  -----------
  [DAG] Update ISD::AVG folds to use hasOperation to allow Custom matching prior to legalization

Fixes issue where AVX1 targets weren't matching 256-bit AVGCEILU cases.


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

  Changed paths:
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir

  Log Message:
  -----------
  [Mips] ctpop.mir - regenerate checks to improve codegen diff in #86505


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    A compiler-rt/test/tsan/signal_in_mutex_lock.cpp

  Log Message:
  -----------
  [tsan] Mark `pthread_*_lock` functions as blocking (#84162)

Fixes #83561.

When a thread is blocked on a mutex and we send an async signal to that
mutex, it never arrives because tsan thinks that `pthread_mutex_lock` is
not a blocking function. This patch marks `pthread_*_lock` functions as
blocking so we can successfully deliver async signals like `SIGPROF`
when the thread is blocked on them.

See the issue also for more details. I also added a test, which is a
simplified version of the compiler explorer example I posted in the
issue.

Please let me know if you have any other ideas or things to improve!
Happy to work on them.

Also I filed #83844 which is more tricky because we don't have a libc
wrapper for `SYS_futex`. I'm not sure how to intercept this yet. Please
let me know if you have ideas on that as well. Thanks!


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

  Changed paths:
    M compiler-rt/include/sanitizer/linux_syscall_hooks.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    A compiler-rt/test/tsan/signal_in_futex_wait.cpp

  Log Message:
  -----------
  [tsan] Add callbacks for futex syscalls and mark them as blocking on tsan (#86537)

Fixes #83844.

This PR adds callbacks to mark futex syscalls as blocking. Unfortunately
we didn't have a mechanism before to mark syscalls as a blocking call,
so I had to implement it, but it mostly reuses the `BlockingCall`
implementation
[here](https://github.com/llvm/llvm-project/blob/96819daa3d095cf9f662e0229dc82eaaa25480e8/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp#L362-L380).

The issue includes some information but this issue was discovered
because Rust uses futexes directly. So most likely we need to update
Rust as well to use these callbacks.

Also see the latest comments in #85188 for some context.
I also sent another PR #84162 to mark `pthread_*_lock` calls as
blocking.


  Commit: da9ac43433ace54b262cd8552a9fafac21186381
      https://github.com/llvm/llvm-project/commit/da9ac43433ace54b262cd8552a9fafac21186381
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CodeGen/aarch64-mixed-target-attributes.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/Sema/attr-target-clones-aarch64.c

  Log Message:
  -----------
  [FMV] Allow mixing target_version with target_clones. (#86493)

The latest ACLE allows it and further clarifies the following
in regards to the combination of the two attributes:

"If the `default` matches with another explicitly provided
 version in the same translation unit, then the compiler can
 emit only one function instead of the two. The explicitly
 provided version shall be preferred."

("default" refers to the default clone here)

https://github.com/ARM-software/acle/pull/310


  Commit: f914e8e77c4703814e2f2dcef1d4569b17837c92
      https://github.com/llvm/llvm-project/commit/f914e8e77c4703814e2f2dcef1d4569b17837c92
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body.ll

  Log Message:
  -----------
  [AArch64][SME] Add coalescer barrier for args/results in locally streaming functions. (#85388)

Similar to how we protected FP/fixed-vector arguments and results from
calls, we should do the same for arguments/results from locally-streaming
functions such that those are not spilled/filled as ZPR registers.

This may cause a small regression (additional spills/fills), which is
addressed by #85386.


  Commit: bfb12ef33a90bd20c3a76094ef4393a8defbb712
      https://github.com/llvm/llvm-project/commit/bfb12ef33a90bd20c3a76094ef4393a8defbb712
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    M lld/test/COFF/export.test

  Log Message:
  -----------
  [LLD][COFF] Allow additional attributes in forwarding exports. (#86535)

Testing with MSVC link.exe showed that it respects such options, while
LLD currently discards them.


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

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

  Log Message:
  -----------
  [Libomptarget] Replace global `PluginTy::get` interface with references (#86595)

Summary:
We have a plugin singleton that implements the Plugin interface. This
then spawns separate device and kernels. Previously when these needed to
reach into the global singleton they would use the `PluginTy::get`
routine to get access to it. In the future we will move away from this
as the lifetime of the plugin will be handled by `libomptarget`
directly. This patch removes uses of this inside of the plugin
implementaion themselves by simply keeping a reference to the plugin
inside of the device.

The external `__tgt_rtl` functions still use the global method, but will
be removed later.


  Commit: 603db7425ffa96915854f425b027cc8403ab333d
      https://github.com/llvm/llvm-project/commit/603db7425ffa96915854f425b027cc8403ab333d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/test/COFF/export.test

  Log Message:
  -----------
  [LLD][COFF] Preserve all attributes from forwarding exports from parsed .def files. (#86564)

It's similar to #86535, but for export specified in .def files.


  Commit: 19ca79e8671439338b429982c457304c70eca701
      https://github.com/llvm/llvm-project/commit/19ca79e8671439338b429982c457304c70eca701
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/math/CMakeLists.txt
    A libc/src/math/canonicalize.h
    A libc/src/math/canonicalizef.h
    A libc/src/math/canonicalizef128.h
    A libc/src/math/canonicalizel.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/canonicalize.cpp
    A libc/src/math/generic/canonicalizef.cpp
    A libc/src/math/generic/canonicalizef128.cpp
    A libc/src/math/generic/canonicalizel.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/CanonicalizeTest.h
    A libc/test/src/math/smoke/canonicalize_test.cpp
    A libc/test/src/math/smoke/canonicalizef128_test.cpp
    A libc/test/src/math/smoke/canonicalizef_test.cpp
    A libc/test/src/math/smoke/canonicalizel_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math][c23] Implement canonicalize functions (#85940)

Fixes: #85286


  Commit: 59e052568e7d46cc0489269e3c76f53bb21941f5
      https://github.com/llvm/llvm-project/commit/59e052568e7d46cc0489269e3c76f53bb21941f5
  Author: ycdtosa <ycdtosa at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/warn-exit-time-destructors.cpp

  Log Message:
  -----------
  [[clang::always_destroy]] attribute silences warn-exit-time-destructor (#86486)

This attribute tells the compiler that the variable must have its exit-time
destructor run, so it makes sense that it would silence the warning telling
users that an exit-time destructor is required.

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


  Commit: feebcd65fb7e0534f5219e05432a05e45aa8cd2a
      https://github.com/llvm/llvm-project/commit/feebcd65fb7e0534f5219e05432a05e45aa8cd2a
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in SemaDecl.cpp (NFC)

llvm-project/clang/lib/Sema/SemaDecl.cpp:11653:20:
error: unused variable 'OldMVKind' [-Werror,-Wunused-variable]
  MultiVersionKind OldMVKind = OldFD->getMultiVersionKind();
                   ^
1 error generated.


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

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp

  Log Message:
  -----------
  [LLVM] Remove nuw neg (#86295)

This patch removes APIs that creating NUW neg. It is a trivial case
because `sub nuw 0, X` always gets simplified into zero.
I believe there is no optimization opportunities in the real-world
applications that we can take advantage of the nuw flag.

Motivated by
https://github.com/llvm/llvm-project/pull/84792#discussion_r1524891134.

Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=da7b7478b7cbb32c09d760f6b8d0e67901e0d533&stat=instructions:u


  Commit: 3a2c70b3713a856ea416d92abdddb7893fca308b
      https://github.com/llvm/llvm-project/commit/3a2c70b3713a856ea416d92abdddb7893fca308b
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/lib/AST/TypePrinter.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp

  Log Message:
  -----------
  Fix printing of templated records. (#86339)

Fixed the printing of templated argument list and added test case.


  Commit: 93d33a1355438638232e66991f3a90c376c61fea
      https://github.com/llvm/llvm-project/commit/93d33a1355438638232e66991f3a90c376c61fea
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [PatternMatch] Refactor `m_SpecificInt` to avoid constructing APInt. NFC. (#86259)

This patch passes APInt by const reference in m_SpecificInt instead of
by value. Specifically, it refactors `m_SpecificInt(uint64_t V)` to
avoid APInt construction and dangling reference.

I believe it is safe to pass the APInt by const reference into
`m_SpecificInt` even if it is a temporary.
See also https://en.cppreference.com/w/cpp/language/lifetime
> All temporary objects are destroyed as the last step in evaluating the
[full-expression](https://en.cppreference.com/w/cpp/language/expressions#Full-expressions)
that (lexically) contains the point where they were created

Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=7edf459b95ab2be33b70ec67faf87b3b8cc84f09&stat=instructions:u


  Commit: 308ed0233a3da5b3a7d646808c6470ac30870603
      https://github.com/llvm/llvm-project/commit/308ed0233a3da5b3a7d646808c6470ac30870603
  Author: Il-Capitano <52455591+Il-Capitano at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/test/CodeGen/AArch64/arm64-anyregcc.ll
    M llvm/test/CodeGen/AArch64/arm64-patchpoint.ll

  Log Message:
  -----------
  [Intrinsics] Make `patchpoint.i64` generic on its return type (#85911)

Currently patchpoints can only have two result types, `void` and `i64`.
This limits the result to general purpose registers.
This patch makes `patchpoint.i64` an overloadable intrinsic, allowing
result values that can fit in a single register (e.g. integers,
pointers, floats).


  Commit: dfde6e89ecc10b1f1eebdb0e409ef1a084030a6c
      https://github.com/llvm/llvm-project/commit/dfde6e89ecc10b1f1eebdb0e409ef1a084030a6c
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libcxx/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
    M libcxx/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp
    M libcxx/test/support/variant_test_helpers.h

  Log Message:
  -----------
  [libc++][test] Remove tests that testing std::variant<T&> (#84222)

Fixes #83600


  Commit: 54ca1e2c041a3780eca83549d7f7137581d32abb
      https://github.com/llvm/llvm-project/commit/54ca1e2c041a3780eca83549d7f7137581d32abb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll

  Log Message:
  -----------
  [SLP]Fix PR80027: include initial trunc nodes to the demoted values.

Need to include initial sext/zext/trunc nodes to the list of the demoted
root values to correctly calculate the cost and handle the
vectorization.


  Commit: 47f4a07a2fe8db0ccf63dc1bf6f991124d8eff81
      https://github.com/llvm/llvm-project/commit/47f4a07a2fe8db0ccf63dc1bf6f991124d8eff81
  Author: David Green <david.green at arm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp

  Log Message:
  -----------
  [GlobalISel] Add Knownbits for G_LOAD/ZEXTLOAD/SEXTLOAD with range metadata (#86431)

Similar to #80829 for GlobalISel.


  Commit: a51d13f5db08e36e0b734bc2aa9b5c4fea9cf116
      https://github.com/llvm/llvm-project/commit/a51d13f5db08e36e0b734bc2aa9b5c4fea9cf116
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/include/flang/Common/idioms.h
    M flang/lib/Evaluate/constant.cpp

  Log Message:
  -----------
  [Flang] Add new CHECK_MSG() function (#86576)

Added a new variant of the CHECK() function that takes a custom message
as a parameter. This is useful for more meaninful error messages when
the compiler is expected to crash.

Fixes #78931


  Commit: ca594fedeb3d6bb8ee0f80c92b0089147fb5e757
      https://github.com/llvm/llvm-project/commit/ca594fedeb3d6bb8ee0f80c92b0089147fb5e757
  Author: Tim Creech <timothy.m.creech at intel.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M llvm/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Update documentation and release notes for llvm-profgen COFF support (#84864)

This change:
- Updates the existing Clang User's Manual section on SPGO so that it
describes how to use llvm-profgen to perform SPGO on Windows. This is
new functionality implemented in #83972.
- Fixes a minor typo in the existing llvm-profgen invocation example.
- Adds an LLVM release note on this new functionality in llvm-profgen.


  Commit: 89ef3130cf16f1965475396ad3a50760558cc08a
      https://github.com/llvm/llvm-project/commit/89ef3130cf16f1965475396ad3a50760558cc08a
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Create a separate target for BytecodeOpInterface. (#86655)

This matches the CMake targets and reduces the number of headers that
need to be included in multiple targets.


  Commit: 2e38c50e5c53d66d4968fbd47b78e71a220a28ca
      https://github.com/llvm/llvm-project/commit/2e38c50e5c53d66d4968fbd47b78e71a220a28ca
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/lib/Interpreter/IncrementalParser.cpp

  Log Message:
  -----------
  [clang-repl] Fix remove invalidates iterators in CleanUpPTU() (#85378)

Using remove() on DeclContext::lookup_result list invalidates iterators.

This assertion failure was one (fortunate) symptom:
```
clang/include/clang/AST/DeclBase.h:1337: reference clang::DeclListNode::iterator::operator*() const: Assertion `Ptr && "dereferencing end() iterator"' failed.
```


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

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

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

This reverts commit 8bd1f9116aab879183f34707e6d21c7051d083b6.

It appears that the commit broke msan bots.


  Commit: 507e59aa757bdc690ebc0bf69c6d3c84061061a8
      https://github.com/llvm/llvm-project/commit/507e59aa757bdc690ebc0bf69c6d3c84061061a8
  Author: Julian Nagele <mail at jnagele.net>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    A llvm/test/Verifier/tbaa-struct.ll

  Log Message:
  -----------
  [TBAA] Tests for invalid tbaa.struct metadata (#86167)

These tests show invalid tbaa.struct metadata that is currently accepted
in preparation for a change to the IR Verifier that will then reject it.

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


  Commit: 26d896f3688a8bff6faf85ccce557e320108997f
      https://github.com/llvm/llvm-project/commit/26d896f3688a8bff6faf85ccce557e320108997f
  Author: Rafael Ubal <rubal at mathworks.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  Fixes in 'tosa.reshape' lowering and folder (#85798)

- Revamped lowering conversion pattern for `tosa.reshape` to handle previously unsupported combinations of dynamic dimensions in input and output tensors. The lowering strategy continues to rely on pairs `tensor.collapse_shape` + `tensor.expand_shape`, which allow for downstream fusion with surrounding `linalg.generic` ops.

- Fixed bug in canonicalization pattern `ReshapeOp::fold()` in `TosaCanonicalizations.cpp`. The input and result types being equal is not a sufficient condition for folding. If there is more than 1 dynamic dimension in the input and result types, a productive reshape could still occur.

- This work exposed the fact that bufferization does not properly handle a `tensor.collapse_shape` op producing a 0D tensor from a dynamically shaped one due to a limitation in `memref.collapse_shape`. While the proper way to address this would involve releasing the `memref.collapse_shape` restriction and verifying correct bufferization, this is left as possible future work. For now, this scenario is avoided by casting the `tosa.reshape` input tensor to a static shape if necessary (see `inferReshapeInputType()`.

- An extended set of tests are intended to cover relevant conversion paths. Tests are named using pattern `test_reshape_<rank>_{up|down|same}_{s2s|s2d|d2s|d2d}_{explicit|auto}[_empty][_identity]`, where:
	
  - `<rank>` is the input rank (e.g., 3d, 6d)
  - `{up|down|same}` indicates whether the reshape increases, decreases, or retains the input rank.
  - `{s2s|s2d|d2s|d2d}` indicates whether reshape converts a statically shaped input to a statically shaped result (`s2s`), a statically shaped input to a dynamically shaped result (`s2d`), etc.
  - `{explicit|auto}` is used to indicate that all values in the `new_shape` attribute are >=0 (`explicit`) or that a -1 placeholder value is used (`auto`).
  - `empty` is used to indicate that `new_shape` includes a component set to 0.
  - `identity` is used when the input and result shapes are the same.


  Commit: 06bb8c9f202e37f215b26ca0dd9b2d8adaf5a83d
      https://github.com/llvm/llvm-project/commit/06bb8c9f202e37f215b26ca0dd9b2d8adaf5a83d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-26 (Tue, 26 Mar 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/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-opaque-pointers.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll

  Log Message:
  -----------
  [VPlan] Explicitly handle scalar pointer inductions. (#83068)

Add a new PtrAdd opcode to VPInstruction that corresponds to
IRBuilder::CreatePtrAdd, which creates a GEP with source element type
i8.

This is then used to model scalarizing VPWidenPointerInductionRecipe by
introducing scalar-steps to model the index increment followed by a
PtrAdd.

Note that PtrAdd needs to be able to generate code for only the first
lane or for all lanes. This may warrant introducing a separate recipe
for scalarizing that can be created without relying on the underlying
IR.

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

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


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

  Changed paths:
    M llvm/test/CodeGen/X86/widen_fadd.ll
    M llvm/test/CodeGen/X86/widen_fmul.ll
    M llvm/test/CodeGen/X86/widen_fsub.ll

  Log Message:
  -----------
  [X86] Add fadd/fsub/fmul tests showing failure to concat operands together and perform as a wider vector

We don't want to concat fadd/fsub/fmul if both operands would need concatenating (as the fp op is usually cheaper than the concat), but if at least one operand is free to concat (i.e. constant or extracted from a wider vector), then we should try to concat the fp op.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/widen_fadd.ll
    M llvm/test/CodeGen/X86/widen_fmul.ll
    M llvm/test/CodeGen/X86/widen_fsub.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - concatenate FADD/FSUB/FMUL ops if we don't increase the number of INSERT_SUBVECTOR nodes.

FADD/FSUB/FMUL are usually less port-bound than INSERT_SUBVECTOR, so only concatenate if it reduces the instruction count and doesn't introduce extra INSERT_SUBVECTOR nodes.


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

  Changed paths:
    M libc/src/__support/OSUtil/CMakeLists.txt
    M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
    A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
    R libc/src/__support/OSUtil/baremetal/quick_exit.h
    M libc/src/__support/OSUtil/darwin/CMakeLists.txt
    R libc/src/__support/OSUtil/darwin/quick_exit.h
    M libc/src/__support/OSUtil/gpu/CMakeLists.txt
    M libc/src/__support/OSUtil/gpu/quick_exit.cpp
    R libc/src/__support/OSUtil/gpu/quick_exit.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/quick_exit.cpp
    R libc/src/__support/OSUtil/linux/quick_exit.h
    M libc/src/__support/OSUtil/quick_exit.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/_Exit.cpp
    M libc/src/stdlib/exit.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][OSUtil] refactor quick_exit to be an object library everywhere (#85955)

The usage of __builtin_unreachable after calls to quick_exit were distressing.
If a function is properly marked [[noreturn]] then __builtin_unreachable is not
necessary.

Looking into this further, we seem to have header only implementations for CPU
targets. The inline nature of these functions is curious; we're going to exit,
it doesn't matter if we need to pay the call of a function or not. If we just
make these functions have distinct TUs rather than be header only, we can clean
up the cmake rules for quick_exit which were different between CPU and GPU.

Remove darwin support for quick_exit. This isn't being tested, and we can bring
it back when necessary.


  Commit: 87519a2830eab4b634a5816f53fe773929eed531
      https://github.com/llvm/llvm-project/commit/87519a2830eab4b634a5816f53fe773929eed531
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll

  Log Message:
  -----------
  [RISCV] Combine (mul (zext, zext)) -> (zext (mul (zext, zext))) (#86465)

Building on #86248, we can also narrow the width of a mul of zexts.

This is specifically legal because on RVV we always extend to the next
power of 2 width, and multiplying two N bit integers produces a maximum
value of 2\*N bits.
So as long as we keep an inner zext of 2\*N, we will have enough space
for the multiply and won't overflow.

Alive2 proof: https://alive2.llvm.org/ce/z/XteYyb


  Commit: 4998587e6f5f66d464ac22ad4c11fe9afd2d56ab
      https://github.com/llvm/llvm-project/commit/4998587e6f5f66d464ac22ad4c11fe9afd2d56ab
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90

  Log Message:
  -----------
  [Flang] Support for passing procedure pointer, reference to a function that returns a procedure pointer to structure constructor. (#86533)

This PR fixes `not yet implemented: procedure pointer component in
structure constructor` as shown in the following test case.

```
  MODULE M
    TYPE :: DT
      PROCEDURE(Fun), POINTER, NOPASS :: pp1
    END TYPE

    CONTAINS

    INTEGER FUNCTION Fun(Arg)
    INTEGER :: Arg
      Fun = Arg
    END FUNCTION

  END MODULE

  PROGRAM MAIN
  USE M
  IMPLICIT NONE
  TYPE (DT) :: v2
  PROCEDURE(FUN), POINTER :: pp2
  v2 = DT(pp2)
  v2 = DT(bar())
  CONTAINS
    FUNCTION BAR() RESULT(res)
      PROCEDURE(FUN), POINTER :: res
    END
  END
  ```


  Commit: 6e261d9c37a49b19552b439712703968ea88ee2a
      https://github.com/llvm/llvm-project/commit/6e261d9c37a49b19552b439712703968ea88ee2a
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree-visitor.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    A flang/test/Parser/unrecognized-dir.f90

  Log Message:
  -----------
  [flang] Accept more unrecognized !DIR$ compiler directives (#85829)

When encountering an unparsable !DIR$ compiler directive line, accept it
as a whole source line and emit a warning that it is unrecognizable.

Fixes https://github.com/llvm/llvm-project/issues/59107,
https://github.com/llvm/llvm-project/issues/82212, and
https://github.com/llvm/llvm-project/issues/82654.


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

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

  Log Message:
  -----------
  [InstallAPI] Add missing license header to file, NFC


  Commit: f50f0caf87d762ca1c4a0122bd29d2fc9c667113
      https://github.com/llvm/llvm-project/commit/f50f0caf87d762ca1c4a0122bd29d2fc9c667113
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/resolve61.f90

  Log Message:
  -----------
  [flang] Fix crash in name resolution (#85835)

ConvertToObjectEntity() returns true for use- and host-associated object
symbols, too. Ensure in this case that the symbol really is a
non-associated object.

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


  Commit: 2f63718f8567413a1c596bda803663eb58d6da5a
      https://github.com/llvm/llvm-project/commit/2f63718f8567413a1c596bda803663eb58d6da5a
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M lldb/source/Core/Module.cpp

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

Fixing a crash in lldb when `symbols.auto-download` setting is enabled.
When doing a backtrace, this feature has lldb search for a SymbolFile
for stack frames when we are backtracing, and add them either
synchoronously or asynchronously, depending on the specific setting
used.

Module::SetSymbolFileFileSpec clears the Module's UnwindTable, once we
find a new SymbolFile. We may be adding a source of unwind information
that we did not have when lldb was working only with the executable
binary.

What happens in practice is that we're using a reference to the Module's
UnwindTable, and then the other thread getting the SymbolFile clears it
and now the first thread is referring to freed memory and we can crash.
When built with address sanitizer, it crashes much more reliably.

Given that unwind information used for exception handling -- eh_frame,
compact unwind -- is present in executable binaries, the only thing
we're likely to *add* would be DWARF's `debug_frame` if that was also
available. The actual value of re-creating the UnwindTable when we have
added a SymbolFile is not large.

I also tried fixing this by changing the Module to have a shared_ptr to
the UnwindTable, so we could have two different UnwindTable's in use
simultaneously for a brief period. This would be fine TODAY, but it
introduces a very subtle bug that someone will have a heck of a time
figuring out in the future.

In the end, I believe the safest approach is to sacrifice the possible
marginal gain of reconstructing the UnwindTable once a SymbolFile has
been added, to sidestep this whole problem area.

Also, in `Module::GetUnwindTable()`, call `DownloadSymbolFileAsync`
before we create the UnwindTable for the first time, in case the symbol
file is fetched synchronously, we will have it for that possible
marginal gain.


  Commit: 44d037cc258dcf179d2c48c93996bb406ecd0fae
      https://github.com/llvm/llvm-project/commit/44d037cc258dcf179d2c48c93996bb406ecd0fae
  Author: Abhin P Jose <abhinjose at live.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/DiagnosticHandler.h
    M llvm/unittests/Linker/LinkModulesTest.cpp
    M llvm/unittests/Support/ThreadPool.cpp

  Log Message:
  -----------
  Change type of DiagnosticHandlerTy (#86504)

Changing type of DiagnosticHandlerTy due to adding
-Wcast-function-type-mismatch to -Wextra
group(https://github.com/llvm/llvm-project/pull/86131#issuecomment-2018014179).
Changed the reference argument DiagnosticInfo to a pointer and edited
the test cases failing due to this change. Added another small change
where Gtest api was throwing an warning due varargs argument not being
passed.


  Commit: 375ddd677c08fa32ed188ba20097c1cb0949d846
      https://github.com/llvm/llvm-project/commit/375ddd677c08fa32ed188ba20097c1cb0949d846
  Author: Alfie Richards <alfie.richards at arm.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/test/MC/ARM/basic-arm-instructions.s
    M llvm/test/MC/ARM/load-store-acquire-release-v8-thumb.s
    M llvm/test/MC/ARM/load-store-acquire-release-v8.s

  Log Message:
  -----------
  [ARM][MC] Add GNU Alias for ldrexd, ldaexd, stlexd, and strexd instructions (#86507)

These aliases were supported previously there was a regression at some point.

This adds back the alternate forms and tidies up this section of code a little.

See https://github.com/llvm/llvm-project/pull/83436#issuecomment-2010213714 for the initial report regarding this change.


  Commit: 348f9e73d7175f67750dc40b15cf1fc888bf60b5
      https://github.com/llvm/llvm-project/commit/348f9e73d7175f67750dc40b15cf1fc888bf60b5
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp

  Log Message:
  -----------
  [lldb] Fix warning: comparison of unsigned expression in >= 0 is always true

lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1195:15: warning:
comparison of unsigned expression in ‘>= 0’ is always true
 1195 |   if (weekday >= 0 && weekday < 7)
      |       ~~~~~~~~^~~~


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

  Changed paths:
    M llvm/test/CodeGen/X86/extractelement-load.ll

  Log Message:
  -----------
  [X86] extractelement-load.ll - use X86 instead of X32 check prefix. NFC

X32 should be used for gnux32 triples


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

  Changed paths:
    M llvm/test/CodeGen/X86/extractelement-load.ll

  Log Message:
  -----------
  [X86] extractelement-load.ll - add test case for #85419


  Commit: 3ada883f7c96e099e1a665c091751bff5f16690e
      https://github.com/llvm/llvm-project/commit/3ada883f7c96e099e1a665c091751bff5f16690e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    A flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/lib/Semantics/check-call.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/io-api.cpp
    A flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/tools.cpp
    M flang/runtime/tools.h
    M flang/unittests/Runtime/Reduction.cpp

  Log Message:
  -----------
  [flang][runtime] Runtime support for REDUCE() (#86214)

Supports the REDUCE() transformational intrinsic function of Fortran
(see F'2023 16.9.173) in a manner similar to the existing support for
SUM(), PRODUCT(), &c. There are APIs for total reductions to scalar
results, and APIs for partial reductions that reduce the rank of the
argument by one.

This implementation requires more functions than other reductions
because the various possible types of the user-supplied OPERATION=
function need to be elaborated.

Once the basic API in reduce.h has been approved, later patches will
implement lowering.

REDUCE() is primarily for completeness, not portability; only one other
Fortran compiler implements this F'2018 feature today, and only some
types work correctly with it.


  Commit: 5a0382ce7ab3577630bdbb396e9ddaed8749101e
      https://github.com/llvm/llvm-project/commit/5a0382ce7ab3577630bdbb396e9ddaed8749101e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/lib/Evaluate/check-expression.cpp
    A flang/test/Semantics/structconst09.f90

  Log Message:
  -----------
  [flang] Catch non-constant targets for procedure pointer initialization (#86338)

Detect attempts to use non-constant targets, including internal
procedures, as initializers for procedure pointers, including components
of structure components being used as initializers.


  Commit: b06913103fe7d3abeb474369eb69e7dfab7f8893
      https://github.com/llvm/llvm-project/commit/b06913103fe7d3abeb474369eb69e7dfab7f8893
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  Fix failure in buildbot (#86661)

Sanitizer failure in
https://lab.llvm.org/buildbot/#/builders/19/builds/25788


  Commit: 5cf1e2e2ec7da58403182265f2a7d2d5c1c87854
      https://github.com/llvm/llvm-project/commit/5cf1e2e2ec7da58403182265f2a7d2d5c1c87854
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/log-vec.ll
    A llvm/test/CodeGen/DirectX/log.ll
    A llvm/test/CodeGen/DirectX/log10.ll
    A llvm/test/CodeGen/DirectX/log2.ll
    A llvm/test/CodeGen/DirectX/log2_error.ll

  Log Message:
  -----------
  [DXIL] Implement log intrinsic Lowering (#86569)

Completes #86192
`DXIL.td` - add log2 to dxilop lowering
`DXILIntrinsicExpansion.cpp` - add log and log10 to log2 expansions


  Commit: 7860f970666f46184ad740db48a69882d62e64fc
      https://github.com/llvm/llvm-project/commit/7860f970666f46184ad740db48a69882d62e64fc
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/include/flang/Common/idioms.h
    M flang/include/flang/Common/template.h
    M flang/include/flang/Common/unwrap.h
    A flang/include/flang/Common/variant.h
    M flang/include/flang/Common/visit.h
    M flang/runtime/CMakeLists.txt
    M flang/runtime/io-stmt.h
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h

  Log Message:
  -----------
  [flang][runtime] Use cuda::std::variant in the CUDA build. (#86615)

Added `FLANG_LIBCUDACXX_PATH` CMake variable to specify
installation of header-only libcudacxx library.
If it is specified, the `<cuda/std/variant>` is used to provide
implementation of `std::variant`.


  Commit: e75989e93063d1ac2626c3478c28ca364e04ef28
      https://github.com/llvm/llvm-project/commit/e75989e93063d1ac2626c3478c28ca364e04ef28
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp

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

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

1. Dereferencing a pointer issue with nullptr FPT when calling
ResolveExceptionSpec() in
    checkEscapingByref(clang::VarDecl *, clang::Sema &).

3. Dereferencing a pointer issue with nullptr ElementTy->getAs() when
calling getElementType() in
clang::Sema::SemaBuiltinFPClassification(clang::CallExpr *, unsigned
int).

4. Dereferencing a pointer issue with nullptr ConvType->getAs() when
calling getKeyword() in
clang::Sema::ActOnConversionDeclarator(clang::CXXConversionDecl *).


  Commit: 8f01ecaeb8e537511718c4df123fb92633d9f73d
      https://github.com/llvm/llvm-project/commit/8f01ecaeb8e537511718c4df123fb92633d9f73d
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/include/flang/Parser/tools.h
    M flang/lib/Parser/tools.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/init01.f90
    M flang/test/Semantics/resolve81.f90

  Log Message:
  -----------
  [flang] Special-case handling of INTRINSIC in type-decl-stmt (#86518)

Fortran allows the INTRINSIC attribute to be specified with a distinct
attribute statement, and also as part of the attribute list of a
type-declaration-stmt. This is an odd case (especially as the declared
type is mandated to be ignored if it doesn't match the type of the
intrinsic function) that can lead to odd error messages and crashes,
since the rest of name resolution expects that intrinsics with explicit
declarations will have been declared with INTRINSIC attribute
statements. Resolve by handling an "inline" INTRINSIC attribute as a
special case while processing a type-declaration-stmt, so that

  real, intrinsic :: acos, asin, atan

is processed exactly as if it had been

  intrinsic acos, asin, atan; real acos, asin, atan

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


  Commit: 39c03a2fbcdd6f20e0457faa5e169f4948f9422b
      https://github.com/llvm/llvm-project/commit/39c03a2fbcdd6f20e0457faa5e169f4948f9422b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary overrides of a defaulted template argument. NFC


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

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

  Log Message:
  -----------
  [mlir][vector] Refactor linearize.mlir (#86648)

This patch refactors the `linearize.mlir` test - currently it contains
some duplication and can be tricky to follow.

Summary of changes:
  * reduce duplication by introducing a shared check prefix (`ALL`) and
    by introducing `-check-prefixes`,
  * make sure that every "check" line is directly above the
    corresponding line of input MLIR,
  * group check lines corresponding to a particular prefix together (so
    that it's easier to see the expected output for a particular
    prefix),
  * remove `CHECK` from prefix names (with multiple prefixes that's just
    noise that can be avoided) and use a bit more descriptive prefixes
    instead (`CHECK0` -> `BW-0`, where `BW` stands for bitwidth),
  * unify indentation,
  * `nonvec_result` -> `test_tensor_no_linearize` (for consistency with
    `test_index_no_linearize`).

NOTE: This change only updates the format of the "CHECK" lines and
doesn't affect what's being tested.

This change is intended as preparation for adding support for scalable
vectors to `LinearizeConstant` and `LinearizeVectorizable` - i.e.
patterns that `linearlize.mlir` is meant to test.


  Commit: f92f77521263c8f20171b62688ecc86de9c9dfa9
      https://github.com/llvm/llvm-project/commit/f92f77521263c8f20171b62688ecc86de9c9dfa9
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/tools.cpp

  Log Message:
  -----------
  [flang][NFC] Address reported "possible missing return" (#86523)

A function uses "if constexpr" to consider all possible types in a
variant, but looks as if it can fall out without returning an
expression. Add a final "else" with a crash to make things more clear
and to protect against unlikely future extensions of the type.

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


  Commit: 81fc43a39878dbd938b45d7735fe6e0fe37b03c3
      https://github.com/llvm/llvm-project/commit/81fc43a39878dbd938b45d7735fe6e0fe37b03c3
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/unittests/TableGen/CMakeLists.txt

  Log Message:
  -----------
  [unittests] Fix `TableGenTests` with `LLVM_LINK_LLVM_DYLIB` (#86664)

Since the restructuring in commit fa3d789df1, the option
DISABLE_LLVM_LINK_LLVM_DYLIB is counter-productive and leads to
CommandLine Error: Option 'debug-counter' registered more than once!


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

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

  Log Message:
  -----------
  [NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (#85962)

Reported by Static Analyzer Tool:
In clang::dataflow::Environment::initialize(): Using the auto keyword
without an & causes the copy of an object of type LambdaCapture


  Commit: f050a098b5e0745b6c230410f433e48dcc46d160
      https://github.com/llvm/llvm-project/commit/f050a098b5e0745b6c230410f433e48dcc46d160
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/test/Conversion/ArithToSPIRV/fast-math.mlir

  Log Message:
  -----------
  [mlir][spirv] Remove `enableFastMathMode` flag from SPIR-V conversion (#86578)

Most of arith/math ops support fastmath attribute, use it instead of
global flag.


  Commit: f4fc959c35eb862776ac2e83cb9f41aa88989e3f
      https://github.com/llvm/llvm-project/commit/f4fc959c35eb862776ac2e83cb9f41aa88989e3f
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/deferred01.f90

  Log Message:
  -----------
  [flang] Catch impossible but necessary TBP override (#86558)

An apparent attempt to override a type-bound procedure is not allowed to
be interpreted as on override when the procedure is PRIVATE and the
override attempt appears in another module. However, if the TBP that
would have been overridden is a DEFERRED procedure in an abstract base
type, the override must take place. PRIVATE DEFERRED procedures must
therefore have all of their overrides appear in the same module as the
abstract base type.


  Commit: 313734795c67ca0bfb82f96b39e123774ddf24b4
      https://github.com/llvm/llvm-project/commit/313734795c67ca0bfb82f96b39e123774ddf24b4
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp

  Log Message:
  -----------
  [clang-tidy] Fix fix-it overlaps in readability-static-definition-in-anonymous-namespace (#86599)

Because check emitted multiple warnings for every template instance
fix-it couldn't be applied due to overlaps.

Using TK_IgnoreUnlessSpelledInSource and restricting check to C++ only.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll

  Log Message:
  -----------
  [SLP]Do not propagate nuw/nsw flags for alt nodes, affected by
minbitwidth analysis.

Need to drop nuw/nsw flags, if the alternate node is resized after the
minbitwidth analysis, to avoid producing poison values in corner cases.


  Commit: 1eaef44532266694c28f49f5c0373e7fc93d4f82
      https://github.com/llvm/llvm-project/commit/1eaef44532266694c28f49f5c0373e7fc93d4f82
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp

  Log Message:
  -----------
  [TosaToTensor] Fix a warning (#86703)

This patch fixes:

  mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp:76:46: error:
  'multiplies' may not intend to support class template argument
  deduction [-Werror,-Wctad-maybe-unsupported]


  Commit: 8cb4eb991401093fbfbc255ea752210d0bd5acfe
      https://github.com/llvm/llvm-project/commit/8cb4eb991401093fbfbc255ea752210d0bd5acfe
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unneeded VAESKF_MV_I tablegen class. NFC

It is identical to PALUVINoVm so we can use that instead.


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

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp

  Log Message:
  -----------
  [ArithToSPIRV] Fix a warning (#86702)

mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp:995:11: error:
  unused variable 'converter' [-Werror,-Wunused-variable]


  Commit: da6cc4a24ff8953d51f7dc2c4974e8fc9089d693
      https://github.com/llvm/llvm-project/commit/da6cc4a24ff8953d51f7dc2c4974e8fc9089d693
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MIRParser/MILexer.cpp
    M llvm/lib/CodeGen/MIRParser/MILexer.h
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-nneg-disjoint.ll

  Log Message:
  -----------
  [CodeGen] Add nneg and disjoint flags (#86650)

MachineInstr learned the new flags.


  Commit: 29318abe1d2c55e8543255d70f26ac93261b74a4
      https://github.com/llvm/llvm-project/commit/29318abe1d2c55e8543255d70f26ac93261b74a4
  Author: Jason Molenda <jason at molenda.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    R lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test

  Log Message:
  -----------
  [lldb] Remove test for add-symbol-file adds unwind source

In

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

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

I changed lldb to not clear a Module's UnwindTable when we add a
SymbolFile to a binary, because the added benefit is marginal, and
handling this reconstruction correctly is difficult.  This test was
written to explicitly create a test without unwind info in the
binary, then add a symbol file with the unwind info, and check that
it is present.  I've intentionally broken this, so I'm removing the
test.


  Commit: 0c3e24f7c90243040fedcdfbbb417505f7cc0102
      https://github.com/llvm/llvm-project/commit/0c3e24f7c90243040fedcdfbbb417505f7cc0102
  Author: Ella Ma <alansnape3058 at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/utils/analyzer/exploded-graph-rewriter.py

  Log Message:
  -----------
  [analyzer] Allow egraph rewriter not to open the generated HTML directly (#85515)

When developing on a headless device through SSH, we do not have a
browser or even an X environment. Hence, it would be more convenient if
the rewriter could stop before attempting to open the generated HTML
file. Then, it can be opened remotely through an HTML server.

This patch adds a new option `--dump-html-only` to make the rewriter
stop before opening the generated HTML in a browser. The new option is
marked in conflict with the existing `--dump-dot-only` option to prevent
unexpected behaviors.


  Commit: 1ad29a5c7131a31883d24cc41388c5a3565c7a4f
      https://github.com/llvm/llvm-project/commit/1ad29a5c7131a31883d24cc41388c5a3565c7a4f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with truncated loads, but incorrect trunc after
minbitwidth analysis.


  Commit: 342f7d0d35774ffdcb56e8b92252763a59bd2c29
      https://github.com/llvm/llvm-project/commit/342f7d0d35774ffdcb56e8b92252763a59bd2c29
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll

  Log Message:
  -----------
  [SLP]Fix PR86620: check final minbitwidth for truncs/exts before
accepting it.

If the minbitwidth is deduced from the demanded elements, need to check
the final bitwidthfor trunc/ext instruction, bot blindly accepting
the used one.


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

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

  Log Message:
  -----------
  [DAG] foldAddSubBoolOfMaskedVal - reuse existing SDLoc instead of regenerating it. NFC.


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

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [IR] Add `m_c_BitwiseLogic` in pattern match; NFC

Just a missing matcher that came up in #73362

Closes #86632


  Commit: cf6e62d8c308c7bf2885c422983c80842d735456
      https://github.com/llvm/llvm-project/commit/cf6e62d8c308c7bf2885c422983c80842d735456
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir][doc] NFC fix incorrect filename in td match interface


  Commit: 2fbc40d36dd8e21fab4cc6cb43984baaa39bcd59
      https://github.com/llvm/llvm-project/commit/2fbc40d36dd8e21fab4cc6cb43984baaa39bcd59
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Split compound if statement to fix a crash.

We're not allowed to call getELEN when the vector extension
is not enabled. If we're looking at a vector type, isTypeLegal would
only return true if the vector extensions are enabled. So early out
for non-vector types before we call isTypeLegal and getELEN.


  Commit: 148a55795de7ac465a8e494d5d382e100da643f6
      https://github.com/llvm/llvm-project/commit/148a55795de7ac465a8e494d5d382e100da643f6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    R flang/lib/Lower/OpenMP/ClauseT.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    A llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] Make OpenMP clause representation language-agnostic (#86289)

The clause templates defined in ClauseT.h were originally based on
flang's parse tree nodes. Since those representations are going to be
reused for clang (together with the clause splitting code), it makes
sense to separate them from flang, and instead have them based on the
actual OpenMP spec (v5.2).

The member names in the templates follow the naming presented in the
spec, and the representation (e.g. members) is derived from the clause
definitions as described in the spec.

Since the representations of some clauses has changed (while preserving
the information), the current code using the clauses (especially the
code converting parser::OmpClause to omp::Clause) needs to be adjusted.

This patch does not make any functional changes.


  Commit: 601d7eab0665ba298d81952da11593124fd893a0
      https://github.com/llvm/llvm-project/commit/601d7eab0665ba298d81952da11593124fd893a0
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    A polly/include/polly/Support/PollyDebug.h
    M polly/lib/Analysis/DependenceInfo.cpp
    M polly/lib/Analysis/PolyhedralInfo.cpp
    M polly/lib/Analysis/PruneUnprofitable.cpp
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopDetection.cpp
    M polly/lib/Analysis/ScopInfo.cpp
    M polly/lib/CMakeLists.txt
    M polly/lib/CodeGen/CodeGeneration.cpp
    M polly/lib/CodeGen/IslAst.cpp
    A polly/lib/Support/PollyDebug.cpp
    M polly/lib/Support/SCEVValidator.cpp
    M polly/lib/Transform/DeLICM.cpp
    M polly/lib/Transform/FlattenAlgo.cpp
    M polly/lib/Transform/FlattenSchedule.cpp
    M polly/lib/Transform/ForwardOpTree.cpp
    M polly/lib/Transform/ManualOptimizer.cpp
    M polly/lib/Transform/MatmulOptimizer.cpp
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/lib/Transform/ScheduleTreeTransform.cpp
    M polly/lib/Transform/ScopInliner.cpp
    M polly/lib/Transform/Simplify.cpp
    M polly/lib/Transform/ZoneAlgo.cpp
    A polly/test/Support/pollyDebug.ll

  Log Message:
  -----------
  [polly] Add polly-debug flag to print debug info from all parts of polly (#78549)

This flag enable the user to print debug Info from all the passes and
helpers inside polly at once. This will help a novice user as well to
work in polly without explicitly having to know which parts of polly has
actually kicked in and pass them via -debug-only.


  Commit: 0e5c504d3d80eb1488483a15269c2155f9e04bd7
      https://github.com/llvm/llvm-project/commit/0e5c504d3d80eb1488483a15269c2155f9e04bd7
  Author: Emil Pedersen <3mille.prenom.nom at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/DebugInfo/X86/dbg-value-funcarg-duplicates.ll

  Log Message:
  -----------
  [DebugInfo] [SelectionDAG] Fix handling of duplicate dbg values (#86598)

Before this fix, a duplicate llvm.dbg.value intrinsic referring to an
argument, after an alloca, would be generated with `$noreg`, losing
debug information. Instead, we silently drop the second debug info, so
it doesn't break the first one.

rdar://125375717


  Commit: 28ddbd4a863c4c1b6c36deb6edf305ee93412cd4
      https://github.com/llvm/llvm-project/commit/28ddbd4a863c4c1b6c36deb6edf305ee93412cd4
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ScanfFormatString.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp

  Log Message:
  -----------
  [NFC] Refactor ConstantArrayType size storage (#85716)

In PR #79382, I need to add a new type that derives from
ConstantArrayType. This means that ConstantArrayType can no longer use
`llvm::TrailingObjects` to store the trailing optional Expr*.

This change refactors ConstantArrayType to store a 60-bit integer and
4-bits for the integer size in bytes. This replaces the APInt field
previously in the type but preserves enough information to recreate it
where needed.

To reduce the number of places where the APInt is re-constructed I've
also added some helper methods to the ConstantArrayType to allow some
common use cases that operate on either the stored small integer or the
APInt as appropriate.

Resolves #85124.


  Commit: 5e6e40fee31d5db2f44d604b0362e1e819f41ba5
      https://github.com/llvm/llvm-project/commit/5e6e40fee31d5db2f44d604b0362e1e819f41ba5
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Improve performance of google-runtime-int (#86596)

Main problem with performance of this check is caused by hasAncestor
matcher, and to be more precise by an llvm::DenseSet and std::deque in
matchesAnyAncestorOf.

To reduce impact of this matcher, multiple conditions that were checked
in check method were copied into AST matcher that is now checked before
hasAncestor.

Using custom getCheckTraversalKind to exclude template instances that
shouldn't be checked anyway is an additional improvement, but gain from
that one is low.

Tested on ffl_tests.cc, visible reduction from ~442 seconds to ~15
seconds (~96% reduction).

Closes #86553


  Commit: 156c2907462bc5e97d13d3e7d334a32a291bc787
      https://github.com/llvm/llvm-project/commit/156c2907462bc5e97d13d3e7d334a32a291bc787
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/API/SystemInitializerFull.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  [lldb] Implement coalescing of disjoint progress events (#84854)

This implements coalescing of progress events using a timeout, as
discussed in the RFC on Discourse [1]. This PR consists of two commits
which, depending on the feedback, I may split up into two PRs. For now,
I think it's easier to review this as a whole.

1. The first commit introduces a new generic `Alarm` class. The class
lets you to schedule a function (callback) to be executed after a given
timeout expires. You can cancel and reset a callback before its
corresponding timeout expires. It achieves this with the help of a
worker thread that sleeps until the next timeout expires. The only
guarantee it provides is that your function is called no sooner than the
requested timeout. Because the callback is called directly from the
worker thread, a long running callback could potentially block the
worker thread. I intentionally kept the implementation as simple as
possible while addressing the needs for the `ProgressManager` use case.
If we want to rely on this somewhere else, we can reassess whether we
need to address those limitations.

2. The second commit uses the Alarm class to coalesce progress events.
To recap the Discourse discussion, when multiple progress events with
the same title execute in close succession, they get broadcast as one to
`eBroadcastBitProgressCategory`. The `ProgressManager` keeps track of
the in-flight progress events and when the refcount hits zero, the Alarm
class is used to schedule broadcasting the event. If a new progress
event comes in before the alarm fires, the alarm is reset (and the
process repeats when the new progress event ends). If no new event comes
in before the timeout expires, the progress event is broadcast.

[1]
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/


  Commit: 8ea94b614bd8ac74802867588129bcfd0a326620
      https://github.com/llvm/llvm-project/commit/8ea94b614bd8ac74802867588129bcfd0a326620
  Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp

  Log Message:
  -----------
  [clang-tidy] Improved modernize-use-using by fixing a false-negative (#82947)

The check needs a parent decl to match but if the typedef is in a
function, the parent is a declStmt which is not a decl by itself.
Improved the matcher to match on either a decl or a declstmt and extract
the decl from the stmt in the latter case.

Fixes #72179


  Commit: 8a84596310f5b141817c784f0b4b46a636767e6e
      https://github.com/llvm/llvm-project/commit/8a84596310f5b141817c784f0b4b46a636767e6e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp

  Log Message:
  -----------
  [flang] Dodge bogus GCC 13.2.0 error message in new code (#86708)

Rearrange some new code a little bit to avoid a bogus error message
coming out from GCC 13.2.0 about an uninitialized data member in a
parser.


  Commit: 982ebeb212ddb354e2babc1ce1ddfccc06b6ea27
      https://github.com/llvm/llvm-project/commit/982ebeb212ddb354e2babc1ce1ddfccc06b6ea27
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/sar_fold.ll

  Log Message:
  -----------
  [X86] Pre-commit test case for bug in combineShiftRightArithmetic

It has been noticed that combineShiftRightArithmetic isn't dealing
properly with large shift amounts, as demonstrated by the test
case added in this commit.

I think the problem partly is related to X86 using i8 as shift amount
type during ISel. So shift amount larger then 127 may be treated
as negative shift amounts if not being careful.


  Commit: 4c72cfa31798a67c6daa25d474bcfe536e4fa0c0
      https://github.com/llvm/llvm-project/commit/4c72cfa31798a67c6daa25d474bcfe536e4fa0c0
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  [libc] Remove definition of LIBC_NAMESPACE in test (#86704)

The canonicalize test added in #85940 defined the LIBC_NAMESPACE macro.
this macro is intended to be set only by the build system and never in
the code.


  Commit: 14e17ea1f62d9861f90a6a31e7c8a1d12bb081fc
      https://github.com/llvm/llvm-project/commit/14e17ea1f62d9861f90a6a31e7c8a1d12bb081fc
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90

  Log Message:
  -----------
  [flang][acc] Add support for lowering combined constructs (#86696)

PR#80319 added support to record combined construct semantics via an
attribute. Add lowering support for this.


  Commit: 3e6e54eb795ce7a1ccd47df8c22fc08125a88886
      https://github.com/llvm/llvm-project/commit/3e6e54eb795ce7a1ccd47df8c22fc08125a88886
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/sar_fold.ll

  Log Message:
  -----------
  [X86] Fix miscompile in combineShiftRightArithmetic (#86597)

When folding (ashr (shl, x, c1), c2) we need to treat c1 and c2
as unsigned to find out if the combined shift should be a left
or right shift.
Also do an early out during pre-legalization in case c1 and c2
has differet types, as that otherwise complicated the comparison
of c1 and c2 a bit.


  Commit: 2d97ba22f8ca0fbb8896fd0f54c0cd7c69f4d0cd
      https://github.com/llvm/llvm-project/commit/2d97ba22f8ca0fbb8896fd0f54c0cd7c69f4d0cd
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfroml.cpp

  Log Message:
  -----------
  [libc]: Remove unused includes from strfrom*.cpp (#86657)

Removes unused header includes from `strfrom*()` implementation files.


  Commit: a3f21a32495abeaddfa64a9789cd8c1b3fdad87c
      https://github.com/llvm/llvm-project/commit/a3f21a32495abeaddfa64a9789cd8c1b3fdad87c
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libc/src/__support/macros/config.h
    M libc/test/src/__support/arg_list_test.cpp

  Log Message:
  -----------
  [libc] Remove LIBC_HAS_ATTRIBUTE macro (#86656)

Resolves #86547

Replace occurrences of the macro `LIBC_HAS_ATTRIBUTE` with `__has_attribute`.


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

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Sema/constant-builtins-2.c

  Log Message:
  -----------
  [clang] Implement constexpr support for __builtin_{clzg,ctzg} (#86577)

Fixes #86549.


  Commit: 158401493a42014947ef2fb64ca761b57741815a
      https://github.com/llvm/llvm-project/commit/158401493a42014947ef2fb64ca761b57741815a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s

  Log Message:
  -----------
  [RISCV] Check that the stack adjust immediate for cm.push/pop* has the correct sign and is divisible by 16. (#85295)

To do this I've added a new AsmOperand for cm.push to expect a negative
value. We also use that to customize the print function so that we don't
need to detect cm.push opcode to add the negative sign.

I've renamed some places that used Spimm to be StackAdj since that's
what is being parsed. I'm still not about where we should use Spimm or
StackAdj.

I've removed the printSpimm helper function which in one usage printed
the sp[5:4]<<4 value and the other usage printed the full stack
adjustment. There wasn't anything interesting about how it was printed
it just passed the value to the raw_stream. If there was something
special needed, it's unclear whether it would be the same for the two
different usages so I inlined it.

One open question is whether we need to support stack adjustments
expressed as an expression rather than a literal integer.


  Commit: b0b8b16bb8dfb8c60fe9665c6a1c306306b716d2
      https://github.com/llvm/llvm-project/commit/b0b8b16bb8dfb8c60fe9665c6a1c306306b716d2
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [HWASan] Add link to proof for address calculation (#86367)


  Commit: 880eb339cae3acba9be0b2ea3271dba22ea9ec1f
      https://github.com/llvm/llvm-project/commit/880eb339cae3acba9be0b2ea3271dba22ea9ec1f
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [NFC] [HWASan] make getAndroidSlotPtr function generic (#86200)

This is so we can use a different slot for stack MTE.


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

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp

  Log Message:
  -----------
  [tsan] Refine fstat{,64} interceptors (#86625)

In glibc versions before 2.33. `libc_nonshared.a` defines
`__fxstat/__fxstat64` but there is no `fstat/fstat64`. glibc 2.33 added
`fstat/fstat64` and obsoleted `__fxstat/__fxstat64`. Ports added after
2.33 do not provide `__fxstat/__fxstat64`, so our `fstat/fstat64`
interceptors using `__fxstat/__fxstat64` interceptors would lead to
runtime failures on such ports (LoongArch and certain RISC-V ports).

Similar to https://reviews.llvm.org/D118423, refine the conditions that
we define fstat{,64} interceptors. `fstat` is supported by musl/*BSD
while `fstat64` is glibc only.


  Commit: 80487e1c622d51f4c0df12b64cca8a0b346e9b85
      https://github.com/llvm/llvm-project/commit/80487e1c622d51f4c0df12b64cca8a0b346e9b85
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Reorder entrys in release notes

Sort entrys in release notes.


  Commit: a22bd00ce03a77a38be2911979a4c4f2ca01379d
      https://github.com/llvm/llvm-project/commit/a22bd00ce03a77a38be2911979a4c4f2ca01379d
  Author: Alina Sbirlea <asbirlea at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [libc] [bazel] [NFC] Format deps.


  Commit: c6d419c15bf836085392212b8ab7600f7402829b
      https://github.com/llvm/llvm-project/commit/c6d419c15bf836085392212b8ab7600f7402829b
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-26 (Tue, 26 Mar 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/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/level_check.mlir

  Log Message:
  -----------
  [TOSA] Allow all integer types in most ops (#86509)

As discussed in one of the previous TOSA community meetings, we would
like to allow for more integer types in the TOSA dialect to enable more
use cases.

For strict standards conformance, the TosaValidation pass can be used.

Follow up PRs will extend conversions from TOSA where needed.


  Commit: 630283c38bce9ec188c96ddb90b8251afc2b3d8e
      https://github.com/llvm/llvm-project/commit/630283c38bce9ec188c96ddb90b8251afc2b3d8e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M libc/src/__support/OSUtil/baremetal/quick_exit.cpp

  Log Message:
  -----------
  [libc] Fix misplaced `[[noreturn]]` attribute.

Summary:
This needs to go after `extern "C"`.


  Commit: 1949f7d6c9bd59172c01c7933e1c558797c47eac
      https://github.com/llvm/llvm-project/commit/1949f7d6c9bd59172c01c7933e1c558797c47eac
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/report_linux.cpp
    M compiler-rt/lib/scudo/standalone/string_utils.cpp
    M compiler-rt/lib/scudo/standalone/string_utils.h
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/vector.h

  Log Message:
  -----------
  [scudo] Clean up string handling (#86364)

Do not abort if a vector cannot increase its own capacity. In that case,
push_back calls silently fail.

Modify the ScopedString implementation so that it no longer requires two
passes to do the format. Move the helper functions to be private member
functions so that they can use push_back directly. This allows the
capacity to be increased under the hood and/or silently discards data if
the capacity is exceeded and cannot be increased.

Add new tests for the Vector and ScopedString for capacity increase
failures.

Doing this so that if a map call fails, and we are attempting to write
an error string, we can still get some of the message dumped. This also
avoids crashing in Scudo code, and makes the caller handle any failures.


  Commit: 80bba17914dec52789d2e75ed560acb11cce959a
      https://github.com/llvm/llvm-project/commit/80bba17914dec52789d2e75ed560acb11cce959a
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [libc][FPUtil] fixup missing explicit cast (#86736)

The arm32 buildbot reports an error because UInt::operator bool() is explicit,
thus an explicit cast is necessary.

Link: #85940


  Commit: 86692258637549ed9f863c3d2ba47b49f61bbc1f
      https://github.com/llvm/llvm-project/commit/86692258637549ed9f863c3d2ba47b49f61bbc1f
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

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

compiler-rt may depend on libc (memset etc). Likewise a libc built by
clang may depend on compiler-rt builtins.

This circular dependency doesn't matter much once they're both compiled.
The easy compilation order to build both from source is:

1. install libc headers somewhere
2. build compiler-rt builtins against those headers
3. build libc against compiler-rt builtins

This patch relaxes the cmake sanity check to pass without requiring a
libc library. That allows the above sequence to work. Otherwise one
needs to build a static libc, then use that to pass the compiler-rt
cmake check, then build a normal libc.


  Commit: d31278896208d856b277e34bd7e2a63899f0b57b
      https://github.com/llvm/llvm-project/commit/d31278896208d856b277e34bd7e2a63899f0b57b
  Author: Xiangyang (Mark) Guo <helloguo at fb.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [InlineOrder] fix the calculation of Cost for CostBenefitPriority (#86630)

getCost() expects that isVariable() is true.
https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Analysis/InlineCost.h#L146

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


  Commit: 09155ac290b0906ac8011c87ee43d7c7a2710387
      https://github.com/llvm/llvm-project/commit/09155ac290b0906ac8011c87ee43d7c7a2710387
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  [LegalizeDAG] Remove unneeded temporary SDValues from PerformInsertVectorEltInMemory. NFC

There were 3 temporaries that just renamed the 3 well name arguments to the
function to Tmp1-3. Looks like this was done when the code was extracted from
elsewhere into a separate function 15 years ago.


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

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

  Log Message:
  -----------
  [NFC][NVPTX] remove truncating c-style cast (#85889)

While a stack size large enough to cause this truncation to be a problem
would certainly cause other issues and not produce a valid program
anyway, this cast is triggering our Coverity static analysis. Removing
it seems cleaner.


  Commit: 7db40463229bb1c9fb15b2107d878fe70d1eda65
      https://github.com/llvm/llvm-project/commit/7db40463229bb1c9fb15b2107d878fe70d1eda65
  Author: Vadim Paretsky <vadim.paretsky at intel.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_collapse.cpp
    A openmp/runtime/test/worksharing/for/collapse_test.inc
    A openmp/runtime/test/worksharing/for/omp_collapse_many_GELTGT_int.c
    A openmp/runtime/test/worksharing/for/omp_collapse_many_GTGEGT_int.c
    A openmp/runtime/test/worksharing/for/omp_collapse_many_LTLEGE_int.c
    A openmp/runtime/test/worksharing/for/omp_collapse_many_int.c
    A openmp/runtime/test/worksharing/for/omp_collapse_one_int.c

  Log Message:
  -----------
  [OpenMP] add loop collapse tests (#86243)

This PR adds loop collapse tests ported from MSVC.

---------

Co-authored-by: Vadim Paretsky <b-vadipa at microsoft.com>


  Commit: c43932ebdc407ed9633f7468dcb061b635e99a8d
      https://github.com/llvm/llvm-project/commit/c43932ebdc407ed9633f7468dcb061b635e99a8d
  Author: SevenIsSeven <150881358+SevenIsSeven at users.noreply.github.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  fix build error in MSVC build (#86622)

This commit(https://github.com/llvm/llvm-project/pull/84738) introduced
following compile warning then treated-as-error in MSVC build.

>>>"'^': unsafe mix of type 'unsigned int' and type 'bool' in operation"

---------

Co-authored-by: Seven <Seven.Li at amd.com>


  Commit: 3324f4d4f4bd82bc9fd43062d21a450671a3531b
      https://github.com/llvm/llvm-project/commit/3324f4d4f4bd82bc9fd43062d21a450671a3531b
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    A mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir

  Log Message:
  -----------
  [mlir][sparse] avoid incompatible linalg fuse-into-consumer (#86752)

This fixes an "infinite" loop bug, where the incoming IR was repeatedly
rewritten while adding identical cast operations. The test for
compatible types should include the notion of an encoding. If it
differs, then a
naive fusion into the consumer is invalid.


  Commit: 54a9f0e441c7cc3c954d24cfde00cb933306a9e9
      https://github.com/llvm/llvm-project/commit/54a9f0e441c7cc3c954d24cfde00cb933306a9e9
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrGISel.td
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir

  Log Message:
  -----------
  [RISCV][GISEL] Legalize, regbankselect, and instruction-select G_VSCALE (#85967)

G_VSCALE should be lowered using VLENB. If the type is not sXLen it
should be lowered using a G_VSCALE on the narrow type and a G_MUL.
regbank select and instruction select are straightforward so we really
only need to add tests to show it works.


  Commit: 373d8755140df0c760e9c292c5f88479cdda6f4c
      https://github.com/llvm/llvm-project/commit/373d8755140df0c760e9c292c5f88479cdda6f4c
  Author: Pavel Kosov <kpdev42 at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGen/cfi-check-attrs.c
    M clang/test/CodeGen/cfi-check-fail.c

  Log Message:
  -----------
  [cfi][CodeGen] Call SetLLVMFunctionAttributes{,ForDefinition} on __cf… (#78253)

…i_check

This causes __cfi_check, just as __cfi_check_fail, to get the proper
target-specific attributes, in particular uwtable for unwind table
generation. Previously, nounwind attribute could be inferred for
__cfi_check, which caused it to lose its unwind table even with
-funwind-table option.

~~

Huawei RRI, OS Lab

Co-authored-by: Nikolai Kholiavin <kholiavin.nikolai at huawei-partners.com>


  Commit: d345599c2851c7ef25d2350244cbfe7cfef36386
      https://github.com/llvm/llvm-project/commit/d345599c2851c7ef25d2350244cbfe7cfef36386
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegisterBankInfo.cpp

  Log Message:
  -----------
  [GISEL][NFC] Use getElementCount instead of getNumElements in more places

These cases in particular are  done as a precommit to support
legalization, regbank selection, and instruction selection for extends,
splat vectors, and integer compares in #85938.


  Commit: d023995ae2cc6ab968ec305ea7b6f11b6ac2e78f
      https://github.com/llvm/llvm-project/commit/d023995ae2cc6ab968ec305ea7b6f11b6ac2e78f
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Simplify EmitAMDGPUBuiltinExpr for load transposes, NFC (#86707)

We should not manually get the types of the loading data.
Instead, we can get the types from the intrinsics directly.


  Commit: 4720e3831b814fdd2e8441ee0ac05b6934fdf533
      https://github.com/llvm/llvm-project/commit/4720e3831b814fdd2e8441ee0ac05b6934fdf533
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h

  Log Message:
  -----------
  [NFC][Sanitizer] Refine the restriction on SizeClassAllocator64::kRegionSize (#86270)

This patch replaces the `SANITIZER_WORDSIZE / 2` with
`sizeof(CompactPtrT) * 8`, replaces hardcoded `4` with
`kCompactPtrScale` in assertion.


  Commit: 10b07f2324aa990664c4141ffab534603af35c7a
      https://github.com/llvm/llvm-project/commit/10b07f2324aa990664c4141ffab534603af35c7a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp

  Log Message:
  -----------
  [mlir][Interfaces] `ValueBoundsConstraintSet`: Add `dump` helper function (#86634)

This commit adds a helper function that dumps the constraint set and the
mapping of columns to values/dims. For debugging only.

Example output:
```
==========
Columns:
(column	dim	value)
 0	1	linalg.fill (result 0)
 1	1	tensor.extract_slice (result 0)
 2	n/a	affine.min (result 0)
 3	n/a	scf.for (bbarg 0)
 4	n/a	func.func (bbarg 2)

Constraint set:
Domain: 0, Range: 1, Symbols: 4, Locals: 0
6 constraints
(None	None	None	None	None	const)
 1	-1	0	0	0	0	= 0
 0	1	-1	0	0	0	= 0
 0	0	-1	-1	1	0	>= 0
 0	0	-1	0	0	4	>= 0
 0	0	0	1	0	0	>= 0
 0	0	0	-1	1	-1	>= 0
==========
```


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

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Transform/ops-invalid.mlir

  Log Message:
  -----------
  [mlir] fix crash in transform.print verification (#86679)

Transform op trait verification calls `getEffects`, and since trait
verification runs before op verification, this call cannot assume the op
to be valid. However, the operand getters now return a `TypedValue` that
unconditionally casts the value to the expected type, leading to an
assertion failure. Use the untyped mechanism instead.

Fixes #84701.


  Commit: 7545c635729a2055a429c5decd26a619a8d6e74b
      https://github.com/llvm/llvm-project/commit/7545c635729a2055a429c5decd26a619a8d6e74b
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll

  Log Message:
  -----------
  [RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)

Use the destination data type to measure the LMUL size for
latency/throughput cost


  Commit: 082e7c480e033c1b973b8379a31929d04e236868
      https://github.com/llvm/llvm-project/commit/082e7c480e033c1b973b8379a31929d04e236868
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [MemProf] Remove empty edges once after cloning (#85320)

Restructure the handling of edges that become empty during the cloning
process. Instead of removing them as they become empty (no context ids
and alloc type), do this once after all cloning is complete.

This has no effect on the cloning result, but prepares for a follow on
change that does improve the cloning. The structural change here reduces
the diffs for the follow on change, which would be much more difficult
with the previous handling.


  Commit: 4d03a9ecc697a11f0edd3c31440a7cae3398e24a
      https://github.com/llvm/llvm-project/commit/4d03a9ecc697a11f0edd3c31440a7cae3398e24a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir

  Log Message:
  -----------
  [RISCV] Preserve MMO when expanding PseudoRV32ZdinxSD/PseudoRV32ZdinxLD. (#85877)

This allows the asm printer to print the stack spill/reload messages.


  Commit: 9961c03e9ec2fc47cb42fd16141b89dd8d8e2c01
      https://github.com/llvm/llvm-project/commit/9961c03e9ec2fc47cb42fd16141b89dd8d8e2c01
  Author: Jeremy Day <jadaytime at gmail.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Support/Windows/Path.inc

  Log Message:
  -----------
  Return `errc::no_such_file_or_directory` in `fs::access` if `GetFileAttributesW` fails (#83495)

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

There is a race condition when calling `GetFileAttributesW` that can
cause it to return `ERROR_ACCESS_DENIED` on a path which exists, which
is unexpected for callers using this function to check for file
existence by passing `AccessMode::Exist`. This was manifesting as a
compiler crash on Windows downstream in the Swift compiler when using
the `-index-store-path` flag (more information in
https://github.com/apple/llvm-project/issues/8224).

I looked for alternate APIs to avoid bringing in `shlwapi.h`, but didn't
see any good candidates. I'm not tied at all to this solution, any
feedback and alternative approaches are more than welcome.


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

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

  Log Message:
  -----------
  [NFC][OpenMP] Silent unused variable in `kmp_collapse.cpp`


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

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

  Log Message:
  -----------
  [NFC][OpenMP] Use `SimpleVLA` to replace variable length arrays in C++


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    A llvm/test/MC/RISCV/rvv/zvkned-invalid.s
    A llvm/test/MC/RISCV/rvv/zvknh-invalid.s
    A llvm/test/MC/RISCV/rvv/zvksed-invalid.s
    A llvm/test/MC/RISCV/rvv/zvksh-invalid.s
    M llvm/test/MC/RISCV/rvv/zvksh.s

  Log Message:
  -----------
  [RISCV] Add register overlap checks to the assembler for some Zvk* instructions. (#86745)

>From the spec

| Instruction | Register | Cannot Overlap |
| ----------- | -------- | -------------- |
| vaes*.vs    | vs2      | vd             |
| vsm4r.vs    | vs2      | vd             |
| vsha2c[hl]  | vs1, vs2 | vd             |
| vsha2ms     | vs1, vs2 | vd             |
| sm3me       | vs2      | vd             |
| vsm3c       | vs2      | vd             |


  Commit: 8a9c1701704182d551bf9df1ff43363db56caab4
      https://github.com/llvm/llvm-project/commit/8a9c1701704182d551bf9df1ff43363db56caab4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll

  Log Message:
  -----------
  [RISCV] Align stack size down to a multiple of 16 before using cm.push/pop. (#86073)

This an alternative to #84935 to fix the miscompile, but not be optimal.

The immediate for cm.push/pop must be a multiple of 16. For RVE, it
might not be. It's not easy to increase the stack size without messing
up cfa directives and maybe other things.

This patch rounds the stack size down to a multiple of 16 before
clamping it to 48. This causes an extra addi to be emitted to handle the
remainder.

Once this commited, I can commit #84989 to add verification for these
instructions being generated with valid offsets.


  Commit: da3e58e74ad160c3dfa89e92f7dd31efeee6b258
      https://github.com/llvm/llvm-project/commit/da3e58e74ad160c3dfa89e92f7dd31efeee6b258
  Author: ShihPo Hung <shihpo.hung at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll

  Log Message:
  -----------
  Revert "[RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)"

This reverts commit 7545c635729a2055a429c5decd26a619a8d6e74b as it's
failing on the Linux bots.


  Commit: f1dff836593d4601e3ad78117df1d980d284bb9c
      https://github.com/llvm/llvm-project/commit/f1dff836593d4601e3ad78117df1d980d284bb9c
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Expose GPUCommonPass.h only by a single target. (#86730)

Move `GPUOpsLowering.cpp` from `//mlir:GPUCommonTransforms` to
`//mlir:GPUToGPURuntimeTransforms` to match the CMake setup.

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


  Commit: 9c0c98ed376f8705d0856f29a7ec659120187612
      https://github.com/llvm/llvm-project/commit/9c0c98ed376f8705d0856f29a7ec659120187612
  Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    A llvm/tools/llvm-debuginfo-analyzer/README.md
    R llvm/tools/llvm-debuginfo-analyzer/README.txt

  Log Message:
  -----------
  [llvm-debuginfo-analyzer][DOC] Convert 'README.txt' to markdown. (#86394)

As part of the WebAssembly support work
https://github.com/llvm/llvm-project/pull/85566

The README.txt is a bit odd since it only lists issues and problems
without talking about what works. It’s also hard to read on the GitHub
web view.

- Convert to Markdown and linking to the command docs
https://llvm.org/docs/CommandGuide/llvm-debuginfo-analyzer
- Rename some left 'elf reader' to 'DWARF reader'.


  Commit: 22bfc58cd08cd58c8866ef79f3529d314dcb77e5
      https://github.com/llvm/llvm-project/commit/22bfc58cd08cd58c8866ef79f3529d314dcb77e5
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
    A llvm/test/CodeGen/RISCV/make-compressible-zbc.mir

  Log Message:
  -----------
  [RISCV] Teach RISCVMakeCompressible handle byte/half load/store for Zcb. (#83375)

For targets with Zcb, this patch makes llvm generate more compress
c.lb/lbu/lh/lhu/sb/sh instructions.


  Commit: 16993c793a7d81771ea17a2991f76e87b4b0a6c0
      https://github.com/llvm/llvm-project/commit/16993c793a7d81771ea17a2991f76e87b4b0a6c0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll

  Log Message:
  -----------
  [NFC][HWASAN] Regenerate test


  Commit: 05a7b22a0132bebe99aabee591d3acc99d793ae1
      https://github.com/llvm/llvm-project/commit/05a7b22a0132bebe99aabee591d3acc99d793ae1
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/Transforms/Inline/RISCV/inline-target-features.ll
    A llvm/test/Transforms/Inline/RISCV/lit.local.cfg

  Log Message:
  -----------
  [RISCV] Add areInlineCompatible for riscv target (#86639)

Inline a callee if its target-features are a subset of the callers
target-features.


  Commit: 577e0ef94fb0b4ba9f97a6f58a1961f7ba247d21
      https://github.com/llvm/llvm-project/commit/577e0ef94fb0b4ba9f97a6f58a1961f7ba247d21
  Author: Alina Sbirlea <asbirlea at google.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M clang/unittests/AST/DeclPrinterTest.cpp

  Log Message:
  -----------
  [clang][AST] Silence unused-value warnings in unittest DeclPrinterTest


  Commit: aa2d5d54130bd9c5e9efb9ae3eaec631f227f13b
      https://github.com/llvm/llvm-project/commit/aa2d5d54130bd9c5e9efb9ae3eaec631f227f13b
  Author: ShihPo Hung <shihpo.hung at sifive.com>
  Date:   2024-03-26 (Tue, 26 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll

  Log Message:
  -----------
  Recommit "[RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)"

Changes in Recommit:
  Add an additional check on sign/zero extend to the same type.

Original message:
  Use the destination data type to measure the LMUL size for
  latency/throughput cost


  Commit: 6d13263d4a723689d025423562269ea6ccb6bfc2
      https://github.com/llvm/llvm-project/commit/6d13263d4a723689d025423562269ea6ccb6bfc2
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/binop-zext.ll

  Log Message:
  -----------
  [RISCV] Add tests for combineBinOpOfZExts. NFC (#86689)

Unlike add, sub and mul, we don't have widening instructions for div,
rem and logical ops, so we don't have any test coverage if we were to
extend combineBinOpOfZExts to handle them.

Adding tests coincidentally revealed that logical ops are already
narrowed as a generic DAG combine via
DAGCombiner::hoistLogicOpWithSameOpcodeHands. So we don't actually need
to run combineBinOpOfZExts on them.


  Commit: defc4859b032ccaec69f24b6cfd9882fece5f093
      https://github.com/llvm/llvm-project/commit/defc4859b032ccaec69f24b6cfd9882fece5f093
  Author: Jack Styles <99514724+Stylie777 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/test/Driver/aarch64-sve.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Remove Automatic Enablement of FEAT_F32MM (#85203)

When `+sve` is passed in the command line, if the Architecture being
targeted is V8.6A/V9.1A or later, `+f32mm` is also added. This enables
FEAT_32MM, however at the time of writing no CPU's support this. This
leads to the FEAT_32MM instructions being compiled for CPU's that do not
support them.

This commit removes the automatic enablement, however the option is
still able to be used by passing `+f32mm`.


  Commit: 2938f1cff9f880d03c900a2bdcd078af937d9433
      https://github.com/llvm/llvm-project/commit/2938f1cff9f880d03c900a2bdcd078af937d9433
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [InstCombine] Refactor powi(X,Y) / X to call foldPowiReassoc, NFC


  Commit: bd9bb31bce0754c0a04d5c842ab3e7f8dd467861
      https://github.com/llvm/llvm-project/commit/bd9bb31bce0754c0a04d5c842ab3e7f8dd467861
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/powi.ll

  Log Message:
  -----------
  [InstCombine] add restrict reassoc for the powi(X,Y) / X

add restrict reassoc for the powi(X,Y) / X according the discuss on PR69998.


  Commit: df75183d70e029352a49c93f275db703c81a65c1
      https://github.com/llvm/llvm-project/commit/df75183d70e029352a49c93f275db703c81a65c1
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

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

Adds logic to the IR verifier that checks whether !tbaa.struct nodes are
well-formed. That is, it checks that the operands of !tbaa.struct nodes
are in groups of three, that each group of three operands consists of
two integers and a valid tbaa node, and that the regions described by
the offset and size operands are non-overlapping.

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


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Add test case to show missing vmerge fold on tied pseudos. NFC

Note we can't use vwaddu.wv because it will get combined away with #78403


  Commit: cc23ee8250c2eda3f28c4d25c412e68ec78ecbe1
      https://github.com/llvm/llvm-project/commit/cc23ee8250c2eda3f28c4d25c412e68ec78ecbe1
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/test/COFF/exportas.test

  Log Message:
  -----------
  [LLD][COFF] Add support for EXPORTAS import name type. (#86541)

#78772 added similar support for .def file parser and import library
writer. This PR adds missing bits in LLD to propagate EXPORTAS name and
allow it in `/export` parser. This is syntax is used by MSVC for ARM64EC
`__declspec(dllexport)` handling.


  Commit: c9d12664f2f967ec170ed16d9a57af2f48e832c8
      https://github.com/llvm/llvm-project/commit/c9d12664f2f967ec170ed16d9a57af2f48e832c8
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/test/tools/llvm-lib/arm64ec-implib.test

  Log Message:
  -----------
  [llvm-dlltool][llvm-lib][COFF] Don't override NONAME exports with demangled ARM64EC symbols. (#86722)


  Commit: ab7dba233a058cc8310ef829929238b5d8440b30
      https://github.com/llvm/llvm-project/commit/ab7dba233a058cc8310ef829929238b5d8440b30
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/CSKY/csky-abi.c
    M clang/test/CodeGen/LoongArch/abi-lp64d.c
    M clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c
    M clang/test/CodeGen/PowerPC/aix-vaargs.c
    M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    M clang/test/CodeGen/WebAssembly/wasm-varargs.c
    M clang/test/CodeGen/X86/va-arg-sse.c
    M clang/test/CodeGen/X86/x86_64-vaarg.c
    M clang/test/CodeGen/aarch64-ABI-align-packed.c
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/arm-varargs.c
    M clang/test/CodeGen/hexagon-linux-vararg.c
    M clang/test/CodeGen/mips-varargs.c
    M clang/test/CodeGen/pr53127.cpp
    A clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
    M clang/test/CodeGen/xcore-abi.c
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/CodeGenCXX/ibm128-declarations.cpp
    M clang/test/CodeGenCXX/x86_64-vaarg.cpp
    M clang/test/Modules/codegen.test
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/Bitcode/compatibility-3.6.ll
    M llvm/test/Bitcode/compatibility-3.7.ll
    M llvm/test/Bitcode/compatibility-3.8.ll
    M llvm/test/Bitcode/compatibility-3.9.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/Bitcode/variableArgumentIntrinsic.3.2.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
    M llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg-kernel.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
    M llvm/test/Instrumentation/MemorySanitizer/msan_debug_info.ll
    M llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll
    M llvm/test/Transforms/IROutliner/illegal-vaarg.ll
    M llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
    M llvm/test/Transforms/NewGVN/pr31483.ll
    M llvm/test/Transforms/Reassociate/vaarg_movable.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/basic.ll
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [CodeGen][LLVM] Make the `va_list` related intrinsics generic. (#85460)

Currently, the builtins used for implementing `va_list` handling
unconditionally take their arguments as unqualified `ptr`s i.e. pointers
to AS 0. This does not work for targets where the default AS is not 0 or
AS 0 is not a viable AS (for example, a target might choose 0 to
represent the constant address space). This patch changes the builtins'
signature to take generic `anyptr` args, which corrects this issue. It
is noisy due to the number of tests affected. A test for an upstream
target which does not use 0 as its default AS (SPIRV for HIP device
compilations) is added as well.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll

  Log Message:
  -----------
  AMDGPU: Fix dead check prefixes in test


  Commit: 1103a2a337e90d8c7cc417b89e43c7a33aaea21e
      https://github.com/llvm/llvm-project/commit/1103a2a337e90d8c7cc417b89e43c7a33aaea21e
  Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
    A llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
    A llvm/test/MC/AMDGPU/hsa-tg-split.s

  Log Message:
  -----------
  Reland [AMDGPU] MCExpr-ify MC layer kernel descriptor (#86494)

Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.

Relands #80855 with fixes


  Commit: 408c36522f7eb8638314b584995daf5790968842
      https://github.com/llvm/llvm-project/commit/408c36522f7eb8638314b584995daf5790968842
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 1103a2a337e9


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

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

  Log Message:
  -----------
  [DAG] visitSub - reuse existing SDLoc instead of regenerating it. NFC.


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

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

  Log Message:
  -----------
  [DAG] foldAddSubOfSignBit - reuse existing SDLoc instead of regenerating it. NFC.


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

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

  Log Message:
  -----------
  [X86] Add combineExtractFromVectorLoad helper - pulled out of combineExtractVectorElt

Prep work for #85419 to make it easier to reuse in other combines


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

  Changed paths:
    M llvm/test/CodeGen/X86/masked_store.ll

  Log Message:
  -----------
  [X86] masked_store.ll - add nounwind to remove cfi noise


  Commit: b8cc838427efa80eb5ca4ec7c8adb53e4adfc4c7
      https://github.com/llvm/llvm-project/commit/b8cc838427efa80eb5ca4ec7c8adb53e4adfc4c7
  Author: komalverma04 <komal148btit21 at igdtuw.ac.in>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td

  Log Message:
  -----------
  [analyzer][docs] Document the `optin.performance.Padding` checker (#86411)

Closes #73675

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Co-authored-by: NagyDonat <donat.nagy at ericsson.com>


  Commit: 4f9aab2b500d3df0cc5d54f2d29c8199507af66c
      https://github.com/llvm/llvm-project/commit/4f9aab2b500d3df0cc5d54f2d29c8199507af66c
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CMakeLists.txt
    A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
    A llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
    A llvm/utils/TableGen/Common/GlobalISel/PatternParser.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen][GlobalISel] Move MIR pattern parsing out of combiner (#86789)

Reland of cfa0833ccc7450a322e709583e894e4c96ce682e


  Commit: 26464f2662d13c7c6ef9f8180b1653c046cd60a7
      https://github.com/llvm/llvm-project/commit/26464f2662d13c7c6ef9f8180b1653c046cd60a7
  Author: Justin Cady <desk at justincady.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/stack-protector.ll

  Log Message:
  -----------
  [FreeBSD] Mark __stack_chk_guard dso_local except for PPC64 (#86665)

Adjust logic of 1cb9f37a17ab to match freebsd/freebsd-src at 9a4d48a645a7a.

D113443 is the original attempt to bring this FreeBSD patch to
llvm-project,
but it never landed. This change is required to build FreeBSD kernel
modules
with -fstack-protector using a standard LLVM toolchain. The FreeBSD
kernel
loader does not handle R_X86_64_REX_GOTPCRELX relocations.

Fixes #50932.


  Commit: 932949dbb517b089af28fdc480a16a738ee5db78
      https://github.com/llvm/llvm-project/commit/932949dbb517b089af28fdc480a16a738ee5db78
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    A clang/test/APINotes/Inputs/APINotes/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders/APINotes.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders/SomeBrokenLib.h
    A clang/test/APINotes/Inputs/BrokenHeaders2/APINotes.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders2/SomeBrokenLib.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Headers/FrameworkWithActualPrivateModule.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Headers/FrameworkWithWrongCase.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/PrivateHeaders/FrameworkWithWrongCase_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Headers/FrameworkWithWrongCasePrivate.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/PrivateHeaders/FrameworkWithWrongCasePrivate_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Headers/LayeredKit.h
    A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.apinotes
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.h
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKitForNullAnnotation.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module_private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_Private.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_PrivateForNullAnnotation.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/APINotes/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.h
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit.h
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.h
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.h
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Headers/APINotes.apinotes
    A clang/test/APINotes/Inputs/Headers/BrokenTypes.apinotes
    A clang/test/APINotes/Inputs/Headers/BrokenTypes.h
    A clang/test/APINotes/Inputs/Headers/ExternCtx.apinotes
    A clang/test/APINotes/Inputs/Headers/ExternCtx.h
    A clang/test/APINotes/Inputs/Headers/HeaderLib.apinotes
    A clang/test/APINotes/Inputs/Headers/HeaderLib.h
    A clang/test/APINotes/Inputs/Headers/InstancetypeModule.apinotes
    A clang/test/APINotes/Inputs/Headers/InstancetypeModule.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate_Private.apinotes
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase_Private.apinotes
    A clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
    A clang/test/APINotes/Inputs/Headers/Namespaces.h
    A clang/test/APINotes/Inputs/Headers/PrivateLib.apinotes
    A clang/test/APINotes/Inputs/Headers/PrivateLib.h
    A clang/test/APINotes/Inputs/Headers/PrivateLib_private.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    A clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/Inputs/Headers/module.private.modulemap
    A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.apinotes
    A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.h
    A clang/test/APINotes/Inputs/yaml-reader-errors/module.modulemap
    A clang/test/APINotes/availability.m
    A clang/test/APINotes/broken_types.m
    A clang/test/APINotes/case-for-private-apinotes-file.c
    A clang/test/APINotes/extern-context.cpp
    A clang/test/APINotes/instancetype.m
    A clang/test/APINotes/module-cache.m
    A clang/test/APINotes/namespaces.cpp
    A clang/test/APINotes/nullability.c
    A clang/test/APINotes/nullability.m
    A clang/test/APINotes/objc-forward-declarations.m
    A clang/test/APINotes/objc_designated_inits.m
    A clang/test/APINotes/properties.m
    A clang/test/APINotes/retain-count-convention.m
    A clang/test/APINotes/search-order.m
    A clang/test/APINotes/swift-import-as.cpp
    A clang/test/APINotes/top-level-private-modules.c
    A clang/test/APINotes/types.m
    A clang/test/APINotes/versioned-multi.c
    A clang/test/APINotes/versioned.m
    A clang/test/APINotes/yaml-convert-diags.c
    A clang/test/APINotes/yaml-parse-diags.c
    A clang/test/APINotes/yaml-reader-errors.m

  Log Message:
  -----------
  [APINotes] Upstream the remaining API Notes fixes and tests

This upstreams the last bits of Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes


  Commit: b343b02a88821cab320e7d9976a05eabd0df29ec
      https://github.com/llvm/llvm-project/commit/b343b02a88821cab320e7d9976a05eabd0df29ec
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

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


  Commit: 2fa46ca922178ec049006a1b4851058400cbada9
      https://github.com/llvm/llvm-project/commit/2fa46ca922178ec049006a1b4851058400cbada9
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M .github/workflows/scorecard.yml

  Log Message:
  -----------
  [workflows] Update the version of the scorecard-action (#86753)

I'm hoping this will fix the errors we've been seeing the last few days:

2024-03-19T20:44:07.4841482Z 2024/03/19 20:44:07 error signing scorecard
json results: error signing payload: getting key from Fulcio: verifying
SCT: updating local metadata and targets: error updating to TUF remote
mirror: invalid key


  Commit: 6e6d266fb8cc1398e7d5a220a9332d88ce074464
      https://github.com/llvm/llvm-project/commit/6e6d266fb8cc1398e7d5a220a9332d88ce074464
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp

  Log Message:
  -----------
  [libc++] Fix one case in saturate_cast.pass.cpp for 64-bit on z/OS (#86724)

On z/OS int128 is disabled causing one of the cases in
`saturate_cast.pass.cpp` to fail. The failure is only in 64-bit mode.
In this case `the std::numeric_limits<long long int>::max()` is within
`std::numeric_limits<unsigned long int>::min()`
and `std::numeric_limits<unsigned long int>::max()` therefore,
saturate_cast<unsigned long int>( sBigMax) == LONG_MAX and not ULONG_MAX
as original test.

In 32-bit, `saturate_cast<unsigned long int>( sBigMax) == ULONG_MAX`
like on other platforms where int128 is enabled.

This PR is required to pass this test case on z/OS and possibly on other
platforms where int128 is not supported/enabled.

---------

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


  Commit: 2cb7ea1553a5c7be81bee4ed3c51b7727b9d2ee8
      https://github.com/llvm/llvm-project/commit/2cb7ea1553a5c7be81bee4ed3c51b7727b9d2ee8
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [lldb][nfc] Delete unused variable (#86740)

This was made unused by d9ec4b24a84addb8bd77b5d9dd990181351cf84c.


  Commit: f5296df97c6bdc6cb658691e5863fdbf336d4430
      https://github.com/llvm/llvm-project/commit/f5296df97c6bdc6cb658691e5863fdbf336d4430
  Author: Kevin P. Neal <52762977+kpneal at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [FPEnv][AMDGPU] Correct AMDGPUSimplifyLibCalls handling of strictfp attribute. (#86705)

The AMDGPUSimplifyLibCalls pass was lowering function calls with the
strictfp attribute to sequences that included function calls incorrectly
lacking the attribute. This patch corrects that.

The pass now also emits the correct constrained fp call instead of
normal FP instructions when in a function with the strictfp attribute.
Replacing non-constrained calls with constrained calls when required
is still on the IRBuilder's TODO list.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll

  Log Message:
  -----------
  [SLP]Fix PR86798: handle phi nodes being trunced, but not its operands.

If the phi node is trunced, but not its operand(s), need to handle this
situation in the assertion, code already does the right transformation.


  Commit: 11b20d7ab09511d9e2bcd40606dfd3b31976efe0
      https://github.com/llvm/llvm-project/commit/11b20d7ab09511d9e2bcd40606dfd3b31976efe0
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [clang] Fix an out-of-bound crash when checking template partial specializations. (#86794)

I found this issue (a separate one) during the investigation of #86757,
the crash is similar in substituteParameterMappings, but at different
inner places.

This was an out-of-bound issue where we access front element in an empty
written template argument list to get the instantiation source range.
This patch fixes it by adding a proper guard.


  Commit: 9f84594e4ef87a50d1599814ba99fb735da76826
      https://github.com/llvm/llvm-project/commit/9f84594e4ef87a50d1599814ba99fb735da76826
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb][Dwarf] Add missing timer when parsing .debug_abbrev. (#86568)

The time spent on parsing `.debug_abbrev` is also part of debug info
parsing time.


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

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

  Log Message:
  -----------
  [X86] combineExtractWithShuffle - use combineExtractFromVectorLoad to extract scalar load from shuffled vector load

Improves #85419


  Commit: 91896607ffb84561a7a2e466a00fdf1938c5bb63
      https://github.com/llvm/llvm-project/commit/91896607ffb84561a7a2e466a00fdf1938c5bb63
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Specifiers.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
    M clang/tools/libclang/CXType.cpp
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Target/RISCV/RISCVCallingConv.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    A llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll

  Log Message:
  -----------
  [RISCV] RISCV vector calling convention (1/2) (#77560)

    [RISCV] RISCV vector calling convention (1/2)

    This is the vector calling convention based on
    https://github.com/riscv-non-isa/riscv-elf-psabi-doc,
    the idea is to split between "scalar" callee-saved registers
    and "vector" callee-saved registers. "scalar" ones remain the
    original strategy, however, "vector" ones are handled together
    with RVV objects.

    The stack layout would be:

      |--------------------------| <-- FP
      | callee-allocated save    |
      | area for register varargs|
      |--------------------------|
      | callee-saved registers   | <-- scalar callee-saved
      |        (scalar)          |
      |--------------------------|
      | RVV alignment padding    |
      |--------------------------|
      | callee-saved registers   | <-- vector callee-saved
      |        (vector)          |
      |--------------------------|
      | RVV objects              |
      |--------------------------|
      | padding before RVV       |
      |--------------------------|
      | scalar local variables   |
      |--------------------------| <-- BP
      | variable size objects    |
      |--------------------------| <-- SP

    Note: This patch doesn't contain "tuple" type, e.g. vint32m1x2.
          It will be handled in https://github.com/riscv-non-isa/riscv-elf-psabi-doc (2/2).

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


  Commit: 58de1e2c5eee548a9b365e3b1554d87317072ad9
      https://github.com/llvm/llvm-project/commit/58de1e2c5eee548a9b365e3b1554d87317072ad9
  Author: Wesley Wiser <wwiser at gmail.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

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

For very large stack frames, the offset from the stack pointer to a local can be more than 2^31 which overflows various `int` offsets in the frame lowering code.

This patch updates the frame lowering code to calculate the offsets as 64-bit values and resolves the overflows, resulting in the correct codegen for very large frames.

Fixes #48911


  Commit: 13b653ab112736b92cd7f8ef249ced2b148ee7f4
      https://github.com/llvm/llvm-project/commit/13b653ab112736b92cd7f8ef249ced2b148ee7f4
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb-error.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-error.c
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [clang][RISCV] Enable RVV with function attribute __attribute__((target("arch=+v"))) (#83674)

It is currently not possible to use "RVV type" and "RVV intrinsics" if
the "zve32x" is not enabled globally. However in some cases we may want
to use them only in some functions, for instance:
```
#include <riscv_vector.h>

__attribute__((target("+zve32x")))
vint32m1_t rvv_add(vint32m1_t v1, vint32m1_t v2, size_t vl) {
  return __riscv_vadd(v1, v2, vl);
}

int other_add(int i1, int i2) {
  return i1 + i2;
}
```
, it is supposed to be compilable even the vector is not specified, e.g.
`clang -target riscv64 -march=rv64gc -S test.c`.


  Commit: 51f7b262425959d4e2bd6bc79fed283586d0472e
      https://github.com/llvm/llvm-project/commit/51f7b262425959d4e2bd6bc79fed283586d0472e
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

  Log Message:
  -----------
  [libc][support][UInt] implement 128b math helpers (#86531)

Flush out the remaining UInt<128> support and add test coverage.

We could have used cpp::popcount in the implementation of
UInt::has_single_bit, but
has_single_bit has a perhaps useful early return.


  Commit: aa2c14de1adcd265bf0c0fb44f97b5d6c1c38710
      https://github.com/llvm/llvm-project/commit/aa2c14de1adcd265bf0c0fb44f97b5d6c1c38710
  Author: Terry Wilmarth <terry.l.wilmarth at intel.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

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

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

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


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

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

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

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

---------

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


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

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

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

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


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

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

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

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


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

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

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

This is failing on some EXPENSIVE_CHECKS buildbots


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

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

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

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

cc @nickdesaulniers


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

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

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

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

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

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

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

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


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

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

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


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

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

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

Help identify EXPENSIVE_CHECKS regressions identified in #84114


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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

Current Bionic processes relocations in this order:

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

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

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


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

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

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

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

Fixes #85419


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

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

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


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

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

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

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


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

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

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

HWASAN does not behave as expected yet.

Reviewers: fmayer, thurstond

Reviewed By: fmayer, thurstond

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


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

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

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

This will be used by #86775


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

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

This reverts commit 36ca9a29025a2f678096e9545fa2ec44e8432592.

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

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

Test command:

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


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

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

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

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

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


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

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

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

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


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

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

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

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

Original commit message:

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

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

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

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

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

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


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

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

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


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

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

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

This reverts commit 009f88fc0e3a036be97ef7b222b90af342bae0b7.

Reverting PR due to test failure.


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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

Fixes #86717


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

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

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


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

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

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


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

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

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


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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

This reverts commit df75183d70e029352a49c93f275db703c81a65c1.

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


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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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


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

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

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

Reported by Static Analyzer Tool:

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

in clang::Sema::getMoreSpecializedTemplate().


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

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

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

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

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

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


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

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

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

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

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

Reviewers: rafaelauler, ayermolo, maksfb, dcci

Reviewed By: maksfb

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


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

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

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

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


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

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

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

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

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

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

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

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

Fixes #84565


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

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

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

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

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

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


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

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

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

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

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

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

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

Reviewers: ayermolo, maksfb, rafaelauler

Reviewed By: maksfb

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


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

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

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


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

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

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

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


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

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

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


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

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

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

Fixes #86827

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

cc @dcb314


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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

Linux specific test was introduced by #86537


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

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

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

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


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

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

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

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


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

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

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

This reverts commit d9a685a9dd589486e882b722e513ee7b8c84870c.

The commit broke ubsan bots.


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

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

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

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

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

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

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


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

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

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

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

---------

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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

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


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

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

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

Hello,

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

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

---------

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


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

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

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

Fixes #86451.


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

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

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

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


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

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

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

This reverts commit 52431fdb1ab8d29be078edd55250e06381e4b6b0.

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


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

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

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

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


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

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

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

Two fixes related to the callee/inlinee profile:

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

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


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

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

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

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


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

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

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

Removes Unnecessary Semicolon

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


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

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

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

This is required to avoid multiple definitions error.


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

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

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

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

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

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


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

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

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

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


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

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

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

Fixes #85406.

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


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

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

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

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

# C API

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

    LLVMDIBuilderInsertDeclareBefore
    LLVMDIBuilderInsertDeclareAtEnd
    LLVMDIBuilderInsertDbgValueBefore
    LLVMDIBuilderInsertDbgValueAtEnd

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

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

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

# OCaml bindings

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

Add string_of_lldbgrecord, like string_of_llvalue but prints DbgRecords.

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


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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

This pr fixes #86262.

---------

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


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

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

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

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

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


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

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

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

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

## Issue

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

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

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

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

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

  va_end(args_cp);

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

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

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

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

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

## Cause

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


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

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

## Changes

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


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

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

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

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


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

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

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


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

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

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

This PR fixes #86227.


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

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

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

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


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

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

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

... instead of the source tree


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

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

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

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

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

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

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

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

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


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

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


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

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

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

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

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

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


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

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

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

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

cc @dtcxzyw @tschuett


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

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

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

Fixes #86825


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

Fixes #86757

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


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

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

  Log Message:
  -----------
  [AIX][TOC] -mtocdata/-mno-tocdata fix non deterministic iteration order (#86840)

Failure with testcase toc-conf.c observed when building with
LLVM_REVERSE_ITERATION=ON.
Changing from using llvm::StringSet to std::set<llvm:StringRef> to
ensure iteration order is deterministic. Note: the functionality of the
feature does not require a specific iteration order, however, this will
allow testing to be consistent.
>From llvm docs:
The advantages of std::set are that its iterators are stable (deleting
or inserting an element from the set does not affect iterators or
pointers to other elements) and that iteration over the set is
guaranteed to be in sorted order.


  Commit: 79199753fd6c39aac881b9556614c5db2775dc85
      https://github.com/llvm/llvm-project/commit/79199753fd6c39aac881b9556614c5db2775dc85
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M flang/include/flang/Lower/OpenMP.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Make several function local to OpenMP.cpp, NFC (#86726)

There were several functions, mostly reduction-related, that were only
called from OpenMP.cpp. Remove them from OpenMP.h, and make them local
in OpenMP.cpp:
- genOpenMPReduction
- findReductionChain
- getConvertFromReductionOp
- updateReduction
- removeStoreOp

Also, move the function bodies out of the "public" section.


  Commit: 56a10a3c7930164a875db7c34da8c2a8b8abfbee
      https://github.com/llvm/llvm-project/commit/56a10a3c7930164a875db7c34da8c2a8b8abfbee
  Author: VitaNuo <115406782+VitaNuo at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/support/Trace.h

  Log Message:
  -----------
  [clangd][trace] Fix comment to mention that trace spans are measured … (#86938)

…in milliseconds rather than seconds.


  Commit: e8e80d07c867cadcfd82741693a04b2913904956
      https://github.com/llvm/llvm-project/commit/e8e80d07c867cadcfd82741693a04b2913904956
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [OpenMP] Apply post-commit review comments in PR86289, NFC (#86828)

Fix include guard name, fix typo, add comments with OpenMP spec
sections.


  Commit: a2982a29fdfcfe2904754815c85f630a4dc6d88c
      https://github.com/llvm/llvm-project/commit/a2982a29fdfcfe2904754815c85f630a4dc6d88c
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)"

This reverts commit 86692258637549ed9f863c3d2ba47b49f61bbc1f.

Reverting due to buildbot failures.


  Commit: 96c8e2e88cc68416ddce4a9bf1a9221387b6d4b3
      https://github.com/llvm/llvm-project/commit/96c8e2e88cc68416ddce4a9bf1a9221387b6d4b3
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesManager.cpp
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/export-as.c

  Log Message:
  -----------
  [APINotes] For a re-exported module, look for APINotes in the re-exporting module's apinotes file

This upstreams https://github.com/apple/llvm-project/pull/8063.

If module FooCore is re-exported through module Foo (by using
`export_as` in the modulemap), look for attributes of FooCore symbols in
Foo.apinotes file.

Swift bundles `std.apinotes` file that adds Swift-specific attributes to
the C++ stdlib symbols. In recent versions of libc++, module std got
split into multiple top-level modules, each of them is re-exported
through std. This change allows us to keep using a single modulemap file
for all supported C++ stdlibs.

rdar://121680760


  Commit: 91856b34e3eddf157ab4c6ea623483b49d149e62
      https://github.com/llvm/llvm-project/commit/91856b34e3eddf157ab4c6ea623483b49d149e62
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/examples/transform/Ch4/include/MyExtension.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    R mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h
    A mlir/include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    R mlir/lib/Dialect/Transform/IR/MatchInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td

  Log Message:
  -----------
  [mlir] move MatchOpInterface under Transform/Interfaces (#86899)

This is similar to the TransformOpInterface move.


  Commit: eacda36c7dd842cb15c0c954eda74b67d0c73814
      https://github.com/llvm/llvm-project/commit/eacda36c7dd842cb15c0c954eda74b67d0c73814
  Author: Rolf Morel <rolf.morel at huawei.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/SCF/transform-loop-fuse-sibling.mlir

  Log Message:
  -----------
  [SCF][Transform] Add support for scf.for in LoopFuseSibling op (#81495)

Adds support for fusing two scf.for loops occurring in the same block.
Uses the rudimentary checks already in place for scf.forall (like the
target loop's operands being dominated by the source loop).

- Fixes a bug in the dominance check whereby it was checked that values
in the target loop themselves dominated the source loop rather than the
ops that define these operands.
- Renames the LoopFuseSibling op to LoopFuseSiblingOp.
- Updates LoopFuseSiblingOp's description.
- Adds tests for using LoopFuseSiblingOp on scf.for loops, including one
which fails without the fix for the dominance check.
- Adds tests checking the different failure modes of the dominance
checker.
- Adds test for case whereby scf.yield is automatically generated when
there are no loop-carried variables.


  Commit: a3efc53f168b1451803a40075201c3490d6e3928
      https://github.com/llvm/llvm-project/commit/a3efc53f168b1451803a40075201c3490d6e3928
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
    A llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll

  Log Message:
  -----------
  [AIX][TLS] Produce a faster local-exec access sequence for the "aix-small-tls" global variable attribute (#83053)

Similar to 3f46e5453d9310b15d974e876f6132e3cf50c4b1, this patch allows
the backend to produce a faster access sequence for the local-exec TLS
model, where loading from the TOC can be avoided, for local-exec TLS
variables that are annotated with the "aix-small-tls" attribute.

The expectation is for local-exec TLS variables to be set with this
attribute through PGO. Furthermore, the optimized access sequence is
only generated for local-exec TLS variables annotated with
"aix-small-tls", only if they are less than ~32KB in size.


  Commit: 84780af4b02cb3b86e4cb724f996bf8e02f2f2e7
      https://github.com/llvm/llvm-project/commit/84780af4b02cb3b86e4cb724f996bf8e02f2f2e7
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#86923)

To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.

This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.

In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.

This reapplies d9a685a9dd589486e882b722e513ee7b8c84870c, which was
reverted because it broke ubsan bots. There seems to be a bug in
coroutine code-gen, which is causing EmitTypeCheck to use the wrong
alignment. For now, pass alignment zero to EmitTypeCheck so that it can
compute the correct alignment based on the passed type (see function
EmitCXXMemberOrOperatorMemberCallExpr).


  Commit: a515ea553f773cbb75e4aabeed7d05cc353345c8
      https://github.com/llvm/llvm-project/commit/a515ea553f773cbb75e4aabeed7d05cc353345c8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Bindings/OCaml/core.ml

  Log Message:
  -----------
  [OCaml] Fix buildbot failure caused by caa2258. NFC.

Closes #86944.


  Commit: ff870aeeb7354fd3f681c17e248131e1065ac407
      https://github.com/llvm/llvm-project/commit/ff870aeeb7354fd3f681c17e248131e1065ac407
  Author: Alfie Richards <alfie.richards at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM] Add reference to `ARMAsmParser` in `ARMOperand` (#86110)


  Commit: d7975c9d93fb4a69c0bd79d7d5b3f6be77a25c73
      https://github.com/llvm/llvm-project/commit/d7975c9d93fb4a69c0bd79d7d5b3f6be77a25c73
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll

  Log Message:
  -----------
  [SLP]Add better minbitwidth analysis for udiv/urem instructions.

Adds improved bitwidth analysis for udiv/urem instructions. The
analysis is based on similar version in InstCombiner.

Reviewers: RKSimon

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/85928


  Commit: d7753989eaa38e8b7a4ff01d8fced726eea3e34b
      https://github.com/llvm/llvm-project/commit/d7753989eaa38e8b7a4ff01d8fced726eea3e34b
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir

  Log Message:
  -----------
  [mlir][linalg] Add e2e test for linalg.mmt4d + pack/unpack (#84964)

This is a follow-up for #81790. This patch basically extends:

  * test/Integration/Dialect/Linalg/CPU/mmt4d.mlir

with pack/unpack ops so that to overall computation is a matrix
multiplication (as opposed to linalg.mmt4d). For comparison (and to make
it easier to verify correctness), linalg.matmul is also included in the
test.


  Commit: ffed554f2d6590acd5cc8d66af916ec1938326b9
      https://github.com/llvm/llvm-project/commit/ffed554f2d6590acd5cc8d66af916ec1938326b9
  Author: Ed Maste <emaste at freebsd.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Switch FreeBSD to C++26 (#86658)


  Commit: d3aa92ed142409266ebcc9cbc20e5f2c2d0209c0
      https://github.com/llvm/llvm-project/commit/d3aa92ed142409266ebcc9cbc20e5f2c2d0209c0
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Add support for scalable vectors to VectorLinearize (#86786)

Adds support for scalable vectors to patterns defined in
VectorLineralize.cpp.

Linearization is disable in 2 notable cases:
  * vectors with more than 1 scalable dimension (we cannot represent
    vscale^2),
  * vectors initialised with arith.constant that's not a vector splat
    (such arith.constant Ops cannot be flattened).


  Commit: ae280281ce9f14f413ced0e44158a6fd41a98243
      https://github.com/llvm/llvm-project/commit/ae280281ce9f14f413ced0e44158a6fd41a98243
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix for value constructor in class derived from optional. (#86942)

The constructor `Derived(int)` in the newly added test
`ClassDerivedFromOptionalValueConstructor` is not a template, and this
used to
cause an assertion failure in `valueOrConversionHasValue()` because
`F.getTemplateSpecializationArgs()` returns null.

(This is modeled after the `MaybeAlign(Align Value)` constructor, which
similarly causes an assertion failure in the analysis when assigning an
`Align`
to a `MaybeAlign`.)

To fix this, we can simply look at the type of the destination type
which we're
constructing or assigning to (instead of the function template
argument), and
this not only fixes this specific case but actually simplifies the
implementation.

I've added some additional tests for the case of assigning to a nested
optional
because we didn't have coverage for these and I wanted to make sure I
didn't
break anything.


  Commit: e251f56a4d808340765112dd78edc6e6619dd05b
      https://github.com/llvm/llvm-project/commit/e251f56a4d808340765112dd78edc6e6619dd05b
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Make CMake messages better fit into LLVM (#86945)

The libclc project is currently only properly supported as an external
project. However, when trying to get it to also build in-tree, the CMake
configuration messages it outputs stand out amongst the rest of the LLVM
projects and sub-projects.

This commit makes all messages clear that they belong to the libclc
project, as well as turning them into 'STATUS' messages where
appropriate.


  Commit: 94b5c118b3da99012e00d3e2d7c74784de9fc7ab
      https://github.com/llvm/llvm-project/commit/94b5c118b3da99012e00d3e2d7c74784de9fc7ab
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [ISel] Move handling of atomic loads from SystemZ to DAGCombiner (NFC). (#86484)

The folding of sign/zero extensions into an atomic load by specifying an
extension type is not target specific, and therefore belongs in the
DAGCombiner rather than in the SystemZ backend.

- Handle atomic loads similarly to regular loads by adding
AtomicLoadExtActions with set/get methods.
- Move SystemZ extendAtomicLoad() to DagCombiner.cpp.


  Commit: f566b079f171f28366a66b8afa4a975bc4005529
      https://github.com/llvm/llvm-project/commit/f566b079f171f28366a66b8afa4a975bc4005529
  Author: Jerry Wu <cheyuw at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/test/Dialect/Tensor/drop-redundant-insert-slice-rank-expansion.mlir

  Log Message:
  -----------
  [MLIR] Add pattern to fold insert_slice of extract_slice (#86328)

Fold the `tensor.insert_slice` of `tensor.extract_slice` into
`tensor_extract_slice` when the `insert_slice` simply expand some unit
dims dropped by the `extract_slice`.


  Commit: f90813543b57a9753c549ac0aac083b879b94230
      https://github.com/llvm/llvm-project/commit/f90813543b57a9753c549ac0aac083b879b94230
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    A llvm/test/CodeGen/X86/pr86880.mir

  Log Message:
  -----------
  [MCP] Use MachineInstr::all_defs instead of MachineInstr::defs in hasOverlappingMultipleDef. (#86889)

defs does not return the defs for inline assembly. We need to use
all_defs to find them.

Fixes #86880.


  Commit: 152fcf6e77c9b83ac5cae1c0d7c0a9cf5680c7bd
      https://github.com/llvm/llvm-project/commit/152fcf6e77c9b83ac5cae1c0d7c0a9cf5680c7bd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td

  Log Message:
  -----------
  [RISCV] Add validation of SPIMM for cm.push/pop. (#84989)

This checks the immediate is a multiple of 16 bytes.


  Commit: 7789ec067dfcb07cc1f2222f48d9bb8e004c0d72
      https://github.com/llvm/llvm-project/commit/7789ec067dfcb07cc1f2222f48d9bb8e004c0d72
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/char_vector.h
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtold.cpp

  Log Message:
  -----------
  [libc] s/NULL/nullptr (#86867)

Otherwise we need to pull in stddef.h for the declaration of NULL.


  Commit: 276335389133d6acf5f9d7d2f8ce09f9c610cb9c
      https://github.com/llvm/llvm-project/commit/276335389133d6acf5f9d7d2f8ce09f9c610cb9c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/DWARF.h
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/SyntheticSections.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/Object/ELFTypes.h
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/InterfaceStub/ELFObjHandler.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [Object,ELFType] Rename TargetEndianness to Endianness (#86604)

`TargetEndianness` is long and unwieldy. "Target" in the name is confusing. Rename it to "Endianness".

I cannot find noticeable out-of-tree users of `TargetEndianness`, but
keep `TargetEndianness` to make this patch safer. `TargetEndianness`
will be removed by a subsequent change.


  Commit: 0f61051f541a5b8cfce25c84262dfdbadb9ca688
      https://github.com/llvm/llvm-project/commit/0f61051f541a5b8cfce25c84262dfdbadb9ca688
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
    M llvm/include/llvm/IR/IntrinsicInst.h

  Log Message:
  -----------
  [clang][HLSL][SPRI-V] Add convergence intrinsics (#80680)

HLSL has wave operations and other kind of function which required the
control flow to either be converged, or respect certain constraints as
where and how to re-converge.

At the HLSL level, the convergence are mostly obvious: the control flow
is expected to re-converge at the end of a scope.
Once translated to IR, HLSL scopes disapear. This means we need a way to
communicate convergence restrictions down to the backend.

For this, the SPIR-V backend uses convergence intrinsics. So this commit
adds some code to generate convergence intrinsics when required.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 36b86438d7cd652bcac3fce51c1bdfad99536ec8
      https://github.com/llvm/llvm-project/commit/36b86438d7cd652bcac3fce51c1bdfad99536ec8
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/pow-vec.ll
    A llvm/test/CodeGen/DirectX/pow.ll

  Log Message:
  -----------
  [DXIL] Implement pow lowering (#86733)

closes #86179
- `DXILIntrinsicExpansion.cpp` - add the pow expansion to
exp2(y*log2(x))


  Commit: 39fe729502006f1b108828b75af8d63a27364f80
      https://github.com/llvm/llvm-project/commit/39fe729502006f1b108828b75af8d63a27364f80
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/MachO/Options.td
    M lld/test/MachO/silent-ignore.s

  Log Message:
  -----------
  [lld-macho] Ignore -no_warn_duplicate_libraries flag (#86303)

This is a new ld64 flag (along with `-warn_duplicate_libraries`), where
the warning is enabled by default, and it can be useful to ignore since
it can be hard to dedup library flags across large builds. This doesn't
ignore the enabling version since if someone manually passed that and
lld didn't respect it, we probably want the user to know that.


  Commit: 706c1302f99d79af21ddf22e23c53d33329f225a
      https://github.com/llvm/llvm-project/commit/706c1302f99d79af21ddf22e23c53d33329f225a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp

  Log Message:
  -----------
  [Dialect] Fix a warning

This patch fixes:

  mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp:158:17:
  error: 'matchAndRewrite' overrides a member function but is not
  marked 'override' [-Werror,-Wsuggest-override]


  Commit: 423832421b9b259612c3fe4169a6a6e1e2600f95
      https://github.com/llvm/llvm-project/commit/423832421b9b259612c3fe4169a6a6e1e2600f95
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [asan][windows] Weak function interception support in instruction size decoder. (#86570)

This makes it so we'll be able to decode the instructions used in the
weak function stubs from
https://github.com/llvm/llvm-project/pull/81677. This code doesn't
technically require those changes.

Co-authored-by: Amy Wishnousky <amyw at microsoft.com>


  Commit: ad97ee25315778a9a25d5b7365308072fbd846d0
      https://github.com/llvm/llvm-project/commit/ad97ee25315778a9a25d5b7365308072fbd846d0
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/fixedvector.h
    M libc/test/src/__support/fixedvector_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][support][FixedVector] add reverse iterator (#86732)

Critically, we don't want to return an iterator to the end of the underlying
cpp::array "store." Add a test to catch this issue.

This will be used by __cxa_finalize to iterate backwards through a FixedVector.

Link: #85651


  Commit: 23ca8e654df4a416132ac1207dd3ba8a14b82774
      https://github.com/llvm/llvm-project/commit/23ca8e654df4a416132ac1207dd3ba8a14b82774
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:

  Log Message:
  -----------
  [NFC][mlir][tensor][transform] fix compilation warning. (#86977)


  Commit: 8dcff10e9b7405138af768ec89d0718e048ca340
      https://github.com/llvm/llvm-project/commit/8dcff10e9b7405138af768ec89d0718e048ca340
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst

  Log Message:
  -----------
  [clang][analyzer] Improve documentation of StreamChecker (NFC). (#83858)


  Commit: 6aee1f9d1833f7ac000f6451a5d440b3a321a557
      https://github.com/llvm/llvm-project/commit/6aee1f9d1833f7ac000f6451a5d440b3a321a557
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/test/src/math/smoke/FromfpTest.h
    M libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/UfromfpTest.h
    M libc/test/src/math/smoke/UfromfpxTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix bounds checking and add FE_INVALID raising in {,u}fromfp{,x}* (#86892)

See
https://github.com/llvm/llvm-project/pull/86692#issuecomment-2024044889
and
https://github.com/llvm/llvm-project/pull/86892#discussion_r1542276037.

cc @lntue @nickdesaulniers


  Commit: 1607e8212caa7c050d89b5b143531edb815ec7f3
      https://github.com/llvm/llvm-project/commit/1607e8212caa7c050d89b5b143531edb815ec7f3
  Author: Xiangyang (Mark) Guo <helloguo at fb.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/test/Transforms/SampleProfile/remarks-hotness.ll

  Log Message:
  -----------
  [InlineCost] Disable cost-benefit when sample based PGO is used (#86626)

#66457 makes InlineCost to use cost-benefit by default, which causes
0.4-0.5% performance regression on multiple internal workloads. See
discussions https://github.com/llvm/llvm-project/pull/66457. This pull
request reverts it.

Co-authored-by: helloguo <helloguo at meta.com>


  Commit: 16b7cc69ef43110c9776212379ccc37d7d3263c0
      https://github.com/llvm/llvm-project/commit/16b7cc69ef43110c9776212379ccc37d7d3263c0
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/cond-move-04.mir
    M llvm/test/CodeGen/SystemZ/cond-move-08.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
    M llvm/test/CodeGen/SystemZ/frame-28.mir
    M llvm/test/CodeGen/SystemZ/swifterror.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [SystemZ] Eliminate call sequence instructions early. (#77812)

On SystemZ, the outgoing argument area which is big enough for all calls
in the function is created once during the prolog, as opposed to
adjusting the stack around each call. The call-sequence instructions are
therefore not really useful any more than to compute the maximum call
frame size, which has so far been done by PEI, but can just as well be
done at an earlier point.

This patch removes the mapping of the CallFrameSetupOpcode and
CallFrameDestroyOpcode and instead computes the MaxCallFrameSize
directly after instruction selection and then removes the ADJCALLSTACK
pseudos. This removes the confusing pseudos and also avoids the problem
of having to keep the call frame size accurate when creating new MBBs.

This fixes #76618 which exposed the need to maintain the call frame size
when splitting blocks (which was not done).


  Commit: 237572f2ffaa2fcf590eabc7f9ebbb31a45aa392
      https://github.com/llvm/llvm-project/commit/237572f2ffaa2fcf590eabc7f9ebbb31a45aa392
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Fix paths when copying spriv-dis and spirv-val on windows (#86876)

We need `CMAKE_EXECUTABLE_SUFFIX` here so we get the paths right when
they end in `.exe`.


  Commit: 35e7d458c9b452b5c09736ffc832aa31777cef21
      https://github.com/llvm/llvm-project/commit/35e7d458c9b452b5c09736ffc832aa31777cef21
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/test/X86/linux-bug-table.s

  Log Message:
  -----------
  [BOLT] Add rewriting support for Linux kernel __bug_table (#86908)

Update instruction locations in the __bug_table section after new code
is emitted. If an instruction with associated bug ID was deleted,
overwrite its location with zero.


  Commit: 6dceea3cb273c8a6ab4c7784980057b3c2793d70
      https://github.com/llvm/llvm-project/commit/6dceea3cb273c8a6ab4c7784980057b3c2793d70
  Author: Andrii Levitskiy <107996072+aabysswalker at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl

  Log Message:
  -----------
  [HLSL] prevent generation of wrong double intrinsics. (#86932)

As #86555, we should cover all of non-double builtins.

Closes #86818


  Commit: aa7ae1ba0bfc3421cc933c9d0e236e5f642d23ac
      https://github.com/llvm/llvm-project/commit/aa7ae1ba0bfc3421cc933c9d0e236e5f642d23ac
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
    M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold producer linalg transpose with consumer unpack an… (#86795)

…d viceversa

-- Adds folding of producer linalg transpose op with consumer unpack op,
also adds folding of producer unpack op and consumer transpose op.
-- Minor bug fixes w.r.t. to the test cases.


  Commit: 2af3b43642017d13de2b6d9802915851517fa0ca
      https://github.com/llvm/llvm-project/commit/2af3b43642017d13de2b6d9802915851517fa0ca
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] fix bazel error for MatchInterfaces dialect


  Commit: 0b790572b108bf691d11dece07bca65ca457fc88
      https://github.com/llvm/llvm-project/commit/0b790572b108bf691d11dece07bca65ca457fc88
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    A mlir/test/Dialect/Transform/foreach-match.mlir

  Log Message:
  -----------
  [mlir] propagate silenceable failures in transform.foreach_match (#86956)

The original implementation was eagerly reporting silenceable failures
from actions as definite failures. Since silenceable failures are
intended for cases when the IR has not been irreversibly modified, it's
okay to propagate them as silenceable failures of the parent op.

Fixes #86834.


  Commit: 6582509daa9a598fc42c14268035b9a90d82f057
      https://github.com/llvm/llvm-project/commit/6582509daa9a598fc42c14268035b9a90d82f057
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/MC/XCOFFObjectWriter.cpp
    A llvm/test/CodeGen/PowerPC/aix-overflow-toc-data.py

  Log Message:
  -----------
  [AIX] Handle toc-data offset overflowing 16-bits (#80092)

When the toc-data offset overflows the 16-bits, we can truncate the
value to the 16-bit value as the linker will handle overflow through
fixup code.


  Commit: da5d576026bde8c854be31f7148eb27a9e4e8274
      https://github.com/llvm/llvm-project/commit/da5d576026bde8c854be31f7148eb27a9e4e8274
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] fix empty spaces in bazel file


  Commit: 599027857e1007ff402094a3a550b4832f3f5146
      https://github.com/llvm/llvm-project/commit/599027857e1007ff402094a3a550b4832f3f5146
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp

  Log Message:
  -----------
  [clang] Add invalid check in NormalizedConstraint::fromConstraintExpr. (#86943)

This is an oversight spot in #86869, we should always check the invalid
bit after constructing the `Sema::InstantiatingTemplate` RAII object.


  Commit: d61ec513c42005bb071eb15386deb5de585ff267
      https://github.com/llvm/llvm-project/commit/d61ec513c42005bb071eb15386deb5de585ff267
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.h
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
    M mlir/test/Dialect/SPIRV/Transforms/webgpu-prepare.mlir

  Log Message:
  -----------
  [mlir][spirv] Add IsInf/IsNan expansion for WebGPU (#86903)

These non-finite math ops are supported by SPIR-V but not by WGSL.
Assume finite floating point values and expand these ops into `false`.

Previously, this worked by adding fast math flags during conversion from
arith to spirv, but this got removed in
https://github.com/llvm/llvm-project/pull/86578.

Also do some misc cleanups in the surrounding code.


  Commit: 7be847e60fa50aaf94afe653a5c82ddd2a0e19c9
      https://github.com/llvm/llvm-project/commit/7be847e60fa50aaf94afe653a5c82ddd2a0e19c9
  Author: Alastair Houghton <ahoughton at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libcxxabi/test/forced_unwind4.pass.cpp

  Log Message:
  -----------
  [libc++abi] Disable forced_unwind4 test for musl. (#85096)

This test won't pass on musl, but we should still run it for other Linux
platforms.

rdar://123436716


  Commit: 8ee5a3fd1cf54cbbcb9c66d8a99976cfdc4fc56f
      https://github.com/llvm/llvm-project/commit/8ee5a3fd1cf54cbbcb9c66d8a99976cfdc4fc56f
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A clang/test/C/C99/Inputs/nested-include.h
    A clang/test/C/C99/n590.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to WG14 N590 (#86985)

This adds test coverage for implementation limits that were defined in
WG14 N590. The original content of that paper is not available, so this
actually tests against the limits as of C23.


  Commit: cba6df99e0d5271393eb3861f9a3ebc58779169c
      https://github.com/llvm/llvm-project/commit/cba6df99e0d5271393eb3861f9a3ebc58779169c
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add basic tests tracking `or disjoint` conditions as `add`; NFC


  Commit: 637421cb887fd51e6edde31d8f9e041f53c3f495
      https://github.com/llvm/llvm-project/commit/637421cb887fd51e6edde31d8f9e041f53c3f495
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Tracking `or disjoint` conditions as `add` in Assumption/DomCondition Cache

We can definitionally treat `or disjoint` as `add` anywhere.

Closes #86302


  Commit: efa1544c2c3551e014c2d73aebe4fd0d4cc30462
      https://github.com/llvm/llvm-project/commit/efa1544c2c3551e014c2d73aebe4fd0d4cc30462
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

  Log Message:
  -----------
  [LVI] Add tests for tracking `or disjoint` like add; NFC


  Commit: 0e786557317d6dbf7dfba5115531f39096c6904d
      https://github.com/llvm/llvm-project/commit/0e786557317d6dbf7dfba5115531f39096c6904d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

  Log Message:
  -----------
  [LVI] Use m_AddLike instead of m_Add when matching simple condition

We have more complete logic for handling `Add`, so try to use that
logic for `or disjoint` (which can definitionally be treated as
`add`).

Closes #86058


  Commit: c2f3a11dbe1a6bc2fc46b35c3fb4398e1d6a90c4
      https://github.com/llvm/llvm-project/commit/c2f3a11dbe1a6bc2fc46b35c3fb4398e1d6a90c4
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  Remove an accidental duplicate C status page entry


  Commit: 6e58efac16958ccb99060f4329b48737be7d8d36
      https://github.com/llvm/llvm-project/commit/6e58efac16958ccb99060f4329b48737be7d8d36
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] Export headers either from :Transforms or :TransformUtils (#86819)

Split them according to their implementation.

Ideally, header files should be used by only one target, but this is
hard because CMake is less strict with headers (no layering check). But
even with bazel, headers should only be exported once in the `hdrs`
attribute. Other targets may use them in the `srcs` attribute to avoid
circular dependencies.


  Commit: 6f10dccbab4630604f8a6073ac4b9fb61bf8fc9e
      https://github.com/llvm/llvm-project/commit/6f10dccbab4630604f8a6073ac4b9fb61bf8fc9e
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    A clang/test/Options/enable_16bit_types_validation.hlsl
    A clang/test/Options/enable_16bit_types_validation_spirv.hlsl

  Log Message:
  -----------
  [HLSL] Add validation for the -enable-16bit-types option (#85340)

Previously, the clang compiler with the dxc driver would accept the
-enable-16bit-types flag without checking to see if the required
conditions are met for proper processing of the flag.
Specifically, -enable-16bit-types requires a shader model of at least
6.2 and an HLSL version of at least 2021.
This PR adds a validation check for these other options having the
required values, and emits an error if these constraints are not met.
Fixes #57876

---------

Co-authored-by: Damyan Pepper <damyanp at microsoft.com>
Co-authored-by: Chris B <cbieneman at microsoft.com>


  Commit: 346f49927f32f72148882100410f78b83f2733a8
      https://github.com/llvm/llvm-project/commit/346f49927f32f72148882100410f78b83f2733a8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

  Log Message:
  -----------
  [RISCV] Add add_like PatFrags to reduce number of required patterns [nfc] (#86983)

This is an NFC prep patch for an upcoming change which is going to
support or_is_add in a bunch more cases. Posting separately because
tblgen is not particularly my strong suit.


  Commit: 5b06de7f99ef86c484f5fea5542c1868e798ac08
      https://github.com/llvm/llvm-project/commit/5b06de7f99ef86c484f5fea5542c1868e798ac08
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Add isLogicOp helper to match ISD::AND/OR/XOR and X86ISD::ANDNP

We could easily support the X86ISD 'float' variants of the logic ops as well, but we don't have good test coverage at the moment (they're mainly for SSE1 targets).


  Commit: 44af53b22aaa1fe382b22329bbc7e4610ecbacc8
      https://github.com/llvm/llvm-project/commit/44af53b22aaa1fe382b22329bbc7e4610ecbacc8
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/include/clang/Lex/ModuleMap.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ClangScanDeps/modules-extern-unrelated.m

  Log Message:
  -----------
  [clang][modules] Avoid calling expensive `SourceManager::translateFile()` (#86216)

The `ASTWriter` algorithm for computing affecting module maps uses
`SourceManager::translateFile()` to get a `FileID` from a `FileEntry`.
This is slow (O(n)) since the function performs a linear walk over
`SLocEntries` until it finds one with a matching `FileEntry`.

This patch removes this use of `SourceManager::translateFile()` by
tracking `FileID` instead of `FileEntry` in couple of places in
`ModuleMap`, giving `ASTWriter` the desired `FileID` directly. There are
no changes required for clients that still want a `FileEntry` from
`ModuleMap`: the existing APIs internally use `SourceManager` to perform
the reverse `FileID` to `FileEntry` conversion in O(1).


  Commit: 688d71ea8817ace88955671c1af7c80fbfba2c7f
      https://github.com/llvm/llvm-project/commit/688d71ea8817ace88955671c1af7c80fbfba2c7f
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libclc/cmake/CMakeCLCInformation.cmake

  Log Message:
  -----------
  [libclc] Track dependencies through dependency files (#86965)

This commit fixes the problem of missing build dependencies between
libclc source files and their various includes (namely headers and .inc
files).

We would like to do this with compiler-generated dependency files
because then the dependencies are accurate and there are no false
positives, leading to unnecessary rebuilds. This is how regular C/C++
dependencies are usually tracked by CMake.

Note that this variable is an internal API so is not guaranteed to work,
but then again *all* of CMake's support for new languages (which we use
for CLC/LL languages) is an internal API. On balance this change is
probably worth it due to how minimally invasive it is. It should work
with all supported compilers and CMake generators.


  Commit: 70cf2a09ce7a848a61a48bd7e9ef85d623805888
      https://github.com/llvm/llvm-project/commit/70cf2a09ce7a848a61a48bd7e9ef85d623805888
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Simplify function/constructors by removing unnecessary params.


  Commit: 6b95747087032e8f86af64325780d8471e6fce58
      https://github.com/llvm/llvm-project/commit/6b95747087032e8f86af64325780d8471e6fce58
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lld/test/MachO/objc-relative-method-lists-simple.s

  Log Message:
  -----------
  [lld-macho] Disable objc test on 32-bit ARM targets

lld/test/MachO/objc-relative-method-lists-simple.s fails on AArch64
hosts running 32-bit ARM binaries, such as
armv8l-unknown-linux-gnueabihf.

Disable the test on the failing targets for now, to keep the
buildbots passing.


  Commit: 7c1c07c92099d3e36e8f362706a5824ab04bdf38
      https://github.com/llvm/llvm-project/commit/7c1c07c92099d3e36e8f362706a5824ab04bdf38
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix X86_Binary80 special cases for canonicalize functions. (#86924)

Updates the special case of pseudo infinty as pointed in #85940


  Commit: a8340767de71b8c7d10de74019622592b39e3704
      https://github.com/llvm/llvm-project/commit/a8340767de71b8c7d10de74019622592b39e3704
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lldb/test/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Remove cmake check for pexpect with LLDB_TEST_USE_VENDOR_PACKAGES (#86962)

The commit 8bed754c2f965c8cbbb050be6f650b78f7fd78a6 was intended to
support the use case where users want to run all the LLDB tests in an
environment where pexpect is not installed. Those users can build with
`-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` to skip pexpect tests,
*but* because we still fail in cmake configuration, they must use
`-DLLDB_TEST_USE_VENDOR_PACKAGES=ON` to avoid failing due to pexpect not
being available.

I would like to remove `LLDB_TEST_USE_VENDOR_PACKAGES` now, but first
I'd like to make sure users w/o pexpect can pass CI with
`-DLLDB_TEST_USE_VENDOR_PACKAGES=OFF
-DLLDB_TEST_USER_ARGS=--skip-category=pexpect`. Once that is done, I am
not aware of any other issues caused by the previous commits, so the
third party tree should be safe to remove.


  Commit: 8a614c1d316b3f8ac72580f0ccaf8d2ae8eab752
      https://github.com/llvm/llvm-project/commit/8a614c1d316b3f8ac72580f0ccaf8d2ae8eab752
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Rename getVPValueOrAddLiveIn -> getOrAddLiveIn (NFCI).

The helper now only deals with live-ins, clarify the name.


  Commit: 17c3f102be328b8a2d065cdbc230ccacfa9046a9
      https://github.com/llvm/llvm-project/commit/17c3f102be328b8a2d065cdbc230ccacfa9046a9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp

  Log Message:
  -----------
  [SystemZ] Fix an unused variable warning

This patch fixes:

  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:8181:9: error:
  unused variable 'TFL' [-Werror,-Wunused-variable]


  Commit: 44253a9ce6de749aee06057e578fb3ccbcda3ffd
      https://github.com/llvm/llvm-project/commit/44253a9ce6de749aee06057e578fb3ccbcda3ffd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [memprof] Add MemProf version (#86414)

This patch adds a version field to the MemProf section of the indexed
profile format, calling the new version "version 1".  The existing
version is called "version 0".

The writer supports both versions via a command-line option:

  llvm-profdata merge --memprof-version=1 ...

The reader supports both versions by automatically detecting the
version from the header.


  Commit: d357324f7700188c9ef179a4bc7898079cf49b6f
      https://github.com/llvm/llvm-project/commit/d357324f7700188c9ef179a4bc7898079cf49b6f
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  Revert "[libc][math][c23] Fix X86_Binary80 special cases for canonicalize functions. (#86924)"

This reverts commit 7c1c07c92099d3e36e8f362706a5824ab04bdf38.

Fails in presubmit.

Link: https://lab.llvm.org/buildbot/#/builders/90/builds/67461
Link: https://lab.llvm.org/buildbot/#/builders/225/builds/33519
Link: https://lab.llvm.org/buildbot/#/builders/163/builds/53858
Link: https://lab.llvm.org/buildbot/#/builders/250/builds/20983
Link: #86924


  Commit: 62d6beba976142a58c7c95afd84a5d632ab4cd84
      https://github.com/llvm/llvm-project/commit/62d6beba976142a58c7c95afd84a5d632ab4cd84
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/reversebits.ll
    A llvm/test/CodeGen/DirectX/trunc.ll
    A llvm/test/CodeGen/DirectX/trunc_error.ll

  Log Message:
  -----------
  [DXIL] Add lowering for `reversebits` and `trunc` (#86909)

Add lowering of `llvm.bitreverse` and `llvm.trunc` intrinsics to DXIL
ops.

Fixes #86582
Fixes #86581


  Commit: 23d45e55edb0ca4567f5876e7051ff4a649213df
      https://github.com/llvm/llvm-project/commit/23d45e55edb0ca4567f5876e7051ff4a649213df
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
    M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
    M llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll
    M llvm/test/CodeGen/Thumb2/aligned-nonfallthrough.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
    M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
    M llvm/test/CodeGen/Thumb2/mve-vldst4.ll
    M llvm/test/CodeGen/X86/optimize-max-0.ll
    M llvm/test/CodeGen/X86/tls-loads-control3.ll

  Log Message:
  -----------
  [MCP] Remove dead copies from basic blocks with successors. (#86973)

Previously we wouldn't remove dead copies from basic blocks with
successors. The comment said we didn't want to trust the live-in lists.
The comment is very old so I'm not sure if that's still a concern today.

This patch checks the live-in lists and removes copies from
MaybeDeadCopies if they are referenced by any live-ins in any
successors. We only do this if the tracksLiveness property is set. If
that property is not set, we retain the old behavior.


  Commit: 380f0fb682041aca3d682d9f1be9d3021f4b2daa
      https://github.com/llvm/llvm-project/commit/380f0fb682041aca3d682d9f1be9d3021f4b2daa
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGen/debug-info-cc.c
    M llvm/include/llvm/BinaryFormat/Dwarf.def

  Log Message:
  -----------
  [CodeGen/DWARF] Introduce DWARF tag for SwiftTail and emit it in CodeGen.

swifttailcc is a new calling convention in LLVM introduced in
https://reviews.llvm.org/D95443. We add a new DWARF tag to capture
this in debuginfo.

Differential Revision: https://reviews.llvm.org/D95704

[Note: This patch seems to have been forgotten about, landing it now with considerable delay]


  Commit: a3c2d8c0720424579c2a9b6313664908db7fcb14
      https://github.com/llvm/llvm-project/commit/a3c2d8c0720424579c2a9b6313664908db7fcb14
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/binop-zext.ll

  Log Message:
  -----------
  [RISCV] Combine ({s,u}{div,rem} (zext, zext)) -> (zext ({s,u}{div,rem} (zext, zext))) (#86779)

This narrows unsigned and signed div and rem nodes via
combineBinOpOfZExt.

Unlike other binary ops, there are no widening div or rem instructions.
So we will end up with an extra vzext.vf2.

However I'm assuming that div/rem are expensive enough that by reducing
their EMUL we will gain back the cost.

Alive2 proof: https://alive2.llvm.org/ce/z/Et_L6y


  Commit: c482fad2c1de367f8fef2b40361dec00523707f7
      https://github.com/llvm/llvm-project/commit/c482fad2c1de367f8fef2b40361dec00523707f7
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select.mir
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll

  Log Message:
  -----------
  [AArch64][GISEL] Consider fcmp true and fcmp false in cond code selection (#86972)

Fixes #86917

`FCMP_TRUE` and `FCMP_FALSE` were previously not considered and we ended
up in an llvm_unreachable assertion.


  Commit: 219511aee21cc652e1ede0458de4a4a66f04c81c
      https://github.com/llvm/llvm-project/commit/219511aee21cc652e1ede0458de4a4a66f04c81c
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesWriter.cpp

  Log Message:
  -----------
  [APINotes] Make an assert in a std::sort call tolerate self-comparisons

libc++ debug mode verifies that a comparator passed to std::sort defines
a strict weak order by calling it with the same element.

See also:

- RFC that introduced the feature:
  https://discourse.llvm.org/t/rfc-strict-weak-ordering-checks-in-the-debug-libc/70217

- `strict_weak_ordering_check.h` in libc++ sources.


  Commit: 6373577a2c72b0354b6ad6c4d1732f142aaffa80
      https://github.com/llvm/llvm-project/commit/6373577a2c72b0354b6ad6c4d1732f142aaffa80
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/StrfromTest.h

  Log Message:
  -----------
  [libc] Add inf/nan tests for strfrom*() functions (#86663)

Adds tests for `inf` and `nan` values to the tests for `strfrom*()`
functions.

Also marks some variables as `[[maybe_unused]]` to silence unused
variable warnings.


  Commit: 6b149f70abc2d0214cc29e7a2aeea428d3719491
      https://github.com/llvm/llvm-project/commit/6b149f70abc2d0214cc29e7a2aeea428d3719491
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Dump ReleaseToOsIntervalMs (#86887)

This can be adjusted during runtime and it may impact the memory
footprint if it's set to a big value or is disabled.


  Commit: eee8c6150a1c3af54542d34d1c084a86feda4d96
      https://github.com/llvm/llvm-project/commit/eee8c6150a1c3af54542d34d1c084a86feda4d96
  Author: Scott Linder <72270781+slinder1 at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/AsmParser/LLParser.cpp

  Log Message:
  -----------
  [LangRef] Try to clarify some Metadata semantics (#81948)

General cleanup in LangRef (and two outdated comments in LLParser.cpp)
with the aim of making it easier to understand some of the terminology
and subtle idiosyncrasies related to metadata in the IR.

I'm still not happy with the fact that "node" is used both informally
and with a particular category of metadata in mind, depending on the
context. This also bleeds into the type names in the implementation.

There are also several places where names from the implementation appear
in the document with no other context or definition. In some cases I
added a parenthetical to section titles to tie the two together, but I
don't think this is ideal.

I also think it might be useful to define the "abstract" metadata
classes like "DIScope" in the document, so the hierarchy of metadata
node kinds is direct, and so we can avoid repetitive descriptions of all
of the members of on part of the hierarchy. This inheritance doesn't
have to be in terms of C++ classes, but using the same names as the
implementation seems helpful, and we already do it for many other
things.

Finally I added sections for the specialized nodes which are implemented
in the IR but didn't have documentation in LangRef yet. These could use
some work, and I admit I didn't dig too deep into the specifics beyond
enumerating the fields, but I think we would ideally always have a
LangRef section for every kind of node.


  Commit: bbbcc1d99d08855069f4501c896c43a6d4d7b598
      https://github.com/llvm/llvm-project/commit/bbbcc1d99d08855069f4501c896c43a6d4d7b598
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Sema/nullability.c
    M clang/test/SemaCXX/nullability.cpp
    M clang/test/SemaObjCXX/nullability-consistency.mm

  Log Message:
  -----------
  Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"

This reverts commit ca4c4a6758d184f209cb5d88ef42ecc011b11642.

This was intended not to introduce new consistency diagnostics for
smart pointer types, but failed to ignore sugar around types when
detecting this.
Fixed and test added.


  Commit: 9ea0396f1608681e524e1159bfa8568f3ccfbb99
      https://github.com/llvm/llvm-project/commit/9ea0396f1608681e524e1159bfa8568f3ccfbb99
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Extend pattern matches involving shNadd to support disjoint or (#87001)

I tried to add representative tests while not duplicating complete
coverage.  If there's other tests you'd like to see, let me know.


  Commit: 5906b1ad3f70586c72293d5c62eb3f26977b8b96
      https://github.com/llvm/llvm-project/commit/5906b1ad3f70586c72293d5c62eb3f26977b8b96
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/test/APINotes/module-cache.m

  Log Message:
  -----------
  [APINotes][test] Fix permissions of a file copied from a source tree

Our CI system makes the source tree read-only. The 'cp' command that
copies a directory from the source tree into a temp directory preserves
permissions, and the copied files stay read-only. When the test tries to
append to one of these files, it fails with a "permission denied" error.


  Commit: d0b47806c01b27feefca2d39e8fc18d3ddec5f3c
      https://github.com/llvm/llvm-project/commit/d0b47806c01b27feefca2d39e8fc18d3ddec5f3c
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/InstrProfileFormat.rst
    M llvm/include/llvm/ProfileData/InstrProf.h

  Log Message:
  -----------
  [nfc][docs]Generalize header description and ascii art for indexed profiles (#83507)

- Add pointers to code for source of truth.
- Move necessary details from doc to code.


  Commit: 07a1fbe91a4fb7df986eedd52ca90f78bc19c657
      https://github.com/llvm/llvm-project/commit/07a1fbe91a4fb7df986eedd52ca90f78bc19c657
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/docs/InstrProfileFormat.rst

  Log Message:
  -----------
  [docs][TypeProf]Update instrumentation file format document (#83309)

This is a follow-up to the profile format change in https://github.com/llvm/llvm-project/pull/82711


  Commit: 7a87902684b5e15644f037401e88b1f0c2c5fc6f
      https://github.com/llvm/llvm-project/commit/7a87902684b5e15644f037401e88b1f0c2c5fc6f
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/stack_depot.h

  Log Message:
  -----------
  [scudo] Fix stack depot validation. (#87024)

In the StackDepot::isValid function, there is work to validate the
TabMask variable. Unfortunately, if TabMask is set to the maximum
allowed value, TabSize = TabMask + 1 becomes zero and validation passes.

Disallow that case to prevent invalid reads into the Tab structure.


  Commit: 338be798cae42107dd90b2bd0e88b379741a1d60
      https://github.com/llvm/llvm-project/commit/338be798cae42107dd90b2bd0e88b379741a1d60
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect sign extension of first ext
node.


  Commit: 01e02e0b6a15562e241e9ed18b295c66ae20f410
      https://github.com/llvm/llvm-project/commit/01e02e0b6a15562e241e9ed18b295c66ae20f410
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll

  Log Message:
  -----------
  [SLP]Fix PR87011: Do not assume that initial ext/trunc nodes can be
represented by bitwidth without analysis.

Need to check that initial ext/trunc nodes can be safely represented
using calculated bitwidth before applying it.


  Commit: 39e813746730a83e49b7efc457ff7efc74925c74
      https://github.com/llvm/llvm-project/commit/39e813746730a83e49b7efc457ff7efc74925c74
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [NFC] [HWASan] add example for ring buffer wrap (#87029)

Also another move comment to correct place.


  Commit: 89bae852dddeb2b66a1843dbe5eea21184e54814
      https://github.com/llvm/llvm-project/commit/89bae852dddeb2b66a1843dbe5eea21184e54814
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/lit_test.bzl

  Log Message:
  -----------
  [bazel] Fix lit tests with python 3.11+ (#87022)

In python3.11 there is a new environment variable PYTHONSAFEPATH which
stops python from setting the current directory as the first entry in
sys.path. Bazel started setting this to ensure that python targets
don't accidentally access things that aren't in their dependency tree.
This resulted in lit tests breaking because sys.path didn't include the
directory to the lit source files. This is fixed by adding the lit
binary to the dependency tree and propagating the import path from it.

Fixes https://github.com/llvm/llvm-project/issues/75963


  Commit: 1d99d7a6f841de594b38936a4a73866b23a8b105
      https://github.com/llvm/llvm-project/commit/1d99d7a6f841de594b38936a4a73866b23a8b105
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-lto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll

  Log Message:
  -----------
  [SampleFDO][NFC] Refactoring SampleProfileMatcher (#86988)

Move all the stale profile matching stuffs into new files so that it can
be shared for unit testing.


  Commit: c64a328cb4a32e81f8b694162750ec1b8823994c
      https://github.com/llvm/llvm-project/commit/c64a328cb4a32e81f8b694162750ec1b8823994c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [ProfileData] Use size_t in PatchItem (NFC) (#87014)

size_t in PatchItem eliminates the need for casts.


  Commit: e005a09df5b5c7d210ac7cd8cbddb3a4a8663173
      https://github.com/llvm/llvm-project/commit/e005a09df5b5c7d210ac7cd8cbddb3a4a8663173
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp
    A llvm/test/CodeGen/RISCV/rv64-typepromotion.ll

  Log Message:
  -----------
  [RISCV][TypePromotion] Dont generate truncs if PromotedType is greater than Source Type (#86941)

We currently check if the source and promoted types are not equal before
generating truncate instructions. This does not work for RV64 where the
promoted type is i64 and this lead to a crash due to the generation of
truncate instructions from i32 to i64.

Fixes #86400


  Commit: ba6b2d22af177a72b132cdb8e9350a708f282d2c
      https://github.com/llvm/llvm-project/commit/ba6b2d22af177a72b132cdb8e9350a708f282d2c
  Author: cmtice <cmtice at google.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Scalar.h
    M lldb/source/Utility/Scalar.cpp
    M lldb/unittests/Utility/ScalarTest.cpp

  Log Message:
  -----------
  [LLDB] Add APFloat helper functions to Scalar class. (#86862)

This adds the ability to create a Scalar from an APFloat, and to create
an APFloat from an APSInt or another APFloat.


  Commit: 7d3924cee30a87a51f9dc04ec843ae6bc3d1c90e
      https://github.com/llvm/llvm-project/commit/7d3924cee30a87a51f9dc04ec843ae6bc3d1c90e
  Author: elhewaty <mohamedatef1698 at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Assembler/flags.ll
    M llvm/test/Bitcode/flags.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/SimplifyCFG/HoistCode.ll

  Log Message:
  -----------
  [IR] Add nowrap flags for trunc instruction (#85592)

This patch adds the nuw (no unsigned wrap) and nsw (no signed wrap)
poison-generating flags to the trunc instruction.

Discourse thread:
https://discourse.llvm.org/t/rfc-add-nowrap-flags-to-trunc/77453


  Commit: 235d6841601a9dbea293b8e82b0c994f91f42d76
      https://github.com/llvm/llvm-project/commit/235d6841601a9dbea293b8e82b0c994f91f42d76
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/no-local-decl-in-reduced-bmi.cppm

  Log Message:
  -----------
  [C++20] [Modules] [Reduced BMI] Don't record declarations in functions
by default

For reduced BMI, it is meaningless to record the local declarations in
functions if not required explicitly during the process of writing the
function bodies.

It wastes time for reduced BMI and may be problematic if we want to
avoid transiting unnecessary changes.


  Commit: e1873d99729012191c72d532226771139b6e8519
      https://github.com/llvm/llvm-project/commit/e1873d99729012191c72d532226771139b6e8519
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] Remove unsed BUILD dependencies. (#87038)

This is the second attempt of 32fcfcdc4cc1d68116438f761897953894d65fb1,
which had to be reverted.

This should be good to go now, after a number of cleanups to not expose
headers from multiple targets:

- 6e58efac16958ccb99060f4329b48737be7d8d36
- f1dff836593d4601e3ad78117df1d980d284bb9c
- 89ef3130cf16f1965475396ad3a50760558cc08a
- eb70b485a91361eee83d3744d1bd3e4c3a23692f
- 83e5a1239242d64110e3dfa96ed3889170ab96b2
- fce046ca5b7edb4c0d37a6eb580154ccb7dda966


  Commit: 610b9e23c5a3040aacc6fe85de8694f80bf5bdf5
      https://github.com/llvm/llvm-project/commit/610b9e23c5a3040aacc6fe85de8694f80bf5bdf5
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop-no-implicit-float.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
    M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll

  Log Message:
  -----------
  [SDAG] Use shifts if ISD::MUL is illegal when lowering ISD::CTPOP (#86505)

We can avoid libcalls.

Fixes #86205


  Commit: 28760b63bbf9e267713957105a8d17091fb0d20e
      https://github.com/llvm/llvm-project/commit/28760b63bbf9e267713957105a8d17091fb0d20e
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Sema/nullability.c
    M clang/test/SemaCXX/nullability.cpp
    M clang/test/SemaObjCXX/nullability-consistency.mm

  Log Message:
  -----------
  Revert "Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"" (#87041)

This reverts commit bbbcc1d99d08855069f4501c896c43a6d4d7b598.

This change is causing the following build bots to fail due to a missing
header file:
- https://lab.llvm.org/buildbot/#/builders/188/builds/43765
- https://lab.llvm.org/buildbot/#/builders/176/builds/9428
- https://lab.llvm.org/buildbot/#/builders/187/builds/14696
- https://lab.llvm.org/buildbot/#/builders/186/builds/15551
- https://lab.llvm.org/buildbot/#/builders/182/builds/9413
- https://lab.llvm.org/buildbot/#/builders/245/builds/22507
- https://lab.llvm.org/buildbot/#/builders/258/builds/16026
- https://lab.llvm.org/buildbot/#/builders/249/builds/17221
- https://lab.llvm.org/buildbot/#/builders/38/builds/18566
- https://lab.llvm.org/buildbot/#/builders/214/builds/11735
- https://lab.llvm.org/buildbot/#/builders/231/builds/21947
- https://lab.llvm.org/buildbot/#/builders/230/builds/26675
- https://lab.llvm.org/buildbot/#/builders/57/builds/33922
- https://lab.llvm.org/buildbot/#/builders/124/builds/10311
- https://lab.llvm.org/buildbot/#/builders/109/builds/86173
- https://lab.llvm.org/buildbot/#/builders/280/builds/1043
- https://lab.llvm.org/buildbot/#/builders/283/builds/440
- https://lab.llvm.org/buildbot/#/builders/247/builds/16034
- https://lab.llvm.org/buildbot/#/builders/139/builds/62423
- https://lab.llvm.org/buildbot/#/builders/216/builds/36718
- https://lab.llvm.org/buildbot/#/builders/259/builds/2039
- https://lab.llvm.org/buildbot/#/builders/36/builds/44091
- https://lab.llvm.org/buildbot/#/builders/272/builds/12629
- https://lab.llvm.org/buildbot/#/builders/271/builds/6020
- https://lab.llvm.org/buildbot/#/builders/236/builds/10319


  Commit: db7d2439780d115545f533929d33470dc8d2704b
      https://github.com/llvm/llvm-project/commit/db7d2439780d115545f533929d33470dc8d2704b
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrUtils.td
    A llvm/test/MC/Disassembler/X86/apx/imulzu.txt
    A llvm/test/MC/X86/apx/imulzu-att.s
    A llvm/test/MC/X86/apx/imulzu-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][MC] Support enc/dec for IMULZU. (#86653)

apx-spec: https://cdrdv2.intel.com/v1/dl/getContent/784266
apx-syntax-recommendation:
https://cdrdv2.intel.com/v1/dl/getContent/817241


  Commit: aeab2bb55e0a4d5f0f13e238e8a2fb9030c48b6f
      https://github.com/llvm/llvm-project/commit/aeab2bb55e0a4d5f0f13e238e8a2fb9030c48b6f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 1d99d7a6f841


  Commit: aa04f12fa9f086f62f81841f159085723c255245
      https://github.com/llvm/llvm-project/commit/aa04f12fa9f086f62f81841f159085723c255245
  Author: Thomas Köppe <tkoeppe at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.h

  Log Message:
  -----------
  Add missing declarations of explicit template instantiations. (#86964)

Found with -Wundefined-func-template.


  Commit: abfc5efb55267689f1852fd7ce3e0a38876aa259
      https://github.com/llvm/llvm-project/commit/abfc5efb55267689f1852fd7ce3e0a38876aa259
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/unittests/AST/DeclTest.cpp

  Log Message:
  -----------
  [NFC] [Decl] Introduce Decl::isFromExplicitGlobalModule

Introduce `Decl::isFromExplicitGlobalModule` to replace the
`D->getOwningModule() && D->getOwningModule()->isExplicitGlobalModule()`
pattern to save some typings.


  Commit: 80aa52d8c5a8a1c26b4114c60c2159c743d236d8
      https://github.com/llvm/llvm-project/commit/80aa52d8c5a8a1c26b4114c60c2159c743d236d8
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  Revert "[ProfileData] Use size_t in PatchItem (NFC) (#87014)"

This reverts commit c64a328cb4a32e81f8b694162750ec1b8823994c.
This broke Arm32 bit build on various LLVM buildbots.
For example:
https://lab.llvm.org/buildbot/#/builders/17/builds/51129


  Commit: 5af767926288f837e4fd9fd81a9d4878e0924ced
      https://github.com/llvm/llvm-project/commit/5af767926288f837e4fd9fd81a9d4878e0924ced
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/unittests/AST/DeclPrinterTest.cpp

  Log Message:
  -----------
  Fix calls to PrintedDeclCXX98Matches. (#86741)

Fix the calls to `PrintedDeclCXX98Matches` to take the lambda function
as the last argument.


  Commit: a85569242da98c29d76fbb303a4014cf6c514a6f
      https://github.com/llvm/llvm-project/commit/a85569242da98c29d76fbb303a4014cf6c514a6f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libcxx/include/__type_traits/apply_cv.h

  Log Message:
  -----------
  [libc++][NFC] Use __copy_cv to implement __apply_cv (#86477)


  Commit: 316634ff5925481201a7b27d5f806cc2361cf4f2
      https://github.com/llvm/llvm-project/commit/316634ff5925481201a7b27d5f806cc2361cf4f2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/container_adaptor.h
    A libcxx/include/__fwd/deque.h
    A libcxx/include/__fwd/memory.h
    A libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/sstream.h
    A libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/string.h
    A libcxx/include/__fwd/vector.h
    M libcxx/include/deque
    M libcxx/include/format
    M libcxx/include/iosfwd
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/include/queue
    M libcxx/include/stack
    M libcxx/include/vector
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.verify.cpp
    M libcxx/test/support/deduction_guides_sfinae_checks.h

  Log Message:
  -----------
  [libc++] Remove <queue> and <stack> includes from <format> (#85520)

This reduces the include time of <format> from 691ms to 556ms.


  Commit: 131be5de90dac9f54a8213a1aab66a75c62890ec
      https://github.com/llvm/llvm-project/commit/131be5de90dac9f54a8213a1aab66a75c62890ec
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add more disjoint or tests for vwadd[u].{w,v}v. NFC


  Commit: 1403cf67a628712bddbe0055161ec68c7ebb468d
      https://github.com/llvm/llvm-project/commit/1403cf67a628712bddbe0055161ec68c7ebb468d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 316634ff5925


  Commit: 2a315d800bb352fe459a012006a42ac7cd63834e
      https://github.com/llvm/llvm-project/commit/2a315d800bb352fe459a012006a42ac7cd63834e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV] Combine (or disjoint ext, ext) -> vwadd (#86929)

DAGCombiner (or InstCombine) will convert an add to an or if the bits
are disjoint, which can prevent what was originally an (add {s,z}ext,
{s,z}ext) from being selected as a vwadd.

This teaches combineBinOp_VLToVWBinOp_VL to recover it by treating it as
an add.


  Commit: 76ba3c8e64ed33daf5ddf7d507cbbdeae7a50235
      https://github.com/llvm/llvm-project/commit/76ba3c8e64ed33daf5ddf7d507cbbdeae7a50235
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Add test case for vmerge fold for tied pseudos with rounding mode. NFC


  Commit: ea707baca2f73d503849d2b7429c7507314bff6b
      https://github.com/llvm/llvm-project/commit/ea707baca2f73d503849d2b7429c7507314bff6b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/PluginManager.cpp

  Log Message:
  -----------
  [Libomptarget][NFCI] Move logic out of PluginAdaptorTy (#86971)

Summary:
This patch removes most of the special handling from the
`PluginAdaptorTy` in preparation for changing this to be the
`GenericPluginTy`. Doing this requires that the OpenMP specific handling
of stuff like device offsets be contained within the OpenMP plugin
manager. Generally this was uninvasive expect for the change to tracking
the offset and size of the used devices. The eaiest way I could think to
do this was to use some maps, which double as indicators for which
plugins have devices active. This should not affect the logic.


  Commit: 84299df301dc07ea83fa8378051103195c3a7c65
      https://github.com/llvm/llvm-project/commit/84299df301dc07ea83fa8378051103195c3a7c65
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineInstr.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-trunc.ll

  Log Message:
  -----------
  [GlobalIsel] add trunc flags (#87045)

https://github.com/llvm/llvm-project/pull/85592


  Commit: 7344e991ade887775cb25beeffa9c8d2a2311dc7
      https://github.com/llvm/llvm-project/commit/7344e991ade887775cb25beeffa9c8d2a2311dc7
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    A clang/test/APINotes/Inputs/Headers/Templates.apinotes
    A clang/test/APINotes/Inputs/Headers/Templates.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/templates.cpp

  Log Message:
  -----------
  [APINotes] Add test for C++ class templates

This upstreams https://github.com/apple/llvm-project/pull/7930.

This adds a test to verify that we can apply attributes to C++ class
templates using API Notes. Doing the same for function templates is not
currently possible and requires more work.


  Commit: a8ca4abfcfa98d28ec46ee497e1fc5e91f8e1ad6
      https://github.com/llvm/llvm-project/commit/a8ca4abfcfa98d28ec46ee497e1fc5e91f8e1ad6
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    A clang/test/CodeGen/aapcs-bitfield-access-unit.c
    M clang/test/CodeGen/arm-bitfield-alignment.c
    M clang/test/CodeGen/arm64-be-bitfield.c
    A clang/test/CodeGen/bitfield-access-pad.c
    A clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/no-bitfield-type-align.c
    M clang/test/CodeGen/struct-x86-darwin.c
    A clang/test/CodeGenCXX/bitfield-access-empty.cpp
    A clang/test/CodeGenCXX/bitfield-access-tail.cpp
    A clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/bitfield.cpp

  Log Message:
  -----------
  [clang][NFC] Bitfield access unit tests (#65742)

Verify bitfield access units.


  Commit: 7df79ababee8d03b27bbaba1aabc2ec4ea14143e
      https://github.com/llvm/llvm-project/commit/7df79ababee8d03b27bbaba1aabc2ec4ea14143e
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h

  Log Message:
  -----------
  [clang] TargetInfo hook for unaligned bitfields (#65742)

Promote ARM & AArch64's HasUnaligned to TargetInfo and set for all
targets.


  Commit: 49839f97d2951e0b95d33aee00f00022952dab78
      https://github.com/llvm/llvm-project/commit/49839f97d2951e0b95d33aee00f00022952dab78
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/test/CodeGen/aapcs-bitfield-access-unit.c
    M clang/test/CodeGen/aapcs-bitfield.c
    M clang/test/CodeGen/arm-bitfield-alignment.c
    M clang/test/CodeGen/arm64-be-bitfield.c
    M clang/test/CodeGen/bitfield-2.c
    M clang/test/CodeGen/bitfield-access-pad.c
    M clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/debug-info-bitfield-0-struct.c
    M clang/test/CodeGen/no-bitfield-type-align.c
    M clang/test/CodeGen/struct-x86-darwin.c
    M clang/test/CodeGen/tbaa-struct.cpp
    M clang/test/CodeGenCXX/bitfield-access-empty.cpp
    M clang/test/CodeGenCXX/bitfield-access-tail.cpp
    M clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/bitfield.cpp
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/atomic_write_codegen.c

  Log Message:
  -----------
  [clang] Better SysV bitfield access units (#65742)

Reimplement bitfield access unit computation for SysV ABIs. Considers
expense of unaligned and non-power-of-2 accesses.


  Commit: 56b3222b79632a4bbb36271735556a03b2504791
      https://github.com/llvm/llvm-project/commit/56b3222b79632a4bbb36271735556a03b2504791
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    M llvm/test/Transforms/InstCombine/apint-shl-trunc.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/ptr-int-cast.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
    M llvm/test/Transforms/PhaseOrdering/X86/merge-functions.ll

  Log Message:
  -----------
  [InstCombine] Remove the canonicalization of `trunc` to `i1` (#84628)

Remove the canonicalization of `trunc` to `i1` according to the
suggestion of
https://github.com/llvm/llvm-project/pull/83829#issuecomment-1986801166

https://github.com/llvm/llvm-project/blob/a84e66a92d7b97f68aa3ae7d2c5839f3fb0d291d/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#L737-L745

Alive2: https://alive2.llvm.org/ce/z/cacYVA


  Commit: 3f69d90351a9d4c7102b8b2f70a55e5bd92c567d
      https://github.com/llvm/llvm-project/commit/3f69d90351a9d4c7102b8b2f70a55e5bd92c567d
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Add missing RISCVMaskedPseudo for TIED pseudos (#86787)

This was preventing us from folding away the vmerge into its mask.


  Commit: d3bc9cc99b3d45e1fb8d65a57e308e899439fe26
      https://github.com/llvm/llvm-project/commit/d3bc9cc99b3d45e1fb8d65a57e308e899439fe26
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/select.mir

  Log Message:
  -----------
  [AArch64][GISEL] Regenerate select tests with inline register classes (#87013)

Use inline register class syntax for select test file.


  Commit: 0f6ed4c394fd8f843029f6919230bf8df8618529
      https://github.com/llvm/llvm-project/commit/0f6ed4c394fd8f843029f6919230bf8df8618529
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp
    M clang/test/SemaTemplate/ctad.cpp

  Log Message:
  -----------
  [clang][Sema] Fix a CTAD regression after 42239d2e9 (#86914)

The most recent declaration of a template as a friend can introduce a
different template parameter depth compared to what we anticipate from a
CTAD guide.

Fixes https://github.com/llvm/llvm-project/issues/86769


  Commit: a4de589d117a4fd52554da3c61ae6eb26c90a0c8
      https://github.com/llvm/llvm-project/commit/a4de589d117a4fd52554da3c61ae6eb26c90a0c8
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/CMakeLists.txt
    M clang/lib/InstallAPI/DylibVerifier.cpp
    A clang/test/InstallAPI/diagnostics-dsym.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/include/llvm/TextAPI/DylibReader.h
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/lib/TextAPI/BinaryReader/CMakeLists.txt
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp

  Log Message:
  -----------
  [InstallAPI] Add support for parsing dSYMs (#86852)

InstallAPI does not directly look at object files in the dylib for
verification. To help diagnose violations where a declaration is
undiscovered in headers, parse the dSYM and look up the source location
for symbols. Emitting out the source location with a diagnostic is
enough for some IDE's (e.g. Xcode) to have them map back to editable
source files.


  Commit: 85a5f64c70fe34a08481fde2cfedb6adf84c9b47
      https://github.com/llvm/llvm-project/commit/85a5f64c70fe34a08481fde2cfedb6adf84c9b47
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add missing deps after a4de589d117a4fd52554da3c61ae6eb26c90a0c8


  Commit: c09b6fac12b0299841bf1bf04974712963736db5
      https://github.com/llvm/llvm-project/commit/c09b6fac12b0299841bf1bf04974712963736db5
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    A utils/bazel/llvm-project-overlay/llvm/driver.bzl

  Log Message:
  -----------
  [bazel] Add support for LLVM_TOOL_LLVM_DRIVER_BUILD (#86879)

This adds the bazel equivalent of the `llvm` binary produced by
`LLVM_TOOL_LLVM_DRIVER_BUILD` in cmake. For the initial commit, this
only includes `llvm-ar`, `llvm-nm`, and `llvm-size`. The rest are
trivial to add in a followup commit, following the same pattern as here.

By default it will include everything that supports the llvm-driver
model, but it can be reduced to only build a subset, e.g. this will
build only nm and size:

```
$ bazel build \
    -- at llvm-project//llvm:driver-tools=llvm-nm,llvm-size \
    @llvm-project//llvm:llvm
```


  Commit: 2f05b8905860760f1d4f099dcea0e0dd4b1f49d8
      https://github.com/llvm/llvm-project/commit/2f05b8905860760f1d4f099dcea0e0dd4b1f49d8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

  Log Message:
  -----------
  [RISCV] Move VPseudoBinaryNoMask multiclass to RISCVInstrInfoZvk.td and rename it. NFC

Rename to VPseudoBinaryNoMaskTU_Zvk. This more consistent with the naming
of the class it instantiates and the _Zvk suffix is used elsewhere
in RISCVInstrInfoZvk.td.


  Commit: 661bb9daae8730868d87b7a3cee6b9ad51e988af
      https://github.com/llvm/llvm-project/commit/661bb9daae8730868d87b7a3cee6b9ad51e988af
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll

  Log Message:
  -----------
  [GlobalISel] Handle div-by-pow2 (#83155)

This patch adds similar handling of div-by-pow2 as in `SelectionDAG`.


  Commit: af34ac4508adcb5b54e62947d7caf7dd40227b16
      https://github.com/llvm/llvm-project/commit/af34ac4508adcb5b54e62947d7caf7dd40227b16
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/C/C2x/n2350.c
    M clang/test/C/drs/dr4xx.c

  Log Message:
  -----------
  [Clang] [Sema] No longer diagnose type definitions in `offsetof` in C23 mode (#84169)

This is now allowed in C23; continue to diagnose it in earlier language
modes as before, but now as a C23 extension rather than a GNU extension.

This fixes #83658.


  Commit: 0dbd804a690720688d8234d8bdaee8f8f4fdcddc
      https://github.com/llvm/llvm-project/commit/0dbd804a690720688d8234d8bdaee8f8f4fdcddc
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp

  Log Message:
  -----------
  [scudo] Only init RingBuffer when needed. (#85994)

Only attempt to initialize the ring buffer when tracking is enabled.

Updated unit tests, and added a few new unit tests to verify the
RingBuffer is not initialized by default.

Verified that the two maps associated with the RingBuffer are not
created in processes by default.


  Commit: 60deb8b39afe9be90e30aa18d77ad129dacd4d55
      https://github.com/llvm/llvm-project/commit/60deb8b39afe9be90e30aa18d77ad129dacd4d55
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/test/InstallAPI/diagnostics-dsym.test

  Log Message:
  -----------
  [InstallAPI][test] Tweak test to run on older CI config


  Commit: fdef5c4f453f0e0de02281a0a9b986667bc5010e
      https://github.com/llvm/llvm-project/commit/fdef5c4f453f0e0de02281a0a9b986667bc5010e
  Author: Om Prakaash <omsuseela at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/docs/dev/printf_behavior.rst
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/write_int_converter.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/src/stdio/printf_core/parser_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  Add bit width length modifier to printf (#82461)

Resolves #81685. This adds support for wN and wfN length modifiers in
fprintf.


  Commit: e74332a266e5f81411fb333bde56bf471f0a7ba6
      https://github.com/llvm/llvm-project/commit/e74332a266e5f81411fb333bde56bf471f0a7ba6
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/test/CodeGen/DirectX/round.ll
    M llvm/test/CodeGen/DirectX/round_error.ll

  Log Message:
  -----------
  [HLSL][DXIL] HLSL's `round` should follow `roundeven` behavior (#87078)

fixes #86999


  Commit: 838b118d394138a746ffb4c113fb97b0f8904bd2
      https://github.com/llvm/llvm-project/commit/838b118d394138a746ffb4c113fb97b0f8904bd2
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  [libc] Fix missing UINTMAX_WIDTH (#87092)

In patch #82461 the sprintf tests were made to use UINTMAX_WIDTH which
isn't defined on all systems. This patch changes it to
sizeof(uintmax_t)*CHAR_BIT which is more portable.


  Commit: bdb60e6f0c8e89abf9bdf36411348db304ca65ba
      https://github.com/llvm/llvm-project/commit/bdb60e6f0c8e89abf9bdf36411348db304ca65ba
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/test/InstallAPI/diagnostics-dsym.test

  Log Message:
  -----------
  [InstallAPI][test] Add requires x86_64 for hardcoded target test


  Commit: a1a8bb1d3ae9a535526aba9514e87f76e2d040fa
      https://github.com/llvm/llvm-project/commit/a1a8bb1d3ae9a535526aba9514e87f76e2d040fa
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc] Change RPC interface to not use device ids (#87087)

Summary:
The current implementation of RPC tied everything to device IDs and
forced us to do init / shutdown to manage some global state. This turned
out to be a bad idea in situations where we want to track multiple
hetergeneous devices that may report the same device ID in the same
process.

This patch changes the interface to instead create an opaque handle to
the internal device and simply allocates it via `new`. The user will
then take this device and store it to interface with the attached
device. This interface puts the burden of tracking the device identifier
to mapped d evices onto the user, but in return heavily simplifies the
implementation.


  Commit: 99379522d00d0720bcda5067d4de2bfb0c279f15
      https://github.com/llvm/llvm-project/commit/99379522d00d0720bcda5067d4de2bfb0c279f15
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/docs/gpu/rpc.rst

  Log Message:
  -----------
  [libc][Docs] Update RPC server example using CUDA after changes

Summary:
This has changed, so update it to match the new interface.


  Commit: 407a2f231a81862e20d80059870c48d818b61ec2
      https://github.com/llvm/llvm-project/commit/407a2f231a81862e20d80059870c48d818b61ec2
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp

  Log Message:
  -----------
  [clang] Move state out of `PreprocessorOptions` (1/n) (#86358)

An instance of `PreprocessorOptions` is part of `CompilerInvocation`
which is supposed to be a value type. The `DependencyDirectivesForFile`
member is problematic, since it holds an owning reference of the
scanning VFS. This makes it not a true value type, and it can keep
potentially large chunk of memory (the local cache in the scanning VFS)
alive for longer than clients might expect. Let's move it into the
`Preprocessor` instead.


  Commit: beaff78528747dfbd50f9f4df77ac25f459075be
      https://github.com/llvm/llvm-project/commit/beaff78528747dfbd50f9f4df77ac25f459075be
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libcxx/benchmarks/algorithms/mismatch.bench.cpp
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize the std::mismatch tail (#83440)

This adds vectorization to the last 0-3 vectors and, if the range is
large enough, the remaining elements that don't fill a vector
completely.
```
-----------------------------------------------------------------------
Benchmark                           old    full vectors  partial vector
-----------------------------------------------------------------------
bm_mismatch<char>/1             1.40 ns         1.62 ns         2.09 ns
bm_mismatch<char>/2             1.88 ns         2.10 ns         2.33 ns
bm_mismatch<char>/3             2.67 ns         2.56 ns         2.72 ns
bm_mismatch<char>/4             3.01 ns         3.20 ns         3.70 ns
bm_mismatch<char>/5             3.51 ns         3.73 ns         3.64 ns
bm_mismatch<char>/6             4.71 ns         4.85 ns         4.37 ns
bm_mismatch<char>/7             5.12 ns         5.33 ns         4.37 ns
bm_mismatch<char>/8             5.79 ns         6.02 ns         4.75 ns
bm_mismatch<char>/15            9.20 ns         10.5 ns         7.23 ns
bm_mismatch<char>/16            10.2 ns         10.1 ns         7.46 ns
bm_mismatch<char>/17            10.2 ns         10.8 ns         7.57 ns
bm_mismatch<char>/31            17.6 ns         17.1 ns         10.8 ns
bm_mismatch<char>/32            17.4 ns         1.64 ns         1.64 ns
bm_mismatch<char>/33            23.3 ns         2.10 ns         2.33 ns
bm_mismatch<char>/63            31.8 ns         16.9 ns         2.33 ns
bm_mismatch<char>/64            32.6 ns         2.10 ns         2.10 ns
bm_mismatch<char>/65            33.6 ns         2.57 ns         2.80 ns
bm_mismatch<char>/127           67.3 ns         18.1 ns         3.27 ns
bm_mismatch<char>/128           2.17 ns         2.14 ns         2.57 ns
bm_mismatch<char>/129           2.36 ns         2.80 ns         3.27 ns
bm_mismatch<char>/255           67.5 ns         19.6 ns         4.68 ns
bm_mismatch<char>/256           3.76 ns         3.71 ns         3.97 ns
bm_mismatch<char>/257           3.77 ns         4.04 ns         4.43 ns
bm_mismatch<char>/511           70.8 ns         22.1 ns         7.47 ns
bm_mismatch<char>/512           7.27 ns         7.30 ns         6.95 ns
bm_mismatch<char>/513           7.11 ns         7.05 ns         6.96 ns
bm_mismatch<char>/1023          75.9 ns         27.4 ns         13.3 ns
bm_mismatch<char>/1024          13.9 ns         13.8 ns         12.4 ns
bm_mismatch<char>/1025          13.6 ns         13.6 ns         12.8 ns
bm_mismatch<char>/2047          87.3 ns         37.5 ns         25.4 ns
bm_mismatch<char>/2048          26.8 ns         27.4 ns         24.0 ns
bm_mismatch<char>/2049          26.7 ns         27.3 ns         25.5 ns
bm_mismatch<char>/4095           112 ns         64.7 ns         48.7 ns
bm_mismatch<char>/4096          53.0 ns         54.2 ns         46.8 ns
bm_mismatch<char>/4097          52.7 ns         54.2 ns         48.4 ns
bm_mismatch<char>/8191           160 ns          118 ns         98.4 ns
bm_mismatch<char>/8192           107 ns          108 ns         96.0 ns
bm_mismatch<char>/8193           106 ns          108 ns         97.2 ns
bm_mismatch<char>/16383          283 ns          234 ns          215 ns
bm_mismatch<char>/16384          227 ns          223 ns          217 ns
bm_mismatch<char>/16385          221 ns          221 ns          215 ns
bm_mismatch<char>/32767          547 ns          499 ns          488 ns
bm_mismatch<char>/32768          495 ns          492 ns          492 ns
bm_mismatch<char>/32769          491 ns          489 ns          488 ns
bm_mismatch<char>/65535         1028 ns          979 ns          971 ns
bm_mismatch<char>/65536          976 ns          970 ns          974 ns
bm_mismatch<char>/65537          970 ns          965 ns          971 ns
bm_mismatch<char>/131071        2031 ns         1948 ns         2005 ns
bm_mismatch<char>/131072        1973 ns         1955 ns         1974 ns
bm_mismatch<char>/131073        1989 ns         1932 ns         2001 ns
bm_mismatch<char>/262143        4469 ns         4244 ns         4223 ns
bm_mismatch<char>/262144        4443 ns         4183 ns         4243 ns
bm_mismatch<char>/262145        4400 ns         4232 ns         4246 ns
bm_mismatch<char>/524287       10169 ns         9733 ns         9592 ns
bm_mismatch<char>/524288       10154 ns         9664 ns         9843 ns
bm_mismatch<char>/524289       10113 ns         9641 ns        10003 ns
bm_mismatch<short>/1            1.86 ns         2.53 ns         2.32 ns
bm_mismatch<short>/2            2.57 ns         2.77 ns         2.55 ns
bm_mismatch<short>/3            3.26 ns         3.00 ns         2.79 ns
bm_mismatch<short>/4            3.95 ns         3.39 ns         3.15 ns
bm_mismatch<short>/5            4.83 ns         3.97 ns         3.72 ns
bm_mismatch<short>/6            5.43 ns         4.34 ns         4.03 ns
bm_mismatch<short>/7            6.11 ns         4.73 ns         4.44 ns
bm_mismatch<short>/8            6.84 ns         5.02 ns         4.79 ns
bm_mismatch<short>/15           11.5 ns         7.12 ns         6.50 ns
bm_mismatch<short>/16           13.9 ns         1.87 ns         2.11 ns
bm_mismatch<short>/17           14.0 ns         3.00 ns         2.47 ns
bm_mismatch<short>/31           23.1 ns         7.87 ns         2.47 ns
bm_mismatch<short>/32           23.8 ns         2.57 ns         2.81 ns
bm_mismatch<short>/33           24.5 ns         3.70 ns         2.94 ns
bm_mismatch<short>/63           44.8 ns         9.37 ns         3.46 ns
bm_mismatch<short>/64           2.32 ns         2.57 ns         2.64 ns
bm_mismatch<short>/65           2.52 ns         3.02 ns         3.51 ns
bm_mismatch<short>/127          45.6 ns         9.97 ns         5.18 ns
bm_mismatch<short>/128          3.85 ns         3.93 ns         3.94 ns
bm_mismatch<short>/129          3.82 ns         4.20 ns         4.70 ns
bm_mismatch<short>/255          50.4 ns         12.6 ns         8.07 ns
bm_mismatch<short>/256          7.23 ns         6.91 ns         6.98 ns
bm_mismatch<short>/257          7.24 ns         7.19 ns         7.55 ns
bm_mismatch<short>/511          52.3 ns         17.8 ns         14.0 ns
bm_mismatch<short>/512          13.6 ns         13.7 ns         13.6 ns
bm_mismatch<short>/513          13.9 ns         13.8 ns         18.5 ns
bm_mismatch<short>/1023         60.9 ns         30.9 ns         26.3 ns
bm_mismatch<short>/1024         26.7 ns         27.7 ns         25.7 ns
bm_mismatch<short>/1025         27.7 ns         27.6 ns         25.3 ns
bm_mismatch<short>/2047         88.4 ns         58.0 ns         51.6 ns
bm_mismatch<short>/2048         52.8 ns         55.3 ns         50.6 ns
bm_mismatch<short>/2049         55.2 ns         54.8 ns         48.7 ns
bm_mismatch<short>/4095          153 ns          113 ns          102 ns
bm_mismatch<short>/4096          105 ns          110 ns          101 ns
bm_mismatch<short>/4097          110 ns          110 ns         99.1 ns
bm_mismatch<short>/8191          277 ns          219 ns          206 ns
bm_mismatch<short>/8192          226 ns          214 ns          250 ns
bm_mismatch<short>/8193          226 ns          207 ns          208 ns
bm_mismatch<short>/16383         519 ns          492 ns          488 ns
bm_mismatch<short>/16384         494 ns          492 ns          492 ns
bm_mismatch<short>/16385         492 ns          488 ns          489 ns
bm_mismatch<short>/32767        1007 ns          968 ns          964 ns
bm_mismatch<short>/32768         977 ns          972 ns          970 ns
bm_mismatch<short>/32769         972 ns          962 ns          967 ns
bm_mismatch<short>/65535        1978 ns         1918 ns         1956 ns
bm_mismatch<short>/65536        1940 ns         1927 ns         1970 ns
bm_mismatch<short>/65537        1937 ns         1922 ns         1959 ns
bm_mismatch<short>/131071       4524 ns         4193 ns         4304 ns
bm_mismatch<short>/131072       4445 ns         4196 ns         4306 ns
bm_mismatch<short>/131073       4452 ns         4278 ns         4311 ns
bm_mismatch<short>/262143       9801 ns        10188 ns         9634 ns
bm_mismatch<short>/262144       9738 ns        10151 ns         9651 ns
bm_mismatch<short>/262145       9716 ns        10171 ns         9715 ns
bm_mismatch<short>/524287      19944 ns        20718 ns        20044 ns
bm_mismatch<short>/524288      21139 ns        20647 ns        20008 ns
bm_mismatch<short>/524289      21162 ns        19512 ns        20068 ns
bm_mismatch<int>/1              1.40 ns         1.84 ns         1.87 ns
bm_mismatch<int>/2              1.87 ns         2.08 ns         2.09 ns
bm_mismatch<int>/3              2.36 ns         2.31 ns         2.87 ns
bm_mismatch<int>/4              3.06 ns         2.72 ns         2.95 ns
bm_mismatch<int>/5              3.66 ns         3.37 ns         3.42 ns
bm_mismatch<int>/6              4.55 ns         3.65 ns         3.73 ns
bm_mismatch<int>/7              5.03 ns         3.93 ns         3.94 ns
bm_mismatch<int>/8              5.67 ns         1.86 ns         1.87 ns
bm_mismatch<int>/15             9.89 ns         4.41 ns         2.34 ns
bm_mismatch<int>/16             10.1 ns         2.33 ns         2.34 ns
bm_mismatch<int>/17             10.2 ns         3.34 ns         2.86 ns
bm_mismatch<int>/31             17.2 ns         5.54 ns         3.28 ns
bm_mismatch<int>/32             2.16 ns         2.15 ns         2.58 ns
bm_mismatch<int>/33             2.36 ns         3.01 ns         3.28 ns
bm_mismatch<int>/63             17.7 ns         6.50 ns         4.93 ns
bm_mismatch<int>/64             3.81 ns         3.58 ns         3.90 ns
bm_mismatch<int>/65             3.74 ns         4.36 ns         4.45 ns
bm_mismatch<int>/127            19.5 ns         9.56 ns         7.74 ns
bm_mismatch<int>/128            7.30 ns         6.41 ns         6.85 ns
bm_mismatch<int>/129            7.09 ns         7.04 ns         7.06 ns
bm_mismatch<int>/255            24.7 ns         14.8 ns         13.3 ns
bm_mismatch<int>/256            14.0 ns         12.1 ns         12.3 ns
bm_mismatch<int>/257            13.8 ns         12.7 ns         12.8 ns
bm_mismatch<int>/511            34.3 ns         26.3 ns         24.8 ns
bm_mismatch<int>/512            27.6 ns         23.6 ns         23.9 ns
bm_mismatch<int>/513            27.3 ns         24.4 ns         25.1 ns
bm_mismatch<int>/1023           62.5 ns         50.9 ns         48.3 ns
bm_mismatch<int>/1024           54.4 ns         46.1 ns         46.6 ns
bm_mismatch<int>/1025           54.2 ns         48.4 ns         47.5 ns
bm_mismatch<int>/2047            116 ns         97.8 ns         94.1 ns
bm_mismatch<int>/2048            108 ns         92.6 ns         92.4 ns
bm_mismatch<int>/2049            108 ns          104 ns         94.0 ns
bm_mismatch<int>/4095            233 ns          222 ns          205 ns
bm_mismatch<int>/4096            226 ns          223 ns          225 ns
bm_mismatch<int>/4097            221 ns          219 ns          210 ns
bm_mismatch<int>/8191            499 ns          485 ns          488 ns
bm_mismatch<int>/8192            496 ns          490 ns          495 ns
bm_mismatch<int>/8193            491 ns          485 ns          488 ns
bm_mismatch<int>/16383           982 ns          962 ns          964 ns
bm_mismatch<int>/16384           974 ns          971 ns          971 ns
bm_mismatch<int>/16385           971 ns          961 ns          968 ns
bm_mismatch<int>/32767          2003 ns         1959 ns         1920 ns
bm_mismatch<int>/32768          1996 ns         1947 ns         1928 ns
bm_mismatch<int>/32769          1990 ns         1945 ns         1926 ns
bm_mismatch<int>/65535          4434 ns         4275 ns         4312 ns
bm_mismatch<int>/65536          4437 ns         4267 ns         4321 ns
bm_mismatch<int>/65537          4442 ns         4261 ns         4321 ns
bm_mismatch<int>/131071         9673 ns         9648 ns         9465 ns
bm_mismatch<int>/131072         9667 ns         9671 ns         9465 ns
bm_mismatch<int>/131073         9661 ns         9653 ns         9464 ns
bm_mismatch<int>/262143        20595 ns        19605 ns        19064 ns
bm_mismatch<int>/262144        19894 ns        19572 ns        19009 ns
bm_mismatch<int>/262145        19851 ns        19656 ns        18999 ns
bm_mismatch<int>/524287        39556 ns        39364 ns        38131 ns
bm_mismatch<int>/524288        39678 ns        39573 ns        38183 ns
bm_mismatch<int>/524289        40168 ns        39301 ns        38121 ns
```


  Commit: 2684a0966d5c84071c811c68ec25e41a0beb26f4
      https://github.com/llvm/llvm-project/commit/2684a0966d5c84071c811c68ec25e41a0beb26f4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    A libcxx/docs/DesignDocs/NodiscardPolicy.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Document guidelines for applying [[nodiscard]] (#84000)

We've been applying ``[[nodiscard]]`` more liberally recently, but we
don't have any documented guidance on when it's correct to add it. This
patch adds that guidance. Follow-up patches will gradually apply it to
the code base.


  Commit: fe893c93b7bd3b3c436b97383db21e08c9ec4b25
      https://github.com/llvm/llvm-project/commit/fe893c93b7bd3b3c436b97383db21e08c9ec4b25
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll

  Log Message:
  -----------
  [FPEnv][AtomicExpand] Correct strictfp attribute handling in AtomicExpandPass (#87082)

The AtomicExpand pass was lowering function calls with the strictfp
attribute to sequences that included function calls incorrectly lacking
the attribute. This patch corrects that.

The pass now also emits the correct constrained fp call instead of
normal FP instructions when in a function with the strictfp attribute.

Test changes verified with D146845.


  Commit: 7daa65a088c00891662d5e7e162e5f8f3283f799
      https://github.com/llvm/llvm-project/commit/7daa65a088c00891662d5e7e162e5f8f3283f799
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    A llvm/test/CodeGen/NVPTX/common-linkage.ll
    M llvm/test/CodeGen/NVPTX/weak-global.ll

  Log Message:
  -----------
  Reland "[NVPTX] Use .common linkage for common globals" (#86824)

Switch from `.weak` to `.common` linkage for common global variables
where possible. The `.common` linkage is described in
[PTX ISA 11.6.4. Linking Directives: .common]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#linking-directives-common)
> Declares identifier to be globally visible but “common”.
>
>Common symbols are similar to globally visible symbols. However
multiple object files may declare the same common symbol and they may
have different types and sizes and references to a symbol get resolved
against a common symbol with the largest size.
>
>Only one object file can initialize a common symbol and that must have
the largest size among all other definitions of that common symbol from
different object files.
>
>.common linking directive can be used only on variables with .global
storage. It cannot be used on function symbols or on symbols with opaque
type.

I've updated the logic and tests to only use `.common` for PTX 5.0 or
greater and verified that the new tests now pass with `ptxas`.


  Commit: ee3a302abaa091e550a80f79694e963d1b5d0b7b
      https://github.com/llvm/llvm-project/commit/ee3a302abaa091e550a80f79694e963d1b5d0b7b
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang] Move state out of `PreprocessorOptions` (2/n) (#87099)

An instance of `PreprocessorOptions` is part of `CompilerInvocation`
which is supposed to be a value type. The `FailedModules` member is
problematic, since it's essentially a shared state used by multiple
`CompilerInstance` objects, and not really a preprocessor option. Let's
move it into `CompilerInstance` instead.


  Commit: b42fa8645c4369dfd80397a4e641ec49c96a0d2e
      https://github.com/llvm/llvm-project/commit/b42fa8645c4369dfd80397a4e641ec49c96a0d2e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/ceil.ll
    A llvm/test/CodeGen/DirectX/ceil_error.ll

  Log Message:
  -----------
  [DXIL] Add lowering for `ceil` (#87043)

Add lowering of llvm.ceil intrinsics to DXIL ops.

Fixes #86984


  Commit: 360f7f5674c4ddef006d233ef7259f8fe07ae81b
      https://github.com/llvm/llvm-project/commit/360f7f5674c4ddef006d233ef7259f8fe07ae81b
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Call `setInstrAndDebugLoc` before `tryCombineAll` (#86993)

This can remove all unnecessary redundant calls in each combiner.


  Commit: 3a106e5b2cd9f4073b2961b991ebaeee96786309
      https://github.com/llvm/llvm-project/commit/3a106e5b2cd9f4073b2961b991ebaeee96786309
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-128.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-with-success.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-atomic-cmpxchg-with-success.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/add.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/cttz.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/mul.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv64.mir
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp

  Log Message:
  -----------
  [GlobalISel] Fold G_ICMP if possible (#86357)

This patch tries to fold `G_ICMP` if possible.


  Commit: cc8c6b037cd24a47ff6953508e5734562ef1ecc4
      https://github.com/llvm/llvm-project/commit/cc8c6b037cd24a47ff6953508e5734562ef1ecc4
  Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    A openmp/libomptarget/test/offloading/d2d_memcpy_sync.c

  Log Message:
  -----------
  [OpenMP] [amdgpu] Added a synchronous version of data exchange. (#87032)

Similar to H2D and D2H, use synchronous mode for large data transfers
beyond a certain size for D2D as well. As with H2D and D2H, this size is
controlled by an env-var.


  Commit: ddc9892999a42f9fd069f9786b82cb63312eba63
      https://github.com/llvm/llvm-project/commit/ddc9892999a42f9fd069f9786b82cb63312eba63
  Author: mlevesquedion <mlevesquedion at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M flang/test/Transforms/stack-arrays.fir
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    A mlir/test/IR/greedy-pattern-rewrite-driver-bottom-up.mlir
    A mlir/test/IR/greedy-pattern-rewrite-driver-top-down.mlir
    R mlir/test/IR/greedy-pattern-rewriter-driver.mlir

  Log Message:
  -----------
  Add operands to worklist when only used by deleted op (#86990)

I believe the existing check to determine if an operand should be added
is incorrect: `operand.use_empty() || operand.hasOneUse()`. This is
because these checks do not take into account the fact that the op is
being deleted. It hasn't been deleted yet, so `operand.use_empty()`
cannot be true, and `operand.hasOneUse()` may be true if the op being
deleted is the only user of the operand and it only uses it once, but it
will fail if the operand is used more than once (e.g. something like
`add %0, %0`).

Instead, check if the op being deleted is the only _user_ of the
operand. If so, add the operand to the worklist.

Fixes #86765


  Commit: 12fdf04ff8962c9e902669a1b600b27a960f0c11
      https://github.com/llvm/llvm-project/commit/12fdf04ff8962c9e902669a1b600b27a960f0c11
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/test/Driver/darwin-ld-reexports.c

  Log Message:
  -----------
  [clang][Darwin] Handle reexported library arguments in driver (#86980)

`-reexport*` is the newer spelling for `-sub-library` which is already
supported by the clang driver when invoking ld.
Support the new spellings when passed by the user. This also helps
simplify `clang-installapi` driver logic.


  Commit: cf73f136c5e22e7e4090fc762456ace47752a898
      https://github.com/llvm/llvm-project/commit/cf73f136c5e22e7e4090fc762456ace47752a898
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/Sema/constant-builtins-all-args-evaluated.cpp

  Log Message:
  -----------
  [clang][ExprConst] Fix second arg of __builtin_{clzg,ctzg} not always being evaluated (#86742)

Even if we don't actually use the value of the second argument, we have to evaluate it for side-effects.

---------

Co-authored-by: Richard Smith <richard at metafoo.co.uk>


  Commit: bbb8a6c836b12968c3590a98271b30017b98ca73
      https://github.com/llvm/llvm-project/commit/bbb8a6c836b12968c3590a98271b30017b98ca73
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix impl and tests for X86_80 canonicalize function. (#87103)

In continuation to: #87097


  Commit: 13b3762608e4d3978cbb49e20f0afc3a13303f88
      https://github.com/llvm/llvm-project/commit/13b3762608e4d3978cbb49e20f0afc3a13303f88
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix crash in drop unit dims (#87104)

An `arith.select` may have a scalar condition and true/false vector values.


  Commit: c0a3c5c81ff7ff9e2a90b1664d6e419bf99c1aa9
      https://github.com/llvm/llvm-project/commit/c0a3c5c81ff7ff9e2a90b1664d6e419bf99c1aa9
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp

  Log Message:
  -----------
  [scudo] Change tests that use setrlimit to cause mmap to fail. (#87004)

It appears that qemu does not actually cause mmap to fail when calling
setrlimit to limit the address space size. In the two tests that use
setrlimit, detect if mmap still works and skip the tests in that case.

Since all Android targets should support setrlimit, compile out the mmap
check code for them.


  Commit: 0030fc4ac74a9ce645adb9d59e108da4d4d11818
      https://github.com/llvm/llvm-project/commit/0030fc4ac74a9ce645adb9d59e108da4d4d11818
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir

  Log Message:
  -----------
  [mlir]Fix dialect conversion drop uses (#86991)

Before deleting the block we need to drop uses to the surrounding args.
If this is not performed dialect conversion failures can result in a
failure to remove args (despite the block having no remaining uses).


  Commit: 038e66fe59962de121ce24ee709eca7a0783cbc4
      https://github.com/llvm/llvm-project/commit/038e66fe59962de121ce24ee709eca7a0783cbc4
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/test/tasking/hidden_helper_task/issue-87117.c

  Log Message:
  -----------
  [OpenMP] Have hidden helper team allocate new OS threads only (#87119)

The hidden helper team pre-allocates the gtid space [1,
num_hidden_helpers] (inclusive). If regular host threads are allocated,
then put back in the thread pool, then the hidden helper team is
initialized, the hidden helper team tries to allocate the threads from
the thread pool with gtids higher than [1, num_hidden_helpers]. Instead,
have the hidden helper team fork OS threads so the correct gtid range
used for hidden helper threads.

Fixes: #87117


  Commit: dc4cfdbb8f9f665c1699e6289b6edfbc8d1bb443
      https://github.com/llvm/llvm-project/commit/dc4cfdbb8f9f665c1699e6289b6edfbc8d1bb443
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir

  Log Message:
  -----------
  [mlir][sparse] provide an AoS "view" into sparse runtime support lib (#87116)

Note that even though the sparse runtime support lib always uses SoA
storage for COO storage (and provides correct codegen by means of views
into this storage), in some rare cases we need the true physical SoA
storage as a coordinate buffer. This PR provides that functionality by
means of a (costly) coordinate buffer call.

Since this is currently only used for testing/debugging by means of the
sparse_tensor.print method, this solution is acceptable. If we ever want
a performing version of this, we should truly support AoS storage of COO
in addition to the SoA used right now.


  Commit: b4693e0d7da8f7f1f1365ab97ecc0e33ad459943
      https://github.com/llvm/llvm-project/commit/b4693e0d7da8f7f1f1365ab97ecc0e33ad459943
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M clang/cmake/caches/CrossWinToARMLinux.cmake

  Log Message:
  -----------
  [CMake] Update CMake cache file for the Win-to-Arm cross toolchains. NFC. (#87113)

Review the actual component parameters and update the cache file
accordingly.
Also fixed the C++ test builds for the compiler-rt component.


  Commit: 7467dc188a0c63b32bd3068fc98ae77f86285c0d
      https://github.com/llvm/llvm-project/commit/7467dc188a0c63b32bd3068fc98ae77f86285c0d
  Author: Sitnikov Sergey <109442154+Aqendo at users.noreply.github.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Debug.cpp

  Log Message:
  -----------
  Fix apostrophes in assert error message (#69881)


  Commit: 7de82ca369b5e9114636420a16e1c5d25283421d
      https://github.com/llvm/llvm-project/commit/7de82ca369b5e9114636420a16e1c5d25283421d
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/linux-bug-table.s

  Log Message:
  -----------
  [BOLT] Don't terminate on trap instruction for Linux kernel (#87021)

Under normal circumstances, we terminate basic blocks on a trap
instruction. However, Linux kernel may resume execution after hitting a
trap (ud2 on x86). Thus, we introduce "--terminal-trap" option that will
specify if the trap instruction should terminate the control flow. The
option is on by default except for the Linux kernel mode when it's off.


  Commit: a8b0ecd2605ff23f495a8af64e06c35f86834e54
      https://github.com/llvm/llvm-project/commit/a8b0ecd2605ff23f495a8af64e06c35f86834e54
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/docs/configure.rst
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [libc] enable stack protectors and frame pointers on default (#86288)


  Commit: 5538853f9abb559ff4bb7ff598535041d91d97d7
      https://github.com/llvm/llvm-project/commit/5538853f9abb559ff4bb7ff598535041d91d97d7
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  [PassManager] Support MachineFunctionProperties (#83668)

This pull request adds `MachineFunctionProperties` support. If a pass
wants to modify machine function properties, it must derive from
`MachinePassInfoMixin` and define some static methods like in legacy
pass manager. A test pass `RequireAllMachineFunctionPropertiesPass` is
also added here, which could be a example.


  Commit: 0be26dbbed91ba84b4d00bd2e19e2f60aeb51a9f
      https://github.com/llvm/llvm-project/commit/0be26dbbed91ba84b4d00bd2e19e2f60aeb51a9f
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    R llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Revert "[PassManager] Support MachineFunctionProperties (#83668)" (#87136)

This reverts commit 5538853f9abb559ff4bb7ff598535041d91d97d7. #83668
Break some test bots.


  Commit: 4f7132952222cd9b2709e98109d6ce0ef333940c
      https://github.com/llvm/llvm-project/commit/4f7132952222cd9b2709e98109d6ce0ef333940c
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Reland "[PassManager] Support MachineFunctionProperties (#83668)" (#87137)

Fix preprocessor directive.


  Commit: e9e4ab8147f0b8a8d1c8f1a70bef3999ffeeb651
      https://github.com/llvm/llvm-project/commit/e9e4ab8147f0b8a8d1c8f1a70bef3999ffeeb651
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    R llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Revert "Reland "[PassManager] Support MachineFunctionProperties (#83668)"" (#87138)

Reverts llvm/llvm-project#87137
It introduces ambiguous template specialization problem. Revert it.


  Commit: 09403a66c01ef189c5e6993410fc9e082acaccf2
      https://github.com/llvm/llvm-project/commit/09403a66c01ef189c5e6993410fc9e082acaccf2
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M lld/test/ELF/allow-shlib-undefined.s

  Log Message:
  -----------
  [ELF,test] Improve "non-exported symbol" tests

Test that the error is not triggered when we see the non-exported
definition first (#86777).


  Commit: df54f627fad789ccb11c72a9fddf116decbeba0e
      https://github.com/llvm/llvm-project/commit/df54f627fad789ccb11c72a9fddf116decbeba0e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-29 (Fri, 29 Mar 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/allow-shlib-undefined.s
    M lld/test/ELF/shlib-undefined-local.s

  Log Message:
  -----------
  [ELF] Enhance --no-allow-shlib-undefined for non-exported definitions

For a DSO with all DT_NEEDED entries accounted for, if it contains an
undefined non-weak symbol that shares a name with a non-exported
definition (hidden visibility or localized by a version script), and
there is no DSO definition, we should report an error.

#70769 implemented the error when we see `ref.so def-hidden.so`. This patch
implementes the error when we see `def-hidden.so ref.so`, matching GNU
ld.

Close #86777


  Commit: 95258419f6fe2e0922c2c0916fd176b9f7361555
      https://github.com/llvm/llvm-project/commit/95258419f6fe2e0922c2c0916fd176b9f7361555
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  [AMDGPU] Use AMDGPU::isIntrinsicAlwaysUniform in isSDNodeAlwaysUniform (#87085)

This is mostly just a simplification, but tests show a slight codegen
improvement in code using the deprecated amdgcn.icmp/fcmp intrinsics.


  Commit: 631ae59d301496f86a8d46d28f7b12afbd12a3c1
      https://github.com/llvm/llvm-project/commit/631ae59d301496f86a8d46d28f7b12afbd12a3c1
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][ExecutionEngine] Introduce shared library (#87067)

This commit introduces a shared library for the MLIR execution engine.
This library is only built when `LLVM_BUILD_LLVM_DYLIB` is set. Having
such a library allows downstream users to depend on the execution engine
without giving up dynamic linkage. This is especially important for CPU
runner-style tools, as they link against large parts of MLIR and LLVM.

It is alternatively possible to modify the `MLIRExecutionEngine` target
when `LLVM_BUILD_LLVM_DYLIB` is set, to avoid duplicated libraries.


  Commit: 546dc2245ffc4cccd0b05b58b7a5955e355a3b27
      https://github.com/llvm/llvm-project/commit/546dc2245ffc4cccd0b05b58b7a5955e355a3b27
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/lib/Interpreter/Value.cpp

  Log Message:
  -----------
  [clang-repl] Minor cleanups in Value.cpp (NFC) (#87066)


  Commit: b361b5369ed4bb186f2a11459b1bc1d54d73a33e
      https://github.com/llvm/llvm-project/commit/b361b5369ed4bb186f2a11459b1bc1d54d73a33e
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp
    A llvm/test/tools/llc/new-pm/machine-function-properties.mir

  Log Message:
  -----------
  Reland "[PassManager] Support MachineFunctionProperties (#83668)" (#87141)

Unfortunately GCC 9 rejects code in https://godbolt.org/z/zd9r5GM3e GCC
11 accepts this code.


  Commit: 29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4
      https://github.com/llvm/llvm-project/commit/29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] RISCV vector calling convention (2/2) (#79096)

This commit handles vector arguments/return for function definition/call,
the new class RVVArgDispatcher is added for doing all vector register
assignment including mask types, data types as well as tuple types.
It precomputes the register number for each argument as per
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#standard-vector-calling-convention-variant
and it's passed to calling convention function to handle all vector arguments.

Depends on: #78550


  Commit: 37c175af955f0aeab67e8c553a0a47b2ed0fdba2
      https://github.com/llvm/llvm-project/commit/37c175af955f0aeab67e8c553a0a47b2ed0fdba2
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [clang][Driver] Pass -machine argument to the linker explicitly for ARM64EC targets. (#86835)

This is required by the linker. Also add a new -marm64x command line argument to allow specifying -machine:arm64x.


  Commit: 799e1d6a128438268bbf64b8c30ad3722f55524b
      https://github.com/llvm/llvm-project/commit/799e1d6a128438268bbf64b8c30ad3722f55524b
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/IR/Mangler.cpp
    M llvm/test/CodeGen/AArch64/dllexport.ll

  Log Message:
  -----------
  [IR] Use EXPORTAS for ARM64EC mangled symbols with dllexport attribute. (#81940)

We currently just use mangled name. This works fine, because linker
should detect that and demangle it for the export table. However, on
MSVC, the compiler is more specific and passes demangled name as well,
with EXPORTAS. This PR aims to match that. MSVC doesn't use quotes in
this case, so I added '#' to the list of characters that don't need it.


  Commit: 556bf03a572fb8f6a91f1ad5227603b37717c55d
      https://github.com/llvm/llvm-project/commit/556bf03a572fb8f6a91f1ad5227603b37717c55d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [clang][NFC] Fix ARM64EC clang-cl linker driver tests. (#87160)

Add '--' argument to clang-cl to avoid interpreting input files with /U
option. Fix for llvm-clang-aarch64-darwin buildbot failure after #86835.


  Commit: 6aa53888a8e8a6e3f0bd279539703f4d4701b4e7
      https://github.com/llvm/llvm-project/commit/6aa53888a8e8a6e3f0bd279539703f4d4701b4e7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp

  Log Message:
  -----------
  [libc++][test] Improves src include paths. (#86864)

Instead of including a relative path use an absolute path based on the
available lit substitution. This makes it easier to understand what is
included and moving the test to a different directory level no longer
breaks the test.

This is based on a question by @EricWF in
https://github.com/llvm/llvm-project/pull/82113.


  Commit: 3c8ede9f4524fd8defbbf41788003a6d4b0afb04
      https://github.com/llvm/llvm-project/commit/3c8ede9f4524fd8defbbf41788003a6d4b0afb04
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp

  Log Message:
  -----------
  [HLSL][clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (#87131)

Resolves #87109


  Commit: 8d9cb6b016c9dce8412c329277f1bbaa3f16961c
      https://github.com/llvm/llvm-project/commit/8d9cb6b016c9dce8412c329277f1bbaa3f16961c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Inline getVPValue in only caller (NFCI).


  Commit: a67b9326cd0448072a1192951f12f3927f31af8c
      https://github.com/llvm/llvm-project/commit/a67b9326cd0448072a1192951f12f3927f31af8c
  Author: Min Hsu <min at myhsu.dev>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrInfo.td

  Log Message:
  -----------
  [M68k][NFC] Refactoring memory operands of different sizes with foreach

I'm planning to add memory operands that produce floating point type. In
order to prevent code bloating induced by memory operands of not just
integer but floating point types, I factored the sizes from these
operands with foreach loops.


  Commit: c0febca3a64530c1cc3f117aec6a28c37114e572
      https://github.com/llvm/llvm-project/commit/c0febca3a64530c1cc3f117aec6a28c37114e572
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Refactor BC::createBinaryContext for #81346 (#87172)


  Commit: ea92b1f9d0fc31f1fd97ad04eb0412003a37cb0d
      https://github.com/llvm/llvm-project/commit/ea92b1f9d0fc31f1fd97ad04eb0412003a37cb0d
  Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/FormatString.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Sema/format-strings-signedness-fixit.c
    A clang/test/Sema/format-strings-signedness.c

  Log Message:
  -----------
  [Sema] Implement support for -Wformat-signedness (#74440)

In gcc there exist a modifier option -Wformat-signedness that turns on
additional signedness warnings in the already existing -Wformat warning.

This patch implements that support in clang. This is done by adding a dummy
warning diag::warn_format_conversion_argument_type_mismatch_signedness that
is never emitted and only used as an option to toggle the signedness warning
in -Wformat. This will ensure gcc compatibility.


  Commit: d12e45ad16a62f7d3ff20b90863f42c9ddb0e624
      https://github.com/llvm/llvm-project/commit/d12e45ad16a62f7d3ff20b90863f42c9ddb0e624
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][NFC] Split out DomTree construction from BF::calculateLoopInfo (#87181)


  Commit: b6f6be4b500ff64c23a5103ac3311cb74519542f
      https://github.com/llvm/llvm-project/commit/b6f6be4b500ff64c23a5103ac3311cb74519542f
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
    A clang-tools-extra/clang-tidy/objc/ObjcMatcher.h
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Remove duplicated code

Remove duplicated matchers by moving some of them to
utils/Matchers.h. Add some anonymous namespaces and
renamed some code to avoid ODR issues.


  Commit: 11a411a49b62c129bba551df4587dd446fcdc660
      https://github.com/llvm/llvm-project/commit/11a411a49b62c129bba551df4587dd446fcdc660
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
    R clang-tools-extra/clang-tidy/objc/ObjcMatcher.h
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp

  Log Message:
  -----------
  Revert "[clang-tidy][NFC] Remove duplicated code"

This reverts commit b6f6be4b500ff64c23a5103ac3311cb74519542f.


  Commit: 02078199d9839a8e0232a543b7bcd74867ca7d8e
      https://github.com/llvm/llvm-project/commit/02078199d9839a8e0232a543b7bcd74867ca7d8e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Mangler.h
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp

  Log Message:
  -----------
  [IR][Object][NFC] Move ARM64EC name mangling helpers to Mangler.h. (#87191)

Move the implementation to llvm:Core to avoids including `COFF.h` in `Mangler.cpp`.


  Commit: 45f5fa2925142edf9a3d1648fac6c1f80b360175
      https://github.com/llvm/llvm-project/commit/45f5fa2925142edf9a3d1648fac6c1f80b360175
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [IR] Add commutable matcher for `add nuw`; NFC

Closes #87179


  Commit: 154cea46732f4014bb409f1bcac9b39ac56df193
      https://github.com/llvm/llvm-project/commit/154cea46732f4014bb409f1bcac9b39ac56df193
  Author: Pablo Busse <Pablo.Busse at microsoft.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/test/API/functionalities/type_find_first/Makefile
    M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
    M lldb/test/API/functionalities/type_find_first/main.cpp
    A lldb/test/API/functionalities/type_find_first/other.cpp

  Log Message:
  -----------
  [lldb] Fix type lookup in DWARF .o files via debug map (#87177)

An inverted condition causes `SymbolFileDWARFDebugMap::FindTypes` to
bail out after inspecting the first .o file in each module.

The same kind of bug is found in
`SymbolFileDWARFDebugMap::ParseDeclsForContext`.

Correct both early exit conditions and add a regression test for lookup
of up a type defined in a secondary compilation unit.

Fixes #87176


  Commit: 8d8fff09d7e1267e75c2b9a1986c9d64533c177e
      https://github.com/llvm/llvm-project/commit/8d8fff09d7e1267e75c2b9a1986c9d64533c177e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp

  Log Message:
  -----------
  [Object][COFF][NFC] Don't use inline function for COFFImportFile::printSymbolName. (#87195)

Fixes BUILD_SHARED_LIBS builds after #87191 made helpers non-inline.


  Commit: 0234d90d818204f3a575de744a8df8448a7adeca
      https://github.com/llvm/llvm-project/commit/0234d90d818204f3a575de744a8df8448a7adeca
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir

  Log Message:
  -----------
  [AMDGPU] Extend MFMA padding option to gfx90a+ (#86768)

It was shown experimentally that this may have some benefit on newer HW.


  Commit: b5b34dbb27359139ef1eb2ca22e8c5a954e34e50
      https://github.com/llvm/llvm-project/commit/b5b34dbb27359139ef1eb2ca22e8c5a954e34e50
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Use directive for kernarg preload header padding (#86004)


  Commit: d2b63ed0ca5c7eb3f8fc029e3a5705cf0ddab438
      https://github.com/llvm/llvm-project/commit/d2b63ed0ca5c7eb3f8fc029e3a5705cf0ddab438
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  Revert "Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)""

This reverts commit a2982a29fdfcfe2904754815c85f630a4dc6d88c.
Buildbot failure that motivated the revert looks unrelated.


  Commit: 2b0ab05c4a6c25049a30c56e6f0487db70abb3d5
      https://github.com/llvm/llvm-project/commit/2b0ab05c4a6c25049a30c56e6f0487db70abb3d5
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC] Simplify type checks with isa predicates (#87182)

For more context on isa predicates, see:
https://github.com/llvm/llvm-project/pull/83753.


  Commit: 75f7d53f0ba5d77920ea895021b330f261e808cd
      https://github.com/llvm/llvm-project/commit/75f7d53f0ba5d77920ea895021b330f261e808cd
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  Fix DWARF locations when we have large .dwp files. (#87164)

We have the ability to load .dwp files with a .debug_info.dwo section
that exceeds 4GB. There were 4 locations that were using 32 bit offsets
and lengths to extract variable locations, and if a DIE was over the 4GB
barrier, we would truncate the block offset for the variable locations
and the variable expression would be garbage. This fixes the issues. It
isn't possible to add a test for this as we don't want to create a 4GB
.dwp file on test machines.


  Commit: 82c6eeed08b1c8267f6e92d594c910fe57a9775e
      https://github.com/llvm/llvm-project/commit/82c6eeed08b1c8267f6e92d594c910fe57a9775e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/Arith.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [MLIR] Add a second map for registered OperationName in MLIRContext (NFC) (#87170)

This speeds up registered op creation by 10-11% by allowing lookup by
TypeID instead of StringRef.

This can break your build/tests at runtime with an error that you're creating
an unregistered operation that you have registered. If so you are likely using
a class inheriting from the "real" operation. See for example in this patch the
case of:

  class ConstantIndexOp : public arith::ConstantOp {


If one is using `builder.create<ConstantIndexOp>()` they actually create an
`arith.constant` operation, but the builder will fetch the TypeID for 
the `ConstantIndexOp` class which does not correspond to any registered
operation. To fix it the `ConstantIndexOp` class got this addition:

  static ::mlir::TypeID resolveTypeID() { return TypeID::get<ConstantOp>(); }


  Commit: 23941019c0177b598c606581c8ca99eb7842769b
      https://github.com/llvm/llvm-project/commit/23941019c0177b598c606581c8ca99eb7842769b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir

  Log Message:
  -----------
  Revert "[mlir]Fix dialect conversion drop uses" (#87205)

Reverts llvm/llvm-project#86991

Some bots are broken with a leak being detected now.


  Commit: a0c019ae9ebd507bf7df58f6cc13eb7ebcd5e97f
      https://github.com/llvm/llvm-project/commit/a0c019ae9ebd507bf7df58f6cc13eb7ebcd5e97f
  Author: Philip Lassen <plassen at groq.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td

  Log Message:
  -----------
  [mlir][linalg] Delete unused SameVariadicOperandSize trait from ops (#87124)

Both `Transpose` and `Broadcast` specify the `SameVariadicOperandSize`
trait. However neither has a variadic operand let alone more than one.

This is likely a relic from copying the boilerplate of the `Reduce`
definition.


  Commit: ca68a14eb822d88bc32d511258f261e88dd6b7d6
      https://github.com/llvm/llvm-project/commit/ca68a14eb822d88bc32d511258f261e88dd6b7d6
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  Revert "Revert "Revert "[compiler-rt] Allow building builtins.a without a libc (#86737)"""

This reverts commit d2b63ed0ca5c7eb3f8fc029e3a5705cf0ddab438. CI again.
Leading theory is bad interaction between cmake and buildbot, some guesses at PR86737


  Commit: f87bde2962dded71599034880f57f742ea371888
      https://github.com/llvm/llvm-project/commit/f87bde2962dded71599034880f57f742ea371888
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h

  Log Message:
  -----------
  [nfc] Update comment for raw profile version 10. (#87207)

- The raw profile format change is in https://github.com/llvm/llvm-project/pull/82711


  Commit: 216b5e96664f72fdb63b6bbd6c422185c67ef818
      https://github.com/llvm/llvm-project/commit/216b5e96664f72fdb63b6bbd6c422185c67ef818
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll

  Log Message:
  -----------
  [AMDGPU] Expose RTZ version of f16 interpolation for gfx11+ (#86614)


  Commit: dc0cb17241aeff205a0c3a7cc4e790afab7484dd
      https://github.com/llvm/llvm-project/commit/dc0cb17241aeff205a0c3a7cc4e790afab7484dd
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [msan] Nit: use init_origins parameter instead of __msan_get_track_origins() in InitShadowWithReExec (#86994)

This fixes a nit I had accidentally introduced in
https://github.com/llvm/llvm-project/pull/85142

I don't think the value of __msan_get_track_origins() will change
between the start and end of InitShadowWithReExec, but it's cleaner to
use the parameter.


  Commit: fd38366e4525c5507bbb2a2fc1f7d113a964224e
      https://github.com/llvm/llvm-project/commit/fd38366e4525c5507bbb2a2fc1f7d113a964224e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/AddressMap.h
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryDomTree.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinaryLoop.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    M bolt/include/bolt/Passes/ReachingDefOrUse.h
    M bolt/include/bolt/Passes/ReachingInsns.h
    M bolt/include/bolt/Passes/ReorderUtils.h
    M bolt/include/bolt/Profile/ProfileReaderBase.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/include/bolt/Utils/NameShortener.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    R bolt/lib/Profile/ProfileReaderBase.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/JITLinkLinker.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Clean includes, add license headers (#87200)


  Commit: 2bfb19e813fcfdcb4a37b16bd77d267d7c77f0f8
      https://github.com/llvm/llvm-project/commit/2bfb19e813fcfdcb4a37b16bd77d267d7c77f0f8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ReplayInlineAdvisor.cpp

  Log Message:
  -----------
  Revert "Make two texts static in `ReplayInlineAdvisor`" (#82071)

Reverts llvm/llvm-project#79489

We know that the issues was with asan/annotations. We can revert it.


  Commit: 70deb7bfe90af91c68454b70683fbe98feaea87d
      https://github.com/llvm/llvm-project/commit/70deb7bfe90af91c68454b70683fbe98feaea87d
  Author: Yingchi Long <i at lyc.dev>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    A llvm/test/CodeGen/BPF/cttz-ctlz.ll

  Log Message:
  -----------
  [BPF] expand cttz, ctlz for i32, i64 (#73668)

Fixes: https://github.com/llvm/llvm-project/issues/62252

Depends on: #73667


  Commit: 90c738ef15fc6f10255dced0b1557f2cd2c4f43b
      https://github.com/llvm/llvm-project/commit/90c738ef15fc6f10255dced0b1557f2cd2c4f43b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td

  Log Message:
  -----------
  [IR] Introduce `llvm.allow.{runtime,ubsan}.check()` (#84850)

The goal is to have ability to change logic compile time based on PGO
data.

Our primary application is removing UBSAN checks from hot code.
Then we'd like to use this for libc++ hardening and regular debug
asserts.
Previous attempt is #84214.

Benefits from special intrinsic vs #84214:
1. Resulting binary is 3% faster than removing traps (on
"test-suite/MultiSource/Benchmarks" with PGO+ThinLTO)
2. Intrinsic can be used from source code to change behavior from C/C++
program. E.g. enabling asserts in cold code.
3. Easier to match basic blocks.

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641

---------

Co-authored-by: Nikita Popov <npopov at redhat.com>


  Commit: a21e0ba192147af4968742785f375dba0e3ea768
      https://github.com/llvm/llvm-project/commit/a21e0ba192147af4968742785f375dba0e3ea768
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp

  Log Message:
  -----------
  [clang-tidy] Fix buffer overflow in compareHeaders (#87213)

`RHS` can be shorter than `LHS`.

Reported by asan after #83440.


  Commit: 20f56e1f8e51d672425ec0c8f2ec243b131e8296
      https://github.com/llvm/llvm-project/commit/20f56e1f8e51d672425ec0c8f2ec243b131e8296
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/AArch64/allow-check.ll
    A llvm/test/CodeGen/AMDGPU/allow-check.ll
    A llvm/test/CodeGen/Generic/allow-check.ll
    A llvm/test/CodeGen/RISCV/allow-check.ll
    A llvm/test/CodeGen/X86/allow-check.ll

  Log Message:
  -----------
  [CodeGen] Add default lowering for llvm.allow.{runtime,ubsan}.check() (#86049)

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 421557974a3e0f469e6f4c3caecbf8aba69bb5bf
      https://github.com/llvm/llvm-project/commit/421557974a3e0f469e6f4c3caecbf8aba69bb5bf
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll

  Log Message:
  -----------
  [AMDGPU] Use glue for convergence tokens at call-like operations (#86766)

The earlier implementation on AMDGPU used explicit token operands at
SI_CALL and SI_CALL_ISEL. This is now replaced with CONVERGENCECTRL_GLUE
operands, with the following effects:

- The treatment of tokens at call-like operations is now consistent with
the treatment at intrinsics.
- Support for tail calls using implicit tokens at SI_TCRETURN "just
works".
- The extra parameter at call-like instructions is eliminated, thus
restoring those instructions and their handling to the original state.

The new glue node is placed after the existing glue node for the
outgoing call parameters, which seems to not interfere with selection of
the call-like nodes.


  Commit: 1e442ac4c33ac36d33e191c2d18ff594d8a5d11a
      https://github.com/llvm/llvm-project/commit/1e442ac4c33ac36d33e191c2d18ff594d8a5d11a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll

  Log Message:
  -----------
  [CostModel] No cost for llvm.allow.{runtime,ubsan}.check() (#86064)

These intrinsics will not be lowered to code.

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 0bc3781649c2d029e61766c0b74ea1f416996105
      https://github.com/llvm/llvm-project/commit/0bc3781649c2d029e61766c0b74ea1f416996105
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/AliasSetTracker.cpp
    M llvm/test/Analysis/AliasSet/intrinsics.ll

  Log Message:
  -----------
  [Analysis] Exclude llvm.allow.{runtime,ubsan}.check() from AliasSetTracker (#86065)

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 37d6e5b7a555e8c85c3e34803a710725c26857c7
      https://github.com/llvm/llvm-project/commit/37d6e5b7a555e8c85c3e34803a710725c26857c7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/MemorySSA.cpp
    A llvm/test/Analysis/MemorySSA/allow-check.ll

  Log Message:
  -----------
  [memoryssa] Exclude llvm.allow.{runtime,ubsan}.check() (#86066)

RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641


  Commit: 289d2cc3f398952a6ed2580530a542ca846f86e8
      https://github.com/llvm/llvm-project/commit/289d2cc3f398952a6ed2580530a542ca846f86e8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/allow-check.ll

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: b890c17892c75d1d7671b7c2ba1c927d4d3e09e2
      https://github.com/llvm/llvm-project/commit/b890c17892c75d1d7671b7c2ba1c927d4d3e09e2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/allow-check.ll

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: c4df57da1d7ede73c11a9ae60f4d4a2ce5132c56
      https://github.com/llvm/llvm-project/commit/c4df57da1d7ede73c11a9ae60f4d4a2ce5132c56
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp

  Log Message:
  -----------
  [CodeGen] llvm.allow.{runtime,ubsan}.check() in FastISel

Follow up to #86049.
clang-armv8-quick build bot can trigger this branch.


  Commit: c7954ca312ca7731a7611c63ff41365c28b06cb5
      https://github.com/llvm/llvm-project/commit/c7954ca312ca7731a7611c63ff41365c28b06cb5
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll

  Log Message:
  -----------
  Recommit "[RISCV] Refine cost on Min/Max reduction (#79402)" (#86480)

This is recommitted as the test and fix for
llvm.vector.reduce.fmaximum/fminimum are covered in #80553 and #80697


  Commit: 1679b27959bbe21b713725017b1cf36ac66dfadc
      https://github.com/llvm/llvm-project/commit/1679b27959bbe21b713725017b1cf36ac66dfadc
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__ranges/subrange.h
    R libcxx/include/__tuple/pair_like.h
    M libcxx/include/__tuple/tuple_like.h
    A libcxx/include/__tuple/tuple_like_no_subrange.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/include/variant
    M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor __tuple_like and __pair_like (#85206)

The exposition-only type trait `pair-like` includes `ranges::subrange`,
but in every single case excludes `ranges::subrange` from the list. This
patch introduces two new traits `__tuple_like_no_subrange` and
`__pair_like_no_subrange`, which exclude `ranges::subrange` from the
possible matches. `__pair_like` is no longer required, and thus removed.
`__tuple_like` is implemented as `__tuple_like_no_subrange` or a
`ranges::subrange` specialization.


  Commit: d76a1233f7d7923d056a53cfa6f89735e9cda86e
      https://github.com/llvm/llvm-project/commit/d76a1233f7d7923d056a53cfa6f89735e9cda86e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-31 (Sun, 31 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/allow-check.ll

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: 8b135a7d1f59a5a7adccb162abf92d751209afe7
      https://github.com/llvm/llvm-project/commit/8b135a7d1f59a5a7adccb162abf92d751209afe7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh

  Log Message:
  -----------
  [sanitizer][symbolizer] Add new dependency


  Commit: c0cabfbdaf547b1152065be5419bc48e0b83b761
      https://github.com/llvm/llvm-project/commit/c0cabfbdaf547b1152065be5419bc48e0b83b761
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    A llvm/test/Transforms/InstCombine/allow-checks.ll

  Log Message:
  -----------
  [InstCombiner] Remove trivially dead `llvm.allow.{runtime,ubsan}.check()` (#84851)

Intrinsic declared to have sideeffects, but it's done only to prevent
moving it. Removing unused ones is OK.

Exacted from #84850 for easier review.


  Commit: cbb27bef3e53c75d7272a6392cee56c763368111
      https://github.com/llvm/llvm-project/commit/cbb27bef3e53c75d7272a6392cee56c763368111
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/allow-check.ll

  Log Message:
  -----------
  [CodeGen] Fix test after #86049


  Commit: 10a57f3aff34be6ab43106dc1e45ace3f6da881c
      https://github.com/llvm/llvm-project/commit/10a57f3aff34be6ab43106dc1e45ace3f6da881c
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp

  Log Message:
  -----------
  [mlir][math] Expand powfI operation for constant power operand. (#87081)

-- Convert `math.fpowi` to a series of `arith.mulf` operations.
-- If the power is negative, we divide the result by 1.


  Commit: 3365d62179011aad6da3e4cbcb31044eec3462a2
      https://github.com/llvm/llvm-project/commit/3365d62179011aad6da3e4cbcb31044eec3462a2
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp

  Log Message:
  -----------
  [clang-tidy] add new check readability-enum-initial-value (#86129)

Fixes: #85243.


  Commit: a4dec9d6bc67c4d8fbd4a4f54ffaa0399def9627
      https://github.com/llvm/llvm-project/commit/a4dec9d6bc67c4d8fbd4a4f54ffaa0399def9627
  Author: Ryotaro KASUGA <kasuga.ryotaro at fujitsu.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    A llvm/test/CodeGen/AArch64/sms-regpress.mir
    M llvm/test/CodeGen/PowerPC/sms-regpress.mir

  Log Message:
  -----------
  [CodeGen] Fix register pressure computation in MachinePipeliner (#87030)

`RegisterClassInfo::getRegPressureSetLimit` has been changed to return a
smaller value than before so the limit may become negative in later
calculations. As a workaround, change to use
`TargetRegisterInfo::getRegPressureSetLimit`.
Also improve tests.


  Commit: ef0291e5f4451abbafab0c839bf51a6382f735f3
      https://github.com/llvm/llvm-project/commit/ef0291e5f4451abbafab0c839bf51a6382f735f3
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/Modules/language-linkage.cppm

  Log Message:
  -----------
  [NFC] [Serialization] Reordering lexcical and visible TU block after type decl offsets

This patch reorder the lexical block for the translation unit, visible update block for the TU and
the viisble upaete block for the extern C context after the type decl
offsets block.

This should be a NFC patch.

This is helpful for later optimizations for eliding unreachable
declarations in the global module fragment. See the comments in
https://github.com/llvm/llvm-project/pull/76930.

Simply, if we want to get the reachable sets of declaratins during the
writing process, we need to write the file-level context later than the
process of writing declarations (which is the main process to determine
the reachable set).


  Commit: da1d3d8fb9e7dba1cc89327f5119fa7c0cadef81
      https://github.com/llvm/llvm-project/commit/da1d3d8fb9e7dba1cc89327f5119fa7c0cadef81
  Author: superZWT123 <zhengwentao3 at huawei.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/HwModeEncodeDecode2.td
    M llvm/test/TableGen/HwModeEncodeDecode3.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Introduce a less aggressive suppression for HwMode Decoder… (#86060)

1. Remove 'AllModes' and 'DefaultMode' suffixes for DecoderTables under
default HwMode.
2. Introduce a less aggressive suppression for HwMode DecoderTable, only
reduce necessary tables duplications. This allows encodings under
different HwModes to retain the original DecoderNamespace.
3. Change 'suppress-per-hwmode-duplicates' command option from bool type
to enum type, allowing users to choose what level of suppression to use.


  Commit: 8827ff92b96d78ef455157574061d745df2909af
      https://github.com/llvm/llvm-project/commit/8827ff92b96d78ef455157574061d745df2909af
  Author: Victor Perez <victor.perez at codeplay.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Arith/ops.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add rounding mode attribute to `truncf` (#86152)

Add rounding mode attribute to `arith`. This attribute can be used in
different FP `arith` operations to control rounding mode. Rounding modes
correspond to IEEE 754-specified rounding modes. Use in `arith.truncf` folding.

As this is not supported in dialects other than LLVM, conversion should fail for
now in case this attribute is present.

---------

Signed-off-by: Victor Perez <victor.perez at codeplay.com>


  Commit: b342d87f89a7cc588abd0d28f69b8dfd9e5cfa0a
      https://github.com/llvm/llvm-project/commit/b342d87f89a7cc588abd0d28f69b8dfd9e5cfa0a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp

  Log Message:
  -----------
  [TableGen][NFC] Add maybe_unused to MRI (#87044)

This suppresses warning `unused variable 'MRI' [-Wunused-variable]`
for those fusions that don't need `MRI`.


  Commit: a34834138a53f7eb28ba24d325b258ac6f51ae8c
      https://github.com/llvm/llvm-project/commit/a34834138a53f7eb28ba24d325b258ac6f51ae8c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Inline addVPValue into single caller (NFCI).

Inline the function into its single caller.


  Commit: c9bcb2b7ddd08e09d75b263273ddb6e0a49a82da
      https://github.com/llvm/llvm-project/commit/c9bcb2b7ddd08e09d75b263273ddb6e0a49a82da
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/MacroFusion.td

  Log Message:
  -----------
  [TableGen] Fix MacroFusion.td

We are missing `[[maybe_unused]]`.


  Commit: e701c1a653088488ef67a9fa5b01ab37a482b690
      https://github.com/llvm/llvm-project/commit/e701c1a653088488ef67a9fa5b01ab37a482b690
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Use recipe's debug loc for VPWidenMemoryInstructionRecipe (NFCI)

Now that VPRecipeBase manages debug locations for recipes, use it in
VPWidenMemoryInstructionRecipe.


  Commit: f546b6ef3c15a156959dde16fa5f03a350a0a2be
      https://github.com/llvm/llvm-project/commit/f546b6ef3c15a156959dde16fa5f03a350a0a2be
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/pointer-assignment.cpp

  Log Message:
  -----------
  [Flang] Relaxing an error when contiguous pointer is assigned to a non-contig… (#86781)

…uous function.

Fix from [thtsikas](https://github.com/thtsikas) based on a discussion
in
[slack](https://flang-compiler.slack.com/archives/C5C58TT32/p1711124374836079).

Example:
```
Program test
  Integer, Pointer, Contiguous :: cont(:)
  Interface
     Function f()
       Integer, Pointer :: f(:)
     End Function
  End Interface
  cont => f()
  Print *, cont(3)
End Program

Function f()
  Integer, Pointer :: f(:)
  Allocate (f(4),Source=[1,1,42,1])
  ! f => f(4:1:-1)        !! not contiguous, runtime error
End Function f
```

Understanding is that the standard intended to allow this pattern. The
restriction 10.2.2.3 p6 Data pointer assignment "If the pointer object
has the CONTIGUOUS attribute, the pointer target shall be contiguous."
is not associated with a numbered constraint. If there is a mechanism
for injecting runtime checks, this would be a place to do it. Absent
that, a warning is the best we can do.

No other compiler treats contigPtr => func() as an error when func() is
not CONTIGUOUS, so a warning would probably be better for consistency.
https://godbolt.org/z/5cM6roeEE


  Commit: 4213f4a9ae0ef70e02da9f40653b4e04eea00c74
      https://github.com/llvm/llvm-project/commit/4213f4a9ae0ef70e02da9f40653b4e04eea00c74
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [Libomptarget] Fix resizing the buffer of RPC handles

Summary:
The previous code would potentially make it smaller if a device with a
lower ID touched it later. Also we should minimize changes to the state
for multi threaded reasons. This just sets up an owned slot for each at
initialization time.


  Commit: da9f06c9b1179423302e3e7ccb27431ced44e548
      https://github.com/llvm/llvm-project/commit/da9f06c9b1179423302e3e7ccb27431ced44e548
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_g_splat_vector.mir

  Log Message:
  -----------
  [GISEL] G_SPLAT_VECTOR can take a splat that is larger than the vector element (#86974)

This is what SelectionDAG does. We'd like to reuse SelectionDAG
patterns.


  Commit: 41afef9066eec8daf517ac357a628cdf30c95e39
      https://github.com/llvm/llvm-project/commit/41afef9066eec8daf517ac357a628cdf30c95e39
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/init-ext-node-not-truncable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sext-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sext.ll
    M llvm/test/Transforms/SLPVectorizer/X86/zext-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/zext.ll

  Log Message:
  -----------
  [SLP]Fix PR87011: Missing sign extension of demoted type before zero extension

Need to drop skipping of the first zext/sext nodes, it leads to
incorrect and less profitable code.


  Commit: a7206a6fa32ada15578e3afddcc1480364c25f4c
      https://github.com/llvm/llvm-project/commit/a7206a6fa32ada15578e3afddcc1480364c25f4c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td

  Log Message:
  -----------
  [RISCV] ReadStoreData is read later in the pipeline for SiFive7 (#86454)

Store data is read later in the pipeline, so we use
SiFive7AnyToGPRBypass to model that a store instruction can begin some
cycles before that data is ready.


  Commit: 971b852546a7d96bc8887ced913724b884cf40df
      https://github.com/llvm/llvm-project/commit/971b852546a7d96bc8887ced913724b884cf40df
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/SPIRV/IR/CooperativeMatrixOps.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/TableGen/Class.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp

  Log Message:
  -----------
  [mlir][NFC] Simplify type checks with isa predicates (#87183)

For more context on isa predicates, see:
https://github.com/llvm/llvm-project/pull/83753.


  Commit: 1351d17826e1efa3da3b29b6e345d44cb0ce3bc9
      https://github.com/llvm/llvm-project/commit/1351d17826e1efa3da3b29b6e345d44cb0ce3bc9
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
    M llvm/include/llvm/Analysis/IndirectCallVisitor.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
    A llvm/test/Transforms/PGOProfile/vtable_prof_unsupported.ll
    A llvm/test/Transforms/PGOProfile/vtable_profile.ll
    A llvm/test/tools/llvm-profdata/Inputs/vtable-value-prof.proftext
    A llvm/test/tools/llvm-profdata/vtable-value-prof.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [InstrFDO][TypeProf] Implement binary instrumentation and profile read/write (#66825)

(The profile format change is split into a standalone change into https://github.com/llvm/llvm-project/pull/81691)

* For InstrFDO value profiling, implement instrumentation and lowering for virtual table address.
* This is controlled by `-enable-vtable-value-profiling` and off by default.
* When the option is on, raw profiles will carry serialized `VTableProfData` structs and compressed vtables as payloads.
 
* Implement profile reader and writer support 
  * Raw profile reader is used by `llvm-profdata` but not compiler. Raw profile reader will construct InstrProfSymtab with symbol names, and map profiled runtime address to vtable symbols.
  * Indexed profile reader is used by `llvm-profdata` and compiler. When initialized, the reader stores a pointer to the beginning of in-memory compressed vtable names and the length of string. When used in `llvm-profdata`, reader decompress the string to show symbols of a profiled site. When used in compiler, string decompression doesn't
happen since IR is used to construct InstrProfSymtab.
  * Indexed profile writer collects the list of vtable names, and stores that to index profiles.
  * Text profile reader and writer support are added but mostly follow the implementation for indirect-call value type.
* `llvm-profdata show -show-vtables <args> <profile>` is implemented.

rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600#pick-instrumentation-points-and-instrument-runtime-types-7


  Commit: 985c1a44f8d49e0afeba907fe29d881c19b319fc
      https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0afeba907fe29d881c19b319fc
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libcxx/benchmarks/algorithms/mismatch.bench.cpp
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize the two range overload of mismatch (#86853)

```
-----------------------------------------------------------------------------
Benchmark                                                 old             new
-----------------------------------------------------------------------------
bm_mismatch_two_range_overload<char>/1               0.941 ns         1.88 ns
bm_mismatch_two_range_overload<char>/2                1.43 ns         2.15 ns
bm_mismatch_two_range_overload<char>/3                1.95 ns         2.55 ns
bm_mismatch_two_range_overload<char>/4                2.58 ns         2.90 ns
bm_mismatch_two_range_overload<char>/5                3.75 ns         3.31 ns
bm_mismatch_two_range_overload<char>/6                5.00 ns         3.83 ns
bm_mismatch_two_range_overload<char>/7                5.59 ns         4.35 ns
bm_mismatch_two_range_overload<char>/8                6.37 ns         4.84 ns
bm_mismatch_two_range_overload<char>/16               11.8 ns         6.72 ns
bm_mismatch_two_range_overload<char>/64               45.5 ns         2.59 ns
bm_mismatch_two_range_overload<char>/512               366 ns         12.6 ns
bm_mismatch_two_range_overload<char>/4096             2890 ns         91.6 ns
bm_mismatch_two_range_overload<char>/32768           23038 ns          758 ns
bm_mismatch_two_range_overload<char>/262144         142813 ns         6573 ns
bm_mismatch_two_range_overload<char>/1048576        366679 ns        26710 ns
bm_mismatch_two_range_overload<short>/1              0.934 ns         1.88 ns
bm_mismatch_two_range_overload<short>/2               1.30 ns         2.58 ns
bm_mismatch_two_range_overload<short>/3               1.76 ns         3.28 ns
bm_mismatch_two_range_overload<short>/4               2.24 ns         3.98 ns
bm_mismatch_two_range_overload<short>/5               2.80 ns         4.92 ns
bm_mismatch_two_range_overload<short>/6               3.58 ns         6.01 ns
bm_mismatch_two_range_overload<short>/7               4.29 ns         7.03 ns
bm_mismatch_two_range_overload<short>/8               4.67 ns         7.39 ns
bm_mismatch_two_range_overload<short>/16              9.86 ns         13.1 ns
bm_mismatch_two_range_overload<short>/64              38.9 ns         4.55 ns
bm_mismatch_two_range_overload<short>/512              348 ns         27.7 ns
bm_mismatch_two_range_overload<short>/4096            2881 ns          225 ns
bm_mismatch_two_range_overload<short>/32768          23111 ns         1715 ns
bm_mismatch_two_range_overload<short>/262144        184846 ns        14416 ns
bm_mismatch_two_range_overload<short>/1048576       742885 ns        57264 ns
bm_mismatch_two_range_overload<int>/1                0.838 ns         1.19 ns
bm_mismatch_two_range_overload<int>/2                 1.19 ns         1.65 ns
bm_mismatch_two_range_overload<int>/3                 1.83 ns         2.06 ns
bm_mismatch_two_range_overload<int>/4                 2.38 ns         2.42 ns
bm_mismatch_two_range_overload<int>/5                 3.60 ns         2.47 ns
bm_mismatch_two_range_overload<int>/6                 3.68 ns         3.05 ns
bm_mismatch_two_range_overload<int>/7                 4.32 ns         3.36 ns
bm_mismatch_two_range_overload<int>/8                 5.18 ns         3.58 ns
bm_mismatch_two_range_overload<int>/16                10.6 ns         2.84 ns
bm_mismatch_two_range_overload<int>/64                39.0 ns         7.78 ns
bm_mismatch_two_range_overload<int>/512                247 ns         53.9 ns
bm_mismatch_two_range_overload<int>/4096              1927 ns          429 ns
bm_mismatch_two_range_overload<int>/32768            15569 ns         3393 ns
bm_mismatch_two_range_overload<int>/262144          125413 ns        28504 ns
bm_mismatch_two_range_overload<int>/1048576         504549 ns       112729 ns
```


  Commit: a8cfa7cbdf6cc1a94ed25c90897d2e031f77a5a9
      https://github.com/llvm/llvm-project/commit/a8cfa7cbdf6cc1a94ed25c90897d2e031f77a5a9
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Transform/ops.mlir
    A mlir/test/Dialect/Transform/test-interpreter-printing.mlir

  Log Message:
  -----------
  [mlir][TD] Allow op printing flags as `transform.print` attrs (#86846)

Introduce 3 new optional attributes to the `transform.print` ops:
* `assume_verified`
* `use_local_scope`
* `skip_regions`

The primary motivation is to allow printing on large inputs that
otherwise take forever to print and verify. For the full context, see
this IREE issue: https://github.com/openxla/iree/issues/16901.

Also add some tests and fix the op description.


  Commit: d83271b093ec206c2f47a9c636a5727cf63cad5e
      https://github.com/llvm/llvm-project/commit/d83271b093ec206c2f47a9c636a5727cf63cad5e
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/parser.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Include algorithm.h to parser.h (#87125)

This includes algorithm.h directly to provide the definition for
`cpp:max` in parser.h. This will define `max(...)` in the libc namespace
for build systems that pull in parser.h explicitly.


  Commit: 5bbc640f64efb7d110559dab132c8d2fb7fbbf37
      https://github.com/llvm/llvm-project/commit/5bbc640f64efb7d110559dab132c8d2fb7fbbf37
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp

  Log Message:
  -----------
  [nfc] Disable the a cpp compiler-rt test on ppc bigendian systems due to build errors (#87262)

`Linux/instrprof-vtable-value-prof.cpp` needs to be built for the test
to run. However, cpp compile & link failed with undefined-ABI error [1].
See original failure in
https://lab.llvm.org/buildbot/#/builders/18/builds/16429

[1] 
```
FAIL: Profile-powerpc64 :: Linux/instrprof-vtable-value-prof.cpp (2406 of 2414)
******************** TEST 'Profile-powerpc64 :: Linux/instrprof-vtable-value-prof.cpp' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 3: /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/./bin/clang  --driver-mode=g++  -m64  -ldl  -fprofile-generate -fuse-ld=lld -O2 -g -fprofile-generate=. -mllvm -enable-vtable-value-profiling /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp -o /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/runtimes/runtimes-bins/compiler-rt/test/profile/Profile-powerpc64/Linux/Output/instrprof-vtable-value-prof.cpp.tmp-test
+ /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/./bin/clang --driver-mode=g++ -m64 -ldl -fprofile-generate -fuse-ld=lld -O2 -g -fprofile-generate=. -mllvm -enable-vtable-value-profiling /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp -o /home/buildbots/llvm-external-buildbots/workers/ppc64be-sanitizer/sanitizer-ppc64be/build/build_debug/runtimes/runtimes-bins/compiler-rt/test/profile/Profile-powerpc64/Linux/Output/instrprof-vtable-value-prof.cpp.tmp-test
ld.lld: error: /lib/../lib64/Scrt1.o: ABI version 1 is not supported
clang: error: linker command failed with exit code 1 (use -v to see invocation)

```


  Commit: 55b74030a4c75f25be901522fe595d7233fad76d
      https://github.com/llvm/llvm-project/commit/55b74030a4c75f25be901522fe595d7233fad76d
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/fseeko.h
    A libc/src/stdio/ftello.h
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/generic/fseek.cpp
    A libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    A libc/src/stdio/generic/ftello.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/ftell_test.cpp

  Log Message:
  -----------
  [libc][POSIX] implement fseeko, ftello (#86928)


Fixes: #85287


  Commit: 92d0d6f6cb4099e651d066cd88dc0abfa6e612cf
      https://github.com/llvm/llvm-project/commit/92d0d6f6cb4099e651d066cd88dc0abfa6e612cf
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc

  Log Message:
  -----------
  [scudo] Do a M_PURGE call before changing release interval on Android (#87110)


  Commit: 9434c083475e42f47383f3067fe2a155db5c6a30
      https://github.com/llvm/llvm-project/commit/9434c083475e42f47383f3067fe2a155db5c6a30
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/docs/HLSL/FunctionCalls.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    A clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/ArrayParams.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.ll
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [HLSL] Implement array temporary support (#79382)

HLSL constant sized array function parameters do not decay to pointers.
Instead constant sized array types are preserved as unique types for
overload resolution, template instantiation and name mangling.

This implements the change by adding a new `ArrayParameterType` which
represents a non-decaying `ConstantArrayType`. The new type behaves the
same as `ConstantArrayType` except that it does not decay to a pointer.

Values of `ConstantArrayType` in HLSL decay during overload resolution
via a new `HLSLArrayRValue` cast to `ArrayParameterType`.

`ArrayParamterType` values are passed indirectly by-value to functions
in IR generation resulting in callee generated memcpy instructions.

The behavior of HLSL function calls is documented in the [draft language
specification](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf)
under the Expr.Post.Call heading.

Additionally the design of this implementation approach is documented in
[Clang's
documentation](https://clang.llvm.org/docs/HLSL/FunctionCalls.html)

Resolves #70123


  Commit: 53d256bb2790a0e5300f275345c864930b7e6f82
      https://github.com/llvm/llvm-project/commit/53d256bb2790a0e5300f275345c864930b7e6f82
  Author: Eric <eric at efcs.ca>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libcxx/docs/index.rst

  Log Message:
  -----------
  Update the "Current Status" section of the website to be current. (#84507)

The section discusses the reasons for the libraries inception more than
a decade ago. Now it discusses the progess libc++ has made, and the many
impressive acomplishments our contributors have brought it.

The initial section remains below.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 2cfd7d433be0831c6e2a248a4b828f7aedcaeaa0
      https://github.com/llvm/llvm-project/commit/2cfd7d433be0831c6e2a248a4b828f7aedcaeaa0
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/src/stdio/fseeko.h
    M libc/src/stdio/ftello.h

  Log Message:
  -----------
  [libc] fixup missing include for fullbuild (#87266)

Fixes #86928


  Commit: a54930e696a275ac3947484f44d770cd587ce147
      https://github.com/llvm/llvm-project/commit/a54930e696a275ac3947484f44d770cd587ce147
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp

  Log Message:
  -----------
  [mlir][sparse] allow YieldOp to yield multiple values. (#87261)


  Commit: 2be722587f5987891ed8b2904a03f983e987f226
      https://github.com/llvm/llvm-project/commit/2be722587f5987891ed8b2904a03f983e987f226
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/atan2f_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/atan2f_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h

  Log Message:
  -----------
  [libc][math] Implement atan2f correctly rounded to all rounding modes. (#86716)

We compute atan2f(y, x) in 2 stages:
- Fast step: perform computations in double precision , with relative
errors < 2^-50
- Accurate step: if the result from the Fast step fails Ziv's rounding
test, then we perform computations in double-double precision, with
relative errors < 2^-100.

On Ryzen 5900X, worst-case latency is ~ 200 clocks, compared to average
latency ~ 60 clocks, and average reciprocal throughput ~ 20 clocks.


  Commit: 4746877c2716224dc87c69750bdd0df95b6d5b16
      https://github.com/llvm/llvm-project/commit/4746877c2716224dc87c69750bdd0df95b6d5b16
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A clang/test/C/C99/n570.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to WG14 N570


  Commit: 5ff2773d4e606ac57750f1fc2aa4dc49b8dbede1
      https://github.com/llvm/llvm-project/commit/5ff2773d4e606ac57750f1fc2aa4dc49b8dbede1
  Author: Russell Greene <russell at shotover.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-outputs.c

  Log Message:
  -----------
  [clang-cl] Allow a colon after /Fo option (#87209)

Modeled after
https://github.com/llvm/llvm-project/commit/8513a681f7d8d1188706762e712168aebc3119dd#

According to
https://learn.microsoft.com/en-us/cpp/build/reference/fo-object-file-name?view=msvc-170,
`/Fo` accepts a trailing-colon variant. This is also tested in practice.
This allows clang-cl to parse this.

I just copied one of the existing tests, let me know if this is not the
best way to do this. I tested that the test does not pass beofre the
Options.td change, and that it does after.

See also #46065


  Commit: 6634c3e9377abf88c08bb065fb55aa15cda4c248
      https://github.com/llvm/llvm-project/commit/6634c3e9377abf88c08bb065fb55aa15cda4c248
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  [GOFF] Wrap debug output with LLVM_DEBUG (#87252)

The content of a GOFF record is always dumped if NDEBUG is not defined,
which produces rather confusing output. This changes wrap the dumping
code in LLVM_DEBUG, so the dump is only done when debug output of this
module is requested.


  Commit: b8ead2198f27924f91b90b6c104c1234ccc8972e
      https://github.com/llvm/llvm-project/commit/b8ead2198f27924f91b90b6c104c1234ccc8972e
  Author: Gulfem Savrun Yeniceri <gulfem at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    R llvm/test/CodeGen/AArch64/sms-regpress.mir
    M llvm/test/CodeGen/PowerPC/sms-regpress.mir

  Log Message:
  -----------
  Revert "[CodeGen] Fix register pressure computation in MachinePipeliner (#87030)"

This reverts commit a4dec9d6bc67c4d8fbd4a4f54ffaa0399def9627
because the test failed in the following builder:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/prod/clang-linux-x64/b8751864477467126481/overview


  Commit: e45f6e569dafd4033f86d276065d77799b5f6226
      https://github.com/llvm/llvm-project/commit/e45f6e569dafd4033f86d276065d77799b5f6226
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Factor out OpenACC part of `Sema` (#84184)

This patch moves OpenACC parts of `Sema` into a separate class
`SemaOpenACC` that is placed in a separate header `Sema/SemaOpenACC.h`.
This patch is intended to be a model of factoring things out of `Sema`,
so I picked a small OpenACC part.

Goals are the following:
1) Split `Sema` into manageable parts.
2) Make dependencies between parts visible.
3) Improve Clang development cycle by avoiding recompiling unrelated
parts of the compiler.
4) Avoid compile-time regressions.
5) Avoid notational regressions in the code that uses Sema.


  Commit: f3ec73fca492124b15c3eb9a3ae12b7d86470d27
      https://github.com/llvm/llvm-project/commit/f3ec73fca492124b15c3eb9a3ae12b7d86470d27
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll

  Log Message:
  -----------
  [NFC]Precommit test for vtable import  (#79363)

A precommit test case to show function summary and global values when a function has instructions annotated with vtable profiles and indirect call profiles.
- This is a precommit test for https://github.com/llvm/llvm-project/pull/79381


  Commit: cbd48b184eca1ca73e6f20575501d94ad30fbd58
      https://github.com/llvm/llvm-project/commit/cbd48b184eca1ca73e6f20575501d94ad30fbd58
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    A clang/test/C/C99/array-lvalue.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to "conversion of array to pointer not limited to lvalues"

We don't have a document number for this, but the change was called out
explicitly in the editor's comments in the C99 foreword.


  Commit: 4cd7bb07c7540bf83a7a60a67aa282e99461ca2f
      https://github.com/llvm/llvm-project/commit/4cd7bb07c7540bf83a7a60a67aa282e99461ca2f
  Author: Kirill Podoprigora <kirill.bast9 at mail.ru>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/python/requirements.txt

  Log Message:
  -----------
  [mlir] Remove ``dataclasses`` package from mlir ``requirements.txt`` (#87223)

The ``dataclasses`` package makes sense for Python 3.6, becauses
``dataclasses`` is only included in the standard library with 3.7
version. Now, 3.6 has reached EOL, so all current supported versions of
Python (3.8, 3.9, 3.10, 3.11, 3.12) have this feature in their standard
libraries.

Therefore there's no need to install the ``dataclasses`` package now.


  Commit: ee99475068523de185dce0a449b65e684a1e6b73
      https://github.com/llvm/llvm-project/commit/ee99475068523de185dce0a449b65e684a1e6b73
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/test/CodeGenCXX/bitfield-access-tail.cpp

  Log Message:
  -----------
  [clang] Fix bitfield access unit for vbase corner case (#87238)

This fixes #87227, a vbase can be placed below nvsize when empty members and/or bases are in play. We must account for that.


  Commit: ed6edf262d9061ce3c024754c4981299b5184ee2
      https://github.com/llvm/llvm-project/commit/ed6edf262d9061ce3c024754c4981299b5184ee2
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/stack_depot.h
    M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h

  Log Message:
  -----------
  [scudo] Change isPowerOfTwo macro to return false for zero. (#87120)

Clean-up all of the calls and remove the redundant == 0 checks.

There is only one small visible change. For non-Android, the memalign
function will now fail if alignment is zero. Before this would have
passed.


  Commit: e93b5f5a4776ffea12d03652559dfdf8d421184c
      https://github.com/llvm/llvm-project/commit/e93b5f5a4776ffea12d03652559dfdf8d421184c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGExpr.cpp

  Log Message:
  -----------
  [ubsan][NFC] Remove recently added `cl::init(false)`

Extracted from #84858


  Commit: b8cc3ba409dc850776f37e27613bf74f5a80d66a
      https://github.com/llvm/llvm-project/commit/b8cc3ba409dc850776f37e27613bf74f5a80d66a
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/EHUtils.h
    M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
    M llvm/test/ThinLTO/X86/pseudo-probe-desc-import.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-eh.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-invoke.ll

  Log Message:
  -----------
  [PseudoProbe] Extend to skip instrumenting probe into the dests of invoke (#79919)

As before we only skip instrumenting probe of `unwind`(`KnownColdBlock`)
block, this PR extends to skip the both EH flow from `invoke`, i.e. also
skip the `normal` dest. For more contexts: when doing call-to-invoke
conversion, the block is split by the `invoke` and two extra
blocks(`normal` and `unwind`) are added. With this PR, the
instrumentation is the same as the one before the call-to-invoke
conversion.
One significant benefit is this can help mitigate the "unstable IR"
issue(https://discourse.llvm.org/t/ipo-for-linkonce-odr-functions/69404),
the two versions now are on the same probe instrumentation, expected to
be the same checksum.
To achieve the same checksum, some tweaks is needed:
-  Now it also skips incrementing the probe ID for the skipped probe.
- The checksum is also computed based on the CFG that skips the EH
edges.

We observed this fixes ~5% mismatched samples.


  Commit: f2f01f6b03aa81d5bdbf841a88f8853620c6902b
      https://github.com/llvm/llvm-project/commit/f2f01f6b03aa81d5bdbf841a88f8853620c6902b
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/lib/Support/Unix/Threading.inc

  Log Message:
  -----------
  [llvm][Support] Use `thread_local` caching for llvm::get_threadid() query on Apple systems (#87219)

I was profiling our compiler and noticed that `llvm::get_threadid` was
at the top of the hotlist, taking up a surprising 5% (7 seconds) in the
profile trace. It seems that computing this on MacOS systems is
non-trivial, so cache the result in a thread_local.

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: a6caceed8d27d4ebd44c517c3114a36a64ebddfe
      https://github.com/llvm/llvm-project/commit/a6caceed8d27d4ebd44c517c3114a36a64ebddfe
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M lldb/source/Breakpoint/BreakpointIDList.cpp
    M lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py

  Log Message:
  -----------
  [lldb] Don't crash when attempting to parse breakpoint id `N.` as `N.*` (#87263)

We check if the next character after `N.` is `*` before we check its
length. Using `split` on the string is cleaner and less error prone than
using indices with `find` and `substr`.

Note: this does not make `N.` mean anything, it just prevents assertion
failures. `N.` is treated the same as an unrecognized breakpoint name:

```
(lldb) breakpoint enable 1
1 breakpoints enabled.
(lldb) breakpoint enable 1.*
1 breakpoints enabled.
(lldb) breakpoint enable 1.
0 breakpoints enabled.
(lldb) breakpoint enable xyz
0 breakpoints enabled.
```

Found via LLDB fuzzers.


  Commit: 03577ced1f55bf96224513f2414bf025d6877fac
      https://github.com/llvm/llvm-project/commit/03577ced1f55bf96224513f2414bf025d6877fac
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h

  Log Message:
  -----------
  [BOLT][NFC] Fix typo


  Commit: 70e189fbc96909d3841dd2bca4a2909345cd826f
      https://github.com/llvm/llvm-project/commit/70e189fbc96909d3841dd2bca4a2909345cd826f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/test/src/stdio/ftell_test.cpp

  Log Message:
  -----------
  [libc] fixup ftello test (#87282)

Use a seek offset that fits within the file size.

This was missed in presubmit because the FILE based stdio tests aren't
run in
overlay mode; fullbuild is not tested in presubmit.

WRITE_SIZE == 11, so using a value of 42 for offseto would cause the
expression
`WRITE_SIZE - offseto` to evaluate to -31 as an unsigned 64b integer
(18446744073709551585ULL).

Fixes #86928


  Commit: 6b136ce738d1acc96d926d7999419867dea16961
      https://github.com/llvm/llvm-project/commit/6b136ce738d1acc96d926d7999419867dea16961
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M .github/workflows/issue-write.yml

  Log Message:
  -----------
  [workflows] issue-write: Exit early if there are no comments (#87114)

This will eliminate some unnecessary REST API calls.


  Commit: 0478adc97e1a4018d866520cb149b6e6c2a9101a
      https://github.com/llvm/llvm-project/commit/0478adc97e1a4018d866520cb149b6e6c2a9101a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Object/ELFTypes.h

  Log Message:
  -----------
  [Object,ELFTypes] Remove TargetEndianness

Finish the rename by #86604


  Commit: 1d5e5f4d3c68e63ced47ee9b17d62fb995aa1e62
      https://github.com/llvm/llvm-project/commit/1d5e5f4d3c68e63ced47ee9b17d62fb995aa1e62
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h

  Log Message:
  -----------
  [GISEL][NFC] Fix comment for widenScalarToNextPow2

The docstring for this function incorrectly specified when a widening is
not performed. This patch adds the additional specification for what
happens when the type size is a power of two but it is less than MinSize.


  Commit: 1e15371dd8843dfc52b9435afaa133997c1773d8
      https://github.com/llvm/llvm-project/commit/1e15371dd8843dfc52b9435afaa133997c1773d8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll

  Log Message:
  -----------
  [ThinLTO][TypeProf] Implement vtable def import (#79381)

Add annotated vtable GUID as referenced variables in per function
summary, and update bitcode writer to create value-ids for these
referenced vtables.

- This is the part3 of type profiling work, and described in the "Virtual Table Definition Import" [1] section of the
RFC.

[1] https://github.com/llvm/llvm-project/pull/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


  Commit: 649f9603a2da82a32830ce1dc7ce5825d3766a1d
      https://github.com/llvm/llvm-project/commit/649f9603a2da82a32830ce1dc7ce5825d3766a1d
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M .github/workflows/issue-write.yml

  Log Message:
  -----------
  [workflows] issue-write: Avoid race condition when PR branch is deleted (#87118)

Fixes #87102 .


  Commit: f2a87b07e7fe1892a11ee9424d22dbaec5de5b5b
      https://github.com/llvm/llvm-project/commit/f2a87b07e7fe1892a11ee9424d22dbaec5de5b5b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp

  Log Message:
  -----------
  [OpenMP] Use loaded offloading toolchains to add libraries (#87108)

Summary:
We want to pass these GPU libraries by default if a certain offloading
toolchain is loaded for OpenMP. Previously I parsed this from the
arguments because it's only available in the compilation. This doesn't
really work for `native` and it's extra effort, so this patch just
passes in the `Compilation` as an extr argument and uses that. Tests
should be unaffected.


  Commit: 9df19ce40281551bd348b262a131085cf98dadf5
      https://github.com/llvm/llvm-project/commit/9df19ce40281551bd348b262a131085cf98dadf5
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  Add uncovered enums in switches caused by 9434c083475e42f47383f3067fe2a155db5c6a30

These are probably actually unreachable - perhaps an lldb developer
would be interested in rephrasing this change to move the new cases into
some unreachable/unsupported bucket, rather than my half-hearted guess
at what the desired behavior would be (completely untested, because
they're probably untestable/unreachable - maybe debugging from modules?)


  Commit: 1079fc4f543c42bb09a33d2d79d90edd9c0bac91
      https://github.com/llvm/llvm-project/commit/1079fc4f543c42bb09a33d2d79d90edd9c0bac91
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Pass/Pass.h
    M mlir/include/mlir/Pass/PassOptions.h
    M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassRegistry.cpp
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/test/Dialect/Transform/test-pass-application.mlir

  Log Message:
  -----------
  [mlir][pass] Add `errorHandler` param to `Pass::initializeOptions` (#87289)

There is no good way to report detailed errors from inside
`Pass::initializeOptions` function as context may not be available at
this point and writing directly to `llvm::errs()` is not composable.

See
https://github.com/llvm/llvm-project/pull/87166#discussion_r1546426763

* Add error handler callback to `Pass::initializeOptions`
* Update `PassOptions::parseFromString` to support custom error stream
instead of using `llvm::errs()` directly.
* Update default `Pass::initializeOptions` implementation to propagate
error string from `parseFromString` to new error handler.
* Update `MapMemRefStorageClassPass` to report error details using new
API.


  Commit: 6d0174e70641b1ea172ffed07c43604ef15e28ae
      https://github.com/llvm/llvm-project/commit/6d0174e70641b1ea172ffed07c43604ef15e28ae
  Author: Stephen Neuendorffer <stephen.neuendorffer at amd.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M libc/utils/HdrGen/Generator.cpp

  Log Message:
  -----------
  [libc] allow libc-hdrgen to work on windows files (#87292)

The code does some (overly simple?) checks on file syntax. These checks
assume unix line endings and fail on windows. This commit updates the
code to strip extra whitespace, making the checks more robust,
particularly in the presence of windows line endings.

Fixes #86023


  Commit: dd5797505ebc2dbfdd58927c4f0a11a1256696eb
      https://github.com/llvm/llvm-project/commit/dd5797505ebc2dbfdd58927c4f0a11a1256696eb
  Author: Abhinav Gunjal <agunjal at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/lit_test.bzl

  Log Message:
  -----------
  lit_test : check if there is already a deps key in kwargs (#87290)

This change checks if there is already a `deps` key in `kwargs` and
concatenate it to avoid multiple values for `deps` key argument.

background:
https://github.com/llvm/llvm-project/pull/87022 recently added explicit
`deps` to the lit_test. This is causing StableHLO bazel build failures
at
https://github.com/openxla/stablehlo/actions/runs/8511888283/job/23312383380?pr=2147

Tested: local build run is successful


  Commit: 9dbd364589883ae3343a291077804c564d4b3de5
      https://github.com/llvm/llvm-project/commit/9dbd364589883ae3343a291077804c564d4b3de5
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrInfo.td

  Log Message:
  -----------
  [AVR][NFC] Improve format of target description files (#87212)


  Commit: 372c275800140f35a697f12a2e83d94d5603eaf5
      https://github.com/llvm/llvm-project/commit/372c275800140f35a697f12a2e83d94d5603eaf5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M compiler-rt/test/dfsan/mmap_at_init.c

  Log Message:
  -----------
  [dfsan][test] Disable the test with internal_symbolizer

After #87191 we had to add
8b135a7d1f59a5a7adccb162abf92d751209afe7, which
makes symbolizer to calls a global constructor
with `realloc`.


  Commit: f33a6dcf959238e82f6ad45333e3547d8cfcfe38
      https://github.com/llvm/llvm-project/commit/f33a6dcf959238e82f6ad45333e3547d8cfcfe38
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp

  Log Message:
  -----------
  [PPC][NFC] add an option for GatherAllAliasesMaxDepth (#87071)

GatherAllAliases is time consuming. Add an debug option on PPC to
control the complexity of the function. This is useful when debuging
compile time related issues.


  Commit: 84f24c2daffc40fc10b4ea2ae69016ebdabfc0ed
      https://github.com/llvm/llvm-project/commit/84f24c2daffc40fc10b4ea2ae69016ebdabfc0ed
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/int-min-max.ll

  Log Message:
  -----------
  [RISCV][TTI] Scale the cost of intrinsic umin/umax/smin/smax with LMUL (#87245)

Use the return type to measure the LMUL size for throughput/latency cost


  Commit: 30fd099d5062638b5fe6b89135ad6433a888023a
      https://github.com/llvm/llvm-project/commit/30fd099d5062638b5fe6b89135ad6433a888023a
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M clang/test/InstallAPI/diagnostics-dsym.test

  Log Message:
  -----------
  [InstallAPI] Fixup dsym test  (#87299)

Update the test to run when the compiler is built to support
arm64-darwin targets.


  Commit: d7a43a00fe80007de5d7614576b180d3d21d541b
      https://github.com/llvm/llvm-project/commit/d7a43a00fe80007de5d7614576b180d3d21d541b
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll

  Log Message:
  -----------
  [RISCV][TTI] Scale the cost of trunc/fptrunc/fpext with LMUL (#87101)

Use the destination data type to measure the LMUL size for
latency/throughput cost


  Commit: 38113a083283d2f30a677befaa5fb86dce731c8b
      https://github.com/llvm/llvm-project/commit/38113a083283d2f30a677befaa5fb86dce731c8b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][IR] Trigger `notifyOperationReplaced` on `replaceAllOpUsesWith` (#84721)

Before this change: `notifyOperationReplaced` was triggered when calling
`RewriteBase::replaceOp`.
After this change: `notifyOperationReplaced` is triggered when
`RewriterBase::replaceAllOpUsesWith` or `RewriterBase::replaceOp` is
called.

Until now, every `notifyOperationReplaced` was always sent together with
a `notifyOperationErased`, which made that `notifyOperationErased`
callback irrelevant. More importantly, when a user called
`RewriterBase::replaceAllOpUsesWith`+`RewriterBase::eraseOp` instead of
`RewriterBase::replaceOp`, no `notifyOperationReplaced` callback was
sent, even though the two notations are semantically equivalent. As an
example, this can be a problem when applying patterns with the transform
dialect because the `TrackingListener` will only see the
`notifyOperationErased` callback and the payload op is dropped from the
mappings.

Note: It is still possible to write semantically equivalent code that
does not trigger a `notifyOperationReplaced` (e.g., when op results are
replaced one-by-one), but this commit already improves the situation a
lot.


  Commit: 21f85e230056172cffcaec76352e5a2019b54b86
      https://github.com/llvm/llvm-project/commit/21f85e230056172cffcaec76352e5a2019b54b86
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Clang.h

  Log Message:
  -----------
  [NFC] [C++20] [Modules] Pulling out getCXX20NamedModuleOutputPath into a seperate function

Required in the review process of
https://github.com/llvm/llvm-project/pull/85050.


  Commit: 9067f5470573454ad33f2d1786cdfa77f7f9329c
      https://github.com/llvm/llvm-project/commit/9067f5470573454ad33f2d1786cdfa77f7f9329c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h

  Log Message:
  -----------
  [mlir][IR][NFC] Make `replaceAllUsesWith` non-templatized (#84722)

Turn `RewriterBase::replaceAllUsesWith` into a non-templatized
implementation, so that it can be made virtual and be overridden in the
`ConversionPatternRewriter` in a subsequent change.

This change is in preparation of adding dialect conversion support for
`replaceAllUsesWith`.


  Commit: 49a4ec20a8be5888cbf225bab340dbaf204902c7
      https://github.com/llvm/llvm-project/commit/49a4ec20a8be5888cbf225bab340dbaf204902c7
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir

  Log Message:
  -----------
  [mlir] Reland the dialect conversion hanging use fix (#87297)

Dialect conversion sometimes can have a hanging use of an argument.
Ensured that argument uses are dropped before removing the block.


  Commit: b932db08bb8e56c80380468698a6f75d5ea35577
      https://github.com/llvm/llvm-project/commit/b932db08bb8e56c80380468698a6f75d5ea35577
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M llvm/test/tools/llvm-objcopy/ELF/discard-locals-rel.test
    M llvm/test/tools/llvm-objcopy/ELF/strip-reloc-symbol.test

  Log Message:
  -----------
  [llvm-objcopy,test] Prepend error: to some messages


  Commit: 59dd10faf8c3bb9dbcecb60d932284b8762cebf8
      https://github.com/llvm/llvm-project/commit/59dd10faf8c3bb9dbcecb60d932284b8762cebf8
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll

  Log Message:
  -----------
  [RISCV] Add tests for fixed vector vwsll. NFC

We are missing patterns for fixed vectors, where the sexts and zexts are
legalized to _vl nodes.


  Commit: 24d528cf4685668d3ad17116846769bed843e933
      https://github.com/llvm/llvm-project/commit/24d528cf4685668d3ad17116846769bed843e933
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp

  Log Message:
  -----------
  [MIPS][CallSiteInfo][NFC] Fill CallSiteInfo only when needed (#86847)

Argument-register pairs in CallSiteInfo is only needed when
EmitCallSiteInfo
is on. Currently, the pairs are always pushed to the vector but only
used
when EmitCallSiteInfo is on.

Don't fill the CallSiteInfo vector unless used.

Differential Revision: https://reviews.llvm.org/D107108?id=362887

Co-authored-by: Necip Fazil Yildiran <necip at google.com>


  Commit: 93c387df908923f17875ab9cf0463d5f181318bb
      https://github.com/llvm/llvm-project/commit/93c387df908923f17875ab9cf0463d5f181318bb
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-note.c

  Log Message:
  -----------
  [clang][analyzer] Change modeling of `fseek` in StreamChecker. (#86919)

Until now function `fseek` returned nonzero on error, this is changed to
-1 only. And it does not produce EOF error any more.
This complies better with the POSIX standard.


  Commit: 8bb9443333e0117ab61feecce9de339b11b924fc
      https://github.com/llvm/llvm-project/commit/8bb9443333e0117ab61feecce9de339b11b924fc
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/extractvector-oob-load.mir

  Log Message:
  -----------
  [GlobalIsel] Combine G_EXTRACT_VECTOR_ELT (#85321)

preliminary steps


  Commit: e47a81c1d2830dda45a561e2c092ebb0c868ed27
      https://github.com/llvm/llvm-project/commit/e47a81c1d2830dda45a561e2c092ebb0c868ed27
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp

  Log Message:
  -----------
  [OpenCL] Fix BIenqueue_kernel fallthrough (#83238)

Handling of the `BIenqueue_kernel` builtin must not fallthrough to the
`BIget_kernel_work_group_size` builtin, as these builtins have no common
functionality.


  Commit: f6c87be1dd24a121d7eccd6b91ca808ecdf80356
      https://github.com/llvm/llvm-project/commit/f6c87be1dd24a121d7eccd6b91ca808ecdf80356
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  [Github] Fix typo in PR code formatting job

The recent change to split the PR code formatting job accidentally
misspelled the repository field when specifying the repository to fetch
the code formatting utils from. This patch fixes the spelling so that
the job does not throw a warning and clones the tools from the specified
repository.


  Commit: fa8dc363506893eb9371dd3b7590f41fa9a7174a
      https://github.com/llvm/llvm-project/commit/fa8dc363506893eb9371dd3b7590f41fa9a7174a
  Author: elhewaty <mohamedatef1698 at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/IR/Operator.cpp
    M llvm/test/Transforms/FunctionAttrs/noundef.ll

  Log Message:
  -----------
  [IR] Fix crashes caused by #85592 (#87169)

This patch fixes the crash caused by the pull request:
https://github.com/llvm/llvm-project/pull/85592


  Commit: 2d14ea68b8c0acdff7c040d581f7fde15d2683d9
      https://github.com/llvm/llvm-project/commit/2d14ea68b8c0acdff7c040d581f7fde15d2683d9
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp

  Log Message:
  -----------
  [flang][NFC] speed-up external name conversion pass (#86814)

The ExternalNameConversion pass can be surprisingly slow on big
programs. On an example with a 50kloc Fortran file with about 10000
calls to external procedures, the pass alone took 25s on my machine.
This patch reduces this to 0.16s.

The root cause is that using `replaceAllSymbolUses` on each modified
FuncOp is very expensive: it is walking all operations and attribute
every time.

An alternative would be to use mlir::SymbolUserMap to avoid walking the
module again and again, but this is still much more expensive than what
is needed because it is essentially caching all symbol uses of the
module, and there is no need to such caching here.

Instead:
- Do a shallow walk of the module (only top level operation) to detect
FuncOp/GlobalOp that needs to be updated. Update them and place the name
remapping in a DenseMap.
- If any remapping were done, do a single deep walk of the module
operation, and update any SymbolRefAttr that matches a name that was
remapped.


  Commit: 77e5c0a95c54e0ca34b8e9c56c702490619b73c9
      https://github.com/llvm/llvm-project/commit/77e5c0a95c54e0ca34b8e9c56c702490619b73c9
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegisterBankInfo.h

  Log Message:
  -----------
  [AArch64][GISEL] Reduce likelihood of hash collisions for mappings in RegisterBankInfo (#87033)

Fixes #85209

This patch removes the truncation from `hash_code` aka `size_t` down to
`unsigned`, that currently happens on DenseMap accesses in
RegisterBankInfo. This reduces the likelihood of hash collisions, as
well as the likelihood of hitting EmptyKey or TombstoneKey, the special
key values of DenseMap. This is not the ultimate solution to the
problem, but we can do it in any case.


  Commit: 6cce67a8f9bbab7ebaafa6f33e0efbb22dee3ea1
      https://github.com/llvm/llvm-project/commit/6cce67a8f9bbab7ebaafa6f33e0efbb22dee3ea1
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/test/CodeGen/SPIRV/ExecutionMode.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
    A llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-accesschain.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-complex.ll

  Log Message:
  -----------
  [SPIR-V] Fix validity of atomic instructions (#87051)

This PR fixes validity of atomic instructions and improves type
inference. More tests are able now to be accepted by `spirv-val`.


  Commit: 6654235594d86e7ed70abb7358ed25029d1560e5
      https://github.com/llvm/llvm-project/commit/6654235594d86e7ed70abb7358ed25029d1560e5
  Author: Sizov Nikita <s.nikita.v at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp

  Log Message:
  -----------
  [SelectionDAG] implement computeKnownBits for add AVG* instructions (#86754)

knownBits calculation for **AVGFLOORU** / **AVGFLOORS** / **AVGCEILU** / **AVGCEILS** instructions

Prerequisite for #76644


  Commit: 89cfae41ecc043f8c47be4dea4b7c740d4f950b3
      https://github.com/llvm/llvm-project/commit/89cfae41ecc043f8c47be4dea4b7c740d4f950b3
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/OwningOpRef.h

  Log Message:
  -----------
  [mlir] Add missing #include header for std::is_pointer


  Commit: 16da9d53519214475c04109d953022f272ac8022
      https://github.com/llvm/llvm-project/commit/16da9d53519214475c04109d953022f272ac8022
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Remove redundant set of debug loc in VPInstruction (NFCI).

Consistently use setDebugLocFrom and remove redundant setDebugLocFrom.


  Commit: 46246683a61a081d9d78cf987fd4f024556ecdc8
      https://github.com/llvm/llvm-project/commit/46246683a61a081d9d78cf987fd4f024556ecdc8
  Author: Rin Dobrescu <irina.dobrescu at arm.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s

  Log Message:
  -----------
  [AArch64] Update Neoverse V2 FSQRT execution units in schedule model. (#86803)

This patch updates the SVE FSQRT instruction execution units to be able to run on VX0 and VX2.


  Commit: 1d06f41b72e429a5b3ba318ff639b8b997e21ff8
      https://github.com/llvm/llvm-project/commit/1d06f41b72e429a5b3ba318ff639b8b997e21ff8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll

  Log Message:
  -----------
  [VectorCombine] foldBitcastShuffle - peek through any residual bitcasts before creating a new bitcast on top (#86119)

Encountered while working on #67803, wading through the chains of bitcasts that SSE intrinsics introduces - this patch helps prevents cases where the bitcast chains aren't cleared out and we can't perform further combines until after InstCombine/InstSimplify has run.


  Commit: 5b66b6a32ad89562732ad6a81c84783486b6187a
      https://github.com/llvm/llvm-project/commit/5b66b6a32ad89562732ad6a81c84783486b6187a
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/Passes.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Transforms/CMakeLists.txt
    A mlir/lib/Transforms/CompositePass.cpp
    A mlir/test/Transforms/composite-pass.mlir
    M mlir/test/lib/Transforms/CMakeLists.txt
    A mlir/test/lib/Transforms/TestCompositePass.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][pass] Add composite pass utility (#87166)

Composite pass allows to run sequence of passes in the loop until fixed
point or maximum number of iterations is reached. The usual candidates
are canonicalize+CSE as canonicalize can open more opportunities for CSE
and vice-versa.


  Commit: 2f48a1ff574573e7be170d39ab8de79d9db8bcea
      https://github.com/llvm/llvm-project/commit/2f48a1ff574573e7be170d39ab8de79d9db8bcea
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/AuxVector.h

  Log Message:
  -----------
  [lldb][FreeBSD] Add FreeBSD specific AT_HWCAP value (#84147)

While adding register fields I realised that the AUXV values for Linux
and FreeBSD disagree here.

So I've added a FreeBSD specific HWCAP value that I can use from FreeBSD
specific code.

The alternative is translating GetAuxValue calls depending on platform,
which requires that we know what we are at all times.

Another way would be to convert the entries' values when we construct
the AuxVector but the platform specific call that reads the data just
returns a raw array. So adding another layer here is more disruption.


  Commit: 198c3eecee50d90cdff4b7840cfa39eef5613870
      https://github.com/llvm/llvm-project/commit/198c3eecee50d90cdff4b7840cfa39eef5613870
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [bazel] Fix the format of libc_build_rules.bzl


  Commit: a88a4da61a8eb3378bc333602d5b7e56a24cfb66
      https://github.com/llvm/llvm-project/commit/a88a4da61a8eb3378bc333602d5b7e56a24cfb66
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/AuxVector.h

  Log Message:
  -----------
  [lldb] clang-format AuxVector.h (#85057)

Doing this in its own commit so the intent of
2f48a1ff574573e7be170d39ab8de79d9db8bcea is clearer.


  Commit: 9a05a89d1ef73de7ab787071931f449935d841a7
      https://github.com/llvm/llvm-project/commit/9a05a89d1ef73de7ab787071931f449935d841a7
  Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/test/Transforms/SpeculativeExecution/PR46267.ll

  Log Message:
  -----------
  [speculative-execution] Hoists debug values unnecessarily. (#85782)

After https://reviews.llvm.org/D81730:
`SpeculativeExecutionPass::considerHoistingFromTo` hoists instructions,
including debug intrinsics, as long as none of their used values are
instructions that appear prior in the block that are not being hoisted.

This behaviour has been duplicated for DPValues to get rid of a binary
difference.

The correct solution is not hoist these debug values at all, whichever
format they're in.


  Commit: 0b13e2c82315eac8926f1c4497c4d56a507c3999
      https://github.com/llvm/llvm-project/commit/0b13e2c82315eac8926f1c4497c4d56a507c3999
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [bazel] Another format fix for libc_build_rules.bzl, NFC


  Commit: 7ef602b58c1ccacab20d9d01e24b281458c3facc
      https://github.com/llvm/llvm-project/commit/7ef602b58c1ccacab20d9d01e24b281458c3facc
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Sema/nullability.c
    M clang/test/SemaCXX/nullability.cpp
    A clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
    M clang/test/SemaObjCXX/nullability-consistency.mm

  Log Message:
  -----------
  Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)" (#87325)

This reverts commit 28760b63bbf9e267713957105a8d17091fb0d20e.

The last commit was missing the new testcase, now fixed.


  Commit: beeb15b71650b46f39cb6b1917e8d05568978656
      https://github.com/llvm/llvm-project/commit/beeb15b71650b46f39cb6b1917e8d05568978656
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M libcxx/include/__exception/operations.h
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/file_time_type.h
    M libcxx/include/__filesystem/file_type.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/space_info.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/formatter.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__fwd/format.h
    M libcxx/include/__locale
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__thread/support/pthread.h
    M libcxx/include/any
    M libcxx/include/future
    M libcxx/include/new
    M libcxx/include/shared_mutex
    M libcxx/include/thread
    M libcxx/include/typeinfo

  Log Message:
  -----------
  [libc++][NFC] Remove a few unused <__availablity> includes (#86126)


  Commit: 2950283dddab03c183c1be2d7de9d4999cc86131
      https://github.com/llvm/llvm-project/commit/2950283dddab03c183c1be2d7de9d4999cc86131
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M libcxx/include/stddef.h

  Log Message:
  -----------
  [libc++] Simplify the implementation of <stddef.h> (#86843)

Libc++'s own <stddef.h> is complicated by the need to handle various
platform-specific macros and to support duplicate inclusion. In reality,
we only need to add a declaration of nullptr_t to it, so we can simply
include the underlying <stddef.h> outside of our guards to let it handle
re-inclusion itself.


  Commit: a4798bb0b67533b37d6b34fd5292714aac3b17d9
      https://github.com/llvm/llvm-project/commit/a4798bb0b67533b37d6b34fd5292714aac3b17d9
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

  Log Message:
  -----------
  [flang][NFC] use mlir::SymbolTable in lowering (#86673)

Whenever lowering is checking if a function or global already exists in
the mlir::Module, it was doing module->lookup.

On big programs (~5000 globals and functions), this causes important
slowdowns because these lookups are linear. Use mlir::SymbolTable to
speed-up these lookups. The SymbolTable has to be created from the
ModuleOp and maintained in sync. It is therefore placed in the
converter, and FirOPBuilders can take a pointer to it to speed-up the
lookups.

This patch does not bring mlir::SymbolTable to FIR/HLFIR passes, but
some passes creating a lot of runtime calls could benefit from it too.
More analysis will be needed.

As an example of the speed-ups, this patch speeds-up compilation of
Whizard compare_amplitude_UFO.F90 from 5 mins to 2 mins on my machine
(there is still room for speed-ups).


  Commit: eb08c0f1659d12524f58a01bf174177b8acedf2e
      https://github.com/llvm/llvm-project/commit/eb08c0f1659d12524f58a01bf174177b8acedf2e
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix explicit specializations of member function templates with a deduced return type (#86817)

Clang erroneously rejects the following:
```
template<typename T>
struct A
{
    template<typename U>
    auto f();
};

template<>
template<typename U>
auto A<int>::f(); // error: conflicting types for 'f'
```
This happens because the explicit specialization of `f` has its return
type replaced with a dependent `AutoType` in `ActOnFunctionDeclarator`,
but no such replacement occurs for the implicitly instantiated function
template `A<int>::f`. Since the return types don't match, the explicit
specialization is diagnosed as an invalid redeclaration.

This patch moves the replacement of the return type to
`CheckFunctionDeclaration` so it also happens during instantiation.
`setObjectOfFriendDecl` will have been called by then, so the `isFriend
&& CurContext->isDependentContext()` condition is made redundant &
removed (as it already happens in `DeclContext::isDependentContext`).
`Sema::IsOverload` only checks the _declared_ return type (which isn't
changed by the adjustment), so adjusting the return type afterwards
should be safe.


  Commit: 63d22f7a5b6afc515799f67c388bf5a8864274e4
      https://github.com/llvm/llvm-project/commit/63d22f7a5b6afc515799f67c388bf5a8864274e4
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Make GEP handling type agnostic (#86950)

This commit removes SROA's type consistency constraints from LLVM
dialect's GEPOp. The checks for valid indexing are now purely done by
computing the GEP's offset with the aid of the data layout.

To simplify handling of "nested subslots", we are tricking the SROA by
handing in memory slots that hold byte array types. This ensures that
subsequent accesses only need to check if their access will be
in-bounds. This lifts the requirement of determining the sub-types for
all but the first level of subslots.


  Commit: 56aeac47ab0858db9f447b5ec43b660d9035167f
      https://github.com/llvm/llvm-project/commit/56aeac47ab0858db9f447b5ec43b660d9035167f
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir

  Log Message:
  -----------
  Revert "[mlir] Reland the dialect conversion hanging use fix (#87297)"

This reverts commit 49a4ec20a8be5888cbf225bab340dbaf204902c7.

Reason: Broke the ASan build bot with a memory leak. See the comments at
https://github.com/llvm/llvm-project/pull/87297
for more information.


  Commit: cb9cf331fa69bb8319886cdca043a742b4d19ce5
      https://github.com/llvm/llvm-project/commit/cb9cf331fa69bb8319886cdca043a742b4d19ce5
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Do not lookup in MinBWs, reuse previously used iterator.


  Commit: 0b9528d6bd0bfde5702b1ee5ed8a249d354434f1
      https://github.com/llvm/llvm-project/commit/0b9528d6bd0bfde5702b1ee5ed8a249d354434f1
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD: Track template template type parameters that referenced in the template arguments of the RHS. (#85405)

Fixes https://github.com/llvm/llvm-project/issues/85385.

The Finder was missing for this case, for the crash test, the template
parameter TTP was incorrectly considered as not referenced/appeared in
the template arguments of the right hand side of the alias template
decl, thus the synthesized deduction decl doesn't contain this TTP in
the template parameter list, but we have references in the declaration,
thus it caused crashes.


  Commit: 0ef743778000e7d213e53e6a7b998e1c34a28701
      https://github.com/llvm/llvm-project/commit/0ef743778000e7d213e53e6a7b998e1c34a28701
  Author: Il-Capitano <csanad.hajdu at arm.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/test/CodeGen/AArch64/stackmap.ll

  Log Message:
  -----------
  [SelectionDAG][Statepoint] Fix truncation of `gc.statepoint` ID argument (#85908)

The ID argument of `gc.statepoint` gets incorrectly truncated to 32 bits
during code generation.
This is fixed by using `uint64_t` instead of `unsigned` for the `ID`
member in `SelectionDAGBuilder::StatepointLoweringInfo`, and a
`patchpoint` test case is extended to check for 64 bit ID generation in
stackmaps.


  Commit: 737fc353d2e8c9c6f0db78f6af6ab05a1e349d2b
      https://github.com/llvm/llvm-project/commit/737fc353d2e8c9c6f0db78f6af6ab05a1e349d2b
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
    M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll

  Log Message:
  -----------
  [FPEnv][AArch64] Correct strictfp test.

Correct strictfp tests to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics

These tests needed the strictfp attribute added to some function
definitions and some function calls.

Test changes verified with D146845.


  Commit: e03f16f9fdfcb36ed05842f43f542107a0d46288
      https://github.com/llvm/llvm-project/commit/e03f16f9fdfcb36ed05842f43f542107a0d46288
  Author: Fehr Mathieu <mathieu.fehr at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp

  Log Message:
  -----------
  [mlir] [arith] Remove buggy illegal operation in --arith-unsigned-when-equivalent (#87298)

`CeilDivUIOp` seemed to have been added by mistake to the list of
dynamically
illegal operations in `arith-unsigned-when-equivalent`. The only illegal
operations
should be the signed operations that can be converted to their unsigned
counterpart.


  Commit: b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf
      https://github.com/llvm/llvm-project/commit/b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/API.h
    A clang/include/clang/ExtractAPI/APIRecords.inc
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/FrontendActions.h
    A clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
    R clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/bool.c
    M clang/test/ExtractAPI/bool.cpp
    M clang/test/ExtractAPI/class.cpp
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/constructor_destructor.cpp
    M clang/test/ExtractAPI/conversions.cpp
    M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
    M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
    M clang/test/ExtractAPI/enum.c
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/function_noexcepts.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_record.c
    M clang/test/ExtractAPI/global_record_multifile.c
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/known_files_only.c
    M clang/test/ExtractAPI/language.c
    M clang/test/ExtractAPI/macro_undefined.c
    M clang/test/ExtractAPI/macros.c
    A clang/test/ExtractAPI/metadata_and_module.c
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    M clang/test/ExtractAPI/methods.cpp
    M clang/test/ExtractAPI/multiple_inheritance.cpp
    M clang/test/ExtractAPI/namespace.cpp
    M clang/test/ExtractAPI/nested_namespaces.cpp
    M clang/test/ExtractAPI/objc_block.m
    M clang/test/ExtractAPI/objc_category.m
    A clang/test/ExtractAPI/objc_external_category.m
    M clang/test/ExtractAPI/objc_id_protocol.m
    M clang/test/ExtractAPI/objc_instancetype.m
    M clang/test/ExtractAPI/objc_interface.m
    R clang/test/ExtractAPI/objc_module_category.m
    M clang/test/ExtractAPI/objc_property.m
    M clang/test/ExtractAPI/objc_protocol.m
    R clang/test/ExtractAPI/objc_various_categories.m
    M clang/test/ExtractAPI/operator_overload.cpp
    M clang/test/ExtractAPI/relative_include.m
    M clang/test/ExtractAPI/simple_inheritance.cpp
    M clang/test/ExtractAPI/struct.c
    M clang/test/ExtractAPI/typedef.c
    M clang/test/ExtractAPI/typedef_anonymous_record.c
    M clang/test/ExtractAPI/typedef_chain.c
    M clang/test/ExtractAPI/typedef_struct_enum.c
    M clang/test/ExtractAPI/underscored.c
    M clang/test/ExtractAPI/union.c
    M clang/test/ExtractAPI/vfs_redirected_include.m
    M clang/test/Index/extract-api-cursor.m
    M clang/tools/libclang/CXExtractAPI.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] Add ability to create multiple symbol graphs (#86676)

This extends ExtractAPI to take into account symbols defined in categories to types defined in an external module.
This introduces 2 new command line flags, `--symbol-graph-dir=DIR` and `--emit-extension-symbol-graphs`, when used together this generates additional symbol graph files at `DIR/ExtendedModule at ProductName.symbols.json` for each external module that is extended in this way.

Additionally this makes some cleanups to tests to make them more resilient and cleans up the `APISet` data structure.


  Commit: bcac3edac80044962d5dfe96b96f781fa0a70b2e
      https://github.com/llvm/llvm-project/commit/bcac3edac80044962d5dfe96b96f781fa0a70b2e
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/test/SemaTemplate/instantiation-depth-default.cpp

  Log Message:
  -----------
  Revert "[NFC][clang][test][asan] Make `instantiation-depth-default.cpp` a valid test case under `asan` and `ubsan` configs (#75254)"

Disables the recursive template expansion test under ASan again. This
patch re-enabled this test with sanitizers, but it's started spuriously
failing with a stack overflow again on AArch64+ASan:
https://lab.llvm.org/buildbot/#/builders/239/builds/6363

This reverts commit c458f928fad7bbcf08ab1da9949eb2969fc9f89c.


  Commit: 82d8a956113736984301316b0a1d949398c58563
      https://github.com/llvm/llvm-project/commit/82d8a956113736984301316b0a1d949398c58563
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/abs.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/pow.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/round.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smax.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smin.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umax.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umin.ll

  Log Message:
  -----------
  [SPIRV][HLSL] Add HLSL intrinsic tests (#86844)

This PR is part of bookkeeping for #83882.
It also brings the SPIRV hlsl intrinsic tests in
parity with where the testing is on the DXIL backend.


  Commit: ea9a66ea8b6fee77e7ee9e47d868d43ecbbcd787
      https://github.com/llvm/llvm-project/commit/ea9a66ea8b6fee77e7ee9e47d868d43ecbbcd787
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/Stmt.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [Clang][AST][NFC] MemberExpr stores NestedNameSpecifierLoc and DeclAccessPair separately (#86678)

Currently, `MemberExpr` allocates a trailing `MemberExprNameQualifier`
object if it either has a `NestedNameSpecifierLoc`, or if it names a
member found via using declaration. Since the presence of a
_nested-name-specifier_ does not necessarily imply the named member was
found via using declaration, this patch removes
`MemberExprNameQualifier` and allocates the members separately.


  Commit: 209a1e8dfdf1c104dd53b50eb196d6bc0dd01659
      https://github.com/llvm/llvm-project/commit/209a1e8dfdf1c104dd53b50eb196d6bc0dd01659
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/API.h
    R clang/include/clang/ExtractAPI/APIRecords.inc
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/FrontendActions.h
    R clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
    A clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/bool.c
    M clang/test/ExtractAPI/bool.cpp
    M clang/test/ExtractAPI/class.cpp
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/constructor_destructor.cpp
    M clang/test/ExtractAPI/conversions.cpp
    M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
    M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
    M clang/test/ExtractAPI/enum.c
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/function_noexcepts.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_record.c
    M clang/test/ExtractAPI/global_record_multifile.c
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/known_files_only.c
    M clang/test/ExtractAPI/language.c
    M clang/test/ExtractAPI/macro_undefined.c
    M clang/test/ExtractAPI/macros.c
    R clang/test/ExtractAPI/metadata_and_module.c
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    M clang/test/ExtractAPI/methods.cpp
    M clang/test/ExtractAPI/multiple_inheritance.cpp
    M clang/test/ExtractAPI/namespace.cpp
    M clang/test/ExtractAPI/nested_namespaces.cpp
    M clang/test/ExtractAPI/objc_block.m
    M clang/test/ExtractAPI/objc_category.m
    R clang/test/ExtractAPI/objc_external_category.m
    M clang/test/ExtractAPI/objc_id_protocol.m
    M clang/test/ExtractAPI/objc_instancetype.m
    M clang/test/ExtractAPI/objc_interface.m
    A clang/test/ExtractAPI/objc_module_category.m
    M clang/test/ExtractAPI/objc_property.m
    M clang/test/ExtractAPI/objc_protocol.m
    A clang/test/ExtractAPI/objc_various_categories.m
    M clang/test/ExtractAPI/operator_overload.cpp
    M clang/test/ExtractAPI/relative_include.m
    M clang/test/ExtractAPI/simple_inheritance.cpp
    M clang/test/ExtractAPI/struct.c
    M clang/test/ExtractAPI/typedef.c
    M clang/test/ExtractAPI/typedef_anonymous_record.c
    M clang/test/ExtractAPI/typedef_chain.c
    M clang/test/ExtractAPI/typedef_struct_enum.c
    M clang/test/ExtractAPI/underscored.c
    M clang/test/ExtractAPI/union.c
    M clang/test/ExtractAPI/vfs_redirected_include.m
    M clang/test/Index/extract-api-cursor.m
    M clang/tools/libclang/CXExtractAPI.cpp

  Log Message:
  -----------
  Revert "[clang][ExtractAPI] Add ability to create multiple symbol graphs (#86676)"

This failed the test suite due to missing DiagGroup for a new warning.

This reverts commit b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf.


  Commit: cd6434f9ec9af8d7508dc53806440297a24292cf
      https://github.com/llvm/llvm-project/commit/cd6434f9ec9af8d7508dc53806440297a24292cf
  Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/ExpandLargeDivRem.cpp
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    A llvm/test/Transforms/ExpandLargeDivRem/X86/vector.ll

  Log Message:
  -----------
  [ExpandLargeDivRem] Scalarize vector types. (#86959)

expand-large-divrem cannot handle vector types.
If overly large vector element types survive into
isel, they will likely be scalarized there, but since
isel cannot handle scalar integer types of that size,
it will assert.

Handle vector types in expand-large-divrem by
scalarizing them and then expanding the scalar type
operation. For large vectors, this results in a
*massive* code expansion, but it's better than
asserting.


  Commit: cf61e347ba3c847f061563d05096e7589fd9ec4b
      https://github.com/llvm/llvm-project/commit/cf61e347ba3c847f061563d05096e7589fd9ec4b
  Author: Yuri Istomin <nekocoder.pw at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG1606 (#87274)

https://cplusplus.github.io/CWG/issues/1606.html


  Commit: a6d932bca8875198fbf34564cda8a8d1640cdcbc
      https://github.com/llvm/llvm-project/commit/a6d932bca8875198fbf34564cda8a8d1640cdcbc
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/test/Dialect/SCF/canonicalize.mlir

  Log Message:
  -----------
  [mlir][scf] Align `scf.while` `before` block args in canonicalizer (#76195)

If `before` block args are directly forwarded to `scf.condition` make
sure they are passed in the same order.
This is needed for `scf.while` uplifting
https://github.com/llvm/llvm-project/pull/76108


  Commit: 0cd44ff15990799759721e8ec5e6402b7916e464
      https://github.com/llvm/llvm-project/commit/0cd44ff15990799759721e8ec5e6402b7916e464
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp

  Log Message:
  -----------
  [Clang][AST][NFC] Move template argument dependence computations for MemberExpr to computeDependence (#86682)

(This patch depends on #86678)

Pretty straightforward change, addresses the FIXME's in
`computeDependence(MemberExpr*)` and `MemberExpr::Create` by moving the
template argument dependence computations to `computeDependence`.


  Commit: 15abe09f5af1fa25ad532760466b8e9751e1c5bf
      https://github.com/llvm/llvm-project/commit/15abe09f5af1fa25ad532760466b8e9751e1c5bf
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

  Log Message:
  -----------
  [RISCV] Fix and refactor Zvk sched classes (#86519)

* VPseudoVALU_V_NoMask_Zvk, VPseudoVALU_S_NoMask_Zvk,
   VPseudoVALU_VV_NoMask_Zvk, and VPseudoVALU_VI_NoMask_Zvk
   do not read a merge op
* VPseudoUnaryV_V is a unary read instead of a binary read
* Convert all other cases `Sched<[...]>` to the equivalent SchedUnary,
   SchedBinary, or SchedTernary.


  Commit: 6b7b18a1a7fd37cea5f5d51569309e7ec954cefb
      https://github.com/llvm/llvm-project/commit/6b7b18a1a7fd37cea5f5d51569309e7ec954cefb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll

  Log Message:
  -----------
  [SLP]Fix PR87329: crash on alternate cast vectorization.

Need to fix the analysis for the alternate instructions, based on int
extension operations. If the alternate extension node is resized, but
not the operand, need to resize the node and do not shuffle final
result, we end up only with trunc instruction.


  Commit: b714fc7f869c9627bab38b3a6cac5d5d7720f204
      https://github.com/llvm/llvm-project/commit/b714fc7f869c9627bab38b3a6cac5d5d7720f204
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Support/FormatAdapters.h
    M llvm/include/llvm/Support/FormatCommon.h
    M llvm/include/llvm/Support/FormatProviders.h
    M llvm/include/llvm/Support/FormatVariadic.h
    M llvm/include/llvm/Support/FormatVariadicDetails.h
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp
    M mlir/include/mlir/TableGen/Format.h
    M mlir/lib/TableGen/Format.cpp

  Log Message:
  -----------
  Move format internal code from llvm::detail to llvm::support::detail. (#87288)

Some support code, e.g. llvm/Support/Endian.h, uses
llvm::support::detail, but the format-related code uses llvm::detail. On
VS2019, when a C++ file includes both headers, a `detail::` from
`namespace llvm { ... }` becomes ambiguous.

44253a9c breaks TensorFlow and
[JAX](https://github.com/google/jax/actions/runs/8507773013/job/23300219405)
build because of this.

Since llvm::X::detail seems like a cleaner solution and is used in other
places as well (e.g. llvm::yaml::detail), we should probably migrate all
llvm::detail usages to llvm::X::detail.


  Commit: 4c7de02bc0e25c3236b095ec9391294b2cc8b4ce
      https://github.com/llvm/llvm-project/commit/4c7de02bc0e25c3236b095ec9391294b2cc8b4ce
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [ExtractAPI] Add @daniel-grumberg into CODEOWNERS


  Commit: c5bbdb64940d75e7702d1d450e77534d908fc9f1
      https://github.com/llvm/llvm-project/commit/c5bbdb64940d75e7702d1d450e77534d908fc9f1
  Author: nihui <shuizhuyuanluo at 126.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M openmp/README.rst
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/cmake/LibompGetArchitecture.cmake
    M openmp/runtime/cmake/LibompUtils.cmake
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_os.h
    M openmp/runtime/src/kmp_platform.h
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/z_Linux_asm.S
    M openmp/runtime/src/z_Linux_util.cpp
    M openmp/runtime/test/ompt/callback.h
    M openmp/runtime/tools/lib/Platform.pm
    M openmp/runtime/tools/lib/Uname.pm

  Log Message:
  -----------
  [OpenMP] arm64_32 port for Apple WatchOS (#87246)

detect `aarch64_32` with compiler defined macro `__ARM64_ARCH_8_32__`
reuse ARM `__kmp_unnamed_critical_addr` and add `KMP_PREFIX_UNDERSCORE`
macro like AARCH64
reuse AARCH64 `__kmp_invoke_microtask`


build log for watchos armv7k + arm64_32 and watchos simulator x86_64 +
arm64

https://github.com/nihui/action-protobuf/actions/runs/8520684611/job/23337305030


  Commit: 31880df9947d58c160b691160c4714277be7c31e
      https://github.com/llvm/llvm-project/commit/31880df9947d58c160b691160c4714277be7c31e
  Author: nihui <shuizhuyuanluo at 126.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP] get logical core count on modern apple platform (#87231)

`hw.logicalcpu` returns the available logical core count

Fix build error for watchOS

```
runtime/src/z_Linux_util.cpp:1821:8: error: 'host_info' is unavailable: not available on watchOS
  rc = host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&info, &num);
       ^
/Applications/Xcode_15.2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS10.2.sdk/usr/include/mach/mach_host.h:82:15: note: 'host_info' has been explicitly marked unavailable here
kern_return_t host_info
              ^
1 warning and 1 error generated.
make[2]: *** [runtime/src/CMakeFiles/omp.dir/z_Linux_util.cpp.o] Error 1
```


  Commit: 2b6c038e1f15a64ade8ddb4e0ad60942c2132228
      https://github.com/llvm/llvm-project/commit/2b6c038e1f15a64ade8ddb4e0ad60942c2132228
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] improve template argument name deduction (#77716)

The names of template arguments in partial specializations or parameters
used as types might be mangled according to index and depth. Instead of
looping through parameter lists to find matches like we do now, they can
be deduced via their QualTypes or as written from the AST.


  Commit: 6626eab07e2e9a1993a1ccdbf82bd88c3dc5b851
      https://github.com/llvm/llvm-project/commit/6626eab07e2e9a1993a1ccdbf82bd88c3dc5b851
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    R clang/test/Driver/Inputs/in.so
    R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-sm_35.bc
    R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-test.bc
    R clang/test/Driver/Inputs/openmp_static_device_link/empty.o
    R clang/test/Driver/Inputs/openmp_static_device_link/lib.bc
    R clang/test/Driver/Inputs/openmp_static_device_link/libFatArchive.a
    M clang/test/Driver/hip-link-shared-library.hip
    M clang/test/Driver/openmp-offload-gpu.c

  Log Message:
  -----------
  [Clang][NFC] Clean up unused binary files for offloading tests (#87351)

Summary:
We have a few binary files used for offloading tests that are either
entirely unused or easily replaceable.


  Commit: e12a1f8b325a72191c261b4f11726a9c58f84817
      https://github.com/llvm/llvm-project/commit/e12a1f8b325a72191c261b4f11726a9c58f84817
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/Sema/GH70594.cpp

  Log Message:
  -----------
  [clang] Fix crash when inheriting from a cv-qualified type (#70594)

This change makes the `assertion` less strict in `debug` builds by
stripping qualifiers from the base class and ignoring them. I hope
`weakened` assertions don't affect other cases where such `errors` are
intended to be `caught` by the compiler.

Fixes #35603
Fixes #85256


  Commit: 4aba595f092e8e05e92656b23944ce6619465a78
      https://github.com/llvm/llvm-project/commit/4aba595f092e8e05e92656b23944ce6619465a78
  Author: Atousa Duprat <atousa.p at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/APInt.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp

  Log Message:
  -----------
  [ADT] Add signed and unsigned mulh to APInt (#84719)

Fixes #84207


  Commit: f6198686b866d0a1efe7ce88f71c4293930c2dfe
      https://github.com/llvm/llvm-project/commit/f6198686b866d0a1efe7ce88f71c4293930c2dfe
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    A clang/test/C/C99/float_h-characteristics.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to "additional floating-point characteristics in <float.h>"

This is another case where we don't have a paper number for the feature
but know about it from the editor's reports.


  Commit: 207f1531d611b8add27b94e756e0bc7eb864babf
      https://github.com/llvm/llvm-project/commit/207f1531d611b8add27b94e756e0bc7eb864babf
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/InstallAPI/Visitor.cpp

  Log Message:
  -----------
  [InstallAPI] Condense std::pair unwrapping in CategoryRecord NFC


  Commit: 153b8431bbea189f9698ddaf08dbedca4c24a918
      https://github.com/llvm/llvm-project/commit/153b8431bbea189f9698ddaf08dbedca4c24a918
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-bitcast.mir

  Log Message:
  -----------
  [RISCV][GISEL] Legalize G_BITCAST for scalable vectors (#85970)

SelectionDAG marks ISD::BITCAST as legal between scalable vector types
and ISelDAGToDAG deletes them.

We mark G_BITCAST between scalable vectors as legal in GISel. A future
patch will handle what to do with them after the legalizer (likley
either drop them in a isel-preprocess or convert them to COPYs).

BITCAST is needed for legalization of G_INSERT and G_EXTRACT. This is a
precommit for legalization of G_INSERT and G_EXTRACT.


  Commit: 4f0b5d5e8067cadafc4473476eb68aa0addad488
      https://github.com/llvm/llvm-project/commit/4f0b5d5e8067cadafc4473476eb68aa0addad488
  Author: Jim Lin <jim at andestech.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    A clang/test/CodeGen/M68k/inline-asm-gcc-regs.c

  Log Message:
  -----------
  [M68k] Change gcc register name from a7 to sp. (#87095)

In M68kRegisterInfo.td, register SP is defined with name sp and
alternate name a7.

Fixes: https://github.com/llvm/llvm-project/issues/78620


  Commit: 9cb7dffa88190c36db0dc49a7dd2b67e0a44f97e
      https://github.com/llvm/llvm-project/commit/9cb7dffa88190c36db0dc49a7dd2b67e0a44f97e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/SystemZ/ext-not-resized-op-resized.ll

  Log Message:
  -----------
  [SLP]Fix PR80027: handle case when ext is not reduced but its operand is.

Need to handle the case, where the resize operation itself is not
reduced but its operand is. In this case need to take an extra analysis
for the operand, not the instruction itself.


  Commit: 668c1ea4aa7f3907b92116748af087f2bb006a97
      https://github.com/llvm/llvm-project/commit/668c1ea4aa7f3907b92116748af087f2bb006a97
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    R clang/test/C/C99/array-lvalue.c
    A clang/test/C/C99/n835.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Update paper number tracked for arrays & lvalues; NFC

I finally found the original paper proposing the changes, so this
updates the test name, comments, and status page but is otherwise NFC.


  Commit: 4d5e834c5b7f0ccccd90a6d543e182df602f6bc8
      https://github.com/llvm/llvm-project/commit/4d5e834c5b7f0ccccd90a6d543e182df602f6bc8
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/test/CodeGen/atomic.c

  Log Message:
  -----------
  [ClangFE] Improve handling of casting of atomic memory operations. (#86691)

- Factor out a shouldCastToInt() method.
- Also pass through pointer type values to not be casted to integer.

CC @uweigand


  Commit: 74483bd6f6bdecdd16efbfcd183b5e29e0234a3a
      https://github.com/llvm/llvm-project/commit/74483bd6f6bdecdd16efbfcd183b5e29e0234a3a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Remove entry for LIA compatibility

We previously marked this as "No" but that's confusing; Annex H doesn't
require any changes for a C implementation, it's about how C relates to
other standards. We could mark this N/A, but I think it makes more
sense to treat it like a runtime library-specific change and simply
remove it from the tracker entirely.


  Commit: f462d9a97dbbeef712ef0de206ec17f5ed7e15c8
      https://github.com/llvm/llvm-project/commit/f462d9a97dbbeef712ef0de206ec17f5ed7e15c8
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to "remove deprecation of aliased array parameters"

I can't locate a document number for this particular change, but C89
had the following entry in Future Language Directions:

The use of two parameters declared with an array type (prior to their
adjustment to pointer type) in separate lvalues to designate the same
object is an obsolescent feature.

C99 removed this entry. Clang and LLVM have never done anything in
support of that deprecation, so we trivially conform to its removal.


  Commit: a5932e182ba7dd8f1ae131038bab051aea13e688
      https://github.com/llvm/llvm-project/commit/a5932e182ba7dd8f1ae131038bab051aea13e688
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  Add a link to WG14 N835 to the status page


  Commit: 451cad3a2735f33e8b24cc0b53497d0dc8939f78
      https://github.com/llvm/llvm-project/commit/451cad3a2735f33e8b24cc0b53497d0dc8939f78
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [clang] Prefer logical && over & for boolean operations (#87276)


  Commit: 3cf9f2c3a4b3aaffa9c1dbbe34624bcaabefd390
      https://github.com/llvm/llvm-project/commit/3cf9f2c3a4b3aaffa9c1dbbe34624bcaabefd390
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    A clang/test/C/C99/n782.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C99] Claim conformance to WG14 N782

C89 has more restrictions on aggregate initialization that were relaxed
in C99. We started diagnosing the C89 extension in Clang 3.4.


  Commit: 239236b8c2154aa49e98bc7ed774a7d2712edf50
      https://github.com/llvm/llvm-project/commit/239236b8c2154aa49e98bc7ed774a7d2712edf50
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M libcxx/include/__ranges/zip_view.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/module.modulemap
    M libcxx/include/tuple
    M libcxx/test/std/ranges/range.adaptors/range.zip/borrowing.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/operator.pair_like.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp

  Log Message:
  -----------
  [libc++] Remove pair dependency (#85621)

This moves the definition of a `pair` constructor for `<tuple>` to
`<__utility/pair.h>` and uses the forward declaration of `pair` in
`<tuple>` instead of including the definition.


  Commit: 82be6e186b5f88779325c5ede99ac714b2cfc4fa
      https://github.com/llvm/llvm-project/commit/82be6e186b5f88779325c5ede99ac714b2cfc4fa
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/posix.td
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/_exit.cpp
    A libc/src/unistd/_exit.h
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/_exit_test.cpp

  Log Message:
  -----------
  [libc][posix] implement _exit (#87185)

Fixes  #87126.


  Commit: 8bc2d19c13c3a0aa0bffe82596f75f25bed5004f
      https://github.com/llvm/llvm-project/commit/8bc2d19c13c3a0aa0bffe82596f75f25bed5004f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll

  Log Message:
  -----------
  [X86] canonicalizeShuffleWithOp - don't fold VPERMI(BINOP(X,Y)) -> BINOP(VPERMI(X),VPERMI(Y))

VPERMI (VPERMQ/PD) is nearly always lane-crossing and poorly merges with target shuffles (other than itself).

For now, I've restricted VPERMI to only merge with itself, constants, loads and splats.

We might be able to merge with a few other special cases (AND/ANDNP with constant?), which could help the shuffle-vs-trunc-256.ll AVX512VL regression, but since that now gives similar codegen to the other AVX512 variants, I'd prefer to improve the shuffle lowering for that properly.


  Commit: f5991161529511ca6ebc058da2a0507c2fc5283e
      https://github.com/llvm/llvm-project/commit/f5991161529511ca6ebc058da2a0507c2fc5283e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/test/Driver/compiler-rt-unwind.c
    M clang/test/Driver/constructors.c
    M clang/test/Driver/cuda-detect.cu
    M clang/test/Driver/dragonfly.c
    M clang/test/Driver/env.c
    M clang/test/Driver/haiku.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/linux-header-search.cpp
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/linux-musl-header-search.cpp
    M clang/test/Driver/linux-per-target-runtime-dir.c
    M clang/test/Driver/mips-reduced-toolchain.cpp
    M clang/test/Driver/netbsd.cpp
    M clang/test/Driver/ohos.c
    M clang/test/Driver/pic.c
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/solaris-ld-sanitizer.c
    M clang/test/Driver/solaris-ld-values.c
    M clang/test/Driver/solaris-ld-values.cpp
    M clang/test/Driver/solaris-ld.c

  Log Message:
  -----------
  [Driver,test] Remove --gcc-toolchain=""

This option was added so that changing CMake GCC_INSTALL_PREFIX would
not cause test failures or due to cargo culting. Setting
GCC_INSTALL_PREFIX leads to an error now and we should stop making our
tests ugly.


  Commit: 9c9f94063ce1bd819ba4482f537d1e580dd31eef
      https://github.com/llvm/llvm-project/commit/9c9f94063ce1bd819ba4482f537d1e580dd31eef
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll

  Log Message:
  -----------
  [FPEnv][CostModel] Correct strictfp test.

Correct strictfp tests to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics

These tests needed the strictfp attribute added to some function
definitions.

Test changes verified with D146845.


  Commit: f792f14b01605453c7c0c17f3b4564335c0d9d14
      https://github.com/llvm/llvm-project/commit/f792f14b01605453c7c0c17f3b4564335c0d9d14
  Author: Tim Neumann <timnn at google.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h
    M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
    A llvm/test/MC/WebAssembly/module-asm.ll

  Log Message:
  -----------
  [WebAssembly] Allocate MCSymbolWasm data on MCContext (#85866)

Fixes #85578, a use-after-free caused by some `MCSymbolWasm` data being
freed too early.

Previously, `WebAssemblyAsmParser` owned the data that is moved to
`MCContext` by this PR, which caused problems when handling module ASM,
because the ASM parser was destroyed after parsing the module ASM, but
the symbols persisted.

The added test passes locally with an LLVM build with AddressSanitizer
enabled.

Implementation notes:

* I've called the added method
<code>allocate<b><i>Generic</i></b>String</code> and added the second
paragraph of its documentation to maybe guide people a bit on when to
use this method (based on my (limited) understanding of the `MCContext`
class). We could also just call it `allocateString` and remove that
second paragraph.
* The added `createWasmSignature` method does not support taking the
return and parameter types as arguments: Specifying them afterwards is
barely any longer and prevents them from being accidentally specified in
the wrong order.
* This removes a _"TODO: Do the uniquing of Signatures here instead of
ObjectFileWriter?"_ since the field it's attached to is also removed.
Let me know if you think that TODO should be preserved somewhere.


  Commit: 3d469c0e7c3072f0dad0f5e9bd0c74dffaf83cd3
      https://github.com/llvm/llvm-project/commit/3d469c0e7c3072f0dad0f5e9bd0c74dffaf83cd3
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGenHLSL/convergent-functions.hlsl

  Log Message:
  -----------
  [HLSL] Enable -fconvergent-functions by default (#86571)

Fixes  #86506


  Commit: d595080b48297c6225eedb71d1985786fa9d55bd
      https://github.com/llvm/llvm-project/commit/d595080b48297c6225eedb71d1985786fa9d55bd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/mixed-extracts-types.ll

  Log Message:
  -----------
  [SLP]Fix PR87384: check for fixed vector type before using.

If we have mixed extractelement instructions, fixed and scalable ones,
need to check that compiler tries to estimate the cost for fixed vector
extractelement, not the scalable one, to avoid compiler crash.


  Commit: 8c1dc5dd589ce6c056b95e43b72338ddea40789c
      https://github.com/llvm/llvm-project/commit/8c1dc5dd589ce6c056b95e43b72338ddea40789c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll

  Log Message:
  -----------
  [RISCV] Add test for miscompile of vector.interleave when odd vector is literal poison.

The interleave lowering relies on a math trick that requires passing
the odd vector to two math instructions. In order to be correct
these instructions must see the same value.

If the odd vector is provably poison or undef, SelectionDAG will
create a vwadd and vwmaccu where the operand is a copy from IMPLICIT_DEF.
Later this will become just the undef flag on the operand. This
gives the register allocator freedom to pick a different register
for each instruction.


  Commit: a9af66a90e625fdb3c7ad2193e827a49d185fe60
      https://github.com/llvm/llvm-project/commit/a9af66a90e625fdb3c7ad2193e827a49d185fe60
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll

  Log Message:
  -----------
  [RISCV] Lower (vector_interleave X, undef) to (vzext_vl X). (#87283)

If the odd vector is undef or poison, the widening add and multiply trick
doesn't work unless we freeze the odd vector.

Unfortunately, freezing doesn't work when the operand is provably
undef/poison. MIR doesn't have a representation for freeze so it
just becomes a COPY from IMPLICIT_DEF which freely propagates undef
to each operand independently.

To work around this, check for undef explicitly and lower to a VZEXT_VL
of the even vector. This produces better code than we'd get from a
freeze anyway.

I've left a FIXME for adding a freeze. I'll do that as a separate patch
as it affects other tests and doesn't help with the new test.


  Commit: 13be0d4a34c421607a5c082ec39dad2cbd6d506f
      https://github.com/llvm/llvm-project/commit/13be0d4a34c421607a5c082ec39dad2cbd6d506f
  Author: Ameer J <52414509+ameerj at users.noreply.github.com>
  Date:   2024-04-02 (Tue, 02 Apr 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/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add BreakFunctionDefinitionParameters option (#84988)

This adds an option to break function definition parameters, putting
them on the next line after the function's opening paren.

This was a missing step towards allowing styles which require all
function definition parameters be on their own lines.

Closes #62963


  Commit: 133156c1380ef592ad0fb2dd44473f583dbee1b7
      https://github.com/llvm/llvm-project/commit/133156c1380ef592ad0fb2dd44473f583dbee1b7
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/lib/Transforms/InlinerPass.cpp

  Log Message:
  -----------
  [mlir][inliner] Assert that no external nodes passed to the profitability hook. (#85489)

Fixes #85400


  Commit: 212b1a84a6bd5648b3f3846f3508ff1ce914132e
      https://github.com/llvm/llvm-project/commit/212b1a84a6bd5648b3f3846f3508ff1ce914132e
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp

  Log Message:
  -----------
  [CallSiteInfo][NFC] CallSiteInfo -> CallSiteInfo.ArgRegPairs (#86842)

CallSiteInfo is originally used only for argument - register pairs. Make
it struct, in which we can store additional data for call sites.

Also, the variables/methods used for CallSiteInfo are named for its
original use case, e.g., CallFwdRegsInfo. Refactor these for the
upcoming
use, e.g. addCallArgsForwardingRegs() -> addCallSiteInfo().

An upcoming patch will add type ids for indirect calls to propogate them
from
middle-end to the back-end. The type ids will be then used to emit the
call
graph section.

Original RFC:
https://lists.llvm.org/pipermail/llvm-dev/2021-June/151044.html
Updated RFC:
https://lists.llvm.org/pipermail/llvm-dev/2021-July/151739.html

Differential Revision: https://reviews.llvm.org/D107109?id=362888

Co-authored-by: Necip Fazil Yildiran <necip at google.com>


  Commit: c403a478076a16172d9b50e16c288b0d360f42ce
      https://github.com/llvm/llvm-project/commit/c403a478076a16172d9b50e16c288b0d360f42ce
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  AMDGPU: Update the description of cache policy for buffer intrinsics, NFC (#87364)

Explicitly added gfx940, which has SC and NT bits. There must be better
ways of documenting the cache policy. But this is what I can do now.

Fixes: SWDEV-449810


  Commit: 6335de4a23e4b71020861b872f51bafb79fbe419
      https://github.com/llvm/llvm-project/commit/6335de4a23e4b71020861b872f51bafb79fbe419
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt

  Log Message:
  -----------
  [libc] Disable '_exit' on the GPU build

Summary:
There are other dependencies to enable `unistd.h` on the GPU which
prevented the header from being generated. This is a POSIX extension and
isn't part of the core `libc`, so we can just disable this for now to
get the bots gree.


  Commit: 7f2a41b643af1348631dee27dc1321046370a758
      https://github.com/llvm/llvm-project/commit/7f2a41b643af1348631dee27dc1321046370a758
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineScheduler.cpp

  Log Message:
  -----------
  MachineScheduler: Simplify usage of TargetInstrInfo


  Commit: 6b2a4668b99ef47f567709bcf6f57bc60c35eea9
      https://github.com/llvm/llvm-project/commit/6b2a4668b99ef47f567709bcf6f57bc60c35eea9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    A clang/test/C/C11/n1482.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Claim conformance to WG14 N1482

This paper added a pile of macros for atomic initialization which we
started supporting in Clang 4.0.


  Commit: 817c6915aeadbed100efee9e70eb42d9368d5ee6
      https://github.com/llvm/llvm-project/commit/817c6915aeadbed100efee9e70eb42d9368d5ee6
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M .github/workflows/email-check.yaml
    M .github/workflows/issue-write.yml

  Log Message:
  -----------
  [workflows] Use issue-write workflow for warning about private emails (#87399)

This allows us to use the less privileged pull_request event for the
validate_email job, since this workflow no longer writes a comment
directly.


  Commit: d8db13edd60b195e6692deb04d63e633319e486a
      https://github.com/llvm/llvm-project/commit/d8db13edd60b195e6692deb04d63e633319e486a
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [RISCV][NFC] Delete some unused pseudo multiclasses (#87401)

We only use the `RM` equivalents now.


  Commit: 6261c53c6f9c82bfca5df2ed5917876d748ed079
      https://github.com/llvm/llvm-project/commit/6261c53c6f9c82bfca5df2ed5917876d748ed079
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/pr87378-vpinstruction-or-drop-poison-generating-flags.ll

  Log Message:
  -----------
  [VPlan] Make sure OR VPInstructions are treated as disjoint ops.

Make sure that VPInstructions with OR opcodes are properly registered as
disjoint ops.

Fixes https://github.com/llvm/llvm-project/issues/87378.


  Commit: c3e3d59fab8ae8161810c861d78c7b5fcabb1a2e
      https://github.com/llvm/llvm-project/commit/c3e3d59fab8ae8161810c861d78c7b5fcabb1a2e
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix tensor::PackOp fold() handling of padding value (#87296)

We can't just check if it is a splat constant or not. We should also
check if the value match.


  Commit: f119a4ffb885ed588c46de1d51f4185572142ca2
      https://github.com/llvm/llvm-project/commit/f119a4ffb885ed588c46de1d51f4185572142ca2
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl

  Log Message:
  -----------
  [HLSL] Fix broken spir-v test

This fixes a test broken in 3d469c0e7c3072f0dad0f5e9bd0c74dffaf83cd3.
fast-forwarded.
../clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl


  Commit: 4ea24946e356be31446fc30ca3d11cc5783ba2a6
      https://github.com/llvm/llvm-project/commit/4ea24946e356be31446fc30ca3d11cc5783ba2a6
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M openmp/runtime/src/kmp_tasking.cpp
    A openmp/runtime/test/tasking/issue-87307.c

  Log Message:
  -----------
  [OpenMP] Fix nested parallel with tasking (#87309)

When a nested parallel region ends, the runtime calls __kmp_join_call().
During this call, the primary thread of the nested parallel region will
reset its tid (retval of omp_get_thread_num()) to what it was in the
outer parallel region. A data race occurs with the current code when
another worker thread from the nested inner parallel region tries to
steal tasks from the primary thread's task deque. The worker thread
reads the tid value directly from the primary thread's data structure
and may read the wrong value.

This change just uses the calculated victim_tid from execute_tasks()
directly in the steal_task() routine rather than reading tid from the
data structure.

Fixes: #87307


  Commit: 89271b46761749503dffe94c60b9cbe0bda80284
      https://github.com/llvm/llvm-project/commit/89271b46761749503dffe94c60b9cbe0bda80284
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    R llvm/test/Transforms/LoopVectorize/pr87378-vpinstruction-or-drop-poison-generating-flags.ll

  Log Message:
  -----------
  [LV] Add test depending on target to RISCV subdirectory.


  Commit: 8ea52d1d83233a9e82b62e07e28d7be7e5c79b69
      https://github.com/llvm/llvm-project/commit/8ea52d1d83233a9e82b62e07e28d7be7e5c79b69
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M .github/workflows/email-check.yaml
    A .github/workflows/issue-write.yml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/llvm-tests.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/scorecard.yml
    M bolt/CMakeLists.txt
    M bolt/docs/BAT.md
    M bolt/include/bolt/Core/AddressMap.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryDomTree.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinaryLoop.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    M bolt/include/bolt/Passes/ReachingDefOrUse.h
    M bolt/include/bolt/Passes/ReachingInsns.h
    M bolt/include/bolt/Passes/ReorderUtils.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/ProfileReaderBase.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Profile/YAMLProfileWriter.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/include/bolt/Utils/NameShortener.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/JITLinkLinker.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    A bolt/test/X86/dwarf4-label-low-pc.s
    A bolt/test/X86/dwarf5-debug-names-cross-cu.s
    A bolt/test/X86/dwarf5-debug-names-dw-at-specification.s
    M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    M bolt/test/X86/dwarf5-debug-names.test
    M bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
    M bolt/test/X86/dwarf5-df-debug-names.test
    M bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
    M bolt/test/X86/dwarf5-df-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-df-types-debug-names.test
    M bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-label-low-pc.s
    M bolt/test/X86/dwarf5-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-types-debug-names.test
    M bolt/test/X86/dwarf5-types-one-cu-debug-names.test
    M bolt/test/X86/linux-alt-instruction.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-parainstructions.s
    A bolt/test/X86/linux-static-keys.s
    M bolt/test/X86/reader-stale-yaml.test
    A bolt/test/X86/yaml-secondary-entry-discriminator.s
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/support/Trace.h
    M clang-tools-extra/clangd/test/inlayHints.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
    M clang/CMakeLists.txt
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/HLSL/FunctionCalls.rst
    M clang/docs/HLSL/HLSLSupport.rst
    M clang/docs/LanguageExtensions.rst
    A clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
    M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Logger.h
    M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Basic/AllDiagnostics.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    A clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    A clang/include/clang/Basic/DiagnosticInstallAPI.h
    A clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/SyncScope.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TypeNodes.td
    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/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/Format/.clang-format
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/InstallAPI/Context.h
    A clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/Frontend.h
    M clang/include/clang/InstallAPI/FrontendRecords.h
    M clang/include/clang/InstallAPI/HeaderFile.h
    A clang/include/clang/InstallAPI/InstallAPIDiagnostic.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Interpreter/Value.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/Availability.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.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/ByteCodeStmtGen.h
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    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/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/ScanfFormatString.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/CFG.cpp
    A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Logger.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Clang.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/.clang-format
    M clang/lib/Format/BreakableToken.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Encoding.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatInternal.h
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.h
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.h
    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/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/FrontendOptions.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__stddef_null.h
    M clang/lib/Headers/__stddef_nullptr_t.h
    M clang/lib/Headers/__stddef_offsetof.h
    M clang/lib/Headers/__stddef_ptrdiff_t.h
    M clang/lib/Headers/__stddef_rsize_t.h
    M clang/lib/Headers/__stddef_size_t.h
    M clang/lib/Headers/__stddef_unreachable.h
    M clang/lib/Headers/__stddef_wchar_t.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/bmiintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    A clang/lib/Headers/intrin0.h
    M clang/lib/Headers/keylockerintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/module.modulemap
    A clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/x86gprintrin.h
    M clang/lib/Headers/x86intrin.h
    M clang/lib/Headers/xmmintrin.h
    A clang/lib/Headers/yvals_core.h
    M clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/HeaderFile.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Value.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
    A clang/test/APINotes/Inputs/APINotes/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders/APINotes.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders/SomeBrokenLib.h
    A clang/test/APINotes/Inputs/BrokenHeaders2/APINotes.apinotes
    A clang/test/APINotes/Inputs/BrokenHeaders2/SomeBrokenLib.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Headers/FrameworkWithActualPrivateModule.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Headers/FrameworkWithWrongCase.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/PrivateHeaders/FrameworkWithWrongCase_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Headers/FrameworkWithWrongCasePrivate.h
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/PrivateHeaders/FrameworkWithWrongCasePrivate_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Headers/LayeredKit.h
    A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.apinotes
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.h
    A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKitForNullAnnotation.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module_private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_Private.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_PrivateForNullAnnotation.h
    A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/APINotes/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.h
    A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit.h
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.private.modulemap
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.h
    A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private_private.apinotes
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.apinotes
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.h
    A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Modules/module.modulemap
    A clang/test/APINotes/Inputs/Headers/APINotes.apinotes
    A clang/test/APINotes/Inputs/Headers/BrokenTypes.apinotes
    A clang/test/APINotes/Inputs/Headers/BrokenTypes.h
    A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/ExportAs.h
    A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
    A clang/test/APINotes/Inputs/Headers/ExternCtx.apinotes
    A clang/test/APINotes/Inputs/Headers/ExternCtx.h
    A clang/test/APINotes/Inputs/Headers/HeaderLib.apinotes
    A clang/test/APINotes/Inputs/Headers/HeaderLib.h
    A clang/test/APINotes/Inputs/Headers/InstancetypeModule.apinotes
    A clang/test/APINotes/Inputs/Headers/InstancetypeModule.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate.h
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate_Private.apinotes
    A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase_Private.apinotes
    A clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
    A clang/test/APINotes/Inputs/Headers/Namespaces.h
    A clang/test/APINotes/Inputs/Headers/PrivateLib.apinotes
    A clang/test/APINotes/Inputs/Headers/PrivateLib.h
    A clang/test/APINotes/Inputs/Headers/PrivateLib_private.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    A clang/test/APINotes/Inputs/Headers/Templates.apinotes
    A clang/test/APINotes/Inputs/Headers/Templates.h
    A clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/Inputs/Headers/module.private.modulemap
    A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.apinotes
    A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.h
    A clang/test/APINotes/Inputs/yaml-reader-errors/module.modulemap
    A clang/test/APINotes/availability.m
    A clang/test/APINotes/broken_types.m
    A clang/test/APINotes/case-for-private-apinotes-file.c
    A clang/test/APINotes/export-as.c
    A clang/test/APINotes/extern-context.cpp
    A clang/test/APINotes/instancetype.m
    A clang/test/APINotes/module-cache.m
    A clang/test/APINotes/namespaces.cpp
    A clang/test/APINotes/nullability.c
    A clang/test/APINotes/nullability.m
    A clang/test/APINotes/objc-forward-declarations.m
    A clang/test/APINotes/objc_designated_inits.m
    A clang/test/APINotes/properties.m
    A clang/test/APINotes/retain-count-convention.m
    A clang/test/APINotes/search-order.m
    A clang/test/APINotes/swift-import-as.cpp
    A clang/test/APINotes/templates.cpp
    A clang/test/APINotes/top-level-private-modules.c
    A clang/test/APINotes/types.m
    A clang/test/APINotes/versioned-multi.c
    A clang/test/APINotes/versioned.m
    A clang/test/APINotes/yaml-convert-diags.c
    A clang/test/APINotes/yaml-parse-diags.c
    A clang/test/APINotes/yaml-reader-errors.m
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/builtins.cpp
    M clang/test/AST/Interp/c.c
    A clang/test/AST/Interp/c23.c
    M clang/test/AST/Interp/complex.c
    M clang/test/AST/Interp/complex.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/cxx98.cpp
    M clang/test/AST/Interp/if.cpp
    M clang/test/AST/Interp/literals.cpp
    A clang/test/AST/Interp/ms.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/ast-dump-concepts.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/Analysis/ArrayDelete.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    M clang/test/Analysis/analyzer-display-progress.cpp
    M clang/test/Analysis/analyzer-display-progress.m
    A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
    M clang/test/Analysis/block-in-critical-section.cpp
    A clang/test/Analysis/cxx23-static-operator.cpp
    M clang/test/Analysis/eval-predefined-exprs.cpp
    A clang/test/Analysis/getline-cpp.cpp
    A clang/test/Analysis/getline-unixapi.c
    M clang/test/Analysis/inlining/false-positive-suppression.cpp
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    A clang/test/C/C11/n1282.c
    A clang/test/C/C11/n1310.c
    A clang/test/C/C11/n1365.c
    A clang/test/C/C11/n1482.c
    M clang/test/C/C2x/n2350.c
    M clang/test/C/C2x/n2975.c
    A clang/test/C/C99/Inputs/nested-include.h
    A clang/test/C/C99/block-scopes.c
    A clang/test/C/C99/digraphs.c
    A clang/test/C/C99/float_h-characteristics.c
    A clang/test/C/C99/n570.c
    A clang/test/C/C99/n590.c
    A clang/test/C/C99/n696.c
    A clang/test/C/C99/n782.c
    A clang/test/C/C99/n835.c
    M clang/test/C/drs/dr0xx.c
    A clang/test/C/drs/dr290.c
    M clang/test/C/drs/dr4xx.c
    M clang/test/C/drs/dr5xx.c
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
    A clang/test/ClangScanDeps/modules-extension.c
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    M clang/test/CodeCompletion/member-access.cpp
    M clang/test/CodeGen/CSKY/csky-abi.c
    M clang/test/CodeGen/LoongArch/abi-lp64d.c
    A clang/test/CodeGen/M68k/inline-asm-gcc-regs.c
    M clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c
    M clang/test/CodeGen/PowerPC/aix-vaargs.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-rotate.c
    M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
    A clang/test/CodeGen/PowerPC/toc-data-attribute.c
    A clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
    A clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
    A clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
    M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
    A clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
    M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb-error.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-error.c
    M clang/test/CodeGen/SystemZ/systemz-ppa2.c
    M clang/test/CodeGen/WebAssembly/wasm-varargs.c
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c
    A clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/X86/va-arg-sse.c
    A clang/test/CodeGen/X86/x86_64-vaarg.c
    M clang/test/CodeGen/aapcs-align.cpp
    A clang/test/CodeGen/aapcs-bitfield-access-unit.c
    M clang/test/CodeGen/aapcs-bitfield.c
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/aarch64-ABI-align-packed.c
    A clang/test/CodeGen/aarch64-mixed-target-attributes.c
    A clang/test/CodeGen/aarch64-soft-float-abi-errors.c
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/arm-bitfield-alignment.c
    M clang/test/CodeGen/arm-varargs.c
    M clang/test/CodeGen/arm64-be-bitfield.c
    M clang/test/CodeGen/atomic.c
    A clang/test/CodeGen/attr-counted-by-debug-info.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/bitfield-2.c
    A clang/test/CodeGen/bitfield-access-pad.c
    A clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/CodeGen/builtins.c
    A clang/test/CodeGen/cfi-check-attrs.c
    M clang/test/CodeGen/cfi-check-fail.c
    A clang/test/CodeGen/complex-math-mixed.c
    M clang/test/CodeGen/complex-math.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/debug-info-bitfield-0-struct.c
    M clang/test/CodeGen/debug-info-cc.c
    M clang/test/CodeGen/flexible-array-init.c
    A clang/test/CodeGen/flexible-array-init.cpp
    M clang/test/CodeGen/hexagon-linux-vararg.c
    M clang/test/CodeGen/mips-varargs.c
    M clang/test/CodeGen/no-bitfield-type-align.c
    M clang/test/CodeGen/pr53127.cpp
    M clang/test/CodeGen/pragma-cx-limited-range.c
    A clang/test/CodeGen/ptrauth-intrinsics.c
    M clang/test/CodeGen/smiths-complex-div.c
    M clang/test/CodeGen/struct-x86-darwin.c
    M clang/test/CodeGen/swift-async-call-conv.c
    M clang/test/CodeGen/target-avx-abi-diag.c
    M clang/test/CodeGen/tbaa-struct.cpp
    M clang/test/CodeGen/ubsan-builtin-checks.c
    A clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
    M clang/test/CodeGen/volatile.cpp
    M clang/test/CodeGen/xcore-abi.c
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    A clang/test/CodeGenCXX/bitfield-access-empty.cpp
    A clang/test/CodeGenCXX/bitfield-access-tail.cpp
    A clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/bitfield.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/constructor-init.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/CodeGenCXX/ibm128-declarations.cpp
    M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/static-init.cpp
    M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    A clang/test/CodeGenCXX/x86_64-vaarg.cpp
    A clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
    A clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    A clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    A clang/test/CodeGenHLSL/builtins/isinf.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
    A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
    A clang/test/CodeGenHLSL/convergent-functions.hlsl
    M clang/test/CodeGenObjC/debug-info-blocks.m
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    R clang/test/Driver/Inputs/in.so
    R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-sm_35.bc
    R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-test.bc
    R clang/test/Driver/Inputs/openmp_static_device_link/empty.o
    R clang/test/Driver/Inputs/openmp_static_device_link/lib.bc
    R clang/test/Driver/Inputs/openmp_static_device_link/libFatArchive.a
    M clang/test/Driver/aarch64-mcpu.c
    A clang/test/Driver/aarch64-ptrauth.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Driver/aarch64-sve.c
    M clang/test/Driver/apple-kext-mkernel.c
    M clang/test/Driver/cl-outputs.c
    M clang/test/Driver/clang-g-opts.c
    M clang/test/Driver/clang-offload-bundler-asserts-on.c
    M clang/test/Driver/clang-offload-bundler-standardize.c
    M clang/test/Driver/clang-offload-bundler.c
    M clang/test/Driver/compiler-rt-unwind.c
    M clang/test/Driver/constructors.c
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/cuda-detect.cu
    A clang/test/Driver/darwin-ld-reexports.c
    M clang/test/Driver/dragonfly.c
    M clang/test/Driver/env.c
    M clang/test/Driver/fat-archive-unbundle-ext.c
    A clang/test/Driver/fsanitize-signed-integer-overflow.c
    M clang/test/Driver/haiku.c
    A clang/test/Driver/hexagon-default-build-attributes.s
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hip-link-shared-library.hip
    M clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-runtime-libs-linux.hip
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linux-header-search.cpp
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/linux-musl-header-search.cpp
    M clang/test/Driver/linux-per-target-runtime-dir.c
    M clang/test/Driver/loongarch-munaligned-access.c
    M clang/test/Driver/mips-features.c
    M clang/test/Driver/mips-reduced-toolchain.cpp
    A clang/test/Driver/modules-print-library-module-manifest-path.cpp
    M clang/test/Driver/msvc-link.c
    M clang/test/Driver/munaligned-access-unused.c
    M clang/test/Driver/netbsd.cpp
    M clang/test/Driver/ohos.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/pic.c
    M clang/test/Driver/range.c
    M clang/test/Driver/riscv-features.c
    A clang/test/Driver/riscv-profiles.c
    M clang/test/Driver/solaris-ld-sanitizer.c
    M clang/test/Driver/solaris-ld-values.c
    M clang/test/Driver/solaris-ld-values.cpp
    M clang/test/Driver/solaris-ld.c
    M clang/test/Driver/tls-dialect.c
    A clang/test/Driver/toc-conf.c
    A clang/test/Driver/tocdata-cc1.c
    M clang/test/Driver/unsupported-option-gpu.c
    M clang/test/Driver/wasm-toolchain.c
    A clang/test/Format/fail-on-incomplete.cpp
    A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
    A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
    A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
    A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
    A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
    A clang/test/InstallAPI/asm.test
    A clang/test/InstallAPI/availability.test
    M clang/test/InstallAPI/basic.test
    A clang/test/InstallAPI/diagnostics-cpp.test
    A clang/test/InstallAPI/diagnostics-dsym.test
    M clang/test/InstallAPI/driver-invalid-options.test
    A clang/test/InstallAPI/extra-exclude-headers.test
    M clang/test/InstallAPI/functions.test
    A clang/test/InstallAPI/hiddens.test
    A clang/test/InstallAPI/linker-symbols.test
    A clang/test/InstallAPI/mismatching-objc-class-symbols.test
    A clang/test/InstallAPI/symbol-flags.test
    A clang/test/InstallAPI/umbrella-headers-unix.test
    A clang/test/InstallAPI/umbrella-headers.test
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Lexer/has_extension_cxx.cpp
    M clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Modules/bounds-safety-attributed-type.c
    M clang/test/Modules/codegen.test
    M clang/test/Modules/language-linkage.cppm
    R clang/test/Modules/missing-module-declaration.cppm
    A clang/test/Modules/no-local-decl-in-reduced-bmi.cppm
    M clang/test/Modules/no-undeclared-includes-builtins.cpp
    M clang/test/Modules/pr72828.cppm
    A clang/test/Modules/reduced-bmi-generating-codes.cppm
    M clang/test/Modules/stddef.c
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/atomic_write_codegen.c
    M clang/test/OpenMP/bug54082.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_reduction_messages.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_check.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_data_use_device_ptr_inheritance_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_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_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_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_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_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_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_collapse_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_collapse_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_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
    A clang/test/Options/HV.hlsl
    A clang/test/Options/enable_16bit_types_validation.hlsl
    A clang/test/Options/enable_16bit_types_validation_spirv.hlsl
    A clang/test/PCH/Inputs/bounds-safety-attributed-type.h
    A clang/test/PCH/bounds-safety-attributed-type.c
    A clang/test/Parser/cxx03-lambda-extension.cpp
    M clang/test/Parser/cxx0x-lambda-expressions.cpp
    M clang/test/Parser/cxx2b-lambdas.cpp
    M clang/test/Parser/objcxx-lambda-expressions-neg.mm
    M clang/test/ParserHLSL/group_shared.hlsl
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M clang/test/Preprocessor/empty_va_arg.cpp
    M clang/test/Preprocessor/macro_fn.c
    A clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/sysroot-prefix.c
    A clang/test/Sema/GH70594.cpp
    A clang/test/Sema/PR84368.cpp
    A clang/test/Sema/PR85343.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/Sema/arm-vector-types-support.c
    M clang/test/Sema/attr-cleanup.c
    M clang/test/Sema/attr-counted-by.c
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/Sema/attr-target-version.c
    R clang/test/Sema/builtin-popcountg.c
    M clang/test/Sema/builtins-arm64.c
    A clang/test/Sema/complex-arithmetic.c
    M clang/test/Sema/const-eval.c
    A clang/test/Sema/const-init.c
    M clang/test/Sema/constant-builtins-2.c
    A clang/test/Sema/constant-builtins-all-args-evaluated.cpp
    A clang/test/Sema/constexpr-void-cast.c
    A clang/test/Sema/count-builtins.c
    M clang/test/Sema/flexible-array-in-union.c
    A clang/test/Sema/format-strings-signedness-fixit.c
    A clang/test/Sema/format-strings-signedness.c
    M clang/test/Sema/nullability.c
    A clang/test/Sema/ptrauth-intrinsics-macro.c
    A clang/test/Sema/ptrauth.c
    M clang/test/Sema/swift-call-conv.c
    M clang/test/Sema/transparent-union.c
    M clang/test/Sema/warn-bitwise-and-bool.c
    M clang/test/Sema/warn-bitwise-or-bool.c
    M clang/test/Sema/warn-cast-function-type-strict.c
    M clang/test/Sema/warn-cast-function-type.c
    M clang/test/SemaCXX/attr-target-version.cpp
    M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
    A clang/test/SemaCXX/constexpr-explicit-object-lambda.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
    M clang/test/SemaCXX/datasizeof.cpp
    M clang/test/SemaCXX/decomposed-condition.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/lambda-implicit-this-capture.cpp
    M clang/test/SemaCXX/lambda-invalid-capture.cpp
    M clang/test/SemaCXX/namespace-alias.cpp
    M clang/test/SemaCXX/new-delete.cpp
    M clang/test/SemaCXX/nullability.cpp
    M clang/test/SemaCXX/source_location.cpp
    M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
    M clang/test/SemaCXX/warn-cast-function-type.cpp
    M clang/test/SemaCXX/warn-constant-evaluated-constexpr.cpp
    M clang/test/SemaCXX/warn-exit-time-destructors.cpp
    A clang/test/SemaHLSL/ArrayParams.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/ArrayTemporary.ll
    A clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    A clang/test/SemaObjC/attr-objc-NSObject.m
    A clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
    M clang/test/SemaObjCXX/nullability-consistency.mm
    A clang/test/SemaTemplate/concepts-GH86757.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/test/SemaTemplate/ctad.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/instantiation-depth-default.cpp
    M clang/tools/clang-format/.clang-format
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-installapi/CMakeLists.txt
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    A clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/diagtool/DiagnosticNames.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp
    M clang/unittests/AST/DeclTest.cpp
    M clang/unittests/AST/TypePrinterTest.cpp
    M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
    M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
    M clang/unittests/Format/.clang-format
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
    M clang/unittests/Interpreter/InterpreterTest.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/unittests/Tooling/StandardLibraryTest.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/analyzer/exploded-graph-rewriter.py
    M clang/www/analyzer/alpha_checks.html
    M clang/www/analyzer/available_checks.html
    M clang/www/c_dr_status.html
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/get_started.html
    A cmake/Modules/GetDarwinLinkerVersion.cmake
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/include/sanitizer/linux_syscall_hooks.h
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_win_dll_thunk.cpp
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_platform.h
    M compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
    M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
    M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
    M compiler-rt/lib/hwasan/hwasan_checks.h
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/CMakeLists.txt
    M compiler-rt/lib/lsan/lsan_interceptors.cpp
    M compiler-rt/lib/memprof/memprof_allocator.h
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/msan/msan.h
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/msan/msan_linux.cpp
    M compiler-rt/lib/msan/tests/CMakeLists.txt
    M compiler-rt/lib/orc/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    A compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/allocator_config.h
    A compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/condition_variable.h
    M compiler-rt/lib/scudo/standalone/fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/memtag.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/report_linux.cpp
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/stack_depot.h
    M compiler-rt/lib/scudo/standalone/string_utils.cpp
    M compiler-rt/lib/scudo/standalone/string_utils.h
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    A compiler-rt/lib/scudo/standalone/tests/allocator_config_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    M compiler-rt/lib/scudo/standalone/vector.h
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
    M compiler-rt/lib/tsan/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/xray/tests/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_heap_allocation.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
    M compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cpp
    R compiler-rt/test/asan/TestCases/Windows/interface_symbols_windows.cpp
    M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
    M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
    M compiler-rt/test/asan/TestCases/calloc-overflow.cpp
    M compiler-rt/test/asan/TestCases/deep_stack_uaf.cpp
    M compiler-rt/test/asan/TestCases/double-free.cpp
    M compiler-rt/test/asan/TestCases/malloc-size-too-big.cpp
    M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
    M compiler-rt/test/asan/TestCases/use-after-free-right.cpp
    M compiler-rt/test/asan/TestCases/use-after-free.cpp
    M compiler-rt/test/asan_abi/CMakeLists.txt
    M compiler-rt/test/dfsan/custom.cpp
    M compiler-rt/test/dfsan/mmap_at_init.c
    M compiler-rt/test/fuzzer/CMakeLists.txt
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lit.common.configured.in
    M compiler-rt/test/lsan/TestCases/recoverable_leak_check.cpp
    M compiler-rt/test/memprof/CMakeLists.txt
    M compiler-rt/test/msan/CMakeLists.txt
    A compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/static-link.c
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
    A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
    M compiler-rt/test/tsan/getline_nohang.cpp
    A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
    M compiler-rt/test/ubsan/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
    A cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio2022.py
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/list-debuggers/list-debuggers.test
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp
    M flang/docs/OpenMP-descriptor-management.md
    A flang/docs/RuntimeEnvironment.md
    M flang/docs/index.md
    M flang/include/flang/Common/Version.h
    A flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Common/idioms.h
    A flang/include/flang/Common/optional.h
    M flang/include/flang/Common/real.h
    A flang/include/flang/Common/reference-wrapper.h
    M flang/include/flang/Common/restorer.h
    M flang/include/flang/Common/template.h
    M flang/include/flang/Common/uint128.h
    M flang/include/flang/Common/unwrap.h
    A flang/include/flang/Common/variant.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Decimal/decimal.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/LangOptions.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/ISO_Fortran_binding_wrapper.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Lower/OpenMP.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree-visitor.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/tools.h
    R flang/include/flang/Runtime/api-attrs.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Runtime/entry-names.h
    M flang/include/flang/Runtime/io-api.h
    M flang/include/flang/Runtime/iostat.h
    M flang/include/flang/Runtime/memory.h
    A flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/type-code.h
    M flang/include/flang/Semantics/module-dependences.h
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/constant.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    A flang/lib/Lower/OpenMP/Clauses.cpp
    A flang/lib/Lower/OpenMP/Clauses.h
    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/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/misc-parsers.h
    M flang/lib/Parser/tools.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/module/__fortran_builtins.f90
    R flang/module/omp_lib.f90
    R flang/module/omp_lib.h
    M flang/runtime/CMakeLists.txt
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/fma.cpp
    M flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/random.cpp
    M flang/runtime/buffer.cpp
    M flang/runtime/buffer.h
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/connection.cpp
    M flang/runtime/connection.h
    M flang/runtime/derived-api.cpp
    M flang/runtime/derived.h
    M flang/runtime/descriptor-io.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/edit-input.cpp
    M flang/runtime/edit-input.h
    M flang/runtime/edit-output.cpp
    M flang/runtime/edit-output.h
    M flang/runtime/emit-encoded.h
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h
    A flang/runtime/external-unit.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/file.cpp
    M flang/runtime/file.h
    M flang/runtime/format-implementation.h
    M flang/runtime/format.cpp
    M flang/runtime/format.h
    M flang/runtime/freestanding-tools.h
    M flang/runtime/internal-unit.cpp
    M flang/runtime/internal-unit.h
    M flang/runtime/io-api.cpp
    M flang/runtime/io-error.cpp
    M flang/runtime/io-error.h
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/iostat.cpp
    M flang/runtime/lock.h
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/memory.cpp
    M flang/runtime/misc-intrinsic.cpp
    M flang/runtime/namelist.cpp
    M flang/runtime/namelist.h
    M flang/runtime/non-tbp-dio.h
    M flang/runtime/numeric-templates.h
    M flang/runtime/pointer.cpp
    A flang/runtime/pseudo-unit.cpp
    A flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    A flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/stat.h
    M flang/runtime/terminator.h
    M flang/runtime/tools.cpp
    M flang/runtime/tools.h
    M flang/runtime/type-code.cpp
    M flang/runtime/type-info.cpp
    M flang/runtime/type-info.h
    M flang/runtime/unit-map.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h
    M flang/runtime/utf.cpp
    M flang/runtime/utf.h
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    A flang/test/Driver/cuda-option.f90
    M flang/test/Driver/driver-help-hidden.f90
    R flang/test/Driver/flang-experimental-polymorphism-flag.f90
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Driver/include-omp-header.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Evaluate/fold-scale.f90
    M flang/test/Fir/array-value-copy-2.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/boxproc-2.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/loop01.fir
    M flang/test/Fir/loop02.fir
    A flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/call_with_poly_dummy.f90
    A flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
    M flang/test/Lower/HLFIR/allocatable-return.f90
    M flang/test/Lower/HLFIR/array-ctor-derived.f90
    A flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
    M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/designators-component-ref.f90
    M flang/test/Lower/HLFIR/designators-parameter-array-slice.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
    M flang/test/Lower/HLFIR/function-return-as-expr.f90
    M flang/test/Lower/HLFIR/function-return-destroy.f90
    M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
    M flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
    M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
    M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/intrinsic-assumed-type.f90
    M flang/test/Lower/HLFIR/parent-component-ref.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/HLFIR/polymorphic-expressions.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
    A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
    M flang/test/Lower/HLFIR/select-type-selector.f90
    M flang/test/Lower/HLFIR/transpose.f90
    M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
    M flang/test/Lower/Intrinsics/extends_type_of.f90
    A flang/test/Lower/Intrinsics/fma_real16.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    A flang/test/Lower/Intrinsics/random_number_real16.f90
    M flang/test/Lower/Intrinsics/same_type_as.f90
    M flang/test/Lower/Intrinsics/sizeof.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenMP/FIR/array-bounds.f90
    M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    M flang/test/Lower/OpenMP/FIR/atomic-read.f90
    M flang/test/Lower/OpenMP/FIR/atomic-update.f90
    M flang/test/Lower/OpenMP/FIR/atomic-write.f90
    M flang/test/Lower/OpenMP/FIR/critical.f90
    M flang/test/Lower/OpenMP/FIR/flush.f90
    M flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    M flang/test/Lower/OpenMP/FIR/master.f90
    M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    A flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    M flang/test/Lower/OpenMP/FIR/parallel.f90
    M flang/test/Lower/OpenMP/FIR/sections.f90
    M flang/test/Lower/OpenMP/FIR/single.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/FIR/task.f90
    M flang/test/Lower/OpenMP/FIR/taskgroup.f90
    M flang/test/Lower/OpenMP/FIR/teams.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/Todo/reduction-arrays.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/allocatable-map.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
    A flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    A flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
    A flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
    M flang/test/Lower/OpenMP/map-component-ref.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/ordered-threads.f90
    A flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add.f90
    A flang/test/Lower/OpenMP/parallel-reduction-array.f90
    A flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    A flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-rename.f90
    M flang/test/Lower/OpenMP/parallel-reduction.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    A flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-return.f90
    M flang/test/Lower/assumed-type.f90
    M flang/test/Lower/cray-pointer.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/dispatch-table.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/intentout-deallocate.f90
    M flang/test/Lower/io-derived-type-2.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/pass-null-for-class-arg.f90
    M flang/test/Lower/pointer-association-polymorphic.f90
    M flang/test/Lower/pointer-disassociate.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic-types.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type-2.f90
    M flang/test/Lower/select-type.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/cuf-sanity-tree.CUF
    A flang/test/Parser/unrecognized-dir.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    A flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    A flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    A flang/test/Semantics/call41.f90
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/declarations02.f90
    A flang/test/Semantics/deferred01.f90
    M flang/test/Semantics/doconcurrent08.f90
    A flang/test/Semantics/forall02.f90
    M flang/test/Semantics/init01.f90
    M flang/test/Semantics/modfile63.f90
    M flang/test/Semantics/resolve11.f90
    M flang/test/Semantics/resolve61.f90
    M flang/test/Semantics/resolve81.f90
    M flang/test/Semantics/separate-mp05.f90
    A flang/test/Semantics/structconst09.f90
    M flang/test/Transforms/omp-descriptor-map-info-gen.fir
    A flang/test/Transforms/omp-reduction-cfg-conversion.fir
    M flang/test/Transforms/stack-arrays.fir
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/Runtime/NumericalFormatTest.cpp
    M flang/unittests/Runtime/Reduction.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/baremetal/riscv/headers.txt
    M libc/config/config.json
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/gpu/api.td
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/configure.rst
    M libc/docs/dev/code_style.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/fullbuild_mode.rst
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/gpu/support.rst
    M libc/docs/gpu/testing.rst
    M libc/docs/gpu/using.rst
    M libc/docs/math/index.rst
    M libc/docs/stdio.rst
    M libc/fuzzing/CMakeLists.txt
    M libc/fuzzing/math/RemQuoDiff.h
    M libc/fuzzing/math/SingleInputSingleOutputDiff.h
    M libc/fuzzing/math/TwoInputSingleOutputDiff.h
    M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/arpa/inet.h.def
    M libc/include/assert.h.def
    M libc/include/ctype.h.def
    M libc/include/dirent.h.def
    M libc/include/errno.h.def
    M libc/include/fcntl.h.def
    M libc/include/features.h.def
    M libc/include/fenv.h.def
    M libc/include/float.h.def
    M libc/include/gpu/rpc.h.def
    M libc/include/inttypes.h.def
    M libc/include/limits.h.def
    M libc/include/llvm-libc-macros/containerof-macro.h
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/__mutex_type.h
    M libc/include/llvm-libc-types/cookie_io_functions_t.h
    M libc/include/llvm-libc-types/fd_set.h
    A libc/include/llvm-libc-types/fsblkcnt_t.h
    A libc/include/llvm-libc-types/fsfilcnt_t.h
    A libc/include/llvm-libc-types/mbstate_t.h
    M libc/include/llvm-libc-types/mtx_t.h
    M libc/include/llvm-libc-types/once_flag.h
    M libc/include/llvm-libc-types/pthread_attr_t.h
    M libc/include/llvm-libc-types/pthread_mutex_t.h
    M libc/include/llvm-libc-types/pthread_once_t.h
    M libc/include/llvm-libc-types/pthread_t.h
    M libc/include/llvm-libc-types/siginfo_t.h
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/stack_t.h
    M libc/include/llvm-libc-types/struct_dirent.h
    M libc/include/llvm-libc-types/struct_epoll_event.h
    M libc/include/llvm-libc-types/struct_rlimit.h
    M libc/include/llvm-libc-types/struct_rusage.h
    M libc/include/llvm-libc-types/struct_sched_param.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/llvm-libc-types/struct_sockaddr.h
    M libc/include/llvm-libc-types/struct_sockaddr_un.h
    M libc/include/llvm-libc-types/struct_stat.h
    A libc/include/llvm-libc-types/struct_statvfs.h
    M libc/include/llvm-libc-types/struct_termios.h
    M libc/include/llvm-libc-types/struct_timespec.h
    M libc/include/llvm-libc-types/struct_timeval.h
    M libc/include/llvm-libc-types/thrd_t.h
    M libc/include/math.h.def
    M libc/include/pthread.h.def
    M libc/include/sched.h.def
    M libc/include/search.h.def
    M libc/include/setjmp.h.def
    M libc/include/signal.h.def
    M libc/include/spawn.h.def
    M libc/include/stdbit.h.def
    M libc/include/stdckdint.h.def
    M libc/include/stdfix.h.def
    M libc/include/stdint.h.def
    M libc/include/stdio.h.def
    M libc/include/stdlib.h.def
    M libc/include/string.h.def
    M libc/include/strings.h.def
    M libc/include/sys/auxv.h.def
    M libc/include/sys/epoll.h.def
    M libc/include/sys/ioctl.h.def
    M libc/include/sys/mman.h.def
    M libc/include/sys/prctl.h.def
    M libc/include/sys/queue.h
    M libc/include/sys/random.h.def
    M libc/include/sys/resource.h.def
    M libc/include/sys/select.h.def
    M libc/include/sys/sendfile.h.def
    M libc/include/sys/socket.h.def
    M libc/include/sys/stat.h.def
    A libc/include/sys/statvfs.h.def
    M libc/include/sys/time.h.def
    M libc/include/sys/types.h.def
    M libc/include/sys/utsname.h.def
    M libc/include/sys/wait.h.def
    M libc/include/termios.h.def
    M libc/include/threads.h.def
    M libc/include/time.h.def
    A libc/include/uchar.h.def
    M libc/include/unistd.h.def
    M libc/include/wchar.h.def
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/array.h
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    A libc/src/__support/CPP/iterator.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/CPP/type_traits.h
    M libc/src/__support/CPP/type_traits/add_pointer.h
    M libc/src/__support/CPP/type_traits/decay.h
    A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/__support/CPP/type_traits/is_destructible.h
    M libc/src/__support/CPP/type_traits/is_function.h
    M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_reference.h
    M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
    M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
    M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
    M libc/src/__support/CPP/type_traits/remove_all_extents.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/__support/FPUtil/fpbits_str.h
    M libc/src/__support/FPUtil/gpu/FMA.h
    A libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/__support/File/file.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/OSUtil/CMakeLists.txt
    M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
    A libc/src/__support/OSUtil/baremetal/io.cpp
    M libc/src/__support/OSUtil/baremetal/io.h
    A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
    R libc/src/__support/OSUtil/baremetal/quick_exit.h
    M libc/src/__support/OSUtil/darwin/CMakeLists.txt
    R libc/src/__support/OSUtil/darwin/quick_exit.h
    M libc/src/__support/OSUtil/gpu/CMakeLists.txt
    M libc/src/__support/OSUtil/gpu/quick_exit.cpp
    R libc/src/__support/OSUtil/gpu/quick_exit.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/quick_exit.cpp
    R libc/src/__support/OSUtil/linux/quick_exit.h
    M libc/src/__support/OSUtil/quick_exit.h
    M libc/src/__support/UInt.h
    M libc/src/__support/blockstore.h
    M libc/src/__support/char_vector.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/macros/config.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    A libc/src/__support/sign.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/canonicalize.h
    A libc/src/math/canonicalizef.h
    A libc/src/math/canonicalizef128.h
    A libc/src/math/canonicalizel.h
    M libc/src/math/docs/add_math_function.md
    A libc/src/math/fmaximum.h
    A libc/src/math/fmaximum_mag.h
    A libc/src/math/fmaximum_mag_num.h
    A libc/src/math/fmaximum_mag_numf.h
    A libc/src/math/fmaximum_mag_numf128.h
    A libc/src/math/fmaximum_mag_numl.h
    A libc/src/math/fmaximum_magf.h
    A libc/src/math/fmaximum_magf128.h
    A libc/src/math/fmaximum_magl.h
    A libc/src/math/fmaximum_num.h
    A libc/src/math/fmaximum_numf.h
    A libc/src/math/fmaximum_numf128.h
    A libc/src/math/fmaximum_numl.h
    A libc/src/math/fmaximumf.h
    A libc/src/math/fmaximumf128.h
    A libc/src/math/fmaximuml.h
    A libc/src/math/fminimum.h
    A libc/src/math/fminimum_mag.h
    A libc/src/math/fminimum_mag_num.h
    A libc/src/math/fminimum_mag_numf.h
    A libc/src/math/fminimum_mag_numf128.h
    A libc/src/math/fminimum_mag_numl.h
    A libc/src/math/fminimum_magf.h
    A libc/src/math/fminimum_magf128.h
    A libc/src/math/fminimum_magl.h
    A libc/src/math/fminimum_num.h
    A libc/src/math/fminimum_numf.h
    A libc/src/math/fminimum_numf128.h
    A libc/src/math/fminimum_numl.h
    A libc/src/math/fminimumf.h
    A libc/src/math/fminimumf128.h
    A libc/src/math/fminimuml.h
    A libc/src/math/fromfp.h
    A libc/src/math/fromfpf.h
    A libc/src/math/fromfpf128.h
    A libc/src/math/fromfpl.h
    A libc/src/math/fromfpx.h
    A libc/src/math/fromfpxf.h
    A libc/src/math/fromfpxf128.h
    A libc/src/math/fromfpxl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    A libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/atanhf.cpp
    A libc/src/math/generic/canonicalize.cpp
    A libc/src/math/generic/canonicalizef.cpp
    A libc/src/math/generic/canonicalizef128.cpp
    A libc/src/math/generic/canonicalizel.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    A libc/src/math/generic/fmaximum.cpp
    A libc/src/math/generic/fmaximum_mag.cpp
    A libc/src/math/generic/fmaximum_mag_num.cpp
    A libc/src/math/generic/fmaximum_mag_numf.cpp
    A libc/src/math/generic/fmaximum_mag_numf128.cpp
    A libc/src/math/generic/fmaximum_mag_numl.cpp
    A libc/src/math/generic/fmaximum_magf.cpp
    A libc/src/math/generic/fmaximum_magf128.cpp
    A libc/src/math/generic/fmaximum_magl.cpp
    A libc/src/math/generic/fmaximum_num.cpp
    A libc/src/math/generic/fmaximum_numf.cpp
    A libc/src/math/generic/fmaximum_numf128.cpp
    A libc/src/math/generic/fmaximum_numl.cpp
    A libc/src/math/generic/fmaximumf.cpp
    A libc/src/math/generic/fmaximumf128.cpp
    A libc/src/math/generic/fmaximuml.cpp
    A libc/src/math/generic/fminimum.cpp
    A libc/src/math/generic/fminimum_mag.cpp
    A libc/src/math/generic/fminimum_mag_num.cpp
    A libc/src/math/generic/fminimum_mag_numf.cpp
    A libc/src/math/generic/fminimum_mag_numf128.cpp
    A libc/src/math/generic/fminimum_mag_numl.cpp
    A libc/src/math/generic/fminimum_magf.cpp
    A libc/src/math/generic/fminimum_magf128.cpp
    A libc/src/math/generic/fminimum_magl.cpp
    A libc/src/math/generic/fminimum_num.cpp
    A libc/src/math/generic/fminimum_numf.cpp
    A libc/src/math/generic/fminimum_numf128.cpp
    A libc/src/math/generic/fminimum_numl.cpp
    A libc/src/math/generic/fminimumf.cpp
    A libc/src/math/generic/fminimumf128.cpp
    A libc/src/math/generic/fminimuml.cpp
    A libc/src/math/generic/fromfp.cpp
    A libc/src/math/generic/fromfpf.cpp
    A libc/src/math/generic/fromfpf128.cpp
    A libc/src/math/generic/fromfpl.cpp
    A libc/src/math/generic/fromfpx.cpp
    A libc/src/math/generic/fromfpxf.cpp
    A libc/src/math/generic/fromfpxf128.cpp
    A libc/src/math/generic/fromfpxl.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log_range_reduction.h
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/math_utils.h
    A libc/src/math/generic/nanf128.cpp
    A libc/src/math/generic/nextafterf128.cpp
    A libc/src/math/generic/nextdown.cpp
    A libc/src/math/generic/nextdownf.cpp
    A libc/src/math/generic/nextdownf128.cpp
    A libc/src/math/generic/nextdownl.cpp
    A libc/src/math/generic/nextup.cpp
    A libc/src/math/generic/nextupf.cpp
    A libc/src/math/generic/nextupf128.cpp
    A libc/src/math/generic/nextupl.cpp
    M libc/src/math/generic/powf.cpp
    A libc/src/math/generic/ufromfp.cpp
    A libc/src/math/generic/ufromfpf.cpp
    A libc/src/math/generic/ufromfpf128.cpp
    A libc/src/math/generic/ufromfpl.cpp
    A libc/src/math/generic/ufromfpx.cpp
    A libc/src/math/generic/ufromfpxf.cpp
    A libc/src/math/generic/ufromfpxf128.cpp
    A libc/src/math/generic/ufromfpxl.cpp
    A libc/src/math/nanf128.h
    A libc/src/math/nextafterf128.h
    A libc/src/math/nextdown.h
    A libc/src/math/nextdownf.h
    A libc/src/math/nextdownf128.h
    A libc/src/math/nextdownl.h
    A libc/src/math/nextup.h
    A libc/src/math/nextupf.h
    A libc/src/math/nextupf128.h
    A libc/src/math/nextupl.h
    A libc/src/math/ufromfp.h
    A libc/src/math/ufromfpf.h
    A libc/src/math/ufromfpf128.h
    A libc/src/math/ufromfpl.h
    A libc/src/math/ufromfpx.h
    A libc/src/math/ufromfpxf.h
    A libc/src/math/ufromfpxf128.h
    A libc/src/math/ufromfpxl.h
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/baremetal/CMakeLists.txt
    A libc/src/stdio/baremetal/remove.cpp
    A libc/src/stdio/fileno.h
    A libc/src/stdio/fseeko.h
    A libc/src/stdio/ftello.h
    M libc/src/stdio/generic/CMakeLists.txt
    A libc/src/stdio/generic/fileno.cpp
    M libc/src/stdio/generic/fseek.cpp
    A libc/src/stdio/generic/fseeko.cpp
    M libc/src/stdio/generic/ftell.cpp
    A libc/src/stdio/generic/ftello.cpp
    M libc/src/stdio/linux/CMakeLists.txt
    A libc/src/stdio/linux/rename.cpp
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/int_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/string_converter.h
    M libc/src/stdio/printf_core/write_int_converter.h
    A libc/src/stdio/rename.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/_Exit.cpp
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/exit.cpp
    A libc/src/stdlib/str_from_util.h
    A libc/src/stdlib/strfromd.cpp
    A libc/src/stdlib/strfromd.h
    A libc/src/stdlib/strfromf.cpp
    A libc/src/stdlib/strfromf.h
    A libc/src/stdlib/strfroml.cpp
    A libc/src/stdlib/strfroml.h
    M libc/src/stdlib/strtod.cpp
    M libc/src/stdlib/strtof.cpp
    M libc/src/stdlib/strtold.cpp
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/sys/CMakeLists.txt
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/shm_common.h
    A libc/src/sys/mman/linux/shm_open.cpp
    A libc/src/sys/mman/linux/shm_unlink.cpp
    A libc/src/sys/mman/shm_open.h
    A libc/src/sys/mman/shm_unlink.h
    A libc/src/sys/statvfs/CMakeLists.txt
    A libc/src/sys/statvfs/fstatvfs.h
    A libc/src/sys/statvfs/linux/CMakeLists.txt
    A libc/src/sys/statvfs/linux/fstatvfs.cpp
    A libc/src/sys/statvfs/linux/statfs_utils.h
    A libc/src/sys/statvfs/linux/statvfs.cpp
    A libc/src/sys/statvfs/statvfs.h
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/_exit.cpp
    A libc/src/unistd/_exit.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/PrintfMatcher.cpp
    M libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/array_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/arg_list_test.cpp
    M libc/test/src/__support/blockstore_test.cpp
    M libc/test/src/__support/fixedvector_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/uint_test.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/acosf_test.cpp
    M libc/test/src/math/acoshf_test.cpp
    M libc/test/src/math/asinf_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    A libc/test/src/math/atan2f_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/cos_test.cpp
    M libc/test/src/math/cosf_test.cpp
    M libc/test/src/math/coshf_test.cpp
    M libc/test/src/math/erff_test.cpp
    M libc/test/src/math/exhaustive/CMakeLists.txt
    M libc/test/src/math/exhaustive/atanf_test.cpp
    M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
    M libc/test/src/math/exp10_test.cpp
    M libc/test/src/math/exp10f_test.cpp
    M libc/test/src/math/exp2_test.cpp
    M libc/test/src/math/exp2f_test.cpp
    M libc/test/src/math/exp_test.cpp
    M libc/test/src/math/expf_test.cpp
    M libc/test/src/math/explogxf_test.cpp
    M libc/test/src/math/expm1_test.cpp
    M libc/test/src/math/expm1f_test.cpp
    M libc/test/src/math/fdim_test.cpp
    M libc/test/src/math/fdimf_test.cpp
    M libc/test/src/math/fdiml_test.cpp
    M libc/test/src/math/ilogb_test.cpp
    M libc/test/src/math/ilogbf_test.cpp
    M libc/test/src/math/ilogbl_test.cpp
    R libc/test/src/math/inv_trigf_utils_test.cpp
    M libc/test/src/math/log10_test.cpp
    M libc/test/src/math/log10f_test.cpp
    M libc/test/src/math/log1p_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    M libc/test/src/math/log2_test.cpp
    M libc/test/src/math/log2f_test.cpp
    M libc/test/src/math/log_test.cpp
    M libc/test/src/math/logf_test.cpp
    A libc/test/src/math/nextafterf128_test.cpp
    M libc/test/src/math/powf_test.cpp
    M libc/test/src/math/sin_test.cpp
    M libc/test/src/math/sincosf_test.cpp
    M libc/test/src/math/sinf_test.cpp
    M libc/test/src/math/sinhf_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/CeilTest.h
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/FAbsTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    A libc/test/src/math/smoke/FMaximumMagNumTest.h
    A libc/test/src/math/smoke/FMaximumMagTest.h
    A libc/test/src/math/smoke/FMaximumNumTest.h
    A libc/test/src/math/smoke/FMaximumTest.h
    A libc/test/src/math/smoke/FMinimumMagNumTest.h
    A libc/test/src/math/smoke/FMinimumMagTest.h
    A libc/test/src/math/smoke/FMinimumNumTest.h
    A libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FloorTest.h
    M libc/test/src/math/smoke/FmaTest.h
    A libc/test/src/math/smoke/FromfpTest.h
    A libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    A libc/test/src/math/smoke/NextDownTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    A libc/test/src/math/smoke/NextUpTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/TruncTest.h
    A libc/test/src/math/smoke/UfromfpTest.h
    A libc/test/src/math/smoke/UfromfpxTest.h
    M libc/test/src/math/smoke/acosf_test.cpp
    M libc/test/src/math/smoke/acoshf_test.cpp
    M libc/test/src/math/smoke/asinf_test.cpp
    M libc/test/src/math/smoke/asinhf_test.cpp
    A libc/test/src/math/smoke/atan2f_test.cpp
    M libc/test/src/math/smoke/atanf_test.cpp
    M libc/test/src/math/smoke/atanhf_test.cpp
    A libc/test/src/math/smoke/canonicalize_test.cpp
    A libc/test/src/math/smoke/canonicalizef128_test.cpp
    A libc/test/src/math/smoke/canonicalizef_test.cpp
    A libc/test/src/math/smoke/canonicalizel_test.cpp
    M libc/test/src/math/smoke/cosf_test.cpp
    M libc/test/src/math/smoke/coshf_test.cpp
    M libc/test/src/math/smoke/erff_test.cpp
    M libc/test/src/math/smoke/exp10_test.cpp
    M libc/test/src/math/smoke/exp10f_test.cpp
    M libc/test/src/math/smoke/exp2_test.cpp
    M libc/test/src/math/smoke/exp2f_test.cpp
    M libc/test/src/math/smoke/exp_test.cpp
    M libc/test/src/math/smoke/expf_test.cpp
    M libc/test/src/math/smoke/expm1_test.cpp
    M libc/test/src/math/smoke/expm1f_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
    A libc/test/src/math/smoke/fmaximum_mag_test.cpp
    A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
    A libc/test/src/math/smoke/fmaximum_magf_test.cpp
    A libc/test/src/math/smoke/fmaximum_magl_test.cpp
    A libc/test/src/math/smoke/fmaximum_num_test.cpp
    A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
    A libc/test/src/math/smoke/fmaximum_numf_test.cpp
    A libc/test/src/math/smoke/fmaximum_numl_test.cpp
    A libc/test/src/math/smoke/fmaximum_test.cpp
    A libc/test/src/math/smoke/fmaximumf128_test.cpp
    A libc/test/src/math/smoke/fmaximumf_test.cpp
    A libc/test/src/math/smoke/fmaximuml_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
    A libc/test/src/math/smoke/fminimum_mag_test.cpp
    A libc/test/src/math/smoke/fminimum_magf128_test.cpp
    A libc/test/src/math/smoke/fminimum_magf_test.cpp
    A libc/test/src/math/smoke/fminimum_magl_test.cpp
    A libc/test/src/math/smoke/fminimum_num_test.cpp
    A libc/test/src/math/smoke/fminimum_numf128_test.cpp
    A libc/test/src/math/smoke/fminimum_numf_test.cpp
    A libc/test/src/math/smoke/fminimum_numl_test.cpp
    A libc/test/src/math/smoke/fminimum_test.cpp
    A libc/test/src/math/smoke/fminimumf128_test.cpp
    A libc/test/src/math/smoke/fminimumf_test.cpp
    A libc/test/src/math/smoke/fminimuml_test.cpp
    A libc/test/src/math/smoke/fromfp_test.cpp
    A libc/test/src/math/smoke/fromfpf128_test.cpp
    A libc/test/src/math/smoke/fromfpf_test.cpp
    A libc/test/src/math/smoke/fromfpl_test.cpp
    A libc/test/src/math/smoke/fromfpx_test.cpp
    A libc/test/src/math/smoke/fromfpxf128_test.cpp
    A libc/test/src/math/smoke/fromfpxf_test.cpp
    A libc/test/src/math/smoke/fromfpxl_test.cpp
    M libc/test/src/math/smoke/log10_test.cpp
    M libc/test/src/math/smoke/log10f_test.cpp
    M libc/test/src/math/smoke/log1p_test.cpp
    M libc/test/src/math/smoke/log1pf_test.cpp
    M libc/test/src/math/smoke/log2_test.cpp
    M libc/test/src/math/smoke/log2f_test.cpp
    M libc/test/src/math/smoke/log_test.cpp
    M libc/test/src/math/smoke/logf_test.cpp
    A libc/test/src/math/smoke/nanf128_test.cpp
    A libc/test/src/math/smoke/nextafterf128_test.cpp
    A libc/test/src/math/smoke/nextdown_test.cpp
    A libc/test/src/math/smoke/nextdownf128_test.cpp
    A libc/test/src/math/smoke/nextdownf_test.cpp
    A libc/test/src/math/smoke/nextdownl_test.cpp
    A libc/test/src/math/smoke/nextup_test.cpp
    A libc/test/src/math/smoke/nextupf128_test.cpp
    A libc/test/src/math/smoke/nextupf_test.cpp
    A libc/test/src/math/smoke/nextupl_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf_test.cpp
    M libc/test/src/math/smoke/sinhf_test.cpp
    M libc/test/src/math/smoke/tanf_test.cpp
    M libc/test/src/math/smoke/tanhf_test.cpp
    A libc/test/src/math/smoke/ufromfp_test.cpp
    A libc/test/src/math/smoke/ufromfpf128_test.cpp
    A libc/test/src/math/smoke/ufromfpf_test.cpp
    A libc/test/src/math/smoke/ufromfpl_test.cpp
    A libc/test/src/math/smoke/ufromfpx_test.cpp
    A libc/test/src/math/smoke/ufromfpxf128_test.cpp
    A libc/test/src/math/smoke/ufromfpxf_test.cpp
    A libc/test/src/math/smoke/ufromfpxl_test.cpp
    M libc/test/src/math/tan_test.cpp
    M libc/test/src/math/tanf_test.cpp
    M libc/test/src/math/tanhf_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fileop_test.cpp
    M libc/test/src/stdio/ftell_test.cpp
    M libc/test/src/stdio/printf_core/parser_test.cpp
    A libc/test/src/stdio/rename_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/StrfromTest.h
    A libc/test/src/stdlib/strfromd_test.cpp
    A libc/test/src/stdlib/strfromf_test.cpp
    A libc/test/src/stdlib/strfroml_test.cpp
    M libc/test/src/sys/CMakeLists.txt
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/shm_test.cpp
    A libc/test/src/sys/statvfs/CMakeLists.txt
    A libc/test/src/sys/statvfs/linux/CMakeLists.txt
    A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
    A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/_exit_test.cpp
    M libc/test/utils/FPUtil/x86_long_double_test.cpp
    M libc/utils/HdrGen/Generator.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/Loader.cpp
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M libclc/CMakeLists.txt
    M libclc/check_external_calls.sh
    M libclc/cmake/CMakeCLCInformation.cmake
    M libclc/cmake/CMakeLLAsmInformation.cmake
    M libclc/generic/lib/gen_convert.py
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/algorithms/fill.bench.cpp
    A libcxx/benchmarks/algorithms/mismatch.bench.cpp
    A libcxx/docs/DesignDocs/NodiscardPolicy.rst
    M libcxx/docs/Modules.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/docs/index.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/pop_heap.h
    M libcxx/include/__algorithm/push_heap.h
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/rotate.h
    A libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__algorithm/sort_heap.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__algorithm/unwrap_iter.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit_reference
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__compare/partial_order.h
    M libcxx/include/__compare/strong_order.h
    M libcxx/include/__compare/weak_order.h
    M libcxx/include/__concepts/class_or_enum.h
    M libcxx/include/__concepts/swappable.h
    M libcxx/include/__config
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/file_time_type.h
    M libcxx/include/__filesystem/file_type.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/space_info.h
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/formatter.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/width_estimation_table.h
    M libcxx/include/__functional/bind_front.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/not_fn.h
    A libcxx/include/__fwd/deque.h
    M libcxx/include/__fwd/format.h
    A libcxx/include/__fwd/memory.h
    A libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/sstream.h
    A libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/string.h
    A libcxx/include/__fwd/vector.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/cpp17_iterator_concepts.h
    M libcxx/include/__iterator/iter_move.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/ranges_iterator_traits.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__locale
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/compressed_pair.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__ranges/access.h
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/data.h
    M libcxx/include/__ranges/empty.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/movable_box.h
    M libcxx/include/__ranges/rbegin.h
    M libcxx/include/__ranges/rend.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/size.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__ranges/view_interface.h
    M libcxx/include/__ranges/zip_view.h
    M libcxx/include/__split_buffer
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/errc.h
    M libcxx/include/__thread/support/pthread.h
    M libcxx/include/__tree
    R libcxx/include/__tuple/pair_like.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__tuple/tuple_like.h
    A libcxx/include/__tuple/tuple_like_no_subrange.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/apply_cv.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/__type_traits/copy_cv.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_constructible.h
    R libcxx/include/__type_traits/is_copy_assignable.h
    R libcxx/include/__type_traits/is_copy_constructible.h
    R libcxx/include/__type_traits/is_default_constructible.h
    M libcxx/include/__type_traits/is_implicitly_default_constructible.h
    R libcxx/include/__type_traits/is_move_assignable.h
    R libcxx/include/__type_traits/is_move_constructible.h
    M libcxx/include/__type_traits/is_nothrow_assignable.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    R libcxx/include/__type_traits/is_nothrow_copy_assignable.h
    R libcxx/include/__type_traits/is_nothrow_copy_constructible.h
    R libcxx/include/__type_traits/is_nothrow_default_constructible.h
    R libcxx/include/__type_traits/is_nothrow_move_assignable.h
    R libcxx/include/__type_traits/is_nothrow_move_constructible.h
    M libcxx/include/__type_traits/is_scoped_enum.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    R libcxx/include/__type_traits/is_trivially_copy_assignable.h
    R libcxx/include/__type_traits/is_trivially_copy_constructible.h
    R libcxx/include/__type_traits/is_trivially_default_constructible.h
    R libcxx/include/__type_traits/is_trivially_move_assignable.h
    R libcxx/include/__type_traits/is_trivially_move_constructible.h
    M libcxx/include/__type_traits/noexcept_move_assign_container.h
    M libcxx/include/__type_traits/remove_reference.h
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/exchange.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/cerrno
    M libcxx/include/chrono
    M libcxx/include/complex
    M libcxx/include/coroutine
    M libcxx/include/cwchar
    M libcxx/include/deque
    M libcxx/include/execution
    M libcxx/include/experimental/memory
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/iosfwd
    M libcxx/include/libcxx.imp
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/module.modulemap
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/queue
    M libcxx/include/shared_mutex
    M libcxx/include/stack
    M libcxx/include/stddef.h
    M libcxx/include/string
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeinfo
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/modules/CMakeLists.txt
    M libcxx/modules/CMakeLists.txt.in
    M libcxx/src/CMakeLists.txt
    M libcxx/src/include/tzdb/tzdb_list_private.h
    M libcxx/src/random.cpp
    M libcxx/src/tzdb_list.cpp
    M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater-equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less-equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/not-equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/assign.LWG3435.verify.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.default.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.explicit.verify.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.conv/base.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/arrow.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/bracket.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/dereference.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/decrement-assign.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/increment-assign.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/minus.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/plus.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postdecrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postincrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/predecrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/preincrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nonmember/minus.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/types.compile.pass.cpp
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
    M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
    R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
    M libcxx/test/std/containers/sequences/deque/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.verify.cpp
    A libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
    A libcxx/test/std/depr.cerro/system.error.syn.verify.cpp
    M libcxx/test/std/diagnostics/syserr/errc.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
    M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/experimental/simd/test_utils.h
    A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
    M libcxx/test/std/ranges/range.access/begin.pass.cpp
    M libcxx/test/std/ranges/range.access/end.pass.cpp
    M libcxx/test/std/ranges/range.access/rbegin.pass.cpp
    M libcxx/test/std/ranges/range.access/rend.pass.cpp
    M libcxx/test/std/ranges/range.access/size.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip/borrowing.compile.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.subrange/operator.pair_like.pass.cpp
    M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
    A libcxx/test/std/ranges/robust_against_poison_pills.compile.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.verify.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
    M libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
    M libcxx/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
    M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp
    M libcxx/test/support/deduction_guides_sfinae_checks.h
    M libcxx/test/support/variant_test_helpers.h
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/docker-compose.yml
    M libcxx/utils/ci/oss-fuzz.sh
    M libcxx/utils/ci/run-buildbot-container
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_width_estimation_table.py
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/params.py
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/test/forced_unwind4.pass.cpp
    M libunwind/src/CMakeLists.txt
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/LTO.cpp
    M lld/COFF/Options.td
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/DWARF.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/MarkLive.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/ObjC.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/docs/ld.lld.1
    A lld/test/COFF/Inputs/lto-sample-profile.prof
    M lld/test/COFF/export.test
    M lld/test/COFF/exportas.test
    A lld/test/COFF/lto-sample-profile.ll
    M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
    M lld/test/ELF/aarch64-gnu-ifunc.s
    M lld/test/ELF/aarch64-tlsdesc-zrel.s
    M lld/test/ELF/allow-multiple-definition.s
    M lld/test/ELF/allow-shlib-undefined.s
    M lld/test/ELF/arm-gnu-ifunc.s
    M lld/test/ELF/common-gc2.s
    M lld/test/ELF/driver.test
    M lld/test/ELF/executable-undefined-ignoreall.s
    A lld/test/ELF/gc-sections-with-provide.s
    M lld/test/ELF/gnu-ifunc-dyntags.s
    M lld/test/ELF/gnu-ifunc-i386.s
    M lld/test/ELF/incompatible-section-types2.s
    M lld/test/ELF/linkerscript/custom-section-type.s
    M lld/test/ELF/linkerscript/discard-section.s
    M lld/test/ELF/linkerscript/symbolreferenced.s
    M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_ref.ll
    M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_undef.ll
    M lld/test/ELF/lto/devirt_split_unit_localize.ll
    M lld/test/ELF/lto/devirt_validate_vtable_typeinfos_ref.ll
    M lld/test/ELF/lto/libcall-archive.ll
    M lld/test/ELF/pack-dyn-relocs-arm2.s
    A lld/test/ELF/pack-dyn-relocs-ifunc.s
    M lld/test/ELF/pack-dyn-relocs.s
    M lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
    M lld/test/ELF/relro-non-contiguous-script-data.s
    M lld/test/ELF/riscv-ifunc-nonpreemptible.s
    M lld/test/ELF/riscv-tlsdesc-relax.s
    M lld/test/ELF/riscv-tlsdesc.s
    M lld/test/ELF/riscv-undefined-weak.s
    M lld/test/ELF/shlib-undefined-local.s
    R lld/test/ELF/static-with-export-dynamic.s
    M lld/test/ELF/systemz-ifunc-nonpreemptible.s
    A lld/test/ELF/unknown-section.test
    M lld/test/ELF/weak-undef.s
    M lld/test/ELF/x86-64-dyn-rel-error.s
    M lld/test/ELF/x86-64-gotpc-relax-too-far.s
    A lld/test/MachO/objc-category-merging-complete-test.s
    A lld/test/MachO/objc-category-merging-extern-class-minimal.s
    A lld/test/MachO/objc-relative-method-lists-simple.s
    M lld/test/MachO/silent-ignore.s
    M lld/test/MachO/thinlto-split-unit-start-lib.ll
    M lld/test/MinGW/driver.test
    M lldb/cmake/caches/Apple-lldb-Linux.cmake
    M lldb/docs/use/python-reference.rst
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Core/Progress.h
    A lldb/include/lldb/Host/Alarm.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/AddressableBits.h
    M lldb/include/lldb/Utility/Scalar.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
    M lldb/packages/Python/lldbsuite/test/test_categories.py
    M lldb/packages/Python/lldbsuite/test/test_result.py
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SystemInitializerFull.cpp
    M lldb/source/Breakpoint/BreakpointIDList.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/common/Alarm.cpp
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/source/Interpreter/OptionGroupVariable.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    A lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/Process/Utility/AuxVector.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/d3ae6d5de5cc...8ea52d1d8323

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